2021-03-05 01:16 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002458Frama-CKernel > configurepublic2019-06-20 09:15
Assigned Tovirgile 
Platformamd64OSOpenBSDOS Version6.5-current
Product VersionFrama-C GIT, precise the release id 
Target VersionFixed in Version 
Summary0002458: build failure due to mangled variable assignment in Makefile
Descriptionhere's the patch:

Index: Makefile.generating
--- Makefile.generating.orig
+++ Makefile.generating
@@ -153,8 +153,8 @@ endif
 ifeq ($(HAS_OCAML408),yes)
   DYNLINK_INIT=fun () -> ()
- FORMAT_STRING_OF_STAG=match s with\n\
- | Format.String_tag str -> str\n\
+ FORMAT_STRING_OF_STAG=match s with \
+ | Format.String_tag str -> str \
       | _ -> raise (Invalid_argument "unsupported tag extension")
   FORMAT_STAG_OF_STRING=Format.String_tag s

The \n quoting does not work on GNU make 4.2.1. I get
FORMAT_STRING_OF_STAG='match s withn | Format …`
The GNU make manual recommends to use the 'define' keyword to assign multi-line values to make variables, but why bother? We don't need the linebreaks, do we?
TagsNo tags attached.
Attached Files




virgile (developer)

I suspect that the issue is more a difference between GNU and BSD sed (as the variable is used in a sed command), but in any case you're right, we do not really need the linebreaks (in fact, for purely aesthetics reasons this will also mean getting rid of the first pipe `|` in the pattern matching). Thanks for the patch anyway.

-Issue History
Date Modified Username Field Change
2019-06-20 01:49 madroach New Issue
2019-06-20 01:49 madroach Status new => assigned
2019-06-20 01:49 madroach Assigned To => virgile
2019-06-20 09:15 virgile Note Added: 0006801
+Issue History