104 conf.set_env_name(variant_name, variant_env) |
104 conf.set_env_name(variant_name, variant_env) |
105 conf.setenv(variant_name) |
105 conf.setenv(variant_name) |
106 |
106 |
107 variant_env.append_value('CXXDEFINES', 'RUN_SELF_TESTS') |
107 variant_env.append_value('CXXDEFINES', 'RUN_SELF_TESTS') |
108 |
108 |
109 if os.path.basename(conf.env['CXX']).startswith("g++"): |
109 if (os.path.basename(conf.env['CXX']).startswith("g++") |
|
110 and 'CXXFLAGS' not in os.environ): |
110 variant_env.append_value('CXXFLAGS', ['-Wall', '-Werror']) |
111 variant_env.append_value('CXXFLAGS', ['-Wall', '-Werror']) |
111 |
112 |
112 if 'debug' in Params.g_options.debug_level.lower(): |
113 if 'debug' in Params.g_options.debug_level.lower(): |
113 variant_env.append_value('CXXDEFINES', 'NS3_DEBUG_ENABLE') |
114 variant_env.append_value('CXXDEFINES', 'NS3_DEBUG_ENABLE') |
114 variant_env.append_value('CXXDEFINES', 'NS3_ASSERT_ENABLE') |
115 variant_env.append_value('CXXDEFINES', 'NS3_ASSERT_ENABLE') |
115 |
116 |
116 ## In optimized builds we still want debugging symbols, e.g. for |
117 ## In optimized builds we still want debugging symbols, e.g. for |
117 ## profiling, and at least partially usable stack traces. |
118 ## profiling, and at least partially usable stack traces. |
118 if 'optimized' in Params.g_options.debug_level.lower(): |
119 if ('optimized' in Params.g_options.debug_level.lower() |
|
120 and 'CXXFLAGS' not in os.environ): |
119 for flag in variant_env['CXXFLAGS_DEBUG']: |
121 for flag in variant_env['CXXFLAGS_DEBUG']: |
120 ## this probably doesn't work for MSVC |
122 ## this probably doesn't work for MSVC |
121 if flag.startswith('-g'): |
123 if flag.startswith('-g'): |
122 variant_env.append_value('CXXFLAGS', flag) |
124 variant_env.append_value('CXXFLAGS', flag) |
123 |
125 |