From: Kevin Day Date: Fri, 9 Aug 2019 00:13:21 +0000 (-0500) Subject: Feature: support custom 'defines' X-Git-Tag: 0.4.3~3 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=7989f5821fa070f7d8264ccac0851ea6a227cb71;p=fll Feature: support custom 'defines' Some libraries or packages have custom defines, such as the firewall _en_firewall_debug_. Provide simple documentation of the defines, in the data/build/defines file. Provide build settings values for specifying these custom defines. Provide parameter for manually overriding defines. Some path settings have been renamed to avoid confusion (such as '--c_path' is now '--path_c'). Enable _en_firewall_debug_ by default. --- diff --git a/build/scripts/generate.sh b/build/scripts/generate.sh index 055ecb9..989a496 100644 --- a/build/scripts/generate.sh +++ b/build/scripts/generate.sh @@ -29,15 +29,18 @@ generate_main(){ local c_prefix="\\" local variables= - local settings_file=data/build/settings + local settings_file= + local settings_defines= local operation= local operation_failure= local path_build=build/ + local path_build_settings= local path_c=sources/c/ - local path_s=data/settings/ + local path_settings=data/settings/ local path_bash=sources/bash/ local project_built= local work_directory= + local defines_override= local enable_shared= local enable_static= @@ -62,17 +65,19 @@ generate_main(){ elif [[ $p == "-b" || $p == "--build" ]] ; then grab_next=path_build elif [[ $p == "-s" || $p == "--settings" ]] ; then - grab_next=settings_file - elif [[ $p == "-B" || $p == "--bash_path" ]] ; then + grab_next=build_settings + elif [[ $p == "-B" || $p == "--path_bash" ]] ; then grab_next=path_bash - elif [[ $p == "-c" || $p == "--c_path" ]] ; then + elif [[ $p == "-c" || $p == "--path_c" ]] ; then grab_next=path_c - elif [[ $p == "-S" || $p == "--s_path" ]] ; then - grab_next=path_s + elif [[ $p == "-S" || $p == "--path_settings" ]] ; then + grab_next=path_settings elif [[ $p == "-p" || $p == "--project" ]] ; then grab_next=project_built elif [[ $p == "-w" || $p == "--work_directory" ]] ; then grab_next=work_directory + elif [[ $p == "-d" || $p == "--defines" ]] ; then + grab_next=defines_override elif [[ $p == "--enable-shared" ]] ; then enable_shared="yes" elif [[ $p == "--disable-shared" ]] ; then @@ -89,18 +94,20 @@ generate_main(){ else if [[ $grab_next == "path_build" ]] ; then path_build=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "settings_file" ]] ; then - settings_file=$(echo $p | sed -e 's|^//*|/|' -e 's|^//*|/|') + elif [[ $grab_next == "build_settings" ]] ; then + path_build_settings=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') elif [[ $grab_next == "path_bash" ]] ; then path_bash=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') elif [[ $grab_next == "path_c" ]] ; then path_c=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "path_s" ]] ; then - path_s=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ $grab_next == "path_settings" ]] ; then + path_settings=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') elif [[ $grab_next == "project_built" ]] ; then project_built="-$(echo $p | sed -e 's|/*$||')" elif [[ $grab_next == "work_directory" ]] ; then work_directory=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ $grab_next == "defines_override" ]] ; then + defines_override="$p" fi grab_next= @@ -110,6 +117,13 @@ generate_main(){ p= fi + if [[ $path_build_settings == "" ]] ; then + path_build_settings=data/build/ + fi + + settings_file=${path_build_settings}settings + settings_defines=${path_build_settings}defines + generate_handle_colors if [[ $do_help == "yes" ]] ; then @@ -132,6 +146,11 @@ generate_main(){ exit 1 fi + if [[ $defines_override != "" && $(echo "$defines_override" | grep -s -o "[^_[:alnum:][:space:]]") != "" ]] ; then + echo -e "${c_error}ERROR: the defines override $c_notice$defines_override$c_error includes invalid characters, only alphanumeric, whitespace, and underscore are allowed.$c_reset" + exit 1 + fi + if [[ ! -d $path_c && ( ${variables[$(generate_id build_sources_library)]} != "" || ${variables[$(generate_id build_sources_program)]} != "" || ${variables[$(generate_id build_sources_headers)]} != "" ) ]] ; then echo -e "${c_error}ERROR: the c path of '$c_notice$path_c$c_error' is invalid.$c_reset" generate_cleanup @@ -200,12 +219,13 @@ generate_help(){ echo echo -e "${c_highlight}Generate Options:$c_reset" echo -e " -${c_important}b$c_reset, --${c_important}build${c_reset} Custom build directory" - echo -e " -${c_important}s$c_reset, --${c_important}settings${c_reset} Custom build settings file" - echo -e " -${c_important}B$c_reset, --${c_important}bash_path${c_reset} Custom path to the bash source files" - echo -e " -${c_important}c$c_reset, --${c_important}c_path${c_reset} Custom path to the c source files" - echo -e " -${c_important}S$c_reset, --${c_important}s_path${c_reset} Custom path to the settings files" + echo -e " -${c_important}s$c_reset, --${c_important}settings${c_reset} Custom build settings directory" + echo -e " -${c_important}B$c_reset, --${c_important}path_bash${c_reset} Custom path to the bash source files" + echo -e " -${c_important}c$c_reset, --${c_important}path_c${c_reset} Custom path to the c source files" + echo -e " -${c_important}S$c_reset, --${c_important}path_settings${c_reset} Custom path to the settings files" echo -e " -${c_important}p$c_reset, --${c_important}project${c_reset} Project name for storing built status" echo -e " -${c_important}w$c_reset, --${c_important}work_directory${c_reset} Use includes/libraries from this directory instead of system" + echo -e " -${c_important}d$c_reset, --${c_important}defines${c_reset} Override custom defines with these defines" echo echo -e "${c_highlight}Special Options:$c_reset" echo -e " --${c_important}enable-shared${c_reset} Forcibly do install shared files" @@ -234,11 +254,14 @@ generate_id(){ "build_sources_settings") echo -n 12;; "build_shared") echo -n 13;; "build_static") echo -n 14;; - "flags_all") echo -n 15;; - "flags_shared") echo -n 16;; - "flags_static") echo -n 17;; - "flags_library") echo -n 18;; - "flags_program") echo -n 19;; + "defines_all") echo -n 15;; + "defines_shared") echo -n 16;; + "defines_static") echo -n 17;; + "flags_all") echo -n 18;; + "flags_shared") echo -n 19;; + "flags_static") echo -n 20;; + "flags_library") echo -n 21;; + "flags_program") echo -n 22;; esac } @@ -247,8 +270,8 @@ generate_load_settings(){ local i= local key= - if [[ $settings_file == "" ]] ; then - echo -e "${c_error}ERROR: no settings file has been defined.$c_reset" + if [[ ! -d $path_build_settings ]] ; then + echo -e "${c_error}ERROR: no build settings directory $c_notice$path_build_settings$c_error could not be found or is not a valid directory.$c_reset" failure=1 elif [[ ! -f $settings_file ]] ; then echo -e "${c_error}ERROR: no settings file $c_notice$settings_file$c_error could not be found or is not a valid file.$c_reset" @@ -260,7 +283,7 @@ generate_load_settings(){ exit $failure fi - for i in project_name project_level version_major version_minor version_micro build_compiler build_linker build_libraries build_libraries_fll build_sources_library build_sources_program build_sources_headers build_sources_settings build_shared build_static flags_all flags_shared flags_static flags_library flags_program ; do + for i in project_name project_level version_major version_minor version_micro build_compiler build_linker build_libraries build_libraries_fll build_sources_library build_sources_program build_sources_headers build_sources_settings build_shared build_static defines_all defines_shared defines_static flags_all flags_shared flags_static flags_library flags_program ; do variables[$(generate_id $i)]=$(grep -s -o "^[[:space:]]*$i\>.*$" $settings_file | sed -e "s|^[[:space:]]*$i\>||" -e 's|^[[:space:]]*||') done @@ -322,6 +345,9 @@ generate_operation_build(){ local sources_headers=${variables[$(generate_id build_sources_headers)]} local sources_settings=${variables[$(generate_id build_sources_settings)]} local sources= + local defines=${variables[$(generate_id defines_all)]} + local defines_shared=${variables[$(generate_id defines_shared)]} + local defines_static=${variables[$(generate_id defines_static)]} local flags_all=${variables[$(generate_id flags_all)]} local flags_shared=${variables[$(generate_id flags_shared)]} local flags_static=${variables[$(generate_id flags_static)]} @@ -336,6 +362,33 @@ generate_operation_build(){ flags_static="-L${work_directory}libraries/static/ $flags_static" fi + if [[ $defines_override != "" ]] ; then + defines="$defines_override" + defines_shared= + defines_static= + fi + + if [[ $defines != "" ]] ; then + flags_all="$flags_all " + for i in $defines ; do + flags_all="${flags_all}-D$i " + done + fi + + if [[ $defines_shared != "" ]] ; then + flags_shared="$flags_shared " + for i in $defines_shared ; do + flags_shared="${flags_shared}-D$i " + done + fi + + if [[ $defines_static != "" ]] ; then + flags_static="$flags_static " + for i in $defines_static ; do + flags_static="${flags_static}-D$i " + done + fi + if [[ $enable_shared == "yes" ]] ; then shared="yes" elif [[ $enable_shared == "no" ]] ; then @@ -356,7 +409,7 @@ generate_operation_build(){ if [[ $sources_settings != "" ]] ; then for i in $sources_settings ; do - cp -vR $path_s$i ${path_build}settings/ || failure=1 + cp -vR $path_settings$i ${path_build}settings/ || failure=1 done fi diff --git a/level_0/f_colors/data/build/settings b/level_0/f_colors/data/build/settings index f97c573..eb32c98 100644 --- a/level_0/f_colors/data/build/settings +++ b/level_0/f_colors/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers colors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_console/data/build/settings b/level_0/f_console/data/build/settings index a82e77e..d63cc7b 100644 --- a/level_0/f_console/data/build/settings +++ b/level_0/f_console/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers console.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_conversion/data/build/settings b/level_0/f_conversion/data/build/settings index b2c9a4c..099ccb7 100644 --- a/level_0/f_conversion/data/build/settings +++ b/level_0/f_conversion/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers conversion.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_errors/data/build/settings b/level_0/f_errors/data/build/settings index bf231cc..05d2791 100644 --- a/level_0/f_errors/data/build/settings +++ b/level_0/f_errors/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers errors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_file/data/build/settings b/level_0/f_file/data/build/settings index 5a24b8c..38a4e54 100644 --- a/level_0/f_file/data/build/settings +++ b/level_0/f_file/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers file.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_fss/data/build/settings b/level_0/f_fss/data/build/settings index 5e67154..adf2f0c 100644 --- a/level_0/f_fss/data/build/settings +++ b/level_0/f_fss/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers fss.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_memory/data/build/settings b/level_0/f_memory/data/build/settings index acd8ec4..1778145 100644 --- a/level_0/f_memory/data/build/settings +++ b/level_0/f_memory/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers memory.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_paths/data/build/settings b/level_0/f_paths/data/build/settings index a8d1f02..a6bd3a5 100644 --- a/level_0/f_paths/data/build/settings +++ b/level_0/f_paths/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers fll_paths.h filesystem_paths.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_pipe/data/build/settings b/level_0/f_pipe/data/build/settings index 1e3ccf7..0fe52af 100644 --- a/level_0/f_pipe/data/build/settings +++ b/level_0/f_pipe/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers pipe.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_print/data/build/settings b/level_0/f_print/data/build/settings index 124d715..4491e99 100644 --- a/level_0/f_print/data/build/settings +++ b/level_0/f_print/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers print.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_serialized/data/build/settings b/level_0/f_serialized/data/build/settings index 21b644e..5e37bd8 100644 --- a/level_0/f_serialized/data/build/settings +++ b/level_0/f_serialized/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers serialized.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_strings/data/build/defines b/level_0/f_strings/data/build/defines new file mode 100644 index 0000000..6cee6e6 --- /dev/null +++ b/level_0/f_strings/data/build/defines @@ -0,0 +1,3 @@ +# fss-0000 + +_en_BUG_strnlen_ (deprecated) work-around bug where strnlen is not defined on some systems. diff --git a/level_0/f_strings/data/build/settings b/level_0/f_strings/data/build/settings index 24ed1a1..4260270 100644 --- a/level_0/f_strings/data/build/settings +++ b/level_0/f_strings/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers strings.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_0/f_types/data/build/settings b/level_0/f_types/data/build/settings index 410c49b..256c6fc 100644 --- a/level_0/f_types/data/build/settings +++ b/level_0/f_types/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers types.h types_array.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_colors/data/build/settings b/level_1/fl_colors/data/build/settings index 95a0bf9..7da62c0 100644 --- a/level_1/fl_colors/data/build/settings +++ b/level_1/fl_colors/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers colors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_console/data/build/settings b/level_1/fl_console/data/build/settings index c7395f5..fe983ee 100644 --- a/level_1/fl_console/data/build/settings +++ b/level_1/fl_console/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers console.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_directory/data/build/settings b/level_1/fl_directory/data/build/settings index ba9b2e5..4d6dc70 100644 --- a/level_1/fl_directory/data/build/settings +++ b/level_1/fl_directory/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers directory.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_errors/data/build/settings b/level_1/fl_errors/data/build/settings index 0bfcf93..2603b2d 100644 --- a/level_1/fl_errors/data/build/settings +++ b/level_1/fl_errors/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers errors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_file/data/build/settings b/level_1/fl_file/data/build/settings index baca63b..c2276cc 100644 --- a/level_1/fl_file/data/build/settings +++ b/level_1/fl_file/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers file.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_fss/data/build/settings b/level_1/fl_fss/data/build/settings index 05d3d6f..fda1b01 100644 --- a/level_1/fl_fss/data/build/settings +++ b/level_1/fl_fss/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers fss.h fss_basic.h fss_basic_list.h fss_errors.h fss_extend build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_serialized/data/build/settings b/level_1/fl_serialized/data/build/settings index 7dd830d..15f84f5 100644 --- a/level_1/fl_serialized/data/build/settings +++ b/level_1/fl_serialized/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers serialized.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_1/fl_strings/data/build/settings b/level_1/fl_strings/data/build/settings index 4958575..fe1eeec 100644 --- a/level_1/fl_strings/data/build/settings +++ b/level_1/fl_strings/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers strings.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_2/fll_colors/data/build/settings b/level_2/fll_colors/data/build/settings index 16fdb34..f3152ce 100644 --- a/level_2/fll_colors/data/build/settings +++ b/level_2/fll_colors/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers colors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_2/fll_execute/data/build/settings b/level_2/fll_execute/data/build/settings index ecf922d..53b8193 100644 --- a/level_2/fll_execute/data/build/settings +++ b/level_2/fll_execute/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers execute.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_2/fll_fss/data/build/settings b/level_2/fll_fss/data/build/settings index 1265d73..98874c8 100644 --- a/level_2/fll_fss/data/build/settings +++ b/level_2/fll_fss/data/build/settings @@ -17,6 +17,10 @@ build_sources_headers fss_basic.h fss_basic_list.h fss_extended.h fss_errors.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/firewall/data/build/defines b/level_3/firewall/data/build/defines new file mode 100644 index 0000000..c16fcf9 --- /dev/null +++ b/level_3/firewall/data/build/defines @@ -0,0 +1,3 @@ +# fss-0000 + +_en_firewall_debug_ Enable '++debug' parameter for outputting firewall commands as they are being executed. diff --git a/level_3/firewall/data/build/settings b/level_3/firewall/data/build/settings index 158033a..daef26d 100644 --- a/level_3/firewall/data/build/settings +++ b/level_3/firewall/data/build/settings @@ -20,6 +20,10 @@ build_sources_settings default-blacklist default-whitelist example-device-firewa build_shared yes build_static yes +defines_all _en_firewall_debug_ +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_basic_list_read/data/build/settings b/level_3/fss_basic_list_read/data/build/settings index 41d8d2d..a1b2ada 100644 --- a/level_3/fss_basic_list_read/data/build/settings +++ b/level_3/fss_basic_list_read/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_basic_list_read.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_basic_list_write/data/build/settings b/level_3/fss_basic_list_write/data/build/settings index 6a69862..defe035 100644 --- a/level_3/fss_basic_list_write/data/build/settings +++ b/level_3/fss_basic_list_write/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_basic_list_write.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_basic_read/data/build/settings b/level_3/fss_basic_read/data/build/settings index 31dc437..be40484 100644 --- a/level_3/fss_basic_read/data/build/settings +++ b/level_3/fss_basic_read/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_basic_read.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_basic_write/data/build/settings b/level_3/fss_basic_write/data/build/settings index f2d02e7..8733b3c 100644 --- a/level_3/fss_basic_write/data/build/settings +++ b/level_3/fss_basic_write/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_basic_write.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_extended_read/data/build/settings b/level_3/fss_extended_read/data/build/settings index c243c90..dcb9034 100644 --- a/level_3/fss_extended_read/data/build/settings +++ b/level_3/fss_extended_read/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_extended_read.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_extended_write/data/build/settings b/level_3/fss_extended_write/data/build/settings index 033ad1b..c1f6cf2 100644 --- a/level_3/fss_extended_write/data/build/settings +++ b/level_3/fss_extended_write/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_extended_write.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/fss_return_code/data/build/settings b/level_3/fss_return_code/data/build/settings index 329ec03..c65ede0 100644 --- a/level_3/fss_return_code/data/build/settings +++ b/level_3/fss_return_code/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers fss_return_code.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/init/data/build/settings b/level_3/init/data/build/settings index 5887c2c..e280e45 100644 --- a/level_3/init/data/build/settings +++ b/level_3/init/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers init.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static diff --git a/level_3/return_code/data/build/settings b/level_3/return_code/data/build/settings index 869c096..e48a4af 100644 --- a/level_3/return_code/data/build/settings +++ b/level_3/return_code/data/build/settings @@ -19,6 +19,10 @@ build_sources_headers return_code.h build_shared yes build_static yes +defines_all +defines_static +defines_shared + flags_all -z now flags_shared flags_static