@@ -31,6 +31,9 @@ prove_parser.add_argument("-u", "--unit", help="ada unit")
31
31
prove_parser .add_argument ("-s" , "--steps" , help = "prove steps" , default = "8000" )
32
32
prove_parser .add_argument ("paths" , help = "component search paths" , nargs = "*" )
33
33
34
+ def get_gcc_version ():
35
+ return subprocess .check_output (["gcc" , "-dumpversion" ]).decode ('utf-8' ).strip ().split ('.' )[0 ]
36
+
34
37
def get_component_name (libname ):
35
38
return libname [13 :- 3 ]
36
39
@@ -96,7 +99,8 @@ def gpr_compile(config, gneiss_root, build_dir, root_dir, paths, platform, logge
96
99
logger .info ("Compiling..." )
97
100
components = get_component_files (config )
98
101
logger .info ("Preparing init..." )
99
- default_args = ["-p" , "-XCEMENT_BUILD_STEP=prepare" , "--db" , os .path .join (gneiss_root , "gprconfig_db" )]
102
+ default_args = ["-p" , "-XCEMENT_BUILD_STEP=prepare" , "--db" , os .path .join (gneiss_root , "gprconfig_db" ),
103
+ "-XGCC_VERSION=" + get_gcc_version ()]
100
104
if args .verbose :
101
105
default_args .append ("-v" )
102
106
if build_init (gneiss_root , build_dir , default_args , platform , logger ) > 0 :
@@ -113,7 +117,8 @@ def gpr_compile(config, gneiss_root, build_dir, root_dir, paths, platform, logge
113
117
logger .error ("Preparation of " + c + " failed" )
114
118
exit (1 )
115
119
logger .info ("Compiling init..." )
116
- default_args = ["-p" , "-XCEMENT_BUILD_STEP=compile" ]
120
+ default_args = ["-p" , "-XCEMENT_BUILD_STEP=compile" ,
121
+ "-XGCC_VERSION=" + get_gcc_version ()]
117
122
if verbose :
118
123
default_args .append ("-v" )
119
124
if build_init (gneiss_root , build_dir , default_args , platform , logger ) > 0 :
@@ -157,7 +162,8 @@ def gpr_prepare(name, root, build_dir, paths):
157
162
"-XCEMENT_OBJECT_DIR=" + os .path .join (build_dir , name [:- 4 ] + "_obj" ),
158
163
"-XCEMENT_LIB_OBJECT_DIR=" + os .path .join (build_dir , name [:- 4 ] + "_libobj" ),
159
164
"-XCEMENT_LIBRARY_DIR=" + os .path .join (build_dir , name [:- 4 ] + "_lib" ),
160
- "-XCEMENT_COMPONENT_DIR=" + os .path .join (build_dir , name [:- 4 ] + "_component" )]
165
+ "-XCEMENT_COMPONENT_DIR=" + os .path .join (build_dir , name [:- 4 ] + "_component" ),
166
+ "-XGCC_VERSION=" + get_gcc_version ()]
161
167
project_path_file = "/tmp/cement_gpr_project_path." + str (os .getpid ())
162
168
with open (project_path_file , "w+" ) as ppf :
163
169
for path in [root ] + paths :
0 commit comments