From: Kevin Day Date: Tue, 4 Apr 2023 23:48:45 +0000 (-0500) Subject: Update: Improve thread configuration, document modes in build settings files, and... X-Git-Tag: 0.6.5~17 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=135b3c4ead9b7f3867d1ce23069d4d3b3da8a827;p=fll Update: Improve thread configuration, document modes in build settings files, and update build scripts. Improve the thread configuration to make it easier to enable or disable thread support. Add documentation regarding the build modes supported in each of the build settings files. Update the build scripts to better handle the now additional build modes. The build scripts now use braces everywhere. Doing this should make it easier to be compatible with other scripting engines such as ZSH. --- diff --git a/build/level_0/settings b/build/level_0/settings index 9888db1a2..639ea2907 100644 --- a/build/level_0/settings +++ b/build/level_0/settings @@ -1,4 +1,18 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# +# Note: This adds "individual" and "monolithic" for consistency reasons. This should never use "individual" or "monolithic". +# build_name fll_0 @@ -8,8 +22,8 @@ version_micro 5 version_file micro version_target minor -modes level level_threadless clang test fanalyzer -modes_default level +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default level thread build_compiler gcc build_compiler-clang clang @@ -46,7 +60,7 @@ build_sources_library type_array/private-array_length.c type_array/private-cell. build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_numeric.c private-utf_phonetic.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c build_sources_library utf/common.c utf/convert.c utf/dynamic.c utf/is.c utf/is_character.c utf/map.c utf/private-dynamic.c utf/private-map.c utf/private-map_multi.c utf/private-triple.c utf/private-string.c utf/static.c utf/string.c utf/triple.c -build_sources_library-level thread.c private-thread.c thread/attribute.c thread/barrier.c thread/barrier_attribute.c thread/condition.c thread/condition_attribute.c thread/id.c thread/key.c thread/lock.c thread/lock_attribute.c thread/mutex.c thread/mutex_attribute.c thread/once.c thread/semaphore.c thread/set.c thread/spin.c +build_sources_library-thread thread.c private-thread.c thread/attribute.c thread/barrier.c thread/barrier_attribute.c thread/condition.c thread/condition_attribute.c thread/id.c thread/key.c thread/lock.c thread/lock_attribute.c thread/mutex.c thread/mutex_attribute.c thread/once.c thread/semaphore.c thread/set.c thread/spin.c build_sources_headers account.h account/common.h build_sources_headers capability.h capability/common.h @@ -76,7 +90,7 @@ build_sources_headers type_array.h type_array/common.h build_sources_headers type_array/array_length.h type_array/cell.h type_array/fll_id.h type_array/int8.h type_array/int16.h type_array/int32.h type_array/int64.h type_array/int128.h type_array/state.h type_array/status.h type_array/uint8.h type_array/uint16.h type_array/uint32.h type_array/uint64.h type_array/uint128.h build_sources_headers utf.h utf/common.h utf/convert.h utf/dynamic.h utf/is.h utf/is_character.h utf/map.h utf/map_multi.h utf/static.h utf/string.h utf/triple.h -build_sources_headers-level thread.h thread/attribute.h thread/barrier.h thread/barrier_attribute.h thread/condition.h thread/condition_attribute.h thread/id.h thread/key.h thread/lock.h thread/lock_attribute.h thread/mutex.h thread/mutex_attribute.h thread/once.h thread/semaphore.h thread/set.h thread/spin.h +build_sources_headers-thread thread.h thread/attribute.h thread/barrier.h thread/barrier_attribute.h thread/condition.h thread/condition_attribute.h thread/id.h thread/key.h thread/lock.h thread/lock_attribute.h thread/mutex.h thread/mutex_attribute.h thread/once.h thread/semaphore.h thread/set.h thread/spin.h build_script yes build_shared yes @@ -107,13 +121,14 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L #defines -D_f_file_rename_use_renameat2_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ -defines-level_threadless -D_di_pthread_support_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -fstack-protector -Wall flags-fanalyzer -fanalyzer -flags-level -pthread flags_library -fPIC flags_object -fPIC diff --git a/build/level_1/settings b/build/level_1/settings index b3cd3ca07..c64392e0b 100644 --- a/build/level_1/settings +++ b/build/level_1/settings @@ -1,4 +1,18 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# +# Note: This adds "individual" and "monolithic" for consistency reasons. This should never use "individual" or "monolithic". +# build_name fll_1 @@ -8,8 +22,8 @@ version_micro 5 version_file micro version_target minor -modes level level_threadless clang test fanalyzer -modes_default level +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default level thread build_compiler gcc build_compiler-clang clang @@ -19,7 +33,6 @@ build_language c build_libraries -lc -lcap build_libraries-level -lfll_0 -build_libraries-level_threadless -lfll_0 build_sources_library control_group.c build_sources_library conversion.c private-conversion.c conversion/common.c @@ -73,13 +86,14 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L #defines -D_di_libcap_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ -defines-level_threadless -D_di_pthread_support_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -fstack-protector -Wall flags-fanalyzer -fanalyzer -flags-level -pthread flags_library -fPIC flags_object -fPIC diff --git a/build/level_2/settings b/build/level_2/settings index fe9df7273..a6f1644fd 100644 --- a/build/level_2/settings +++ b/build/level_2/settings @@ -1,4 +1,18 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# +# Note: This adds "individual" and "monolithic" for consistency reasons. This should never use "individual" or "monolithic". +# build_name fll_2 @@ -8,8 +22,8 @@ version_micro 5 version_file micro version_target minor -modes level level_threadless clang test fanalyzer -modes_default level +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default level thread build_compiler gcc build_compiler-clang clang @@ -19,7 +33,6 @@ build_language c build_libraries -lc -lcap build_libraries-level -lfll_1 -lfll_0 -build_libraries-level_threadless -lfll_1 -lfll_0 build_sources_library control_group.c build_sources_library error.c private-error.c error/common.c @@ -72,13 +85,14 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L #defines -D_di_libcap_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ -defines-level_threadless -D_di_pthread_support_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -fstack-protector -Wall flags-fanalyzer -fanalyzer -flags-level -pthread flags_library -fPIC flags_object -fPIC diff --git a/build/monolithic/settings b/build/monolithic/settings index 4afb32de9..66412d78d 100644 --- a/build/monolithic/settings +++ b/build/monolithic/settings @@ -1,4 +1,18 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# +# Note: This adds "individual" and "monolithic" for consistency reasons. This should never use "individual" or "monolithic". +# build_name fll @@ -8,8 +22,8 @@ version_micro 5 version_file micro version_target minor -modes monolithic monolithic_threadless clang test fanalyzer -modes_default monolithic +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default monolithic thread build_compiler gcc build_compiler-clang clang @@ -70,7 +84,7 @@ build_sources_library level_2/print.c build_sources_library level_2/program.c level_2/program/common.c level_2/private-program.c build_sources_library level_2/status_string.c -build_sources_library-monolithic level_0/thread.c level_0/private-thread.c level_0/thread/attribute.c level_0/thread/barrier.c level_0/thread/barrier_attribute.c level_0/thread/condition.c level_0/thread/condition_attribute.c level_0/thread/id.c level_0/thread/key.c level_0/thread/lock.c level_0/thread/lock_attribute.c level_0/thread/mutex.c level_0/thread/mutex_attribute.c level_0/thread/once.c level_0/thread/semaphore.c level_0/thread/set.c level_0/thread/spin.c +build_sources_library-thread level_0/thread.c level_0/private-thread.c level_0/thread/attribute.c level_0/thread/barrier.c level_0/thread/barrier_attribute.c level_0/thread/condition.c level_0/thread/condition_attribute.c level_0/thread/id.c level_0/thread/key.c level_0/thread/lock.c level_0/thread/lock_attribute.c level_0/thread/mutex.c level_0/thread/mutex_attribute.c level_0/thread/once.c level_0/thread/semaphore.c level_0/thread/set.c level_0/thread/spin.c build_sources_headers level_0/account.h level_0/account/common.h build_sources_headers level_0/capability.h level_0/capability/common.h @@ -125,7 +139,7 @@ build_sources_headers level_2/print.h build_sources_headers level_2/program.h level_2/program/common.h build_sources_headers level_2/status_string.h -build_sources_headers-monolithic level_0/thread.h level_0/thread/attribute.h level_0/thread/barrier.h level_0/thread/barrier_attribute.h level_0/thread/condition.h level_0/thread/condition_attribute.h level_0/thread/id.h level_0/thread/key.h level_0/thread/lock.h level_0/thread/lock_attribute.h level_0/thread/mutex.h level_0/thread/mutex_attribute.h level_0/thread/once.h level_0/thread/semaphore.h level_0/thread/set.h level_0/thread/spin.h +build_sources_headers-thread level_0/thread.h level_0/thread/attribute.h level_0/thread/barrier.h level_0/thread/barrier_attribute.h level_0/thread/condition.h level_0/thread/condition_attribute.h level_0/thread/id.h level_0/thread/key.h level_0/thread/lock.h level_0/thread/lock_attribute.h level_0/thread/mutex.h level_0/thread/mutex_attribute.h level_0/thread/once.h level_0/thread/semaphore.h level_0/thread/set.h level_0/thread/spin.h build_script yes build_shared yes @@ -154,15 +168,16 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L #defines -D_di_libcap_ #defines -D_f_file_rename_use_renameat2_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ -defines-monolithic_threadless -D_di_pthread_support_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -fstack-protector -Wall flags-fanalyzer -fanalyzer -flags-monolithic -pthread flags_library -fPIC flags_object -fPIC diff --git a/build/scripts/bootstrap-example.sh b/build/scripts/bootstrap-example.sh index 38c3d0bca..7785060a5 100644 --- a/build/scripts/bootstrap-example.sh +++ b/build/scripts/bootstrap-example.sh @@ -39,11 +39,11 @@ # SHELL_ENGINE="zsh" zsh ./bootstrap-example.sh --help # -if [[ $SHELL_ENGINE == "zsh" ]] ; then +if [[ ${SHELL_ENGINE} == "zsh" ]] ; then emulate ksh fi -path_original="$PWD/" +path_original="${PWD}/" path_work="${path_original}fll/" verbose= @@ -57,196 +57,226 @@ mode_part= mode_parameter= mode_path= mode_value= +build_mode= +build_mode_extra_param_1= +build_mode_extra_value_1= +build_mode_extra_param_2= +build_mode_extra_value_2= shell_command=bash suppress_first="" -if [[ $SHELL_ENGINE == "zsh" ]] ; then +if [[ ${SHELL_ENGINE} == "zsh" ]] ; then shell_command=zsh fi let i=2 p= -while [[ $i -le $# ]] ; do +while [[ ${i} -le $# ]] ; do - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then p=${(P)i} else p=${!i} fi - if [[ $p == "+d" ]] ; then + if [[ ${p} == "+d" ]] ; then color="+d" - elif [[ $p == "+l" ]] ; then + elif [[ ${p} == "+l" ]] ; then color="+l" - elif [[ $p == "+n" ]] ; then + elif [[ ${p} == "+n" ]] ; then color="+n" - elif [[ $p == "+Q" ]] ; then + elif [[ ${p} == "+Q" ]] ; then verbose="+Q" verbose_common= - elif [[ $p == "+E" ]] ; then + elif [[ ${p} == "+E" ]] ; then verbose="+E" verbose_common= - elif [[ $p == "+N" ]] ; then + elif [[ ${p} == "+N" ]] ; then verbose="+N" verbose_common= - elif [[ $p == "+V" ]] ; then + elif [[ ${p} == "+V" ]] ; then verbose="+V" verbose_common="-v" - elif [[ $p == "+D" ]] ; then + elif [[ ${p} == "+D" ]] ; then verbose="+D" verbose_common="-v" - elif [[ $p == "--enable-static" ]] ; then + elif [[ ${p} == "--enable-static" ]] ; then static="--enable-static" - elif [[ $p == "--disable-static" ]] ; then + elif [[ ${p} == "--disable-static" ]] ; then static="--disable-static" - elif [[ $p == "--enable-shared" ]] ; then + elif [[ ${p} == "--enable-shared" ]] ; then shared="--enable-shared" - elif [[ $p == "--disable-shared" ]] ; then + elif [[ ${p} == "--disable-shared" ]] ; then shared="--disable-shared" - elif [[ $p == "clang" ]] ; then + elif [[ ${p} == "clang" ]] ; then clang="-m clang" - elif [[ $p == "-w" || $p == "--work" ]] ; then + elif [[ ${p} == "-w" || ${p} == "--work" ]] ; then let i++ - if [[ $i -le $# ]] ; then - path_work=$p + if [[ ${i} -le $# ]] ; then + path_work=${p} fi fi let i++ done -if [[ ! -d $path_work ]] ; then - mkdir $verbose_common -p $path_work +if [[ ! -d ${path_work} ]] ; then + mkdir ${verbose_common} -p ${path_work} fi -if [[ $1 == "individual" ]] ; then - $shell_command build/scripts/package.sh $verbose $color rebuild -i +if [[ ${1} == "individual" ]] ; then + ${shell_command} build/scripts/package.sh ${verbose} ${color} rebuild -i - if [[ $? -eq 0 ]] ; then + if [[ ${?} -eq 0 ]] ; then for i in f_type f_status f_memory f_type_array f_string f_utf f_account f_capability f_color f_console f_control_group f_conversion f_directory f_environment f_execute f_file f_fss f_iki f_limit f_path f_pipe f_print f_status_string f_serialize f_signal f_socket f_thread fl_control_group fl_conversion fl_directory fl_environment fl_execute fl_fss fl_iki fl_print fl_signal fl_string fl_utf fl_utf_file fll_control_group fll_error fll_execute fll_file fll_fss fll_fss_status_string fll_iki fll_path fll_print fll_program fll_status_string ; do - echo && echo "Processing $i." && + echo && echo "Processing ${i}." && - cd package/individual/$i-$version/ && + cd package/individual/${i}-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m individual $clang && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m individual -m individual_thread -m thread ${clang} && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work && + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} && - cd $path_original || break + cd ${path_original} || break done fi fi -if [[ $1 == "level" ]] ; then - $shell_command build/scripts/package.sh $verbose $color rebuild -l && +if [[ ${1} == "level" ]] ; then + ${shell_command} build/scripts/package.sh ${verbose} ${color} rebuild -l && - cd package/level/fll-level_0-$version/ && + cd package/level/fll-level_0-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m level $clang && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m level -m thread ${clang} && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work && + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} && - cd $path_original && + cd ${path_original} && - cd package/level/fll-level_1-$version/ && + cd package/level/fll-level_1-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m level && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m level -m thread && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work && + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} && - cd $path_original && + cd ${path_original} && - cd package/level/fll-level_2-$version/ && + cd package/level/fll-level_2-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m level && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m level -m thread && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} fi -if [[ $1 == "monolithic" ]] ; then - $shell_command build/scripts/package.sh $verbose $color rebuild -m && +if [[ ${1} == "monolithic" ]] ; then + ${shell_command} build/scripts/package.sh ${verbose} ${color} rebuild -m && - cd package/monolithic/fll-$version/ && + cd package/monolithic/fll-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m monolithic $clang && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m monolithic -m thread ${clang} && - $shell_command ./install.sh $verbose $color $shared $suppress_first $static -w $path_work + ${shell_command} ./install.sh ${verbose} ${color} ${shared} ${suppress_first} ${static} -w ${path_work} fi # The following in an example on building individual projects. for mode_part in fake utf8 ; do - if [[ $1 == "$mode_part-individual" || $1 == "$mode_part-level" || $1 == "$mode_part-monolithic" || $1 == "$mode_part-stand_alone" ]] ; then + if [[ ${1} == "${mode_part}-individual" || ${1} == "${mode_part}-level" || ${1} == "${mode_part}-monolithic" || ${1} == "${mode_part}-stand_alone" ]] ; then break; fi mode_part= done -if [[ $mode_part != "" ]] ; then +if [[ ${mode_part} != "" ]] ; then mode_parameter="-p" mode_path="program" mode_value= + build_mode_extra_param_1= + build_mode_extra_value_1= + build_mode_extra_param_2= + build_mode_extra_value_2= - if [[ $1 == "$mode_part-individual" ]] ; then + if [[ ${1} == "${mode_part}-individual" ]] ; then build_mode="individual" - elif [[ $1 == "$mode_part-level" ]] ; then + build_mode_extra_param_1="-m" + build_mode_extra_value_1="individual_thread" + build_mode_extra_param_2="-m" + build_mode_extra_value_2="thread" + elif [[ ${1} == "${mode_part}-level" ]] ; then build_mode="level" - elif [[ $1 == "$mode_part-monolithic" ]] ; then + build_mode_extra_param_1="-m" + build_mode_extra_value_1="thread" + elif [[ ${1} == "${mode_part}-monolithic" ]] ; then build_mode="monolithic" - elif [[ $1 == "$mode_part-stand_alone" ]] ; then + build_mode_extra_param_1="-m" + build_mode_extra_value_1="thread" + elif [[ ${1} == "${mode_part}-stand_alone" ]] ; then build_mode="stand_alone" mode_path="stand_alone" mode_parameter="-S" - mode_value="$mode_part" + mode_value="${mode_part}" + build_mode_extra_param_1="-m" + build_mode_extra_value_1="thread" fi - $shell_command build/scripts/package.sh $verbose $color rebuild $mode_parameter $mode_value && + ${shell_command} build/scripts/package.sh ${verbose} ${color} rebuild ${mode_parameter} ${mode_value} && - cd package/$mode_path/$mode_part-$version/ && + cd package/${mode_path}/${mode_part}-${version}/ && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m $build_mode && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m ${build_mode} ${build_mode_extra_param_1} ${build_mode_extra_value_1} ${build_mode_extra_param_2} ${build_mode_extra_value_2} && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} # The following in an example on building all FLL program projects using the project bootstrapped from above. -elif [[ $1 == "programs-individual" || $1 == "programs-level" || $1 == "programs-monolithic" ]] ; then - if [[ $1 == "programs-individual" ]] ; then +elif [[ ${1} == "programs-individual" || ${1} == "programs-level" || ${1} == "programs-monolithic" ]] ; then + build_mode_extra_param_1= + build_mode_extra_value_1= + build_mode_extra_param_2= + build_mode_extra_value_2= + + if [[ ${1} == "programs-individual" ]] ; then build_mode="individual" - elif [[ $1 == "programs-level" ]] ; then + build_mode_extra_param_1="-m" + build_mode_extra_value_1="individual_thread" + build_mode_extra_param_2="-m" + build_mode_extra_value_2="thread" + elif [[ ${1} == "programs-level" ]] ; then build_mode="level" - elif [[ $1 == "programs-monolithic" ]] ; then + elif [[ ${1} == "programs-monolithic" ]] ; then build_mode="monolithic" + build_mode_extra_param_1="-m" + build_mode_extra_value_1="thread" fi - $shell_command build/scripts/package.sh $verbose $color rebuild -p && + ${shell_command} build/scripts/package.sh ${verbose} ${color} rebuild -p && cd package/program - if [[ $? -eq 0 ]] ; then + if [[ ${?} -eq 0 ]] ; then for i in * ; do - cd ${path_original}package/program/$i && + cd ${path_original}package/program/${i} && - $shell_command ./bootstrap.sh clean $verbose $color $suppress_first && + ${shell_command} ./bootstrap.sh clean ${verbose} ${color} ${suppress_first} && - $shell_command ./bootstrap.sh build $verbose $color $suppress_first $shared $static -w $path_work -m $build_mode && + ${shell_command} ./bootstrap.sh build ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} -m ${build_mode} ${build_mode_extra_param_1} ${build_mode_extra_value_1} ${build_mode_extra_param_2} ${build_mode_extra_value_2} && - $shell_command ./install.sh $verbose $color $suppress_first $shared $static -w $path_work || + ${shell_command} ./install.sh ${verbose} ${color} ${suppress_first} ${shared} ${static} -w ${path_work} || break done @@ -255,11 +285,11 @@ elif [[ $1 == "programs-individual" || $1 == "programs-level" || $1 == "programs echo "ERROR: failed to change directory to 'package/program'." echo fi -elif [[ $1 != "individual" && $1 != "level" && $1 != "monolithic" ]] ; then +elif [[ ${1} != "individual" && ${1} != "level" && ${1} != "monolithic" ]] ; then echo - echo "ERROR: '$1' is not a supported build mode." + echo "ERROR: '${1}' is not a supported build mode." echo fi # Regardless of what happens always return to the starting directory. -cd $path_original +cd ${path_original} diff --git a/build/scripts/bootstrap.sh b/build/scripts/bootstrap.sh index 7110b139c..0f79dbce9 100644 --- a/build/scripts/bootstrap.sh +++ b/build/scripts/bootstrap.sh @@ -14,13 +14,13 @@ bootstrap_main() { - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then emulate ksh fi local public_name="Simple FLL Bootstrap Script" local system_name=bootstrap - local called_name=$(basename $0) + local called_name=$(basename ${0}) local version=0.6.5 local grab_next= @@ -84,105 +84,105 @@ bootstrap_main() { if [[ $# -gt 0 ]] ; then t=$# - while [[ $i -lt $t ]] ; do - let i=$i+1 + while [[ ${i} -lt ${t} ]] ; do + let i=${i}+1 - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then p=${(P)i} else p=${!i} fi - if [[ $grab_next == "" ]] ; then - if [[ $p == "-h" || $p == "--help" ]] ; then + if [[ ${grab_next} == "" ]] ; then + if [[ ${p} == "-h" || ${p} == "--help" ]] ; then do_help=yes - elif [[ $p == "+C" || $p == "++copyright" ]] ; then + elif [[ ${p} == "+C" || ${p} == "++copyright" ]] ; then do_copyright="yes" - elif [[ $p == "+d" || $p == "++dark" ]] ; then + elif [[ ${p} == "+d" || ${p} == "++dark" ]] ; then do_color=dark context="+d" - elif [[ $p == "+l" || $p == "++light" ]] ; then + elif [[ ${p} == "+l" || ${p} == "++light" ]] ; then do_color=light context="+l" - elif [[ $p == "+n" || $p == "++no_color" ]] ; then + elif [[ ${p} == "+n" || ${p} == "++no_color" ]] ; then do_color=none context="+n" - elif [[ $p == "+Q" || $p == "++quiet" ]] ; then + elif [[ ${p} == "+Q" || ${p} == "++quiet" ]] ; then verbosity="quiet" verbose="+Q" verbose_common= - elif [[ $p == "+E" || $p == "++error" ]] ; then + elif [[ ${p} == "+E" || ${p} == "++error" ]] ; then verbosity="error" verbose="+E" verbose_common= - elif [[ $p == "+N" || $p == "++normal" ]] ; then + elif [[ ${p} == "+N" || ${p} == "++normal" ]] ; then verbosity= verbose="+N" verbose_common= - elif [[ $p == "+V" || $p == "++verbose" ]] ; then + elif [[ ${p} == "+V" || ${p} == "++verbose" ]] ; then verbosity="verbose" verbose="+V" verbose_common="-v" - elif [[ $p == "+D" || $p == "++debug" ]] ; then + elif [[ ${p} == "+D" || ${p} == "++debug" ]] ; then verbosity="debug" verbose="+D" verbose_common="-v" - elif [[ $p == "+v" || $p == "++version" ]] ; then - echo $version + elif [[ ${p} == "+v" || ${p} == "++version" ]] ; then + echo ${version} return 0 - elif [[ $p == "-d" || $p == "--define" ]] ; then + elif [[ ${p} == "-d" || ${p} == "--define" ]] ; then grab_next=define_extra - elif [[ $p == "-m" || $p == "--mode" ]] ; then + elif [[ ${p} == "-m" || ${p} == "--mode" ]] ; then grab_next="mode" - elif [[ $p == "-p" || $p == "--process" ]] ; then + elif [[ ${p} == "-p" || ${p} == "--process" ]] ; then grab_next="process" - elif [[ $p == "-s" || $p == "--settings" ]] ; then + elif [[ ${p} == "-s" || ${p} == "--settings" ]] ; then grab_next=settings_name - elif [[ $p == "-b" || $p == "--build" ]] ; then + elif [[ ${p} == "-b" || ${p} == "--build" ]] ; then grab_next=path_build - elif [[ $p == "-d" || $p == "--data" ]] ; then + elif [[ ${p} == "-d" || ${p} == "--data" ]] ; then grab_next=path_data - elif [[ $p == "-S" || $p == "--sources" ]] ; then + elif [[ ${p} == "-S" || ${p} == "--sources" ]] ; then grab_next=path_sources - elif [[ $p == "-w" || $p == "--work" ]] ; then + elif [[ ${p} == "-w" || ${p} == "--work" ]] ; then grab_next=path_work - elif [[ $p == "--enable-doc" ]] ; then + elif [[ ${p} == "--enable-doc" ]] ; then enable_documentation="yes" - elif [[ $p == "--disable-doc" ]] ; then + elif [[ ${p} == "--disable-doc" ]] ; then enable_documentation="no" - elif [[ $p == "--enable-shared" ]] ; then + elif [[ ${p} == "--enable-shared" ]] ; then enable_shared="yes" - elif [[ $p == "--disable-shared" ]] ; then + elif [[ ${p} == "--disable-shared" ]] ; then enable_shared="no" - elif [[ $p == "--enable-static" ]] ; then + elif [[ ${p} == "--enable-static" ]] ; then enable_static="yes" - elif [[ $p == "--disable-static" ]] ; then + elif [[ ${p} == "--disable-static" ]] ; then enable_static="no" - elif [[ $operation == "" ]] ; then - operation="$p" - elif [[ $operation_failure == "" ]] ; then + elif [[ ${operation} == "" ]] ; then + operation="${p}" + elif [[ ${operation_failure} == "" ]] ; then operation_failure=fail-multiple fi else - if [[ $grab_next == "define_extra" ]] ; then + if [[ ${grab_next} == "define_extra" ]] ; then define_extra="${define_extra}${p} " - elif [[ $grab_next == "mode" ]] ; then - modes="$modes$p " - elif [[ $grab_next == "process" ]] ; then - process="$p" - elif [[ $grab_next == "settings_name" ]] ; then - settings_name="$p" - elif [[ $grab_next == "path_build" ]] ; then - path_build=$(echo $p | sed -e 's|//*|/|g' -e 's|/*$|/|') + elif [[ ${grab_next} == "mode" ]] ; then + modes="${modes}${p} " + elif [[ ${grab_next} == "process" ]] ; then + process="${p}" + elif [[ ${grab_next} == "settings_name" ]] ; then + settings_name="${p}" + elif [[ ${grab_next} == "path_build" ]] ; then + path_build=$(echo ${p} | sed -e 's|//*|/|g' -e 's|/*$|/|') override_path_build="y" - elif [[ $grab_next == "path_data" ]] ; then - path_data=$(echo $p | sed -e 's|//*|/|g' -e 's|/*$|/|') + elif [[ ${grab_next} == "path_data" ]] ; then + path_data=$(echo ${p} | sed -e 's|//*|/|g' -e 's|/*$|/|') override_path_data="y" - elif [[ $grab_next == "path_sources" ]] ; then - path_sources=$(echo $p | sed -e 's|//*|/|g' -e 's|/*$|/|') + elif [[ ${grab_next} == "path_sources" ]] ; then + path_sources=$(echo ${p} | sed -e 's|//*|/|g' -e 's|/*$|/|') override_path_sources="y" - elif [[ $grab_next == "path_work" ]] ; then - path_work=$(echo $p | sed -e 's|//*|/|g' -e 's|/*$|/|') + elif [[ ${grab_next} == "path_work" ]] ; then + path_work=$(echo ${p} | sed -e 's|//*|/|g' -e 's|/*$|/|') override_path_work="y" fi @@ -193,19 +193,19 @@ bootstrap_main() { p= fi - if [[ $verbosity == "quiet" ]] ; then + if [[ ${verbosity} == "quiet" ]] ; then print_line_first="no" print_line_last="no" fi # If the settings_name has a directory separator, then assume it is a path to the settings file. - if [[ $(echo $settings_name | grep -s -o '/') == "" ]] ; then - settings_file="${path_data}build/$settings_name" + if [[ $(echo ${settings_name} | grep -s -o '/') == "" ]] ; then + settings_file="${path_data}build/${settings_name}" else - settings_file="$settings_name" + settings_file="${settings_name}" # Extract the settings name from the path. - settings_name=$(basename $settings_name) + settings_name=$(basename ${settings_name}) fi settings_defines="${path_data}build/defines" @@ -215,14 +215,14 @@ bootstrap_main() { bootstrap_handle_colors - if [[ $do_help == "yes" ]] ; then + if [[ ${do_help} == "yes" ]] ; then bootstrap_help bootstrap_cleanup return 0 fi - if [[ $do_copyright == "yes" ]] ; then + if [[ ${do_copyright} == "yes" ]] ; then bootstrap_copyright bootstrap_cleanup @@ -232,10 +232,10 @@ bootstrap_main() { bootstrap_load_settings # FSS and Featurless Make supports more flexible mode names, but for the purpose of this bootstrap script and avoiding potential problems, keep it simple. - if [[ $modes != "" ]] ; then - for mode in $modes ; do - if [[ $(echo "$mode" | grep -s -o "[^_[:alnum:]+-]") != "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${modes} != "" ]] ; then + for mode in ${modes} ; do + if [[ $(echo "${mode}" | grep -s -o "[^_[:alnum:]+-]") != "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The mode ${c_notice}${mode}${c_error} includes invalid characters, only alphanumeric, underscore, minus, and plus are allowed.${c_reset}" @@ -265,17 +265,17 @@ bootstrap_main() { fi bootstrap_id "build_name" - project_built="${path_build_stage}${variables[$key]}" - if [[ $process != "" ]] ; then - project_built="${project_built}-$process" + project_built="${path_build_stage}${variables[${key}]}" + if [[ ${process} != "" ]] ; then + project_built="${project_built}-${process}" fi project_built_shared="${project_built}.shared" project_built_static="${project_built}.static" - if [[ $modes_available == "" ]] ; then - if [[ $modes != "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${modes_available} == "" ]] ; then + if [[ ${modes} != "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The mode(s) ${c_notice}${modes}${c_error} are not a valid modes, there are no available modes.${c_error}${c_reset}" @@ -289,25 +289,25 @@ bootstrap_main() { fi else let i=0 - for m in $modes_available ; do + for m in ${modes_available} ; do - for mode in $modes ; do + for mode in ${modes} ; do - if [[ "$mode" == "$m" ]] ; then + if [[ "${mode}" == "${m}" ]] ; then let i=1 break fi done - if [[ $i -eq 1 ]] ; then break ; fi + if [[ ${i} -eq 1 ]] ; then break ; fi done - if [[ $i -eq 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${i} -eq 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first - echo -e "${c_error}ERROR: The mode(s) ${c_notice}${modes}${c_error} are not valid modes, they must be one of: ${c_notice}$modes_available${c_error}.${c_reset}" + echo -e "${c_error}ERROR: The mode(s) ${c_notice}${modes}${c_error} are not valid modes, they must be one of: ${c_notice}${modes_available}${c_error}.${c_reset}" bootstrap_print_last fi @@ -319,8 +319,8 @@ bootstrap_main() { fi bootstrap_id "build_name" - if [[ ${variables[$key]} == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${variables[${key}]} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The required setting '${c_notice}build_name${c_error}' is not specified in the build settings file '${c_notice}${settings_file}${c_error}'.${c_reset}" @@ -334,8 +334,8 @@ bootstrap_main() { fi bootstrap_id "version_major" - if [[ ${variables[$key]} == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${variables[${key}]} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The required setting '${c_notice}version_major${c_error}' is not specified in the build settings file '${c_notice}${settings_file}${c_error}'.${c_reset}" @@ -349,8 +349,8 @@ bootstrap_main() { fi bootstrap_id "version_minor" - if [[ ${variables[$key]} == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${variables[${key}]} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The required setting '${c_notice}version_minor${c_error}' is not specified in the build settings file '${c_notice}${settings_file}${c_error}'.${c_reset}" @@ -364,8 +364,8 @@ bootstrap_main() { fi bootstrap_id "version_micro" - if [[ ${variables[$key]} == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${variables[${key}]} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The required setting '${c_notice}version_micro${c_error}' is not specified in the build settings file '${c_notice}${settings_file}${c_error}'.${c_reset}" @@ -378,8 +378,8 @@ bootstrap_main() { return 1 fi - if [[ $path_data == "" || ! -d $path_data ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${path_data} == "" || ! -d ${path_data} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The data directory ${c_notice}${path_data}${c_error} is not a valid directory.${c_reset}" @@ -392,8 +392,8 @@ bootstrap_main() { return 1 fi - if [[ $path_sources == "" || ! -d $path_sources ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${path_sources} == "" || ! -d ${path_sources} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The sources directory ${c_notice}${path_sources}${c_error} is not a valid directory.${c_reset}" @@ -406,8 +406,8 @@ bootstrap_main() { return 1 fi - if [[ $path_work != "" && ! -d $path_work ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${path_work} != "" && ! -d ${path_work} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The work directory ${c_notice}${path_work}${c_error} is not a valid directory.${c_reset}" @@ -421,25 +421,25 @@ bootstrap_main() { fi bootstrap_id "build_name" - project_label="${variables[$key]}" + project_label="${variables[${key}]}" bootstrap_id "version_major" - if [[ "${variables[$key]}" != "" ]] ; then - project_label="${project_label}-${variables[$key]}" + if [[ "${variables[${key}]}" != "" ]] ; then + project_label="${project_label}-${variables[${key}]}" bootstrap_id "version_minor" - if [[ "${variables[$key]}" != "" ]] ; then - project_label="${project_label}.${variables[$key]}" + if [[ "${variables[${key}]}" != "" ]] ; then + project_label="${project_label}.${variables[${key}]}" bootstrap_id "version_micro" - if [[ "${variables[$key]}" != "" ]] ; then - project_label="${project_label}.${variables[$key]}" + if [[ "${variables[${key}]}" != "" ]] ; then + project_label="${project_label}.${variables[${key}]}" fi fi fi - if [[ $operation_failure == "fail-multiple" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${operation_failure} == "fail-multiple" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Only one operation may be specified at a time.${c_reset}" @@ -450,11 +450,11 @@ bootstrap_main() { bootstrap_cleanup return 1 - elif [[ $operation == "build" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + elif [[ ${operation} == "build" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then bootstrap_print_first - echo -e "${c_highlight}Building:${c_reset} ${c_notice}${project_label}${c_highlight}.${c_reset}" + echo -e "${c_highlight}Building:${c_reset} ${c_notice}${project_label}${c_highlight} with modes: ${c_notice}${modes}${c_highlight}.${c_reset}" fi if [[ ! -f ${project_built}.prepared ]] ; then @@ -474,16 +474,16 @@ bootstrap_main() { return 1 fi - elif [[ $operation == "clean" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + elif [[ ${operation} == "clean" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then bootstrap_print_first echo -e "${c_highlight}Cleaning Project:${c_reset} ${c_notice}${project_label}${c_highlight}.${c_reset}" fi bootstrap_operation_clean - elif [[ $operation == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + elif [[ ${operation} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: No operation was given.${c_reset}" @@ -493,7 +493,7 @@ bootstrap_main() { return 1 else - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The operation ${c_notice}${operation}${c_error} was not recognized.${c_reset}" @@ -506,8 +506,8 @@ bootstrap_main() { return 1 fi - if [[ $verbosity != "quiet" ]] ; then - if [[ $failure != "" || $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then + if [[ ${failure} != "" || ${verbosity} != "error" ]] ; then bootstrap_print_last fi fi @@ -519,14 +519,14 @@ bootstrap_main() { bootstrap_handle_colors() { - if [[ $do_color == "light" ]] ; then + if [[ ${do_color} == "light" ]] ; then c_error="\\033[1;31m" c_warning="\\033[0;31m" c_title="\\033[1;34m" c_highlight="\\033[0;34m" c_notice="\\033[0;01m" c_important="\\033[0;35m" - elif [[ $do_color == "none" ]] ; then + elif [[ ${do_color} == "none" ]] ; then c_reset= c_title= c_error= @@ -600,7 +600,7 @@ bootstrap_copyright() { bootstrap_id() { - case $1 in + case ${1} in "build_compiler") let key=0;; "build_indexer") let key=1;; "build_indexer_arguments") let key=2;; @@ -835,15 +835,15 @@ bootstrap_load_settings() { local value= if [[ ! -d ${path_data}build/ ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: No build settings directory '${c_notice}${path_data}build/${c_error}' could not be found or is not a valid directory.${c_reset}" fi let failure=1 - elif [[ ! -f $settings_file ]] ; then - if [[ $verbosity != "quiet" ]] ; then + elif [[ ! -f ${settings_file} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first 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}" @@ -852,61 +852,61 @@ bootstrap_load_settings() { let failure=1 fi - if [[ $failure != "" ]] ; then + if [[ ${failure} != "" ]] ; then return 1 fi # Get available modes. - if [[ $modes_available == "" ]] ; then - modes_available=$(grep -s -o "^[[:space:]]*modes[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*modes\>||" -e 's|^[[:space:]]*||') + if [[ ${modes_available} == "" ]] ; then + modes_available=$(grep -s -o "^[[:space:]]*modes[[:space:]].*\$" ${settings_file} | sed -e "s|^[[:space:]]*modes\>||" -e 's|^[[:space:]]*||') fi # Get default modes. - modes_default=$(grep -s -o "^[[:space:]]*modes_default[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*modes_default\>||" -e 's|^[[:space:]]*||') + modes_default=$(grep -s -o "^[[:space:]]*modes_default[[:space:]].*\$" ${settings_file} | sed -e "s|^[[:space:]]*modes_default\>||" -e 's|^[[:space:]]*||') # Use default modes if no mode is explicitly provided. - if [[ $modes == "" ]] ; then - modes=$modes_default + if [[ ${modes} == "" ]] ; then + modes=${modes_default} fi # Single value Objects. for i in build_compiler build_indexer build_language build_name build_script build_shared build_sources_object build_sources_object_shared build_sources_object_static build_static has_path_standard path_headers path_language path_library_script path_library_shared path_library_static path_object_script path_object_shared path_object_static path_program_script path_program_shared path_program_static path_sources path_sources_object preserve_path_headers process_post process_pre search_exclusive search_shared search_static version_file version_major version_major_prefix version_micro version_micro_prefix version_minor version_minor_prefix version_nano version_nano_prefix version_target ; do - bootstrap_id "$i" + bootstrap_id "${i}" - if [[ $key == "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${key} == "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Failed to find index for '${c_notice}${i}${c_warning}' when calling ${c_notice}bootstrap_id()${c_warning}.${c_reset}" fi key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi else - if [[ $(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" $settings_file) != "" ]] ; then - value=$(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*${i}\>||" -e 's|^[[:space:]]*||') - variables[$key]="$value" + if [[ $(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" ${settings_file}) != "" ]] ; then + value=$(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" ${settings_file} | sed -e "s|^[[:space:]]*${i}\>||" -e 's|^[[:space:]]*||') + variables[${key}]="${value}" key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi - elif [[ $(grep -s -o "^[[:space:]]*${i}\$" $settings_file) != "" ]] ; then - variables[$key]="" + elif [[ $(grep -s -o "^[[:space:]]*${i}\$" ${settings_file}) != "" ]] ; then + variables[${key}]="" key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi else key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi fi fi @@ -915,41 +915,41 @@ bootstrap_load_settings() { # Multi value Objects. for i in build_indexer_arguments build_libraries build_libraries_shared build_libraries_static build_objects_library build_objects_library_shared build_objects_library_static build_objects_program build_objects_program_shared build_objects_program_static build_sources_documentation build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting defines defines_library defines_library_shared defines_library_static defines_object defines_object_shared defines_object_static defines_program defines_program_shared defines_program_static defines_shared defines_static environment flags flags_library flags_library_shared flags_library_static flags_object flags_object_shared flags_object_static flags_program flags_program_shared flags_program_static flags_shared flags_static ; do - bootstrap_id "$i" + bootstrap_id "${i}" - if [[ $key == "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${key} == "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Failed to find index for '${c_notice}${i}${c_warning}' when calling ${c_notice}bootstrap_id()${c_warning}.${c_reset}" fi key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi else - if [[ $(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" $settings_file) != "" ]] ; then - value=$(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*${i}\>||" -e 's|^[[:space:]]*||') - variables[$key]="$value" + if [[ $(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" ${settings_file}) != "" ]] ; then + value=$(grep -s -o "^[[:space:]]*${i}[[:space:]].*\$" ${settings_file} | sed -e "s|^[[:space:]]*${i}\>||" -e 's|^[[:space:]]*||') + variables[${key}]="${variables[${key}]}${value} " key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi - elif [[ $(grep -s -o "^[[:space:]]*${i}\$" $settings_file) != "" ]] ; then - variables[$key]="" + elif [[ $(grep -s -o "^[[:space:]]*${i}\$" ${settings_file}) != "" ]] ; then + variables[${key}]="" key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi else key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi fi fi @@ -962,46 +962,47 @@ bootstrap_load_settings_mode() { local m= local value= - for m in $modes ; do + for m in ${modes} ; do # Single value Objects. for i in build_compiler build_indexer build_language build_name build_script build_shared build_sources_object build_sources_object_shared build_sources_object_static build_static has_path_standard path_headers path_language path_library_script path_library_shared path_library_static path_object_script path_object_shared path_object_static path_program_script path_program_shared path_program_static path_sources path_sources_object preserve_path_headers process_post process_pre search_exclusive search_shared search_static version_file version_major version_major_prefix version_micro version_micro_prefix version_minor version_minor_prefix version_nano version_nano_prefix version_target ; do bootstrap_id "${i}-mode" - if [[ $key == "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then - echo -e "${c_warning}WARNING: Failed to find index for '${c_notice}$i-$m${c_warning}' when calling ${c_notice}bootstrap_id()${c_warning}.${c_reset}" + if [[ ${key} == "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then + echo -e "${c_warning}WARNING: Failed to find index for '${c_notice}${i}-${m}${c_warning}' when calling ${c_notice}bootstrap_id()${c_warning}.${c_reset}" fi key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi else - if [[ $(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" $settings_file) != "" ]] ; then - value=$(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" $settings_file | sed -e "H;/${i}-${m}/h;\$!d;x" | sed -e "s|^[[:space:]]*${i}-${m}\>||" -e 's|^[[:space:]]*||') - variables[$key]="$value" + + if [[ $(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" ${settings_file}) != "" ]] ; then + value=$(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" ${settings_file} | sed -e "H;/${i}-${m}/h;\$!d;x" | sed -e "s|^[[:space:]]*${i}-${m}\>||" -e 's|^[[:space:]]*||') + variables[${key}]="${value}" key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi - elif [[ $(grep -s -o "^[[:space:]]*${i}-${m}\$" $settings_file) != "" ]] ; then - variables[$key]="" + elif [[ $(grep -s -o "^[[:space:]]*${i}-${m}\$" ${settings_file}) != "" ]] ; then + variables[${key}]="" key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi else key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi fi fi @@ -1012,39 +1013,39 @@ bootstrap_load_settings_mode() { bootstrap_id "${i}-mode" - if [[ $key == "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${key} == "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Failed to find index for '${c_notice}${i}-${m}${c_warning}' when calling ${c_notice}bootstrap_id()${c_warning}.${c_reset}" fi key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" ]] ; then + variables[${key}]="no" fi else - if [[ $(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" $settings_file) != "" ]] ; then - value=$(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*${i}-${m}\>||" -e 's|^[[:space:]]*||') - variables[$key]="$value" + if [[ $(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" ${settings_file}) != "" ]] ; then + value=$(grep -s -o "^[[:space:]]*${i}-${m}[[:space:]].*\$" ${settings_file} | sed -e "s|^[[:space:]]*${i}-${m}\>||" -e 's|^[[:space:]]*||') + variables[${key}]="${variables[${key}]}${value} " key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi - elif [[ $(grep -s -o "^[[:space:]]*${i}-${m}\$" $settings_file) != "" ]] ; then - variables[$key]="" + elif [[ $(grep -s -o "^[[:space:]]*${i}-${m}\$" ${settings_file}) != "" ]] ; then + variables[${key}]="" key= bootstrap_id "has-${i}" - if [[ $key != "" ]] ; then - variables[$key]="yes" + if [[ ${key} != "" ]] ; then + variables[${key}]="yes" fi else key= bootstrap_id "has-${i}-mode" - if [[ $key != "" ]] ; then - variables[$key]="no" + if [[ ${key} != "" && ${variables[${key}]} != "yes" ]] ; then + variables[${key}]="no" fi fi fi @@ -1053,13 +1054,13 @@ bootstrap_load_settings_mode() { } bootstrap_prepare_build() { - local alt=$1 + local alt=${1} local i= - mkdir $verbose_common -p ${path_build}{documents,includes,libraries/{script,shared,static},objects/{script,shared,static},programs/{script,shared,static},settings,stage} || failure=1 + mkdir ${verbose_common} -p ${path_build}{documents,includes,libraries/{script,shared,static},objects/{script,shared,static},programs/{script,shared,static},settings,stage} || failure=1 - if [[ $failure != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${failure} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Failed to create build directories in '${c_notice}${path_build}${c_error}'.${c_reset}" fi @@ -1067,18 +1068,18 @@ bootstrap_prepare_build() { fi bootstrap_id "path_headers-mode" - if [[ ${variables[$key]} != "" ]] ; then - mkdir $verbose_common -p ${path_build}includes/${variables[$key]} || failure=1 + if [[ ${variables[${key}]} != "" ]] ; then + mkdir ${verbose_common} -p ${path_build}includes/${variables[${key}]} || failure=1 else bootstrap_id "path_headers" - if [[ ${variables[$key]} != "" ]] ; then - mkdir $verbose_common -p ${path_build}includes/${variables[$key]} || failure=1 + if [[ ${variables[${key}]} != "" ]] ; then + mkdir ${verbose_common} -p ${path_build}includes/${variables[${key}]} || failure=1 fi fi - if [[ $failure != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${failure} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Failed to create ${c_notice}path_heades${c_error} build directories in '${c_notice}${path_build}${c_error}'.${c_reset}" fi @@ -1087,7 +1088,7 @@ bootstrap_prepare_build() { touch ${project_built}-${settings_name}.prepared - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -1099,240 +1100,240 @@ bootstrap_operation_build() { local n= local version_file= local version_target= - local alt=$1 + local alt=${1} local directory= local key= bootstrap_id "build_compiler" - local build_compiler=${variables[$key]} + local build_compiler=${variables[${key}]} bootstrap_id "build_indexer" - local build_indexer=${variables[$key]} + local build_indexer=${variables[${key}]} bootstrap_id "build_indexer_arguments" - local build_indexer_arguments=${variables[$key]} + local build_indexer_arguments=${variables[${key}]} bootstrap_id "build_name" - local build_name=${variables[$key]} + local build_name=${variables[${key}]} bootstrap_id "build_shared" - local build_shared=${variables[$key]} + local build_shared=${variables[${key}]} bootstrap_id "build_static" - local build_static=${variables[$key]} + local build_static=${variables[${key}]} bootstrap_id "defines" - local defines=${variables[$key]} + local defines=${variables[${key}]} bootstrap_id "defines_library" - local defines_library=${variables[$key]} + local defines_library=${variables[${key}]} bootstrap_id "defines_library_shared" - local defines_library_shared=${variables[$key]} + local defines_library_shared=${variables[${key}]} bootstrap_id "defines_library_static" - local defines_library_static=${variables[$key]} + local defines_library_static=${variables[${key}]} bootstrap_id "defines_object" - local defines_object=${variables[$key]} + local defines_object=${variables[${key}]} bootstrap_id "defines_object_shared" - local defines_object_shared=${variables[$key]} + local defines_object_shared=${variables[${key}]} bootstrap_id "defines_object_static" - local defines_object_static=${variables[$key]} + local defines_object_static=${variables[${key}]} bootstrap_id "defines_program" - local defines_program=${variables[$key]} + local defines_program=${variables[${key}]} bootstrap_id "defines_program_shared" - local defines_program_shared=${variables[$key]} + local defines_program_shared=${variables[${key}]} bootstrap_id "defines_program_static" - local defines_program_static=${variables[$key]} + local defines_program_static=${variables[${key}]} bootstrap_id "defines_shared" - local defines_shared=${variables[$key]} + local defines_shared=${variables[${key}]} bootstrap_id "defines_static" - local defines_static=${variables[$key]} + local defines_static=${variables[${key}]} bootstrap_id "flags" - local flags=${variables[$key]} + local flags=${variables[${key}]} bootstrap_id "flags_library" - local flags_library=${variables[$key]} + local flags_library=${variables[${key}]} bootstrap_id "flags_library_shared" - local flags_library_shared=${variables[$key]} + local flags_library_shared=${variables[${key}]} bootstrap_id "flags_library_static" - local flags_library_static=${variables[$key]} + local flags_library_static=${variables[${key}]} bootstrap_id "flags_object" - local flags_object=${variables[$key]} + local flags_object=${variables[${key}]} bootstrap_id "flags_object_shared" - local flags_object_shared=${variables[$key]} + local flags_object_shared=${variables[${key}]} bootstrap_id "flags_object_static" - local flags_object_static=${variables[$key]} + local flags_object_static=${variables[${key}]} bootstrap_id "flags_program" - local flags_program=${variables[$key]} + local flags_program=${variables[${key}]} bootstrap_id "flags_program_shared" - local flags_program_shared=${variables[$key]} + local flags_program_shared=${variables[${key}]} bootstrap_id "flags_program_static" - local flags_program_static=${variables[$key]} + local flags_program_static=${variables[${key}]} bootstrap_id "flags_shared" - local flags_shared=${variables[$key]} + local flags_shared=${variables[${key}]} bootstrap_id "flags_static" - local flags_static=${variables[$key]} + local flags_static=${variables[${key}]} bootstrap_id "build_libraries" - local libraries=${variables[$key]} + local libraries=${variables[${key}]} bootstrap_id "build_libraries_shared" - local libraries_shared=${variables[$key]} + local libraries_shared=${variables[${key}]} bootstrap_id "build_libraries_static" - local libraries_static=${variables[$key]} + local libraries_static=${variables[${key}]} bootstrap_id "build_objects_library" - local objects_library=${variables[$key]} + local objects_library=${variables[${key}]} bootstrap_id "build_objects_library_shared" - local objects_library_shared=${variables[$key]} + local objects_library_shared=${variables[${key}]} bootstrap_id "build_objects_library_static" - local objects_library_static=${variables[$key]} + local objects_library_static=${variables[${key}]} bootstrap_id "build_objects_program" - local objects_program=${variables[$key]} + local objects_program=${variables[${key}]} bootstrap_id "build_objects_program_shared" - local objects_program_shared=${variables[$key]} + local objects_program_shared=${variables[${key}]} bootstrap_id "build_objects_program_static" - local objects_program_static=${variables[$key]} + local objects_program_static=${variables[${key}]} bootstrap_id "path_headers" - local path_headers=${variables[$key]} + local path_headers=${variables[${key}]} bootstrap_id "preserve_path_headers" - local preserve_path_headers=${variables[$key]} + local preserve_path_headers=${variables[${key}]} bootstrap_id "path_library_script" - local path_library_script=${variables[$key]} + local path_library_script=${variables[${key}]} bootstrap_id "path_library_shared" - local path_library_shared=${variables[$key]} + local path_library_shared=${variables[${key}]} bootstrap_id "path_library_static" - local path_library_static=${variables[$key]} + local path_library_static=${variables[${key}]} bootstrap_id "path_object_script" - local path_object_script=${variables[$key]} + local path_object_script=${variables[${key}]} bootstrap_id "path_object_shared" - local path_object_shared=${variables[$key]} + local path_object_shared=${variables[${key}]} bootstrap_id "path_object_static" - local path_object_static=${variables[$key]} + local path_object_static=${variables[${key}]} bootstrap_id "path_program_script" - local path_program_script=${variables[$key]} + local path_program_script=${variables[${key}]} bootstrap_id "path_program_shared" - local path_program_shared=${variables[$key]} + local path_program_shared=${variables[${key}]} bootstrap_id "path_program_static" - local path_program_static=${variables[$key]} + local path_program_static=${variables[${key}]} bootstrap_id "has_path_standard" - local has_path_standard=${variables[$key]} + local has_path_standard=${variables[${key}]} bootstrap_id "search_exclusive" - local search_exclusive=${variables[$key]} + local search_exclusive=${variables[${key}]} bootstrap_id "search_shared" - local search_shared=${variables[$key]} + local search_shared=${variables[${key}]} bootstrap_id "search_static" - local search_static=${variables[$key]} + local search_static=${variables[${key}]} bootstrap_id "build_sources_documentation" - local sources_documentation=${variables[$key]} + local sources_documentation=${variables[${key}]} bootstrap_id "build_sources_headers" - local sources_headers=${variables[$key]} + local sources_headers=${variables[${key}]} bootstrap_id "build_sources_library" - local sources_library=${variables[$key]} + local sources_library=${variables[${key}]} bootstrap_id "build_sources_library_shared" - local sources_library_shared=${variables[$key]} + local sources_library_shared=${variables[${key}]} bootstrap_id "build_sources_library_static" - local sources_library_static=${variables[$key]} + local sources_library_static=${variables[${key}]} bootstrap_id "build_sources_object" - local sources_object=${variables[$key]} + local sources_object=${variables[${key}]} bootstrap_id "build_sources_object_shared" - local sources_object_shared=${variables[$key]} + local sources_object_shared=${variables[${key}]} bootstrap_id "build_sources_object_static" - local sources_object_static=${variables[$key]} + local sources_object_static=${variables[${key}]} bootstrap_id "build_sources_program" - local sources_program=${variables[$key]} + local sources_program=${variables[${key}]} bootstrap_id "build_sources_program_shared" - local sources_program_shared=${variables[$key]} + local sources_program_shared=${variables[${key}]} bootstrap_id "build_sources_program_static" - local sources_program_static=${variables[$key]} + local sources_program_static=${variables[${key}]} bootstrap_id "build_sources_script" - local sources_script=${variables[$key]} + local sources_script=${variables[${key}]} bootstrap_id "build_sources_setting" - local sources_setting=${variables[$key]} + local sources_setting=${variables[${key}]} bootstrap_id "version_file" - local version_file_value=${variables[$key]} + local version_file_value=${variables[${key}]} bootstrap_id "version_major" - local version_major=${variables[$key]} + local version_major=${variables[${key}]} bootstrap_id "version_major_prefix" - local version_major_prefix=${variables[$key]} + local version_major_prefix=${variables[${key}]} bootstrap_id "version_minor" - local version_minor=${variables[$key]} + local version_minor=${variables[${key}]} bootstrap_id "version_minor_prefix" - local version_minor_prefix=${variables[$key]} + local version_minor_prefix=${variables[${key}]} bootstrap_id "version_micro" - local version_micro=${variables[$key]} + local version_micro=${variables[${key}]} bootstrap_id "version_micro_prefix" - local version_micro_prefix=${variables[$key]} + local version_micro_prefix=${variables[${key}]} bootstrap_id "version_nano" - local version_nano=${variables[$key]} + local version_nano=${variables[${key}]} bootstrap_id "version_nano_prefix" - local version_nano_prefix=${variables[$key]} + local version_nano_prefix=${variables[${key}]} bootstrap_id "version_target" - local version_target_value=${variables[$key]} + local version_target_value=${variables[${key}]} local links= local sources= @@ -1363,8 +1364,8 @@ bootstrap_operation_build() { bootstrap_operation_build_prepare_remaining - if [[ $build_shared == "yes" && -f ${project_built_shared}.built || $build_static == "yes" && -f ${project_built_static}.built ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${build_shared} == "yes" && -f ${project_built_shared}.built || ${build_static} == "yes" && -f ${project_built_static}.built ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: This project has already been built.${c_reset}" fi @@ -1375,10 +1376,10 @@ bootstrap_operation_build() { local arguments_shared="-L${path_build}libraries/${path_library_shared}" local arguments_static="-L${path_build}libraries/${path_library_static}" - if [[ $path_work != "" ]] ; then - arguments_include="$arguments_include -I${path_work}includes/" - arguments_shared="$arguments_shared -L${path_work}libraries/${path_library_shared}" - arguments_static="$arguments_static -L${path_work}libraries/${path_library_static}" + if [[ ${path_work} != "" ]] ; then + arguments_include="${arguments_include} -I${path_work}includes/" + arguments_shared="${arguments_shared} -L${path_work}libraries/${path_library_shared}" + arguments_static="${arguments_static} -L${path_work}libraries/${path_library_static}" fi bootstrap_operation_build_validate_paths @@ -1391,250 +1392,250 @@ bootstrap_operation_build() { bootstrap_operation_build_validate_build - if [[ $failure != "" ]] ; then + if [[ ${failure} != "" ]] ; then return 1 fi - if [[ $sources_documentation != "" ]] ; then - for i in $sources_documentation ; do - directory=$(dirname $i) + if [[ ${sources_documentation} != "" ]] ; then + for i in ${sources_documentation} ; do + directory=$(dirname ${i}) - if [[ $directory == "." ]] ; then - cp $verbose_common -R ${path_documentation}${i} ${path_build}documentation/ || failure=1 + if [[ ${directory} == "." ]] ; then + cp ${verbose_common} -R ${path_documentation}${i} ${path_build}documentation/ || failure=1 else - mkdir $verbose_common -p ${path_build}documentation/${directory} || failure=1 + mkdir ${verbose_common} -p ${path_build}documentation/${directory} || failure=1 - if [[ $failure == "" ]] ; then - cp $verbose_common -R ${path_documentation}${i} ${path_build}documentation/${directory}/ || failure=1 + if [[ ${failure} == "" ]] ; then + cp ${verbose_common} -R ${path_documentation}${i} ${path_build}documentation/${directory}/ || failure=1 fi fi done fi - if [[ $sources_setting != "" ]] ; then - for i in $sources_setting ; do - directory=$(dirname $i) + if [[ ${sources_setting} != "" ]] ; then + for i in ${sources_setting} ; do + directory=$(dirname ${i}) - if [[ $directory == "." ]] ; then - cp $verbose_common -R ${path_settings}${i} ${path_build}settings/ || failure=1 + if [[ ${directory} == "." ]] ; then + cp ${verbose_common} -R ${path_settings}${i} ${path_build}settings/ || failure=1 else - mkdir $verbose_common -p ${path_build}settings/${directory} || failure=1 + mkdir ${verbose_common} -p ${path_build}settings/${directory} || failure=1 - if [[ $failure == "" ]] ; then - cp $verbose_common -R ${path_settings}${i} ${path_build}settings/${directory}/ || failure=1 + if [[ ${failure} == "" ]] ; then + cp ${verbose_common} -R ${path_settings}${i} ${path_build}settings/${directory}/ || failure=1 fi fi done fi - if [[ $failure == "" && $sources_headers != "" ]] ; then - if [[ $preserve_path_headers == "yes" ]] ; then - for i in $sources_headers ; do - directory=$(dirname $i) + if [[ ${failure} == "" && ${sources_headers} != "" ]] ; then + if [[ ${preserve_path_headers} == "yes" ]] ; then + for i in ${sources_headers} ; do + directory=$(dirname ${i}) - if [[ $directory == "." ]] ; then - cp $verbose_common -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers} || failure=1 + if [[ ${directory} == "." ]] ; then + cp ${verbose_common} -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers} || failure=1 else if [[ ! -d ${path_build}includes/${path_headers}${directory} ]] ; then - mkdir $verbose_common -p ${path_build}includes/${path_headers}${directory} || failure=1 + mkdir ${verbose_common} -p ${path_build}includes/${path_headers}${directory} || failure=1 fi - if [[ $failure == "" ]] ; then - cp $verbose_common -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers}${i} || failure=1 + if [[ ${failure} == "" ]] ; then + cp ${verbose_common} -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers}${i} || failure=1 fi fi done else - for i in $sources_headers ; do - cp $verbose_common -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers} || failure=1 + for i in ${sources_headers} ; do + cp ${verbose_common} -f ${path_sources}${path_language}${i} ${path_build}includes/${path_headers} || failure=1 done fi fi - if [[ $failure == "" && $build_shared == "yes" && ! -f ${project_built_shared}.built ]] ; then - if [[ $sources_object != "" || $sources_object_shared != "" ]] ; then + if [[ ${failure} == "" && ${build_shared} == "yes" && ! -f ${project_built_shared}.built ]] ; then + if [[ ${sources_object} != "" || ${sources_object_shared} != "" ]] ; then sources= let count=0 # Sources object only allows for a single value. - if [[ $sources_object_shared != "" ]] ; then - for i in $sources_object_shared ; do + if [[ ${sources_object_shared} != "" ]] ; then + for i in ${sources_object_shared} ; do let count++ done - if [[ $count -gt 1 ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${count} -gt 1 ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Multiple '${c_notice}sources_object_shared${c_warning}' found, only using the first one found is going to be used.${c_reset}" fi fi - for i in $sources_object_shared ; do + for i in ${sources_object_shared} ; do sources="${path_sources_object}${path_language}${i} " break done else - for i in $sources_object ; do + for i in ${sources_object} ; do let count++ done - if [[ $count -gt 1 ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${count} -gt 1 ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Multiple '${c_notice}sources_object${c_warning}' found, only using the first one found is going to be used.${c_reset}" fi fi - for i in $sources_object ; do + for i in ${sources_object} ; do sources="${path_sources_object}${path_language}${i} " break done fi - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler $sources -c -o ${path_build}objects/${path_object_shared}${build_name}.o $arguments_shared $arguments_include $libraries $libraries_shared $flags $flags_shared $flags_object $flags_object_shared $defines $defines_shared $defines_object $defines_object_shared $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${sources} -c -o ${path_build}objects/${path_object_shared}${build_name}.o ${arguments_shared} ${arguments_include} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_object} ${flags_object_shared} ${defines} ${defines_shared} ${defines_object} ${defines_object_shared} ${define_extra} fi - $build_compiler $sources -c -o ${path_build}objects/${path_object_shared}${build_name}.o $arguments_shared $arguments_include $libraries $libraries_shared $flags $flags_shared $flags_object $flags_object_shared $defines $defines_shared $defines_object $defines_object_shared $define_extra || failure=1 + ${build_compiler} ${sources} -c -o ${path_build}objects/${path_object_shared}${build_name}.o ${arguments_shared} ${arguments_include} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_object} ${flags_object_shared} ${defines} ${defines_shared} ${defines_object} ${defines_object_shared} ${define_extra} || failure=1 fi - if [[ $sources_library != "" || $sources_library_shared != "" ]] ; then + if [[ ${sources_library} != "" || ${sources_library_shared} != "" ]] ; then sources= - if [[ $objects_library != "" || $objects_library_shared != "" ]] ; then - for i in $objects_library $objects_library_shared ; do + if [[ ${objects_library} != "" || ${objects_library_shared} != "" ]] ; then + for i in ${objects_library} ${objects_library_shared} ; do sources="${sources}${path_build}objects/${path_object_shared}${i} " done fi - for i in $sources_library $sources_library_shared ; do + for i in ${sources_library} ${sources_library_shared} ; do sources="${sources}${path_sources}${path_language}${i} " done - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler $sources -shared -Wl,-soname,lib${build_name}.so${version_target} -o ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_file} $arguments_shared $arguments_include $libraries $libraries_shared $flags $flags_shared $flags_library $flags_library_shared $defines $defines_shared $defines_library $defines_library_shared $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${sources} -shared -Wl,-soname,lib${build_name}.so${version_target} -o ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_file} ${arguments_shared} ${arguments_include} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_library} ${flags_library_shared} ${defines} ${defines_shared} ${defines_library} ${defines_library_shared} ${define_extra} fi - $build_compiler $sources -shared -Wl,-soname,lib${build_name}.so${version_target} -o ${path_build}libraries/${path_library_shared}lib${build_name}.so$version_file $arguments_shared $arguments_include $libraries $libraries_shared $flags $flags_shared $flags_library $flags_library_shared $defines $defines_shared $defines_library $defines_library_shared $define_extra || failure=1 + ${build_compiler} ${sources} -shared -Wl,-soname,lib${build_name}.so${version_target} -o ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_file} ${arguments_shared} ${arguments_include} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_library} ${flags_library_shared} ${defines} ${defines_shared} ${defines_library} ${defines_library_shared} ${define_extra} || failure=1 - if [[ $failure == "" ]] ; then - if [[ $version_file_value != "major" ]] ; then - if [[ $version_file_value == "minor" ]] ; then - ln $verbose_common -sf lib${build_name}.so${version_file} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major} || failure=1 + if [[ ${failure} == "" ]] ; then + if [[ ${version_file_value} != "major" ]] ; then + if [[ ${version_file_value} == "minor" ]] ; then + ln ${verbose_common} -sf lib${build_name}.so${version_file} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major} || failure=1 else - ln $verbose_common -sf lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major} || failure=1 + ln ${verbose_common} -sf lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major} || failure=1 - if [[ $failure == "" ]] ; then - if [[ $version_file_value == "micro" ]] ; then - ln $verbose_common -sf lib$build_name.so$version_file ${path_build}libraries/${path_library_shared}lib$build_name.so$version_major_prefix$version_major$version_minor_prefix$version_minor || failure=1 + if [[ ${failure} == "" ]] ; then + if [[ ${version_file_value} == "micro" ]] ; then + ln ${verbose_common} -sf lib${build_name}.so${version_file} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor} || failure=1 else - ln $verbose_common -sf lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor} || failure=1 + ln ${verbose_common} -sf lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor} || failure=1 - if [[ $failure == "" ]] ; then - ln $verbose_common -sf lib${build_name}.so${version_file} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro} || failure=1 + if [[ ${failure} == "" ]] ; then + ln ${verbose_common} -sf lib${build_name}.so${version_file} ${path_build}libraries/${path_library_shared}lib${build_name}.so${version_major_prefix}${version_major}${version_minor_prefix}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro} || failure=1 fi fi fi fi fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then ln ${verbose_common} -sf lib${build_name}.so${version_major_prefix}${version_major} ${path_build}libraries/${path_library_shared}lib${build_name}.so || failure=1 fi fi fi - if [[ $failure == "" && $sources_program != "" ]] ; then + if [[ ${failure} == "" && ${sources_program} != "" ]] ; then sources= links= - if [[ $sources_library != "" || $sources_library_shared != "" ]] ; then - links="-l$build_name " + if [[ ${sources_library} != "" || ${sources_library_shared} != "" ]] ; then + links="-l${build_name} " fi - if [[ $objects_program != "" || $objects_program_shared != "" ]] ; then - for i in $objects_program $objects_program_shared ; do + if [[ ${objects_program} != "" || ${objects_program_shared} != "" ]] ; then + for i in ${objects_program} ${objects_program_shared} ; do sources="${sources}${path_build}objects/${path_object_shared}${i} " done fi - for i in $sources_program $sources_program_shared ; do + for i in ${sources_program} ${sources_program_shared} ; do sources="${sources}${path_sources}${path_language}${i} " done - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler $sources -o ${path_build}programs/${path_program_shared}${build_name} $arguments_shared $arguments_include $links $libraries $libraries_shared $flags $flags_shared $flags_program $flags_program_shared $defines $defines_shared $defines_program $defines_program_shared $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${sources} -o ${path_build}programs/${path_program_shared}${build_name} ${arguments_shared} ${arguments_include} ${links} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_program} ${flags_program_shared} ${defines} ${defines_shared} ${defines_program} ${defines_program_shared} ${define_extra} fi - $build_compiler $sources -o ${path_build}programs/${path_program_shared}${build_name} $arguments_shared $arguments_include $links $libraries $libraries_shared $flags $flags_shared $flags_program $flags_program_shared $defines $defines_shared $defines_program $defines_program_shared $define_extra || failure=1 + ${build_compiler} ${sources} -o ${path_build}programs/${path_program_shared}${build_name} ${arguments_shared} ${arguments_include} ${links} ${libraries} ${libraries_shared} ${flags} ${flags_shared} ${flags_program} ${flags_program_shared} ${defines} ${defines_shared} ${defines_program} ${defines_program_shared} ${define_extra} || failure=1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then touch ${project_built_shared}-${settings_name}.built fi fi - if [[ $failure == "" && $build_static == "yes" && ! -f ${project_built_static}.built ]] ; then - if [[ $sources_object != "" || $sources_object_static != "" ]] ; then + if [[ ${failure} == "" && ${build_static} == "yes" && ! -f ${project_built_static}.built ]] ; then + if [[ ${sources_object} != "" || ${sources_object_static} != "" ]] ; then let count=0 # Sources object only allows for a single value. - if [[ $sources_object_static != "" ]] ; then - for i in $sources_object_static ; do + if [[ ${sources_object_static} != "" ]] ; then + for i in ${sources_object_static} ; do let count++ done - if [[ $count -gt 1 ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${count} -gt 1 ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Multiple '${c_notice}sources_object_static${c_warning}' found, only using the first one found is going to be used.${c_reset}" fi fi - for i in $sources_object_static ; do + for i in ${sources_object_static} ; do sources="${path_sources_object}${path_language}${i} " break done else - for i in $sources_object ; do + for i in ${sources_object} ; do let count++ done - if [[ $count -gt 1 ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${count} -gt 1 ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then echo -e "${c_warning}WARNING: Multiple '${c_notice}sources_object${c_warning}' found, only using the first one found is going to be used.${c_reset}" fi fi - for i in $sources_object ; do + for i in ${sources_object} ; do sources="${path_sources_object}${path_language}${i} " break done fi - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler $sources -c -o ${path_build}objects/${path_object_static}${build_name}.o $arguments_static $arguments_include $libraries $libraries_static $flags $flags_static $flags_object $flags_object_static $defines $defines_static $defines_object $defines_object_static $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${sources} -c -o ${path_build}objects/${path_object_static}${build_name}.o ${arguments_static} ${arguments_include} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_object} ${flags_object_static} ${defines} ${defines_static} ${defines_object} ${defines_object_static} ${define_extra} fi - $build_compiler $sources -c -o ${path_build}objects/${path_object_static}${build_name}.o $arguments_static $arguments_include $libraries $libraries_static $flags $flags_static $flags_object $flags_object_static $defines $defines_static $defines_object $defines_object_static $define_extra || failure=1 + ${build_compiler} ${sources} -c -o ${path_build}objects/${path_object_static}${build_name}.o ${arguments_static} ${arguments_include} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_object} ${flags_object_static} ${defines} ${defines_static} ${defines_object} ${defines_object_static} ${define_extra} || failure=1 fi - if [[ $sources_library != "" || $sources_library_static != "" ]] ; then + if [[ ${sources_library} != "" || ${sources_library_static} != "" ]] ; then sources= - if [[ $objects_library != "" || $objects_library_static != "" ]] ; then - for i in $objects_library $objects_library_static ; do + if [[ ${objects_library} != "" || ${objects_library_static} != "" ]] ; then + for i in ${objects_library} ${objects_library_static} ; do sources="${sources}${path_build}objects/${path_object_static}${i} " done fi - for i in $sources_library $sources_library_static ; do - directory=$(dirname $i) - n=$(basename $i | sed -e 's|\.c$||') + for i in ${sources_library} ${sources_library_static} ; do + directory=$(dirname ${i}) + n=$(basename ${i} | sed -e 's|\.c$||') - if [[ $directory != "." && ! -d ${path_build}objects/${directory} ]] ; then - mkdir $verbose_common -p ${path_build}objects/${directory} + if [[ ${directory} != "." && ! -d ${path_build}objects/${directory} ]] ; then + mkdir ${verbose_common} -p ${path_build}objects/${directory} if [[ $? -ne 0 ]] ; then let failure=1 @@ -1644,61 +1645,61 @@ bootstrap_operation_build() { fi # These are objects created by the static build step rather than objects created by the object build step. - sources="${sources}${path_build}objects/$directory/$n.o " + sources="${sources}${path_build}objects/${directory}/${n}.o " - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler ${path_sources}${path_language}${i} -c -static -o ${path_build}objects/${directory}/${n}.o $arguments_static $arguments_include $libraries $libraries_static $flags $flags_static $flags_library $flags_library_static $defines $defines_static $defines_library $defines_library_static $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${path_sources}${path_language}${i} -c -static -o ${path_build}objects/${directory}/${n}.o ${arguments_static} ${arguments_include} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_library} ${flags_library_static} ${defines} ${defines_static} ${defines_library} ${defines_library_static} ${define_extra} fi - $build_compiler ${path_sources}${path_language}${i} -c -static -o ${path_build}objects/${directory}/${n}.o $arguments_static $arguments_include $libraries $libraries_static $flags $flags_static $flags_library $flags_library_static $defines $defines_static $defines_library $defines_library_static $define_extra || failure=1 + ${build_compiler} ${path_sources}${path_language}${i} -c -static -o ${path_build}objects/${directory}/${n}.o ${arguments_static} ${arguments_include} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_library} ${flags_library_static} ${defines} ${defines_static} ${defines_library} ${defines_library_static} ${define_extra} || failure=1 - if [[ $failure != "" ]] ; then + if [[ ${failure} != "" ]] ; then break; fi done - if [[ $failure == "" && ( $sources_library != "" || $sources_library_static != "" ) ]] ; then + if [[ ${failure} == "" && ( ${sources_library} != "" || ${sources_library_static} != "" ) ]] ; then - if [[ $verbosity == "verbose" ]] ; then - echo $build_indexer $build_indexer_arguments ${path_build}libraries/${path_library_static}lib${build_name}.a $sources + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_indexer} ${build_indexer_arguments} ${path_build}libraries/${path_library_static}lib${build_name}.a ${sources} fi - $build_indexer $build_indexer_arguments ${path_build}libraries/${path_library_static}lib${build_name}.a $sources || failure=1 + ${build_indexer} ${build_indexer_arguments} ${path_build}libraries/${path_library_static}lib${build_name}.a ${sources} || failure=1 fi fi - if [[ $failure == "" && $sources_program != "" ]] ; then + if [[ ${failure} == "" && ${sources_program} != "" ]] ; then sources= links= - if [[ $sources_library != "" || $sources_library_static != "" ]] ; then + if [[ ${sources_library} != "" || ${sources_library_static} != "" ]] ; then links="-l${build_name} " fi - if [[ $objects_program != "" || $objects_program_static != "" ]] ; then - for i in $objects_program $objects_program_static ; do + if [[ ${objects_program} != "" || ${objects_program_static} != "" ]] ; then + for i in ${objects_program} ${objects_program_static} ; do sources="${sources}${path_build}objects/${path_object_static}${i} " done fi - for i in $sources_program $sources_program_static ; do + for i in ${sources_program} ${sources_program_static} ; do sources="${sources}${path_sources}${path_language}${i} " done - if [[ $verbosity == "verbose" ]] ; then - echo $build_compiler $sources -static -o ${path_build}programs/${path_program_static}${build_name} $arguments_static $arguments_include $links $libraries $libraries_static $flags $flags_static $flags_program $flags_program_static $defines $defines_static $defines_program $defines_program_static $define_extra + if [[ ${verbosity} == "verbose" ]] ; then + echo ${build_compiler} ${sources} -static -o ${path_build}programs/${path_program_static}${build_name} ${arguments_static} ${arguments_include} ${links} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_program} ${flags_program_static} ${defines} ${defines_static} ${defines_program} ${defines_program_static} ${define_extra} fi - $build_compiler $sources -static -o ${path_build}programs/${path_program_static}${build_name} $arguments_static $arguments_include $links $libraries $libraries_static $flags $flags_static $flags_program $flags_program_static $defines $defines_static $defines_program $defines_program_static $define_extra || failure=1 + ${build_compiler} ${sources} -static -o ${path_build}programs/${path_program_static}${build_name} ${arguments_static} ${arguments_include} ${links} ${libraries} ${libraries_static} ${flags} ${flags_static} ${flags_program} ${flags_program_static} ${defines} ${defines_static} ${defines_program} ${defines_program_static} ${define_extra} || failure=1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then touch ${project_built_static}-${settings_name}.built fi fi - if [[ $failure != "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} != "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Failed to build.${c_reset}" @@ -1709,7 +1710,7 @@ bootstrap_operation_build() { return 1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -1720,181 +1721,181 @@ bootstrap_operation_build_prepare_defaults() { local key= bootstrap_id "has-version_major_prefix-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-version_major_prefix" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then version_major_prefix="." fi fi bootstrap_id "has-version_minor_prefix-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-version_minor_prefix" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then version_minor_prefix="." fi fi bootstrap_id "has-version_micro_prefix-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-version_micro_prefix" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then version_micro_prefix="." fi fi bootstrap_id "has-version_nano_prefix-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-version_nano_prefix" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then version_nano_prefix="." fi fi bootstrap_id "has-build_compiler-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-build_compiler" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then build_compiler="gcc" fi fi bootstrap_id "has-build_indexer-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-build_indexer" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then build_indexer="ar" fi fi bootstrap_id "has-path_library_script-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_library_script" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_library_script="script/" fi fi bootstrap_id "has-path_library_shared-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_library_shared" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_library_shared="shared/" fi fi bootstrap_id "has-path_library_static-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_library_static" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_library_static="static/" fi fi bootstrap_id "has-path_object_script-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_object_script" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_object_script="script/" fi fi bootstrap_id "has-path_object_shared-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_object_shared" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_object_shared="shared/" fi fi bootstrap_id "has-path_object_static-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_object_static" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_object_static="static/" fi fi bootstrap_id "has-path_program_script-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_program_script" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_program_script="script/" fi fi bootstrap_id "has-path_program_shared-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_program_shared" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_program_shared="shared/" fi fi bootstrap_id "has-path_program_static-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_program_static" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_program_static="static/" fi fi bootstrap_id "has-path_sources-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_sources" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_sources="sources/" fi fi bootstrap_id "has-path_sources_object-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-path_sources_object" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then path_sources_object="sources/" fi fi bootstrap_id "has-has_path_standard-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-has_path_standard" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then has_path_standard="yes" fi fi bootstrap_id "has-search_shared-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-search_shared" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then search_shared="yes" fi fi bootstrap_id "has-build_shared-mode" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then bootstrap_id "has-build_shared" - if [[ ${variables[$key]} != "yes" ]] ; then + if [[ ${variables[${key}]} != "yes" ]] ; then build_shared="yes" fi fi @@ -1904,108 +1905,108 @@ bootstrap_operation_build_prepare_defines() { local key= bootstrap_id "defines-mode" - if [[ $defines == "" ]] ; then - defines=${variables[$key]} + if [[ ${defines} == "" ]] ; then + defines=${variables[${key}]} else - defines="$defines ${variables[$key]}" + defines="${defines} ${variables[${key}]}" fi bootstrap_id "defines_library-mode" - if [[ $defines_library == "" ]] ; then - defines_library=${variables[$key]} + if [[ ${defines_library} == "" ]] ; then + defines_library=${variables[${key}]} else - defines_library="$defines_library ${variables[$key]}" + defines_library="${defines_library} ${variables[${key}]}" fi bootstrap_id "defines_library_shared-mode" - if [[ $defines_library_shared == "" ]] ; then - defines_library_shared=${variables[$key]} + if [[ ${defines_library_shared} == "" ]] ; then + defines_library_shared=${variables[${key}]} else - defines_library_shared="$defines_library_shared ${variables[$key]}" + defines_library_shared="${defines_library_shared} ${variables[${key}]}" fi bootstrap_id "defines_library_static-mode" - if [[ $defines_library_static == "" ]] ; then - defines_library_static=${variables[$key]} + if [[ ${defines_library_static} == "" ]] ; then + defines_library_static=${variables[${key}]} else - defines_library_static="$defines_library_static ${variables[$key]}" + defines_library_static="${defines_library_static} ${variables[${key}]}" fi bootstrap_id "defines_object_library-mode" - if [[ $defines_object_library == "" ]] ; then - defines_object_library=${variables[$key]} + if [[ ${defines_object_library} == "" ]] ; then + defines_object_library=${variables[${key}]} else - defines_object_library="$defines_object_library ${variables[$key]}" + defines_object_library="${defines_object_library} ${variables[${key}]}" fi bootstrap_id "defines_object_library_shared-mode" - if [[ $defines_object_library_shared == "" ]] ; then - defines_object_library_shared=${variables[$key]} + if [[ ${defines_object_library_shared} == "" ]] ; then + defines_object_library_shared=${variables[${key}]} else - defines_object_library_shared="$defines_object_library_shared ${variables[$key]}" + defines_object_library_shared="${defines_object_library_shared} ${variables[${key}]}" fi bootstrap_id "defines_object_library_static-mode" - if [[ $defines_object_library_static == "" ]] ; then - defines_object_library_static=${variables[$key]} + if [[ ${defines_object_library_static} == "" ]] ; then + defines_object_library_static=${variables[${key}]} else - defines_object_library_static="$defines_object_library_static ${variables[$key]}" + defines_object_library_static="${defines_object_library_static} ${variables[${key}]}" fi bootstrap_id "defines_object_program-mode" - if [[ $defines_object_program == "" ]] ; then - defines_object_program=${variables[$key]} + if [[ ${defines_object_program} == "" ]] ; then + defines_object_program=${variables[${key}]} else - defines_object_program="$defines_object_program ${variables[$key]}" + defines_object_program="${defines_object_program} ${variables[${key}]}" fi bootstrap_id "defines_object_program_shared-mode" - if [[ $defines_object_program_shared == "" ]] ; then - defines_object_program_shared=${variables[$key]} + if [[ ${defines_object_program_shared} == "" ]] ; then + defines_object_program_shared=${variables[${key}]} else - defines_object_program_shared="$defines_object_program_shared ${variables[$key]}" + defines_object_program_shared="${defines_object_program_shared} ${variables[${key}]}" fi bootstrap_id "defines_object_program_static-mode" - if [[ $defines_object_program_static == "" ]] ; then - defines_object_program_static=${variables[$key]} + if [[ ${defines_object_program_static} == "" ]] ; then + defines_object_program_static=${variables[${key}]} else - defines_object_program_static="$defines_object_program_static ${variables[$key]}" + defines_object_program_static="${defines_object_program_static} ${variables[${key}]}" fi bootstrap_id "defines_program-mode" - if [[ $defines_program == "" ]] ; then - defines_program=${variables[$key]} + if [[ ${defines_program} == "" ]] ; then + defines_program=${variables[${key}]} else - defines_program="$defines_program ${variables[$key]}" + defines_program="${defines_program} ${variables[${key}]}" fi bootstrap_id "defines_program_shared-mode" - if [[ $defines_program_shared == "" ]] ; then - defines_program_shared=${variables[$key]} + if [[ ${defines_program_shared} == "" ]] ; then + defines_program_shared=${variables[${key}]} else - defines_program_shared="$defines_program_shared ${variables[$key]}" + defines_program_shared="${defines_program_shared} ${variables[${key}]}" fi bootstrap_id "defines_program_static-mode" - if [[ $defines_program_static == "" ]] ; then - defines_program_static=${variables[$key]} + if [[ ${defines_program_static} == "" ]] ; then + defines_program_static=${variables[${key}]} else - defines_program_static="$defines_program_static ${variables[$key]}" + defines_program_static="${defines_program_static} ${variables[${key}]}" fi bootstrap_id "defines_shared-mode" - if [[ $defines_shared == "" ]] ; then - defines_shared=${variables[$key]} + if [[ ${defines_shared} == "" ]] ; then + defines_shared=${variables[${key}]} else - defines_shared="$defines_shared ${variables[$key]}" + defines_shared="${defines_shared} ${variables[${key}]}" fi bootstrap_id "defines_static-mode" - if [[ $defines_static == "" ]] ; then - defines_static=${variables[$key]} + if [[ ${defines_static} == "" ]] ; then + defines_static=${variables[${key}]} else - defines_static="$defines_static ${variables[$key]}" + defines_static="${defines_static} ${variables[${key}]}" fi } @@ -2013,10 +2014,10 @@ bootstrap_operation_build_prepare_documentation() { local key= bootstrap_id "build_sources_documentation-mode" - if [[ $sources_documentation == "" ]] ; then - sources_documentation=${variables[$key]} + if [[ ${sources_documentation} == "" ]] ; then + sources_documentation=${variables[${key}]} else - sources_documentation="$sources_documentation ${variables[$key]}" + sources_documentation="${sources_documentation} ${variables[${key}]}" fi } @@ -2024,108 +2025,108 @@ bootstrap_operation_build_prepare_flags() { local key= bootstrap_id "flags-mode" - if [[ $flags == "" ]] ; then - flags=${variables[$key]} + if [[ ${flags} == "" ]] ; then + flags=${variables[${key}]} else - flags="$flags ${variables[$key]}" + flags="${flags} ${variables[${key}]}" fi bootstrap_id "flags_library-mode" - if [[ $flags_library == "" ]] ; then - flags_library=${variables[$key]} + if [[ ${flags_library} == "" ]] ; then + flags_library=${variables[${key}]} else - flags_library="$flags_library ${variables[$key]}" + flags_library="${flags_library} ${variables[${key}]}" fi bootstrap_id "flags_library_shared-mode" - if [[ $flags_library_shared == "" ]] ; then - flags_library_shared=${variables[$key]} + if [[ ${flags_library_shared} == "" ]] ; then + flags_library_shared=${variables[${key}]} else - flags_library_shared="$flags_library_shared ${variables[$key]}" + flags_library_shared="${flags_library_shared} ${variables[${key}]}" fi bootstrap_id "flags_library_static-mode" - if [[ $flags_library_static == "" ]] ; then - flags_library_static=${variables[$key]} + if [[ ${flags_library_static} == "" ]] ; then + flags_library_static=${variables[${key}]} else - flags_library_static="$flags_library_static ${variables[$key]}" + flags_library_static="${flags_library_static} ${variables[${key}]}" fi bootstrap_id "flags_object_library-mode" - if [[ $flags_object_library == "" ]] ; then - flags_object_library=${variables[$key]} + if [[ ${flags_object_library} == "" ]] ; then + flags_object_library=${variables[${key}]} else - flags_object_library="$flags_object_library ${variables[$key]}" + flags_object_library="${flags_object_library} ${variables[${key}]}" fi bootstrap_id "flags_object_library_shared-mode" - if [[ $flags_object_library_shared == "" ]] ; then - flags_object_library_shared=${variables[$key]} + if [[ ${flags_object_library_shared} == "" ]] ; then + flags_object_library_shared=${variables[${key}]} else - flags_object_library_shared="$flags_object_library_shared ${variables[$key]}" + flags_object_library_shared="${flags_object_library_shared} ${variables[${key}]}" fi bootstrap_id "flags_object_library_static-mode" - if [[ $flags_object_library_static == "" ]] ; then - flags_object_library_static=${variables[$key]} + if [[ ${flags_object_library_static} == "" ]] ; then + flags_object_library_static=${variables[${key}]} else - flags_object_library_static="$flags_object_library_static ${variables[$key]}" + flags_object_library_static="${flags_object_library_static} ${variables[${key}]}" fi bootstrap_id "flags_object_program-mode" - if [[ $flags_object_program == "" ]] ; then - flags_object_program=${variables[$key]} + if [[ ${flags_object_program} == "" ]] ; then + flags_object_program=${variables[${key}]} else - flags_object_program="$flags_object_program ${variables[$key]}" + flags_object_program="${flags_object_program} ${variables[${key}]}" fi bootstrap_id "flags_object_program_shared-mode" - if [[ $flags_object_program_shared == "" ]] ; then - flags_object_program_shared=${variables[$key]} + if [[ ${flags_object_program_shared} == "" ]] ; then + flags_object_program_shared=${variables[${key}]} else - flags_object_program_shared="$flags_object_program_shared ${variables[$key]}" + flags_object_program_shared="${flags_object_program_shared} ${variables[${key}]}" fi bootstrap_id "flags_object_program_static-mode" - if [[ $flags_object_program_static == "" ]] ; then - flags_object_program_static=${variables[$key]} + if [[ ${flags_object_program_static} == "" ]] ; then + flags_object_program_static=${variables[${key}]} else - flags_object_program_static="$flags_object_program_static ${variables[$key]}" + flags_object_program_static="${flags_object_program_static} ${variables[${key}]}" fi bootstrap_id "flags_program-mode" - if [[ $flags_program == "" ]] ; then - flags_program=${variables[$key]} + if [[ ${flags_program} == "" ]] ; then + flags_program=${variables[${key}]} else - flags_program="$flags_program ${variables[$key]}" + flags_program="${flags_program} ${variables[${key}]}" fi bootstrap_id "flags_program_shared-mode" - if [[ $flags_program_shared == "" ]] ; then - flags_program_shared=${variables[$key]} + if [[ ${flags_program_shared} == "" ]] ; then + flags_program_shared=${variables[${key}]} else - flags_program_shared="$flags_program_shared ${variables[$key]}" + flags_program_shared="${flags_program_shared} ${variables[${key}]}" fi bootstrap_id "flags_program_static-mode" - if [[ $flags_program_static == "" ]] ; then - flags_program_static=${variables[$key]} + if [[ ${flags_program_static} == "" ]] ; then + flags_program_static=${variables[${key}]} else - flags_program_static="$flags_program_static ${variables[$key]}" + flags_program_static="${flags_program_static} ${variables[${key}]}" fi bootstrap_id "flags_shared-mode" - if [[ $flags_shared == "" ]] ; then - flags_shared=${variables[$key]} + if [[ ${flags_shared} == "" ]] ; then + flags_shared=${variables[${key}]} else - flags_shared="$flags_shared ${variables[$key]}" + flags_shared="${flags_shared} ${variables[${key}]}" fi bootstrap_id "flags_static-mode" - if [[ $flags_static == "" ]] ; then - flags_static=${variables[$key]} + if [[ ${flags_static} == "" ]] ; then + flags_static=${variables[${key}]} else - flags_static="$flags_static ${variables[$key]}" + flags_static="${flags_static} ${variables[${key}]}" fi } @@ -2133,56 +2134,56 @@ bootstrap_operation_build_prepare_headers() { local key= bootstrap_id "build_sources_headers-mode" - if [[ $sources_headers == "" ]] ; then - sources_headers=${variables[$key]} + if [[ ${sources_headers} == "" ]] ; then + sources_headers=${variables[${key}]} else - sources_headers="$sources_headers ${variables[$key]}" + sources_headers="${sources_headers} ${variables[${key}]}" fi - if [[ $build_shared == "yes" ]] ; then + if [[ ${build_shared} == "yes" ]] ; then bootstrap_id "build_sources_headers_shared" - if [[ $sources_headers == "" ]] ; then - sources_headers=${variables[$key]} + if [[ ${sources_headers} == "" ]] ; then + sources_headers=${variables[${key}]} else - sources_headers="$sources_headers ${variables[$key]}" + sources_headers="${sources_headers} ${variables[${key}]}" fi bootstrap_id "build_sources_headers_static" - if [[ $sources_headers == "" ]] ; then - sources_headers=${variables[$key]} + if [[ ${sources_headers} == "" ]] ; then + sources_headers=${variables[${key}]} else - sources_headers="$sources_headers ${variables[$key]}" + sources_headers="${sources_headers} ${variables[${key}]}" fi fi - if [[ $build_static == "yes" ]] ; then + if [[ ${build_static} == "yes" ]] ; then bootstrap_id "build_sources_headers_shared-mode" - if [[ $sources_headers == "" ]] ; then - sources_headers=${variables[$key]} + if [[ ${sources_headers} == "" ]] ; then + sources_headers=${variables[${key}]} else - sources_headers="$sources_headers ${variables[$key]}" + sources_headers="${sources_headers} ${variables[${key}]}" fi bootstrap_id "build_sources_headers_static-mode" - if [[ $sources_headers == "" ]] ; then - sources_headers=${variables[$key]} + if [[ ${sources_headers} == "" ]] ; then + sources_headers=${variables[${key}]} else - sources_headers="$sources_headers ${variables[$key]}" + sources_headers="${sources_headers} ${variables[${key}]}" fi fi bootstrap_id "path_headers-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_headers=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_headers=${variables[${key}]} else bootstrap_id "path_headers" - if [[ ${variables[$key]} != "" ]] ; then - path_headers=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_headers=${variables[${key}]} fi fi - if [[ $path_headers != "" ]] ; then - path_headers=$(echo $path_headers | sed -e 's|/*$|/|') + if [[ ${path_headers} != "" ]] ; then + path_headers=$(echo ${path_headers} | sed -e 's|/*$|/|') fi } @@ -2190,45 +2191,45 @@ bootstrap_operation_build_prepare_libraries() { local key= bootstrap_id "build_libraries-mode" - if [[ $libraries == "" ]] ; then - libraries=${variables[$key]} + if [[ ${libraries} == "" ]] ; then + libraries=${variables[${key}]} else - libraries="${variables[$key]} $libraries" + libraries="${variables[${key}]} ${libraries}" fi bootstrap_id "build_libraries_shared-mode" - if [[ $libraries_shared == "" ]] ; then - libraries_shared=${variables[$key]} + if [[ ${libraries_shared} == "" ]] ; then + libraries_shared=${variables[${key}]} else - libraries_shared="${variables[$key]} $libraries_shared" + libraries_shared="${variables[${key}]} ${libraries_shared}" fi bootstrap_id "build_libraries_static-mode" - if [[ $libraries_static == "" ]] ; then - libraries_static=${variables[$key]} + if [[ ${libraries_static} == "" ]] ; then + libraries_static=${variables[${key}]} else - libraries_static="${variables[$key]} $libraries_static" + libraries_static="${variables[${key}]} ${libraries_static}" fi bootstrap_id "build_sources_library-mode" - if [[ $sources_library == "" ]] ; then - sources_library=${variables[$key]} + if [[ ${sources_library} == "" ]] ; then + sources_library=${variables[${key}]} else - sources_library="$sources_library ${variables[$key]}" + sources_library="${sources_library} ${variables[${key}]}" fi bootstrap_id "build_sources_library_shared-mode" - if [[ $sources_library_shared == "" ]] ; then - sources_library_shared=${variables[$key]} + if [[ ${sources_library_shared} == "" ]] ; then + sources_library_shared=${variables[${key}]} else - sources_library_shared="$build_sources_library_shared ${variables[$key]}" + sources_library_shared="${build_sources_library_shared} ${variables[${key}]}" fi bootstrap_id "build_sources_library_static-mode" - if [[ $sources_library_static == "" ]] ; then - sources_library_static=${variables[$key]} + if [[ ${sources_library_static} == "" ]] ; then + sources_library_static=${variables[${key}]} else - sources_library_static="$build_sources_library_static ${variables[$key]}" + sources_library_static="${build_sources_library_static} ${variables[${key}]}" fi } @@ -2236,287 +2237,287 @@ bootstrap_operation_build_prepare_objects() { local key= bootstrap_id "build_objects_library-mode" - if [[ $objects_library == "" ]] ; then - objects_library=${variables[$key]} + if [[ ${objects_library} == "" ]] ; then + objects_library=${variables[${key}]} else - objects_library="${variables[$key]} $objects_library" + objects_library="${variables[${key}]} ${objects_library}" fi bootstrap_id "build_objects_library_shared-mode" - if [[ $objects_library_shared == "" ]] ; then - objects_library_shared=${variables[$key]} + if [[ ${objects_library_shared} == "" ]] ; then + objects_library_shared=${variables[${key}]} else - objects_library_shared="${variables[$key]} $objects_library_shared" + objects_library_shared="${variables[${key}]} ${objects_library_shared}" fi bootstrap_id "build_objects_library_static-mode" - if [[ $objects_library_static == "" ]] ; then - objects_library_static=${variables[$key]} + if [[ ${objects_library_static} == "" ]] ; then + objects_library_static=${variables[${key}]} else - objects_library_static="${variables[$key]} $objects_library_static" + objects_library_static="${variables[${key}]} ${objects_library_static}" fi bootstrap_id "build_objects_program-mode" - if [[ $objects_program == "" ]] ; then - objects_program=${variables[$key]} + if [[ ${objects_program} == "" ]] ; then + objects_program=${variables[${key}]} else - objects_program="${variables[$key]} $objects_program" + objects_program="${variables[${key}]} ${objects_program}" fi bootstrap_id "build_objects_program_shared-mode" - if [[ $objects_program_shared == "" ]] ; then - objects_program_shared=${variables[$key]} + if [[ ${objects_program_shared} == "" ]] ; then + objects_program_shared=${variables[${key}]} else - objects_program_shared="${variables[$key]} $objects_program_shared" + objects_program_shared="${variables[${key}]} ${objects_program_shared}" fi bootstrap_id "build_objects_program_static-mode" - if [[ $objects_program_static == "" ]] ; then - objects_program_static=${variables[$key]} + if [[ ${objects_program_static} == "" ]] ; then + objects_program_static=${variables[${key}]} else - objects_program_static="${variables[$key]} $objects_program_static" + objects_program_static="${variables[${key}]} ${objects_program_static}" fi - if [[ $sources_object == "" ]] ; then + if [[ ${sources_object} == "" ]] ; then bootstrap_id "build_sources_object-mode" - sources_object=${variables[$key]} + sources_object=${variables[${key}]} fi - if [[ $sources_object_shared == "" ]] ; then + if [[ ${sources_object_shared} == "" ]] ; then bootstrap_id "build_sources_object_shared-mode" - sources_object_shared=${variables[$key]} + sources_object_shared=${variables[${key}]} fi - if [[ $sources_object_static == "" ]] ; then + if [[ ${sources_object_static} == "" ]] ; then bootstrap_id "build_sources_object_static-mode" - sources_object_static=${variables[$key]} + sources_object_static=${variables[${key}]} fi } bootstrap_operation_build_prepare_paths() { local key= - if [[ $override_path_sources == "" ]] ; then + if [[ ${override_path_sources} == "" ]] ; then bootstrap_id "path_sources-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_sources=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_sources=${variables[${key}]} else bootstrap_id "path_sources" - if [[ ${variables[$key]} != "" ]] ; then - path_sources=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_sources=${variables[${key}]} fi fi fi - if [[ $path_sources != "" ]] ; then - path_sources=$(echo $path_sources | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_sources} != "" ]] ; then + path_sources=$(echo ${path_sources} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_sources_object-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_sources_object=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_sources_object=${variables[${key}]} else bootstrap_id "path_sources_object" - if [[ ${variables[$key]} != "" ]] ; then - path_sources_object=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_sources_object=${variables[${key}]} fi fi - if [[ $path_sources_object != "" ]] ; then - path_sources_object=$(echo $path_sources_object | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_sources_object} != "" ]] ; then + path_sources_object=$(echo ${path_sources_object} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_headers-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_headers=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_headers=${variables[${key}]} fi - if [[ $path_headers != "" ]] ; then - path_headers=$(echo $path_headers | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_headers} != "" ]] ; then + path_headers=$(echo ${path_headers} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "has_path_standard-mode" - if [[ ${variables[$key]} != "" ]] ; then - has_path_standard=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + has_path_standard=${variables[${key}]} fi - if [[ $has_path_standard == "no" ]] ; then + if [[ ${has_path_standard} == "no" ]] ; then path_language= else bootstrap_id "path_language-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_language=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_language=${variables[${key}]} else bootstrap_id "path_language" - if [[ ${variables[$key]} != "" ]] ; then - path_language=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_language=${variables[${key}]} fi fi - if [[ $path_language != "" ]] ; then - path_language=$(echo $path_language | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_language} != "" ]] ; then + path_language=$(echo ${path_language} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi fi bootstrap_id "path_object_library-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_library=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_library=${variables[${key}]} fi - if [[ $path_object_library != "" ]] ; then - path_object_library=$(echo $path_object_library | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_library} != "" ]] ; then + path_object_library=$(echo ${path_object_library} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_program-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_program=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_program=${variables[${key}]} fi - if [[ $path_object_program != "" ]] ; then - path_object_program=$(echo $path_object_program | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_program} != "" ]] ; then + path_object_program=$(echo ${path_object_program} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_library_script-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_library_script=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_library_script=${variables[${key}]} fi - if [[ $path_library_script != "" ]] ; then - path_library_script=$(echo $path_library_script | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_library_script} != "" ]] ; then + path_library_script=$(echo ${path_library_script} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_library_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_library_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_library_shared=${variables[${key}]} fi - if [[ $path_library_shared != "" ]] ; then - path_library_shared=$(echo $path_library_shared | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_library_shared} != "" ]] ; then + path_library_shared=$(echo ${path_library_shared} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_library_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_library_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_library_static=${variables[${key}]} fi - if [[ $path_library_static != "" ]] ; then - path_library_static=$(echo $path_library_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_library_static} != "" ]] ; then + path_library_static=$(echo ${path_library_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_library_script-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_library_script=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_library_script=${variables[${key}]} fi - if [[ $path_object_library_script != "" ]] ; then - path_object_library_script=$(echo $path_object_library_script | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_library_script} != "" ]] ; then + path_object_library_script=$(echo ${path_object_library_script} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_library_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_library_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_library_shared=${variables[${key}]} fi - if [[ $path_object_library_shared != "" ]] ; then - path_object_library_shared=$(echo $path_object_library_shared | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_library_shared} != "" ]] ; then + path_object_library_shared=$(echo ${path_object_library_shared} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_library_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_library_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_library_static=${variables[${key}]} fi - if [[ $path_object_library_static != "" ]] ; then - path_object_library_static=$(echo $path_object_library_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_library_static} != "" ]] ; then + path_object_library_static=$(echo ${path_object_library_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_program_script-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_program_script=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_program_script=${variables[${key}]} fi - if [[ $path_object_program_script != "" ]] ; then - path_object_program_script=$(echo $path_object_program_script | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_program_script} != "" ]] ; then + path_object_program_script=$(echo ${path_object_program_script} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_program_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_program_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_program_shared=${variables[${key}]} fi - if [[ $path_object_program_shared != "" ]] ; then - path_object_program_shared=$(echo $path_object_program_shared | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_program_shared} != "" ]] ; then + path_object_program_shared=$(echo ${path_object_program_shared} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_program_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_program_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_program_static=${variables[${key}]} fi - if [[ $path_object_program_static != "" ]] ; then - path_object_program_static=$(echo $path_object_program_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_program_static} != "" ]] ; then + path_object_program_static=$(echo ${path_object_program_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_script-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_script=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_script=${variables[${key}]} fi - if [[ $path_object_script != "" ]] ; then - path_object_script=$(echo $path_object_script | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_script} != "" ]] ; then + path_object_script=$(echo ${path_object_script} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_shared=${variables[${key}]} fi - if [[ $path_object_shared != "" ]] ; then - path_object_shared=$(echo $path_object_shared | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_shared} != "" ]] ; then + path_object_shared=$(echo ${path_object_shared} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_object_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_object_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_object_static=${variables[${key}]} fi - if [[ $path_object_static != "" ]] ; then - path_object_static=$(echo $path_object_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_static} != "" ]] ; then + path_object_static=$(echo ${path_object_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi - if [[ $path_object_static != "" ]] ; then - path_object_static=$(echo $path_object_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_object_static} != "" ]] ; then + path_object_static=$(echo ${path_object_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_program_script-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_program_script=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_program_script=${variables[${key}]} fi - if [[ $path_program_script != "" ]] ; then - path_program_script=$(echo $path_program_script | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_program_script} != "" ]] ; then + path_program_script=$(echo ${path_program_script} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_program_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_program_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_program_shared=${variables[${key}]} fi - if [[ $path_program_shared != "" ]] ; then - path_program_shared=$(echo $path_program_shared | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_program_shared} != "" ]] ; then + path_program_shared=$(echo ${path_program_shared} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi bootstrap_id "path_program_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - path_program_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + path_program_static=${variables[${key}]} fi - if [[ $path_program_static != "" ]] ; then - path_program_static=$(echo $path_program_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_program_static} != "" ]] ; then + path_program_static=$(echo ${path_program_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi - if [[ $path_program_static != "" ]] ; then - path_program_static=$(echo $path_program_static | sed -e 's|//*|/|g' -e 's|/*$|/|') + if [[ ${path_program_static} != "" ]] ; then + path_program_static=$(echo ${path_program_static} | sed -e 's|//*|/|g' -e 's|/*$|/|') fi } @@ -2524,24 +2525,24 @@ bootstrap_operation_build_prepare_programs() { local key= bootstrap_id "build_sources_program-mode" - if [[ $sources_program == "" ]] ; then - sources_program=${variables[$key]} + if [[ ${sources_program} == "" ]] ; then + sources_program=${variables[${key}]} else - sources_program="$sources_program ${variables[$key]}" + sources_program="${sources_program} ${variables[${key}]}" fi bootstrap_id "build_sources_program_shared-mode" - if [[ $sources_program_shared == "" ]] ; then - sources_program_shared=${variables[$key]} + if [[ ${sources_program_shared} == "" ]] ; then + sources_program_shared=${variables[${key}]} else - sources_program_shared="$sources_program_shared ${variables[$key]}" + sources_program_shared="${sources_program_shared} ${variables[${key}]}" fi bootstrap_id "build_sources_program_static-mode" - if [[ $sources_program_static == "" ]] ; then - sources_program_static=${variables[$key]} + if [[ ${sources_program_static} == "" ]] ; then + sources_program_static=${variables[${key}]} else - sources_program_static="$sources_program_static ${variables[$key]}" + sources_program_static="${sources_program_static} ${variables[${key}]}" fi } @@ -2549,165 +2550,165 @@ bootstrap_operation_build_prepare_remaining() { local key= bootstrap_id "has-build_compiler-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "build_compiler-mode" - build_compiler=${variables[$key]} + build_compiler=${variables[${key}]} fi bootstrap_id "has-build_indexer-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "build_indexer-mode" - build_indexer=${variables[$key]} + build_indexer=${variables[${key}]} fi bootstrap_id "has-build_indexer_arguments-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "build_indexer_arguments-mode" - build_indexer_arguments=${variables[$key]} + build_indexer_arguments=${variables[${key}]} fi bootstrap_id "has-build_name-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "build_name-mode" - build_name=${variables[$key]} + build_name=${variables[${key}]} fi bootstrap_id "has-version_major-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_major-mode" - version_major=${variables[$key]} + version_major=${variables[${key}]} fi bootstrap_id "has-version_major_prefix-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_major_prefix-mode" - version_major_prefix=${variables[$key]} + version_major_prefix=${variables[${key}]} fi bootstrap_id "has-version_minor-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_minor-mode" - version_minor=${variables[$key]} + version_minor=${variables[${key}]} fi bootstrap_id "has-version_minor_prefix-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_minor_prefix-mode" - version_minor_prefix=${variables[$key]} + version_minor_prefix=${variables[${key}]} fi bootstrap_id "has-version_micro-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_micro-mode" - version_micro=${variables[$key]} + version_micro=${variables[${key}]} fi bootstrap_id "has-version_micro_prefix-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_micro_prefix-mode" - version_micro_prefix=${variables[$key]} + version_micro_prefix=${variables[${key}]} fi bootstrap_id "has-version_nano-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_nano-mode" - version_nano=${variables[$key]} + version_nano=${variables[${key}]} fi bootstrap_id "has-version_nano_prefix-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "version_nano_prefix-mode" - version_nano_prefix=${variables[$key]} + version_nano_prefix=${variables[${key}]} fi bootstrap_id "has-path_headers-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_headers-mode" - path_headers=${variables[$key]} + path_headers=${variables[${key}]} fi bootstrap_id "has-preserve_path_headers-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "preserve_path_headers-mode" - preserve_path_headers=${variables[$key]} + preserve_path_headers=${variables[${key}]} fi bootstrap_id "has-path_library_script-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_library_script-mode" - path_library_script=${variables[$key]} + path_library_script=${variables[${key}]} fi bootstrap_id "has-path_library_shared-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_library_shared-mode" - path_library_shared=${variables[$key]} + path_library_shared=${variables[${key}]} fi bootstrap_id "has-path_library_static-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_library_static-mode" - path_library_static=${variables[$key]} + path_library_static=${variables[${key}]} fi bootstrap_id "has-path_object_script-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_object_script-mode" - path_object_script=${variables[$key]} + path_object_script=${variables[${key}]} fi bootstrap_id "has-path_object_shared-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_object_shared-mode" - path_object_shared=${variables[$key]} + path_object_shared=${variables[${key}]} fi bootstrap_id "has-path_object_static-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_object_static-mode" - path_object_static=${variables[$key]} + path_object_static=${variables[${key}]} fi bootstrap_id "has-path_program_script-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_program_script-mode" - path_program_script=${variables[$key]} + path_program_script=${variables[${key}]} fi bootstrap_id "has-path_program_shared-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_program_shared-mode" - path_program_shared=${variables[$key]} + path_program_shared=${variables[${key}]} fi bootstrap_id "has-path_program_static-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "path_program_static-mode" - path_program_static=${variables[$key]} + path_program_static=${variables[${key}]} fi bootstrap_id "has-has_path_standard-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "has_path_standard-mode" - has_path_standard=${variables[$key]} + has_path_standard=${variables[${key}]} fi bootstrap_id "has-search_exclusive-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "search_exclusive-mode" - search_exclusive=${variables[$key]} + search_exclusive=${variables[${key}]} fi bootstrap_id "has-search_shared-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "search_shared-mode" - search_shared=${variables[$key]} + search_shared=${variables[${key}]} fi bootstrap_id "has-search_static-mode" - if [[ ${variables[$key]} == "yes" ]] ; then + if [[ ${variables[${key}]} == "yes" ]] ; then bootstrap_id "search_static-mode" - search_static=${variables[$key]} + search_static=${variables[${key}]} fi } @@ -2715,10 +2716,10 @@ bootstrap_operation_build_prepare_settings() { local key= bootstrap_id "build_sources_setting-mode" - if [[ $sources_setting == "" ]] ; then - sources_setting=${variables[$key]} + if [[ ${sources_setting} == "" ]] ; then + sources_setting=${variables[${key}]} else - sources_setting="$sources_setting ${variables[$key]}" + sources_setting="${sources_setting} ${variables[${key}]}" fi } @@ -2726,44 +2727,44 @@ bootstrap_operation_build_prepare_shared_static() { local key= bootstrap_id "build_shared-mode" - if [[ ${variables[$key]} != "" ]] ; then - build_shared=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + build_shared=${variables[${key}]} fi bootstrap_id "build_static-mode" - if [[ ${variables[$key]} != "" ]] ; then - build_static=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + build_static=${variables[${key}]} fi - if [[ $enable_shared == "yes" ]] ; then + if [[ ${enable_shared} == "yes" ]] ; then build_shared="yes" search_shared="yes" - elif [[ $enable_shared == "no" ]] ; then + elif [[ ${enable_shared} == "no" ]] ; then build_shared="no" search_shared="no" fi - if [[ $enable_static == "yes" ]] ; then + if [[ ${enable_static} == "yes" ]] ; then build_static="yes" search_static="yes" - elif [[ $enable_static == "no" ]] ; then + elif [[ ${enable_static} == "no" ]] ; then build_static="no" search_static="no" fi - if [[ $search_shared == "no" ]] ; then + if [[ ${search_shared} == "no" ]] ; then arguments_shared= fi - if [[ $search_static == "no" ]] ; then + if [[ ${search_static} == "no" ]] ; then arguments_static= fi } bootstrap_operation_build_validate_build() { - if [[ $build_compiler == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${build_compiler} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, no '${c_notice}build_compiler${c_error}' specified, such as '${c_notice}gcc${c_error}'.${c_reset}" @@ -2772,8 +2773,8 @@ bootstrap_operation_build_validate_build() { let failure=1 fi - if [[ $build_indexer == "" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${build_indexer} == "" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, no '${c_notice}build_indexer${c_error}' specified, such as '${c_notice}ar${c_error}'.${c_reset}" @@ -2782,7 +2783,7 @@ bootstrap_operation_build_validate_build() { let failure=1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -2791,8 +2792,8 @@ bootstrap_operation_build_validate_build() { bootstrap_operation_build_validate_paths() { - if [[ $path_sources == "" || ! -d $path_sources ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${path_sources} == "" || ! -d ${path_sources} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The sources directory ${c_notice}${path_sources}${c_error} is not a valid directory.${c_reset}" @@ -2801,8 +2802,8 @@ bootstrap_operation_build_validate_paths() { let failure=1 fi - if [[ $failure == "" && $path_sources_object != "" && ! -d $path_sources_object ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} == "" && ${path_sources_object} != "" && ! -d ${path_sources_object} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: The sources object directory ${c_notice}${path_sources_object}${c_error} is not a valid directory.${c_reset}" @@ -2811,7 +2812,7 @@ bootstrap_operation_build_validate_paths() { let failure=1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -2821,15 +2822,15 @@ bootstrap_operation_build_validate_paths() { bootstrap_operation_build_validate_search() { # When not in search exclusive mode, allow static libraries to be linked into shared libraries if the shared library is not found first. - if [[ $search_exclusive == "no" ]] ; then - arguments_shared="$arguments_shared $arguments_static" + if [[ ${search_exclusive} == "no" ]] ; then + arguments_shared="${arguments_shared} ${arguments_static}" fi } bootstrap_operation_build_validate_shared_static() { - if [[ $build_shared != "yes" && $build_static != "yes" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${build_shared} != "yes" && ${build_static} != "yes" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, either build_shared or build_static must be set to 'yes'.${c_reset}" @@ -2838,8 +2839,8 @@ bootstrap_operation_build_validate_shared_static() { let failure=1 fi - if [[ $search_shared != "yes" && $search_static != "yes" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${search_shared} != "yes" && ${search_static} != "yes" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, either search_shared or search_static must be set to 'yes'.${c_reset}" @@ -2848,7 +2849,7 @@ bootstrap_operation_build_validate_shared_static() { let failure=1 fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -2857,9 +2858,9 @@ bootstrap_operation_build_validate_shared_static() { bootstrap_operation_build_validate_sources() { - for i in $sources_script ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_script} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_script path provided: '${i}'.${c_reset}" @@ -2869,9 +2870,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_headers ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_headers} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_headers path provided: '${i}'.${c_reset}" @@ -2881,9 +2882,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_library ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_library} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_library path provided: '${i}'.${c_reset}" @@ -2893,9 +2894,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_library_object ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_library_object} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_library_object path provided: '${i}'.${c_reset}" @@ -2905,9 +2906,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_program_object ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_program_object} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_program_object path provided: '${i}'.${c_reset}" @@ -2917,9 +2918,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_program ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_program} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_program path provided: '${i}'.${c_reset}" @@ -2929,9 +2930,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_documentation ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_documentation} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_documentation path provided: '${i}'.${c_reset}" @@ -2941,9 +2942,9 @@ bootstrap_operation_build_validate_sources() { fi done - for i in $sources_setting ; do - if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + for i in ${sources_setting} ; do + if [[ ${i} != "$(echo ${i} | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then bootstrap_print_first echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_setting path provided: '${i}'.${c_reset}" @@ -2953,7 +2954,7 @@ bootstrap_operation_build_validate_sources() { fi done - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -2964,57 +2965,57 @@ bootstrap_operation_build_prepare_versions() { local key= bootstrap_id "version_file-mode" - if [[ ${variables[$key]} != "" ]] ; then - version_file_value=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + version_file_value=${variables[${key}]} fi bootstrap_id "version_target-mode" - if [[ ${variables[$key]} != "" ]] ; then - version_target_value=${variables[$key]} + if [[ ${variables[${key}]} != "" ]] ; then + version_target_value=${variables[${key}]} fi - if [[ $version_file_value == "" ]] ; then + if [[ ${version_file_value} == "" ]] ; then version_file_value="micro" fi - if [[ $version_target_value == "" ]] ; then + if [[ ${version_target_value} == "" ]] ; then version_target_value="major" fi - if [[ $version_major == "" ]] ; then + if [[ ${version_major} == "" ]] ; then version_major_prefix= fi - if [[ $version_minor == "" ]] ; then + if [[ ${version_minor} == "" ]] ; then version_minor_prefix= fi - if [[ $version_micro == "" ]] ; then + if [[ ${version_micro} == "" ]] ; then version_micro_prefix= fi - if [[ $version_nano == "" ]] ; then + if [[ ${version_nano} == "" ]] ; then version_nano_prefix= fi - if [[ $version_file_value == "major" ]] ; then - version_file="$version_major_prefix$version_major" - elif [[ $version_file_value == "minor" ]] ; then - version_file="$version_major_prefix$version_major$version_minor_prefix$version_minor" - elif [[ $version_file_value == "micro" ]] ; then - version_file="$version_major_prefix$version_major$version_minor_prefix$version_minor$version_micro_prefix$version_micro" - elif [[ $version_file_value == "nano" ]] ; then - version_file="$version_major_prefix$version_major$version_minor_prefix$version_minor$version_micro_prefix$version_micro$version_nano_prefix$version_nano" + if [[ ${version_file_value} == "major" ]] ; then + version_file="${version_major_prefix}${version_major}" + elif [[ ${version_file_value} == "minor" ]] ; then + version_file="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}" + elif [[ ${version_file_value} == "micro" ]] ; then + version_file="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro}" + elif [[ ${version_file_value} == "nano" ]] ; then + version_file="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro}${version_nano_prefix}${version_nano}" fi - if [[ $version_target_value == "major" ]] ; then - version_target="$version_major_prefix$version_major" - elif [[ $version_target_value == "minor" ]] ; then - version_target="$version_major_prefix$version_major$version_minor_prefix$version_minor" - elif [[ $version_target_value == "micro" ]] ; then - version_target="$version_major_prefix$version_major$version_minor_prefix$version_minor$version_micro_prefix$version_micro" - elif [[ $version_target_value == "nano" ]] ; then - version_target="$version_major_prefix$version_major$version_minor_prefix$version_minor$version_micro_prefix$version_micro$version_nano_prefix$version_nano" + if [[ ${version_target_value} == "major" ]] ; then + version_target="${version_major_prefix}${version_major}" + elif [[ ${version_target_value} == "minor" ]] ; then + version_target="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}" + elif [[ ${version_target_value} == "micro" ]] ; then + version_target="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro}" + elif [[ ${version_target_value} == "nano" ]] ; then + version_target="${version_major_prefix}${version_major}${version_minor_prefix}${version_minor}${version_micro_prefix}${version_micro}${version_nano_prefix}${version_nano}" fi } @@ -3023,27 +3024,27 @@ bootstrap_operation_clean() { local i= for i in ${path_build}{documents,includes,libraries,objects,programs,settings,stage} ; do - if [[ -e $i ]] ; then - rm $verbose_common -Rf $i + if [[ -e ${i} ]] ; then + rm ${verbose_common} -Rf ${i} fi done if [[ -f ${project_built}.prepared ]] ; then - rm $verbose_common -f ${project_built}-${settings_name}.prepared + rm ${verbose_common} -f ${project_built}-${settings_name}.prepared fi if [[ -f ${project_built_shared}-${settings_name}.built ]] ; then - rm $verbose_common -f ${project_built_shared}-${settings_name}.built + rm ${verbose_common} -f ${project_built_shared}-${settings_name}.built fi if [[ -f ${project_built_static}-${settings_name}.built ]] ; then - rm $verbose_common -f ${project_built_static}-${settings_name}.built + rm ${verbose_common} -f ${project_built_static}-${settings_name}.built fi } bootstrap_print_first() { - if [[ $print_line_first == "yes" ]] ; then + if [[ ${print_line_first} == "yes" ]] ; then echo print_line_first= @@ -3052,7 +3053,7 @@ bootstrap_print_first() { bootstrap_print_last() { - if [[ $print_line_last == "yes" ]] ; then + if [[ ${print_line_last} == "yes" ]] ; then echo fi } diff --git a/build/scripts/install.sh b/build/scripts/install.sh index 1ec62f100..5527ace93 100644 --- a/build/scripts/install.sh +++ b/build/scripts/install.sh @@ -15,13 +15,13 @@ install_main() { - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then emulate ksh fi local public_name="Simple FLL Project Install Script" local system_name=install - local called_name=$(basename $0) + local called_name=$(basename ${0}) local version=0.6.5 local grab_next= @@ -87,133 +87,133 @@ install_main() { if [[ $# -gt 0 ]] ; then t=$# - while [[ $i -lt $t ]] ; do - let i=$i+1 + while [[ ${i} -lt ${t} ]] ; do + let i=${i}+1 - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then p=${(P)i} else p=${!i} fi - if [[ $grab_next == "" ]] ; then - if [[ $p == "-h" || $p == "--help" ]] ; then + if [[ ${grab_next} == "" ]] ; then + if [[ ${p} == "-h" || ${p} == "--help" ]] ; then do_help=yes - elif [[ $p == "+C" || $p == "++copyright" ]] ; then + elif [[ ${p} == "+C" || ${p} == "++copyright" ]] ; then do_copyright="yes" - elif [[ $p == "+d" || $p == "++dark" ]] ; then + elif [[ ${p} == "+d" || ${p} == "++dark" ]] ; then do_color="dark" context="+d" - elif [[ $p == "+l" || $p == "++light" ]] ; then + elif [[ ${p} == "+l" || ${p} == "++light" ]] ; then do_color="light" context="+l" - elif [[ $p == "+n" || $p == "++no_color" ]] ; then + elif [[ ${p} == "+n" || ${p} == "++no_color" ]] ; then do_color=none context="+n" - elif [[ $p == "+Q" || $p == "++quiet" ]] ; then + elif [[ ${p} == "+Q" || ${p} == "++quiet" ]] ; then verbosity="quiet" verbose="+Q" verbose_common= - elif [[ $p == "+N" || $p == "++normal" ]] ; then + elif [[ ${p} == "+N" || ${p} == "++normal" ]] ; then verbosity= verbose="+N" verbose_common= - elif [[ $p == "+E" || $p == "++error" ]] ; then + elif [[ ${p} == "+E" || ${p} == "++error" ]] ; then verbosity="error" verbose="+E" verbose_common= - elif [[ $p == "+V" || $p == "++verbose" ]] ; then + elif [[ ${p} == "+V" || ${p} == "++verbose" ]] ; then verbosity="verbose" verbose="+V" verbose_common="-v" - elif [[ $p == "+D" || $p == "++debug" ]] ; then + elif [[ ${p} == "+D" || ${p} == "++debug" ]] ; then verbosity="debug" verbose="+D" verbose_common="-v" - elif [[ $p == "+v" || $p == "++version" ]] ; then - echo $version + elif [[ ${p} == "+v" || ${p} == "++version" ]] ; then + echo ${version} return 0 - elif [[ $p == "-b" || $p == "--build" ]] ; then + elif [[ ${p} == "-b" || ${p} == "--build" ]] ; then grab_next=path_build - elif [[ $p == "-P" || $p == "--prefix" ]] ; then + elif [[ ${p} == "-P" || ${p} == "--prefix" ]] ; then grab_next=prefix - elif [[ $p == "-B" || $p == "--bindir" ]] ; then + elif [[ ${p} == "-B" || ${p} == "--bindir" ]] ; then grab_next=bindir - elif [[ $p == "-D" || $p == "--docdir" ]] ; then + elif [[ ${p} == "-D" || ${p} == "--docdir" ]] ; then grab_next=docdir - elif [[ $p == "-E" || $p == "--etcdir" ]] ; then + elif [[ ${p} == "-E" || ${p} == "--etcdir" ]] ; then grab_next=etcdir - elif [[ $p == "-I" || $p == "--includedir" ]] ; then + elif [[ ${p} == "-I" || ${p} == "--includedir" ]] ; then grab_next=includedir - elif [[ $p == "-L" || $p == "--libdir" ]] ; then + elif [[ ${p} == "-L" || ${p} == "--libdir" ]] ; then grab_next=libdir - elif [[ $p == "-w" || $p == "--work" ]] ; then + elif [[ ${p} == "-w" || ${p} == "--work" ]] ; then grab_next=work - elif [[ $p == "--enable-doc" ]] ; then + elif [[ ${p} == "--enable-doc" ]] ; then enable_documentation="yes" - elif [[ $p == "--disable-doc" ]] ; then + elif [[ ${p} == "--disable-doc" ]] ; then enable_documentation="no" - elif [[ $p == "--enable-settings" ]] ; then + elif [[ ${p} == "--enable-settings" ]] ; then enable_settings="yes" - elif [[ $p == "--disable-settings" ]] ; then + elif [[ ${p} == "--disable-settings" ]] ; then enable_settings="no" - elif [[ $p == "--enable-shared" ]] ; then + elif [[ ${p} == "--enable-shared" ]] ; then enable_shared="yes" - elif [[ $p == "--disable-shared" ]] ; then + elif [[ ${p} == "--disable-shared" ]] ; then enable_shared="no" - elif [[ $p == "--disable-shared-programs" ]] ; then + elif [[ ${p} == "--disable-shared-programs" ]] ; then enable_shared_programs="no" - elif [[ $p == "--disable-shared-libraries" ]] ; then + elif [[ ${p} == "--disable-shared-libraries" ]] ; then enable_shared_libraries="no" - elif [[ $p == "--disable-static-programs" ]] ; then + elif [[ ${p} == "--disable-static-programs" ]] ; then enable_static_programs="no" - elif [[ $p == "--disable-static-libraries" ]] ; then + elif [[ ${p} == "--disable-static-libraries" ]] ; then enable_static_libraries="no" - elif [[ $p == "--enable-static" ]] ; then + elif [[ ${p} == "--enable-static" ]] ; then enable_static="yes" - elif [[ $p == "--disable-static" ]] ; then + elif [[ ${p} == "--disable-static" ]] ; then enable_static="no" - elif [[ $p == "--enable-includes" ]] ; then + elif [[ ${p} == "--enable-includes" ]] ; then enable_includes="yes" - elif [[ $p == "--disable-includes" ]] ; then + elif [[ ${p} == "--disable-includes" ]] ; then enable_includes="no" - elif [[ $p == "--libraries-static" ]] ; then + elif [[ ${p} == "--libraries-static" ]] ; then grab_next="destination_libraries_static" - elif [[ $p == "--libraries-shared" ]] ; then + elif [[ ${p} == "--libraries-shared" ]] ; then grab_next="destination_libraries_shared" - elif [[ $p == "--programs-static" ]] ; then + elif [[ ${p} == "--programs-static" ]] ; then grab_next="destination_programs_static" - elif [[ $p == "--programs-shared" ]] ; then + elif [[ ${p} == "--programs-shared" ]] ; then grab_next="destination_programs_shared" - elif [[ $operation_failure == "" ]] ; then - operation="$p" + elif [[ ${operation_failure} == "" ]] ; then + operation="${p}" operation_failure=fail-unsupported fi else - if [[ $grab_next == "path_build" ]] ; then - path_build=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "prefix" ]] ; then - destination_prefix=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "bindir" ]] ; then - destination_programs=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "docdir" ]] ; then - destination_documentation=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "etcdir" ]] ; then - destination_settings=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "includedir" ]] ; then - destination_includes=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "libdir" ]] ; then - destination_libraries=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "work" ]] ; then - work=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "destination_libraries_static" ]] ; then - destination_libraries_static=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "destination_libraries_shared" ]] ; then - destination_libraries_shared=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "destination_programs_static" ]] ; then - destination_programs_static=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') - elif [[ $grab_next == "destination_programs_shared" ]] ; then - destination_programs_shared=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') + if [[ ${grab_next} == "path_build" ]] ; then + path_build=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "prefix" ]] ; then + destination_prefix=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "bindir" ]] ; then + destination_programs=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "docdir" ]] ; then + destination_documentation=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "etcdir" ]] ; then + destination_settings=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "includedir" ]] ; then + destination_includes=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "libdir" ]] ; then + destination_libraries=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "work" ]] ; then + work=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "destination_libraries_static" ]] ; then + destination_libraries_static=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "destination_libraries_shared" ]] ; then + destination_libraries_shared=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "destination_programs_static" ]] ; then + destination_programs_static=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "destination_programs_shared" ]] ; then + destination_programs_shared=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') fi grab_next= @@ -223,32 +223,32 @@ install_main() { p= fi - if [[ $verbosity == "quiet" ]] ; then + if [[ ${verbosity} == "quiet" ]] ; then print_line_first="no" print_line_last="no" fi install_handle_colors - if [[ $do_help == "yes" ]] ; then + if [[ ${do_help} == "yes" ]] ; then install_help install_cleanup return 0 fi - if [[ $do_copyright == "yes" ]] ; then + if [[ ${do_copyright} == "yes" ]] ; then install_copyright install_cleanup return 0 fi - if [[ $operation_failure == "fail-unsupported" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${operation_failure} == "fail-unsupported" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The operation ${c_notice}$operation${c_error} was not recognized.${c_reset}" + echo -e "${c_error}ERROR: The operation ${c_notice}${operation}${c_error} was not recognized.${c_reset}" install_print_last fi @@ -258,11 +258,11 @@ install_main() { return 1 fi - if [[ ! -d $path_build ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ! -d ${path_build} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The build path ${c_notice}$path_build${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The build path ${c_notice}${path_build}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -272,11 +272,11 @@ install_main() { return 1 fi - if [[ $work == "" && $destination_prefix != "" && ! -d $destination_prefix ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && ${destination_prefix} != "" && ! -d ${destination_prefix} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination prefix ${c_notice}$destination_prefix${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination prefix ${c_notice}${destination_prefix}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -286,65 +286,65 @@ install_main() { return 1 fi - if [[ $destination_prefix != "" ]] ; then - if [[ $(echo $destination_documentation | grep -o '^/') == "" ]] ; then - destination_documentation="$destination_prefix$destination_documentation" + if [[ ${destination_prefix} != "" ]] ; then + if [[ $(echo ${destination_documentation} | grep -o '^/') == "" ]] ; then + destination_documentation="${destination_prefix}${destination_documentation}" fi - if [[ $(echo $destination_programs | grep -o '^/') == "" ]] ; then - destination_programs="$destination_prefix$destination_programs" + if [[ $(echo ${destination_programs} | grep -o '^/') == "" ]] ; then + destination_programs="${destination_prefix}${destination_programs}" fi - if [[ $(echo $destination_includes | grep -o '^/') == "" ]] ; then - destination_includes="$destination_prefix$destination_includes" + if [[ $(echo ${destination_includes} | grep -o '^/') == "" ]] ; then + destination_includes="${destination_prefix}${destination_includes}" fi - if [[ $(echo $destination_libraries | grep -o '^/') == "" ]] ; then - destination_libraries="$destination_prefix$destination_libraries" + if [[ $(echo ${destination_libraries} | grep -o '^/') == "" ]] ; then + destination_libraries="${destination_prefix}${destination_libraries}" fi - if [[ $(echo $destination_settings | grep -o '^/') == "" ]] ; then - destination_settings="$destination_prefix$destination_settings" + if [[ $(echo ${destination_settings} | grep -o '^/') == "" ]] ; then + destination_settings="${destination_prefix}${destination_settings}" fi fi - if [[ $destination_libraries_static != "" ]] ; then - if [[ $(echo $destination_libraries_static | grep -o '^/') == "" ]] ; then - destination_libraries_static=$destination_libraries$destination_libraries_static + if [[ ${destination_libraries_static} != "" ]] ; then + if [[ $(echo ${destination_libraries_static} | grep -o '^/') == "" ]] ; then + destination_libraries_static=${destination_libraries}${destination_libraries_static} fi else - destination_libraries_static=$destination_libraries + destination_libraries_static=${destination_libraries} fi - if [[ $destination_libraries_shared != "" ]] ; then - if [[ $(echo $destination_libraries_shared | grep -o '^/') == "" ]] ; then - destination_libraries_shared=$destination_libraries$destination_libraries_shared + if [[ ${destination_libraries_shared} != "" ]] ; then + if [[ $(echo ${destination_libraries_shared} | grep -o '^/') == "" ]] ; then + destination_libraries_shared=${destination_libraries}${destination_libraries_shared} fi else - destination_libraries_shared=$destination_libraries + destination_libraries_shared=${destination_libraries} fi - if [[ $destination_programs_static != "" ]] ; then - if [[ $(echo $destination_programs_static | grep -o '^/') == "" ]] ; then - destination_programs_static=$destination_programs$destination_programs_static + if [[ ${destination_programs_static} != "" ]] ; then + if [[ $(echo ${destination_programs_static} | grep -o '^/') == "" ]] ; then + destination_programs_static=${destination_programs}${destination_programs_static} fi else - destination_programs_static=$destination_programs + destination_programs_static=${destination_programs} fi - if [[ $destination_programs_shared != "" ]] ; then - if [[ $(echo $destination_programs_shared | grep -o '^/') == "" ]] ; then - destination_programs_shared=$destination_programs$destination_programs_shared + if [[ ${destination_programs_shared} != "" ]] ; then + if [[ $(echo ${destination_programs_shared} | grep -o '^/') == "" ]] ; then + destination_programs_shared=${destination_programs}${destination_programs_shared} fi else - destination_programs_shared=$destination_programs + destination_programs_shared=${destination_programs} fi - if [[ $work != "" && ! -d $work ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} != "" && ! -d ${work} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The work directory ${c_notice}$work${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The work directory ${c_notice}${work}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -354,11 +354,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_programs && ! -d $destination_programs ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_programs} && ! -d ${destination_programs} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination bindir ${c_notice}$destination_programs${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination bindir ${c_notice}${destination_programs}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -368,11 +368,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_programs_static && ! -d $destination_programs_static ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_programs_static} && ! -d ${destination_programs_static} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination (${c_notice}static${c_error}) bindir ${c_notice}$destination_programs_static${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination (${c_notice}static${c_error}) bindir ${c_notice}${destination_programs_static}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -382,11 +382,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_programs_shared && ! -d $destination_programs_shared ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_programs_shared} && ! -d ${destination_programs_shared} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination (${c_notice}shared${c_error}) bindir ${c_notice}$destination_programs_shared${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination (${c_notice}shared${c_error}) bindir ${c_notice}${destination_programs_shared}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -396,11 +396,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_includes && ! -d $destination_includes ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_includes} && ! -d ${destination_includes} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination incluedir ${c_notice}$destination_includes${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination incluedir ${c_notice}${destination_includes}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -410,11 +410,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_libraries_static && ! -d $destination_libraries_static ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_libraries_static} && ! -d ${destination_libraries_static} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination (${c_notice}static${c_error}) libdir ${c_notice}$destination_libraries_static${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination (${c_notice}static${c_error}) libdir ${c_notice}${destination_libraries_static}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -424,11 +424,11 @@ install_main() { return 1 fi - if [[ $work == "" && -e $destination_libraries_shared && ! -d $destination_libraries_shared ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${work} == "" && -e ${destination_libraries_shared} && ! -d ${destination_libraries_shared} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first - echo -e "${c_error}ERROR: The destination (${c_notice}shared${c_error}) libdir ${c_notice}$destination_libraries_shared${c_error} is not a valid directory.${c_reset}" + echo -e "${c_error}ERROR: The destination (${c_notice}shared${c_error}) libdir ${c_notice}${destination_libraries_shared}${c_error} is not a valid directory.${c_reset}" install_print_last fi @@ -440,15 +440,15 @@ install_main() { install_perform_install - if [[ $verbosity != "quiet" ]] ; then - if [[ $failure != "" || $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then + if [[ ${failure} != "" || ${verbosity} != "error" ]] ; then install_print_last fi fi install_cleanup - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -457,14 +457,14 @@ install_main() { install_handle_colors() { - if [[ $do_color == "light" ]] ; then + if [[ ${do_color} == "light" ]] ; then c_error="\\033[1;31m" c_warning="\\033[0;31m" c_title="\\033[1;34m" c_highlight="\\033[0;34m" c_notice="\\033[0;01m" c_important="\\033[0;35m" - elif [[ $do_color == "none" ]] ; then + elif [[ ${do_color} == "none" ]] ; then c_reset= c_title= c_error= @@ -551,17 +551,17 @@ install_perform_install() { local path= local message= - if [[ $enable_shared == "no" ]] ; then + if [[ ${enable_shared} == "no" ]] ; then enable_shared_programs="no" enable_shared_libraries="no" fi - if [[ $enable_static == "no" ]] ; then + if [[ ${enable_static} == "no" ]] ; then enable_static_programs="no" enable_static_libraries="no" fi - if [[ $work == "" ]] ; then + if [[ ${work} == "" ]] ; then message="install destination directory" else message="work directory" @@ -578,10 +578,10 @@ install_perform_install() { fi if [[ ! -d ${destination_prefix} ]] ; then - mkdir $verbose_common ${destination_prefix} + mkdir ${verbose_common} ${destination_prefix} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create install ${message} ${c_notice}${destination_prefix}${c_error}.${c_reset}" @@ -591,12 +591,12 @@ install_perform_install() { fi fi - if [[ $enable_shared_programs == "yes" || $enable_static_programs == "yes" ]] ; then + if [[ ${enable_shared_programs} == "yes" || ${enable_static_programs} == "yes" ]] ; then if [[ -d ${path_build}${path_programs} && ! -d ${destination_programs} ]] ; then - mkdir $verbose_common ${destination_programs} + mkdir ${verbose_common} ${destination_programs} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create install ${message} ${c_notice}${destination_programs}${c_error}.${c_reset}" @@ -606,11 +606,11 @@ install_perform_install() { fi fi - if [[ $enable_shared_programs == "yes" && -d ${path_build}${path_programs}${path_shared} && ! -d ${destination_programs_shared} ]] ; then - mkdir $verbose_common ${destination_programs_shared} + if [[ ${enable_shared_programs} == "yes" && -d ${path_build}${path_programs}${path_shared} && ! -d ${destination_programs_shared} ]] ; then + mkdir ${verbose_common} ${destination_programs_shared} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create install ${message} ${c_notice}${destination_programs_shared}${c_error}.${c_reset}" @@ -620,11 +620,11 @@ install_perform_install() { fi fi - if [[ $enable_static_programs == "yes" && -d ${path_build}${path_programs}${path_static} && ! -d ${destination_programs_static} ]] ; then - mkdir $verbose_common ${destination_programs_static} + if [[ ${enable_static_programs} == "yes" && -d ${path_build}${path_programs}${path_static} && ! -d ${destination_programs_static} ]] ; then + mkdir ${verbose_common} ${destination_programs_static} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create install ${message} ${c_notice}${destination_programs_static}${c_error}.${c_reset}" @@ -635,12 +635,12 @@ install_perform_install() { fi fi - if [[ $enable_shared_libraries == "yes" || $enable_static_libraries == "yes" ]] ; then + if [[ ${enable_shared_libraries} == "yes" || ${enable_static_libraries} == "yes" ]] ; then if [[ -d ${path_build}${path_libraries} && ! -d ${destination_libraries} ]] ; then - mkdir $verbose_common ${destination_libraries} + mkdir ${verbose_common} ${destination_libraries} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create install ${message} ${c_notice}${destination_libraries}${c_error}.${c_reset}" @@ -650,11 +650,11 @@ install_perform_install() { fi fi - if [[ $enable_shared_libraries == "yes" && -d ${path_build}${path_libraries}${path_shared} && ! -d ${destination_libraries_shared} ]] ; then - mkdir $verbose_common ${destination_libraries_shared} + if [[ ${enable_shared_libraries} == "yes" && -d ${path_build}${path_libraries}${path_shared} && ! -d ${destination_libraries_shared} ]] ; then + mkdir ${verbose_common} ${destination_libraries_shared} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create ${message} ${c_notice}${destination_libraries_shared}${c_error}.${c_reset}" @@ -664,11 +664,11 @@ install_perform_install() { fi fi - if [[ $enable_static_libraries == "yes" && -d ${path_build}${path_libraries}${path_static} && ! -d ${destination_libraries_static} ]] ; then - mkdir $verbose_common ${destination_libraries_static} + if [[ ${enable_static_libraries} == "yes" && -d ${path_build}${path_libraries}${path_static} && ! -d ${destination_libraries_static} ]] ; then + mkdir ${verbose_common} ${destination_libraries_static} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create ${message} ${c_notice}${destination_libraries_static}${c_error}.${c_reset}" @@ -679,12 +679,12 @@ install_perform_install() { fi fi - if [[ $enable_includes == "yes" ]] ; then + if [[ ${enable_includes} == "yes" ]] ; then if [[ -d ${path_build}${path_includes} && ! -d ${destination_includes} ]] ; then - mkdir $verbose_common ${destination_includes} + mkdir ${verbose_common} ${destination_includes} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create ${message} ${c_notice}${destination_includes}${c_error}.${c_reset}" @@ -695,12 +695,12 @@ install_perform_install() { fi fi - if [[ $enable_documentation == "yes" ]] ; then + if [[ ${enable_documentation} == "yes" ]] ; then if [[ -d ${path_build}${path_documentation} && ! -d ${destination_documentation} ]] ; then - mkdir $verbose_common ${destination_documentation} + mkdir ${verbose_common} ${destination_documentation} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create ${message} ${c_notice}${destination_documentation}${c_error}.${c_reset}" @@ -711,12 +711,12 @@ install_perform_install() { fi fi - if [[ $enable_settings == "yes" ]] ; then + if [[ ${enable_settings} == "yes" ]] ; then if [[ -d ${path_build}${path_settings} && ! -d ${destination_settings} ]] ; then - mkdir $verbose_common ${destination_settings} + mkdir ${verbose_common} ${destination_settings} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to create ${message} ${c_notice}${destination_settings}${c_error}.${c_reset}" @@ -727,29 +727,29 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_includes} && $enable_includes == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_includes} && ${enable_includes} == "yes" ]] ; then for i in ${path_build}${path_includes}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_includes}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_includes}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_includes}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_includes}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing Includes to: ${c_reset}${c_notice}${destination_includes}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_includes}* ${destination_includes} + cp ${verbose_common} -R ${path_build}${path_includes}* ${destination_includes} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to copy include files from ${c_notice}${path_build}${path_includes}${c_error} to ${c_notice}${destination_includes}${c_error}.${c_reset}" @@ -760,30 +760,30 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_libraries} && ( $enable_shared_libraries == "yes" || $enable_static_libraries == "yes" ) ]] ; then - if [[ -d ${path_build}${path_libraries}${path_static} && $enable_static_libraries == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_libraries} && ( ${enable_shared_libraries} == "yes" || ${enable_static_libraries} == "yes" ) ]] ; then + if [[ -d ${path_build}${path_libraries}${path_static} && ${enable_static_libraries} == "yes" ]] ; then for i in ${path_build}${path_libraries}${path_static}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_libraries}${path_static}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_libraries}${path_static}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_libraries}${path_static}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_libraries}${path_static}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing (${c_notice}static${c_highlight}) Libraries to: ${c_reset}${c_notice}${destination_libraries_static}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_libraries}${path_static}* ${destination_libraries_static} + cp ${verbose_common} -R ${path_build}${path_libraries}${path_static}* ${destination_libraries_static} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to copy (${c_notice}static${c_error}) library files from ${c_notice}${path_build}${path_libraries}${path_static}${c_error} to ${c_notice}${destination_libraries_static}${c_error}.${c_reset}" @@ -794,29 +794,29 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_libraries}${path_shared} && $enable_shared_libraries == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_libraries}${path_shared} && ${enable_shared_libraries} == "yes" ]] ; then for i in ${path_build}${path_libraries}${path_shared}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_libraries}${path_shared}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_libraries}${path_shared}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_libraries}${path_shared}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_libraries}${path_shared}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing (${c_notice}shared${c_highlight}) Libraries to: ${c_reset}${c_notice}${destination_libraries_shared}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_libraries}${path_shared}* ${destination_libraries_shared} + cp ${verbose_common} -R ${path_build}${path_libraries}${path_shared}* ${destination_libraries_shared} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: Failed to copy (${c_notice}shared${c_error}) library files from ${c_notice}${path_build}${path_libraries}${path_shared}${c_error} to ${c_notice}${destination_libraries_shared}${c_error}.${c_reset}" @@ -828,30 +828,30 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_programs} && ( $enable_shared_programs == "yes" || $enable_static_programs == "yes" ) ]] ; then - if [[ -d ${path_build}${path_programs}${path_static} && $enable_static_programs == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_programs} && ( ${enable_shared_programs} == "yes" || ${enable_static_programs} == "yes" ) ]] ; then + if [[ -d ${path_build}${path_programs}${path_static} && ${enable_static_programs} == "yes" ]] ; then for i in ${path_build}${path_programs}${path_static}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_programs}${path_static}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_programs}${path_static}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_programs}${path_static}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_programs}${path_static}*" ]] ; then file= fi - if [[ $file != "" && $enable_static_programs == "yes" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" && ${enable_static_programs} == "yes" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing (${c_notice}static${c_highlight}) Programs to: ${c_reset}${c_notice}${destination_programs_static}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_programs}${path_static}* ${destination_programs_static} + cp ${verbose_common} -R ${path_build}${path_programs}${path_static}* ${destination_programs_static} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: failed to copy (${c_notice}static${c_error}) program files from ${c_notice}${path_build}${path_programs}${path_static}${c_error} to ${c_notice}${destination_programs_static}${c_error}.${c_reset}" @@ -862,29 +862,29 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_programs}${path_shared} && $enable_shared_programs == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_programs}${path_shared} && ${enable_shared_programs} == "yes" ]] ; then for i in ${path_build}${path_programs}${path_shared}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_programs}${path_shared}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_programs}${path_shared}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_programs}${path_shared}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_programs}${path_shared}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing (${c_notice}shared${c_highlight}) Programs to: ${c_reset}${c_notice}${destination_programs_shared}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_programs}${path_shared}* ${destination_programs_shared} + cp ${verbose_common} -R ${path_build}${path_programs}${path_shared}* ${destination_programs_shared} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: failed to copy (${c_notice}shared${c_error}) program files from ${c_notice}${path_build}${path_programs}${path_shared}${c_error} to ${c_notice}${destination_programs_shared}${c_error}.${c_reset}" @@ -896,29 +896,29 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_settings} && $enable_settings == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_settings} && ${enable_settings} == "yes" ]] ; then for i in ${path_build}${path_settings}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_settings}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_settings}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_settings}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_settings}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing Settings to: ${c_reset}${c_notice}${destination_settings}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_settings}* ${destination_settings} + cp ${verbose_common} -R ${path_build}${path_settings}* ${destination_settings} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: failed to copy settings files from ${c_notice}${path_build}${path_settings}${c_error} to ${c_notice}${destination_settings}${c_error}.${c_reset}" @@ -929,29 +929,29 @@ install_perform_install() { fi fi - if [[ $failure == "" && -d ${path_build}${path_documentation} && $enable_documentation == "yes" ]] ; then + if [[ ${failure} == "" && -d ${path_build}${path_documentation} && ${enable_documentation} == "yes" ]] ; then for i in ${path_build}${path_documentation}* ; do - file=$(echo $i | sed -e "s|^${path_build}${path_documentation}||") + file=$(echo ${i} | sed -e "s|^${path_build}${path_documentation}||") break done - if [[ $file == "*" && ! -f "${path_build}${path_documentation}*" ]] ; then + if [[ ${file} == "*" && ! -f "${path_build}${path_documentation}*" ]] ; then file= fi - if [[ $file != "" ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${file} != "" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then install_print_first_or_always echo -e "${c_highlight}Installing Documentation to: ${c_reset}${c_notice}${destination_documentation}${c_reset}${c_highlight}.${c_reset}" fi - cp $verbose_common -R ${path_build}${path_documentation}* ${destination_documentation} + cp ${verbose_common} -R ${path_build}${path_documentation}* ${destination_documentation} if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then install_print_first echo -e "${c_error}ERROR: failed to copy documentation files from ${c_notice}${path_build}${path_documentation}${c_error} to ${c_notice}${destination_documentation}${c_error}.${c_reset}" @@ -962,7 +962,7 @@ install_perform_install() { fi fi - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -971,7 +971,7 @@ install_perform_install() { install_print_first() { - if [[ $print_line_first == "yes" ]] ; then + if [[ ${print_line_first} == "yes" ]] ; then echo print_line_first= @@ -980,11 +980,11 @@ install_print_first() { install_print_first_or_always() { - if [[ $print_line_first == "yes" ]] ; then + if [[ ${print_line_first} == "yes" ]] ; then echo print_line_first= - elif [[ $print_line_first == "no" ]] ; then + elif [[ ${print_line_first} == "no" ]] ; then print_line_first= else echo @@ -993,7 +993,7 @@ install_print_first_or_always() { install_print_last() { - if [[ $print_line_last == "yes" ]] ; then + if [[ ${print_line_last} == "yes" ]] ; then echo fi } diff --git a/build/scripts/test.sh b/build/scripts/test.sh index 81e855fb2..f99c46f78 100644 --- a/build/scripts/test.sh +++ b/build/scripts/test.sh @@ -16,7 +16,7 @@ test_main() { local shell_command=bash - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then shell_command=zsh emulate ksh @@ -24,7 +24,7 @@ test_main() { local public_name="FLL Project Mass Test Script" local system_name=install - local called_name=$(basename $0) + local called_name=$(basename ${0}) local version=0.6.5 local grab_next= @@ -47,9 +47,10 @@ test_main() { local build_compiler= local build_project=no - local path_scripts=$PWD/build/scripts/ + local build_project_thread="thread" + local path_scripts=${PWD}/build/scripts/ local path_scripts_package=${path_scripts}package.sh - local path_test=$PWD/test/ + local path_test=${PWD}/test/ local path_test_package=${path_test}package/ local path_test_project=${path_test}project/ local path_test_work=${path_test}work/ @@ -58,6 +59,8 @@ test_main() { local print_line_first="yes" local print_line_last="yes" local test_system= + local test_thread="thread" + local test_thread_individual="thread_individual" local context= local failure= @@ -73,77 +76,83 @@ test_main() { if [[ $# -gt 0 ]] ; then t=$# - while [[ $i -lt $t ]] ; do + while [[ ${i} -lt ${t} ]] ; do - let i=$i+1 + let i=${i}+1 - if [[ $SHELL_ENGINE == "zsh" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then p=${(P)i} else p=${!i} fi - if [[ $grab_next == "" ]] ; then - if [[ $p == "-h" || $p == "--help" ]] ; then + if [[ ${grab_next} == "" ]] ; then + if [[ ${p} == "-h" || ${p} == "--help" ]] ; then do_help=yes - elif [[ $p == "+C" || $p == "++copyright" ]] ; then + elif [[ ${p} == "+C" || ${p} == "++copyright" ]] ; then do_copyright="yes" - elif [[ $p == "+d" || $p == "++dark" ]] ; then + elif [[ ${p} == "+d" || ${p} == "++dark" ]] ; then do_color=dark context="+d" - elif [[ $p == "+l" || $p == "++light" ]] ; then + elif [[ ${p} == "+l" || ${p} == "++light" ]] ; then do_color=light context="+l" - elif [[ $p == "+n" || $p == "++no_color" ]] ; then + elif [[ ${p} == "+n" || ${p} == "++no_color" ]] ; then do_color=none context="+n" - elif [[ $p == "+Q" || $p == "++quiet" ]] ; then + elif [[ ${p} == "+Q" || ${p} == "++quiet" ]] ; then verbosity="quiet" verbose="+Q" verbose_common= - elif [[ $p == "+E" || $p == "++error" ]] ; then + elif [[ ${p} == "+E" || ${p} == "++error" ]] ; then verbosity="error" verbose="+E" verbose_common= - elif [[ $p == "+N" || $p == "++normal" ]] ; then + elif [[ ${p} == "+N" || ${p} == "++normal" ]] ; then verbosity= verbose="+N" verbose_common= - elif [[ $p == "+V" || $p == "++verbose" ]] ; then + elif [[ ${p} == "+V" || ${p} == "++verbose" ]] ; then verbosity="verbose" verbose="+V" verbose_common="-v" - elif [[ $p == "+D" || $p == "++debug" ]] ; then + elif [[ ${p} == "+D" || ${p} == "++debug" ]] ; then verbosity="debug" verbose="+D" verbose_common="-v" - elif [[ $p == "+v" || $p == "++version" ]] ; then - echo $version + elif [[ ${p} == "+v" || ${p} == "++version" ]] ; then + echo ${version} return 0 - elif [[ $p == "-c" || $p == "--compiler" ]] ; then + elif [[ ${p} == "-c" || ${p} == "--compiler" ]] ; then grab_next=build_compiler - elif [[ $p == "-p" || $p == "--project" ]] ; then + elif [[ ${p} == "-p" || ${p} == "--project" ]] ; then build_project=yes - elif [[ $p == "-s" || $p == "--path_scripts" ]] ; then + elif [[ ${p} == "-s" || ${p} == "--path_scripts" ]] ; then grab_next=path_scripts path_scripts= - elif [[ $p == "-t" || $p == "--path_test" ]] ; then + elif [[ ${p} == "-t" || ${p} == "--path_test" ]] ; then grab_next=path_test path_test= - elif [[ $test_system == "" ]] ; then - test_system="$p" + elif [[ ${p} == "-T" || ${p} == "--thread" ]] ; then + test_thread="thread" + test_thread_individual="thread_individual" + elif [[ ${p} == "-L" || ${p} == "--threadless" ]] ; then + test_thread="threadless" + test_thread_individual="" + elif [[ ${test_system} == "" ]] ; then + test_system="${p}" else - operation="$operation " + operation="${operation} " operation_failure=fail-too_many fi else - if [[ $grab_next == "build_compiler" ]] ; then - build_compiler=$p - elif [[ $grab_next == "path_scripts" ]] ; then - path_scripts=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') + if [[ ${grab_next} == "build_compiler" ]] ; then + build_compiler=${p} + elif [[ ${grab_next} == "path_scripts" ]] ; then + path_scripts=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') path_scripts_package=${path_scripts}package.sh - elif [[ $grab_next == "path_test" ]] ; then - path_test=$(echo $p | sed -e 's|^//*|/|' -e 's|/*$|/|') + elif [[ ${grab_next} == "path_test" ]] ; then + path_test=$(echo ${p} | sed -e 's|^//*|/|' -e 's|/*$|/|') path_test_package=${path_test}package/ path_test_package_individual=${path_test_package}individual/ path_test_package_stand_alone=${path_test_package}stand_alone/ @@ -158,29 +167,29 @@ test_main() { p= fi - if [[ $verbosity == "quiet" ]] ; then + if [[ ${verbosity} == "quiet" ]] ; then print_line_first="no" print_line_last="no" fi test_handle_colors - if [[ $do_help == "yes" ]] ; then + if [[ ${do_help} == "yes" ]] ; then test_help test_cleanup return 0 fi - if [[ $do_copyright == "yes" ]] ; then + if [[ ${do_copyright} == "yes" ]] ; then test_copyright test_cleanup return 0 fi - if [[ $operation_failure == "fail-too_many" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${operation_failure} == "fail-too_many" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Only a single build system is supported, received the following test systems ${c_notice}${test_system} ${operation}${c_error} was not recognized.${c_reset}" @@ -189,16 +198,16 @@ test_main() { let failure=1 fi - if [[ $test_system == "" ]] ; then + if [[ ${test_system} == "" ]] ; then test_system=normal fi - if [[ $grab_next != "build_compiler" && $build_compiler == "" ]] ; then + if [[ ${grab_next} != "build_compiler" && ${build_compiler} == "" ]] ; then build_compiler=gcc fi - if [[ $failure -eq 0 && $test_system != "normal" && $test_system != "github" && $test_system != "gitlab" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} -eq 0 && ${test_system} != "normal" && ${test_system} != "github" && ${test_system} != "gitlab" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The test system must be one of ${c_notice}normal${c_error}, ${c_notice}github${c_error}, or ${c_notice}gitlab${c_error}.${c_reset}" @@ -207,8 +216,8 @@ test_main() { let failure=1 fi - if [[ $failure -eq 0 && $build_compiler != "gcc" && $build_compiler != "clang" ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} -eq 0 && ${build_compiler} != "gcc" && ${build_compiler} != "clang" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The build compiler ${c_notice}${build_compiler}${c_error} is not currently directly supported.${c_reset}" @@ -217,8 +226,8 @@ test_main() { let failure=1 fi - if [[ $failure -eq 0 && ! -d $path_scripts ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} -eq 0 && ! -d ${path_scripts} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The build scripts path ${c_notice}${path_scripts}${c_error} is not a valid directory.${c_reset}" @@ -227,8 +236,8 @@ test_main() { let failure=1 fi - if [[ $failure -eq 0 && ! -f $path_scripts_package ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${failure} -eq 0 && ! -f ${path_scripts_package} ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Unable to find the package build script file under the build scripts path at ${c_notice}${path_scripts_package}${c_error}.${c_reset}" @@ -237,11 +246,11 @@ test_main() { let failure=1 fi - if [[ $failure -eq 0 && ! -d $path_test ]] ; then - mkdir $verbose_common -p $path_test + if [[ ${failure} -eq 0 && ! -d ${path_test} ]] ; then + mkdir ${verbose_common} -p ${path_test} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The test path ${c_notice}${path_test}${c_error}, does not exist and could not be created or exists and is not a valid directory.${c_reset}" @@ -251,11 +260,11 @@ test_main() { fi fi - if [[ $failure -eq 0 && ! -d $path_test_package ]] ; then - mkdir $verbose_common $path_test_package + if [[ ${failure} -eq 0 && ! -d ${path_test_package} ]] ; then + mkdir ${verbose_common} ${path_test_package} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The package path ${c_notice}${path_test_package}${c_error}, does not exist and could not be created or exists and is not a valid directory.${c_reset}" @@ -265,11 +274,11 @@ test_main() { fi fi - if [[ $failure -eq 0 && ! -d $path_test_project ]] ; then - mkdir $verbose_common $path_test_project + if [[ ${failure} -eq 0 && ! -d ${path_test_project} ]] ; then + mkdir ${verbose_common} ${path_test_project} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The test project path ${c_notice}${path_test_project}${c_error}, does not exist and could not be created or exists and is not a valid directory.${c_reset}" @@ -279,11 +288,11 @@ test_main() { fi fi - if [[ $failure -eq 0 && ! -d $path_test_work ]] ; then - mkdir $verbose_common $path_test_work + if [[ ${failure} -eq 0 && ! -d ${path_test_work} ]] ; then + mkdir ${verbose_common} ${path_test_work} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: The test work path ${c_notice}${path_test_work}${c_error}, does not exist and could not be created or exists and is not a valid directory.${c_reset}" @@ -293,20 +302,20 @@ test_main() { fi fi - if [[ $failure -eq 0 ]] ; then + if [[ ${failure} -eq 0 ]] ; then test_operate let failure=$? fi - if [[ $verbosity != "quiet" ]] ; then - if [[ $failure != "" || $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then + if [[ ${failure} != "" || ${verbosity} != "error" ]] ; then test_print_last fi fi test_cleanup - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -315,14 +324,14 @@ test_main() { test_handle_colors() { - if [[ $do_color == "light" ]] ; then + if [[ ${do_color} == "light" ]] ; then c_error="\\033[1;31m" c_warning="\\033[0;31m" c_title="\\033[1;34m" c_highlight="\\033[0;34m" c_notice="\\033[0;01m" c_important="\\033[0;35m" - elif [[ $do_color == "none" ]] ; then + elif [[ ${do_color} == "none" ]] ; then c_reset= c_title= c_error= @@ -347,7 +356,7 @@ test_help() { echo -e " ${c_important}github${c_reset} Perform a test meant to be used within Github." echo -e " ${c_important}gitlab${c_reset} Perform a test meant to be used within Gitlab (not yet supported)." echo - echo -e "${c_highlight}Options:${c_reset}" + echo -e "${c_highlight}Available Options:${c_reset}" echo -e " -${c_important}h${c_reset}, --${c_important}help${c_reset} Print this help message." echo -e " +${c_important}C${c_reset}, ++${c_important}copyright${c_reset} Print the copyright." echo -e " +${c_important}d${c_reset}, ++${c_important}dark${c_reset} Output using colors that show up better on dark backgrounds." @@ -360,11 +369,12 @@ test_help() { echo -e " +${c_important}D${c_reset}, ++${c_important}debug${c_reset} Enable debugging, significantly increasing verbosity beyond normal print.to." echo -e " +${c_important}v${c_reset}, ++${c_important}version${c_reset} Print only the version number." echo - echo -e "${c_highlight}Install Options:${c_reset}" echo -e " -${c_important}c${c_reset}, --${c_important}compiler${c_reset} Specify the compiler, either gcc (default) or clang." echo -e " -${c_important}p${c_reset}, --${c_important}project${c_reset} Designate that the project files must also be built." echo -e " -${c_important}s${c_reset}, --${c_important}path_scripts${c_reset} Specify a custom directory where the build scripts are found." echo -e " -${c_important}t${c_reset}, --${c_important}path_test${c_reset} Specify a custom directory where the test environment is found." + echo -e " -${c_important}T${c_reset}, --${c_important}thread${c_reset} Compile code being tested with threads enabled." + echo -e " -${c_important}L${c_reset}, --${c_important}threadless${c_reset} Compile code being tested with threads disabled." test_print_last } @@ -390,30 +400,30 @@ test_operate() { local libraries_path="${work_path}libraries/shared/" local ci_arguments= - if [[ $PATH != "" ]] ; then + if [[ ${PATH} != "" ]] ; then env_path="${env_path}:${PATH}" fi - if [[ $LD_LIBRARY_PATH != "" ]] ; then + if [[ ${LD_LIBRARY_PATH} != "" ]] ; then env_libs="${env_libs}:${LD_LIBRARY_PATH}" fi - if [[ $test_system == "github" || $test_system == "gitlab" ]] ; then + if [[ ${test_system} == "github" || ${test_system} == "gitlab" ]] ; then ci_arguments="-d -I${includes_path} -d -L${libraries_path}" test_operate_ci_prebuild - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 return 1 fi fi - if [[ $build_project == "yes" ]] ; then + if [[ ${build_project} == "yes" ]] ; then test_operate_build_tools - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 return 1 @@ -422,16 +432,16 @@ test_operate() { test_operate_build_individual - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 return 1 fi - if [[ $test_system == "github" || $test_system == "gitlab" ]] ; then + if [[ ${test_system} == "github" || ${test_system} == "gitlab" ]] ; then test_operate_ci_pretest - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 return 1 @@ -445,25 +455,26 @@ test_operate() { test_operate_build_individual() { local project= - local path_original="$PWD/" + local path_original="${PWD}/" - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always echo -e "${c_highlight}Cleaning and building package.${c_reset}" echo -e "${c_title}------------------------------${c_reset}" + echo fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "$shell_command ${path_scripts_package} $verbose $context -d $path_test_package -i rebuild" + echo "${shell_command} ${path_scripts_package} ${verbose} ${context} -d ${path_test_package} -i rebuild" fi - $shell_command ${path_scripts_package} $verbose $context -d $path_test_package -i rebuild + ${shell_command} ${path_scripts_package} ${verbose} ${context} -d ${path_test_package} -i rebuild - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to clean and build the individual packages.${c_reset}" @@ -472,22 +483,22 @@ test_operate_build_individual() { return 1 fi - for project in $projects ; do + for project in ${projects} ; do - test_operate_build_project "$path_test_package_individual" "$path_test_work" "$project" individual + test_operate_build_project "${path_test_package_individual}" "${path_test_work}" "${project}" individual ${test_thread} ${test_thread_individual} - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 - cd $path_original + cd ${path_original} break; fi - cd $path_original + cd ${path_original} done - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -495,14 +506,28 @@ test_operate_build_individual() { } test_operate_build_project() { - local path_="$1" - local destination="$2" - local project="$3" - local mode="$4" - local bootstrap="$5" + local path_="${1}" + local destination="${2}" + local project="${3}" + local mode="${4}" + local bootstrap="${5}" + local mode_thread_param= + local mode_thread_value= + local mode_thread_individual_param= + local mode_thread_individual_value= + + if [[ ${6} != "" ]] ; then + local mode_thread_param="-m" + local mode_thread_value="${6}" + fi + + if [[ ${7} != "" ]] ; then + local mode_thread_individual_param="-m" + local mode_thread_individual_value="${7}" + fi if [[ ! -d ${path_}${project}-${version}/ ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Package directory '${c_notice}${path_}${project}-${version}${c_error}' is invalid or missing.${c_reset}" @@ -511,7 +536,7 @@ test_operate_build_project() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always echo -e "Running '${c_notice}cd ${path_}${project}-${version}/${c_reset}'." @@ -519,8 +544,8 @@ test_operate_build_project() { cd ${path_}${project}-${version}/ - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to change into directory '${c_notice}${path_}${project}-${version}${c_error}'.${c_reset}" @@ -531,63 +556,63 @@ test_operate_build_project() { return 1 fi - if [[ $bootstrap == "" ]] ; then - if [[ $verbosity == "debug" ]] ; then + if [[ ${bootstrap} == "" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - if [[ $build_compiler == "gcc" ]] ; then - echo "PATH=\"$env_path\" LD_LIBRARY_PATH=\"$env_libs\" fake $verbose $context -w \"$destination\" -m $mode clean build $ci_arguments" + if [[ ${build_compiler} == "gcc" ]] ; then + echo "PATH=\"${env_path}\" LD_LIBRARY_PATH=\"${env_libs}\" fake ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} clean build ${ci_arguments}" else - echo "PATH=\"$env_path\" LD_LIBRARY_PATH=\"$env_libs\" fake $verbose $context -w \"$destination\" -m $mode -m $build_compiler clean make -f testfile $ci_arguments" + echo "PATH=\"${env_path}\" LD_LIBRARY_PATH=\"${env_libs}\" fake ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_param} ${mode_thread_value} -m ${build_compiler} ${mode_thread_individual_param} ${mode_thread_individual_value} clean make -f testfile ${ci_arguments}" fi fi - if [[ $build_compiler == "gcc" ]] ; then - PATH="$env_path" LD_LIBRARY_PATH="$env_libs" fake $verbose $context -w "$destination" -m $mode -m test clean build $ci_arguments + if [[ ${build_compiler} == "gcc" ]] ; then + PATH="${env_path}" LD_LIBRARY_PATH="${env_libs}" fake ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test clean build ${ci_arguments} else - PATH="$env_path" LD_LIBRARY_PATH="$env_libs" fake $verbose $context -w "$destination" -m $mode -m test -m $build_compiler clean build $ci_arguments + PATH="${env_path}" LD_LIBRARY_PATH="${env_libs}" fake ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test -m ${build_compiler} clean build ${ci_arguments} fi else - if [[ $SHELL_ENGINE == "zsh" ]] ; then - if [[ $verbosity == "debug" ]] ; then + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - if [[ $build_compiler == "gcc" ]] ; then - echo "zsh ./bootstrap.sh $verbose $context -w \"$destination\" -m $mode -m test build" + if [[ ${build_compiler} == "gcc" ]] ; then + echo "zsh ./bootstrap.sh ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test build" else - echo "zsh ./bootstrap.sh $verbose $context -w \"$destination\" -m $mode -m test -m $build_compiler build" + echo "zsh ./bootstrap.sh ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test -m ${build_compiler} build" fi fi - if [[ $build_compiler == "gcc" ]] ; then - zsh ./bootstrap.sh $verbose $context -w "$destination" -m $mode -m test build + if [[ ${build_compiler} == "gcc" ]] ; then + zsh ./bootstrap.sh ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test build else - zsh ./bootstrap.sh $verbose $context -w "$destination" -m $mode -m test -m $build_compiler build + zsh ./bootstrap.sh ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test -m ${build_compiler} build fi else - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - if [[ $build_compiler == "gcc" ]] ; then - echo "./bootstrap.sh $verbose $context -w \"$destination\" -m $mode -m test build" + if [[ ${build_compiler} == "gcc" ]] ; then + echo "./bootstrap.sh ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_individual_param} ${mode_thread_individual_value} ${mode_thread_param} ${mode_thread_value} -m test build" else - echo "./bootstrap.sh $verbose $context -w \"$destination\" -m $mode -m test -m $build_compiler build" + echo "./bootstrap.sh ${verbose} ${context} -w \"${destination}\" -m ${mode} ${mode_thread_individual_param} ${mode_thread_individual_value} ${mode_thread_param} ${mode_thread_value} -m test -m ${build_compiler} build" fi fi - if [[ $build_compiler == "gcc" ]] ; then - ./bootstrap.sh $verbose $context -w "$destination" -m $mode -m test build + if [[ ${build_compiler} == "gcc" ]] ; then + ./bootstrap.sh ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test build else - ./bootstrap.sh $verbose $context -w "$destination" -m $mode -m test -m $build_compiler build + ./bootstrap.sh ${verbose} ${context} -w "${destination}" -m ${mode} ${mode_thread_param} ${mode_thread_value} ${mode_thread_individual_param} ${mode_thread_individual_value} -m test -m ${build_compiler} build fi fi fi - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to build $mode project '${c_notice}$project${c_reset}${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to build ${mode} project '${c_notice}${project}${c_reset}${c_error}'.${c_reset}" fi let failure=1 @@ -595,22 +620,22 @@ test_operate_build_project() { return 1 fi - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then - echo -e "Installing $mode project '${c_notice}$project${c_reset}'." + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then + echo -e "Installing ${mode} project '${c_notice}${project}${c_reset}'." echo fi - if [[ $SHELL_ENGINE == "zsh" ]] ; then - zsh ./install.sh $verbose $context -w "$destination" + if [[ ${SHELL_ENGINE} == "zsh" ]] ; then + zsh ./install.sh ${verbose} ${context} -w "${destination}" else - ./install.sh $verbose $context -w "$destination" + ./install.sh ${verbose} ${context} -w "${destination}" fi - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to install $mode project '${c_notice}$project${c_reset}${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to install ${mode} project '${c_notice}${project}${c_reset}${c_error}'.${c_reset}" fi let failure=1 @@ -622,25 +647,26 @@ test_operate_build_project() { } test_operate_build_tools() { - local path_original="$PWD/" + local path_original="${PWD}/" - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always echo -e "${c_highlight}Building project build tools.${c_reset}" echo -e "${c_title}-----------------------------${c_reset}" + echo fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "$shell_command ${path_scripts_package} $verbose $context -d $path_test_package -S fake rebuild" + echo "${shell_command} ${path_scripts_package} ${verbose} ${context} -d ${path_test_package} -S fake rebuild" fi - $shell_command ${path_scripts_package} $verbose $context -d $path_test_package -S fake rebuild + ${shell_command} ${path_scripts_package} ${verbose} ${context} -d ${path_test_package} -S fake rebuild - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to clean and build the stand_alone fake package.${c_reset}" @@ -649,15 +675,15 @@ test_operate_build_tools() { return 1 fi - test_operate_build_project "$path_test_package_stand_alone" "$path_test_project" fake stand_alone bootstrap + test_operate_build_project "${path_test_package_stand_alone}" "${path_test_project}" fake stand_alone bootstrap ${build_project_thread} - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 fi - cd $path_original + cd ${path_original} - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -666,29 +692,30 @@ test_operate_build_tools() { test_operate_ci_prebuild() { local clone_quiet= - local path_original="$PWD/" + local path_original="${PWD}/" local result= - if [[ $verbosity == "quiet" ]] ; then + if [[ ${verbosity} == "quiet" ]] ; then clone_quiet="-q" fi - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always echo -e "${c_highlight}Performing Github Specific Pre-Build Operations.${c_reset}" echo -e "${c_title}------------------------------------------------${c_reset}" + echo fi test_operate_ci_prebuild_libcap - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 fi cd ${path_original} - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -697,29 +724,30 @@ test_operate_ci_prebuild() { test_operate_ci_pretest() { local clone_quiet= - local path_original="$PWD/" + local path_original="${PWD}/" local result= - if [[ $verbosity == "quiet" ]] ; then + if [[ ${verbosity} == "quiet" ]] ; then clone_quiet="-q" fi - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always echo -e "${c_highlight}Performing Github Specific Pre-Test Operations.${c_reset}" echo -e "${c_title}-----------------------------------------------${c_reset}" + echo fi test_operate_ci_pretest_cmocka - if [[ $? -ne 0 ]] ; then + if [[ ${?} -ne 0 ]] ; then let failure=1 fi cd ${path_original} - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -734,29 +762,29 @@ test_operate_ci_pretest_cmocka() { local cmocka_uri="https://github.com/coreboot/cmocka.git" local cmocka_branch="cmocka-1.1.5" - if [[ -d $cmocka_path ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ -d ${cmocka_path} ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always - echo -e "Detected existing cmocka repository at \"${c_notice}$cmocka_path${c_reset}\", skipping the cmocka process." + echo -e "Detected existing cmocka repository at \"${c_notice}${cmocka_path}${c_reset}\", skipping the cmocka process." fi return 0 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "git clone $clone_quiet --single-branch -b $cmocka_branch \"$cmocka_uri\" $cmocka_path" + echo "git clone ${clone_quiet} --single-branch -b ${cmocka_branch} \"${cmocka_uri}\" ${cmocka_path}" fi - git clone $clone_quiet --single-branch -b $cmocka_branch "$cmocka_uri" $cmocka_path + git clone ${clone_quiet} --single-branch -b ${cmocka_branch} "${cmocka_uri}" ${cmocka_path} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to git clone '${c_notice}$cmocka_uri${c_error}' onto '${c_notice}$cmocka_path${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to git clone '${c_notice}${cmocka_uri}${c_error}' onto '${c_notice}${cmocka_path}${c_error}'.${c_reset}" fi let failure=1 @@ -764,19 +792,19 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "mkdir $verbose_common -p $cmocka_data" + echo "mkdir ${verbose_common} -p ${cmocka_data}" fi - mkdir $verbose_common -p $cmocka_data + mkdir ${verbose_common} -p ${cmocka_data} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to create cmocka build data directory '${c_notice}$cmocka_data${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to create cmocka build data directory '${c_notice}${cmocka_data}${c_error}'.${c_reset}" fi let failure=1 @@ -784,19 +812,19 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "cp $verbose_common $cmocka_settings $cmocka_data" + echo "cp ${verbose_common} ${cmocka_settings} ${cmocka_data}" fi - cp $verbose_common $cmocka_settings $cmocka_data + cp ${verbose_common} ${cmocka_settings} ${cmocka_data} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to copy cmocka build settings: '${c_notice}$cmocka_settings${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to copy cmocka build settings: '${c_notice}${cmocka_settings}${c_error}'.${c_reset}" fi let failure=1 @@ -804,19 +832,19 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "cd $cmocka_path" + echo "cd ${cmocka_path}" fi - cd $cmocka_path + cd ${cmocka_path} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to change cmocka source directory '${c_notice}$cmocka_path${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to change cmocka source directory '${c_notice}${cmocka_path}${c_error}'.${c_reset}" fi let failure=1 @@ -824,16 +852,16 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "PATH=\"$env_path\" LD_LIBRARY_PATH=\"$env_libs\" fake $verbose $context -w \"$path_test_work\" -m $build_compiler clean build $ci_arguments" + echo "PATH=\"${env_path}\" LD_LIBRARY_PATH=\"${env_libs}\" fake ${verbose} ${context} -w \"${path_test_work}\" -m ${build_compiler} -m ${test_thread} clean build ${ci_arguments}" fi - PATH="$env_path" LD_LIBRARY_PATH="$env_libs" fake $verbose $context -w "$path_test_work" -m $build_compiler clean build $ci_arguments + PATH="${env_path}" LD_LIBRARY_PATH="${env_libs}" fake ${verbose} ${context} -w "${path_test_work}" -m ${build_compiler} -m ${test_thread} clean build ${ci_arguments} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to build '${c_notice}cmocka${c_error}'.${c_reset}" @@ -844,16 +872,16 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "cp $verbose_common -R ${cmocka_build}includes/* ${work_path}includes/" + echo "cp ${verbose_common} -R ${cmocka_build}includes/* ${work_path}includes/" fi - cp $verbose_common -R ${cmocka_build}includes/* ${work_path}includes/ + cp ${verbose_common} -R ${cmocka_build}includes/* ${work_path}includes/ - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to install cmocka headers to '${c_notice}${work_path}includes/${c_error}'.${c_reset}" @@ -864,16 +892,16 @@ test_operate_ci_pretest_cmocka() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "cp $verbose_common -R ${cmocka_build}libraries/shared/* ${work_path}libraries/shared/" + echo "cp ${verbose_common} -R ${cmocka_build}libraries/shared/* ${work_path}libraries/shared/" fi - cp $verbose_common -R ${cmocka_build}libraries/shared/* ${work_path}libraries/shared/ + cp ${verbose_common} -R ${cmocka_build}libraries/shared/* ${work_path}libraries/shared/ - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to install cmocka libraries to '${c_notice}${work_path}libraries/shared/${c_error}'.${c_reset}" @@ -892,29 +920,29 @@ test_operate_ci_prebuild_libcap() { local libcap_uri="https://github.com/thekevinday/kernel.org-libcap.git" local libcap_branch="master" - if [[ -d $libcap_path ]] ; then - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ -d ${libcap_path} ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always - echo -e "Detected existing libcap repository at \"${c_notice}$libcap_path${c_reset}\", skipping the libcap process." + echo -e "Detected existing libcap repository at \"${c_notice}${libcap_path}${c_reset}\", skipping the libcap process." fi return 0 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "git clone $clone_quiet --single-branch -b $libcap_branch \"$libcap_uri\" $libcap_path" + echo "git clone ${clone_quiet} --single-branch -b ${libcap_branch} \"${libcap_uri}\" ${libcap_path}" fi - git clone $clone_quiet --single-branch -b $libcap_branch "$libcap_uri" $libcap_path + git clone ${clone_quiet} --single-branch -b ${libcap_branch} "${libcap_uri}" ${libcap_path} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to git clone '${c_notice}$libcap_uri${c_error}' onto '${c_notice}$libcap_path${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to git clone '${c_notice}${libcap_uri}${c_error}' onto '${c_notice}${libcap_path}${c_error}'.${c_reset}" fi let failure=1 @@ -922,19 +950,19 @@ test_operate_ci_prebuild_libcap() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo "cd $libcap_path" + echo "cd ${libcap_path}" fi - cd $libcap_path + cd ${libcap_path} - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to change libcap source directory '${c_notice}$libcap_path${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to change libcap source directory '${c_notice}${libcap_path}${c_error}'.${c_reset}" test_print_last fi @@ -944,7 +972,7 @@ test_operate_ci_prebuild_libcap() { return 1 fi - if [[ $verbosity == "debug" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always echo "make MANDIR=${work_path}fake/ SBINDIR=${work_path}fake/ INCDIR=${work_path}includes/ LIBDIR=${work_path}libraries/shared/ PKGCONFIGDIR=${work_path}fake/ install" @@ -952,8 +980,8 @@ test_operate_ci_prebuild_libcap() { make MANDIR=${work_path}fake/ SBINDIR=${work_path}fake/ INCDIR=${work_path}includes/ LIBDIR=${work_path}libraries/shared/ PKGCONFIGDIR=${work_path}fake/ install - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first echo -e "${c_error}ERROR: Failed to build and install libcap into the work directory '${c_notice}${work_path}${c_error}'.${c_reset}" @@ -971,23 +999,30 @@ test_operate_ci_prebuild_libcap() { test_operate_tests() { local project= - local path_original="$PWD/" - local destination="$path_test_work" + local path_original="${PWD}/" + local destination="${path_test_work}" + local thread_individual_param= + local thread_individual_value="${test_thread_individual}" + + if [[ ${test_thread_individual} != "" ]] ; then + thread_individual_param="-m" + fi - for project in $projects ; do + for project in ${projects} ; do - if [[ $verbosity != "quiet" && $verbosity != "error" ]] ; then + if [[ ${verbosity} != "quiet" && ${verbosity} != "error" ]] ; then test_print_first_or_always - echo -e "${c_highlight}Testing Project $project.${c_reset}" + echo -e "${c_highlight}Testing Project ${project}.${c_reset}" echo -e "${c_title}--------------------------------------${c_reset}" + echo fi - if [[ ! -d $path_test_package_individual$project-$version/ ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ! -d ${path_test_package_individual}${project}-${version}/ ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Package directory '${c_notice}$path_test_package_individual$project-$version${c_error}' is invalid or missing.${c_reset}" + echo -e "${c_error}ERROR: Package directory '${c_notice}${path_test_package_individual}${project}-${version}${c_error}' is invalid or missing.${c_reset}" test_print_last fi @@ -995,38 +1030,38 @@ test_operate_tests() { let failure=1 fi - if [[ $failure == "" ]] ; then - if [[ ! -f $path_test_package_individual$project-$version/data/build/testfile ]] ; then - if [[ $(echo $projects_no_tests | grep -o "\<$project\>") == "" ]] ; then - if [[ $verbosity == "verbose" || $verbosity == "debug" ]] ; then + if [[ ${failure} == "" ]] ; then + if [[ ! -f ${path_test_package_individual}${project}-${version}/data/build/testfile ]] ; then + if [[ $(echo ${projects_no_tests} | grep -o "\<${project}\>") == "" ]] ; then + if [[ ${verbosity} == "verbose" || ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo -e "${c_warning}WARNING: Project '${c_notice}$project${c_warning}' does not have a testfile.${c_reset}" + echo -e "${c_warning}WARNING: Project '${c_notice}${project}${c_warning}' does not have a testfile.${c_reset}" fi else test_print_first_or_always - echo -e "Project '${c_notice}$project${c_reset}' has no tests and is not expected to.${c_reset}" + echo -e "Project '${c_notice}${project}${c_reset}' has no tests and is not expected to.${c_reset}" fi continue fi fi - if [[ $failure == "" ]] ; then - if [[ $verbosity == "debug" ]] ; then + if [[ ${failure} == "" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - echo -e "Running '${c_notice}cd $path_test_package_individual$project-$version/${c_reset}'." + echo -e "Running '${c_notice}cd ${path_test_package_individual}${project}-${version}/${c_reset}'." fi - cd $path_test_package_individual$project-$version/ + cd ${path_test_package_individual}${project}-${version}/ - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failed to change into directory '${c_notice}$path_test_package_individual$project-$version${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failed to change into directory '${c_notice}${path_test_package_individual}${project}-${version}${c_error}'.${c_reset}" test_print_last fi @@ -1035,28 +1070,28 @@ test_operate_tests() { fi fi - if [[ $failure == "" ]] ; then - if [[ $verbosity == "debug" ]] ; then + if [[ ${failure} == "" ]] ; then + if [[ ${verbosity} == "debug" ]] ; then test_print_first_or_always - if [[ $build_compiler == "gcc" ]] ; then - echo "PATH=\"$env_path\" LD_LIBRARY_PATH=\"$env_libs\" fake $verbose $context -w \"$destination\" -m individual -m test clean make -f testfile $ci_arguments" + if [[ ${build_compiler} == "gcc" ]] ; then + echo "PATH=\"${env_path}\" LD_LIBRARY_PATH=\"${env_libs}\" fake ${verbose} ${context} -w \"${destination}\" -m individual -m ${test_thread} ${thread_individual_param} ${thread_individual_value} -m test clean make -f testfile ${ci_arguments}" else - echo "PATH=\"$env_path\" LD_LIBRARY_PATH=\"$env_libs\" fake $verbose $context -w \"$destination\" -m individual -m test -m $build_compiler clean make -f testfile $ci_arguments" + echo "PATH=\"${env_path}\" LD_LIBRARY_PATH=\"${env_libs}\" fake ${verbose} ${context} -w \"${destination}\" -m individual -m ${test_thread} ${thread_individual_param} ${thread_individual_value} -m test -m ${build_compiler} clean make -f testfile ${ci_arguments}" fi fi - if [[ $build_compiler == "gcc" ]] ; then - PATH="$env_path" LD_LIBRARY_PATH="$env_libs" fake $verbose $context -w "$destination" -m individual -m test clean make -f testfile $ci_arguments + if [[ ${build_compiler} == "gcc" ]] ; then + PATH="${env_path}" LD_LIBRARY_PATH="${env_libs}" fake ${verbose} ${context} -w "${destination}" -m individual -m ${test_thread} ${thread_individual_param} ${thread_individual_value} -m test clean make -f testfile ${ci_arguments} else - PATH="$env_path" LD_LIBRARY_PATH="$env_libs" fake $verbose $context -w "$destination" -m individual -m test -m $build_compiler clean make -f testfile $ci_arguments + PATH="${env_path}" LD_LIBRARY_PATH="${env_libs}" fake ${verbose} ${context} -w "${destination}" -m individual -m ${test_thread} ${thread_individual_param} ${thread_individual_value} -m test -m ${build_compiler} clean make -f testfile ${ci_arguments} fi - if [[ $? -ne 0 ]] ; then - if [[ $verbosity != "quiet" ]] ; then + if [[ ${?} -ne 0 ]] ; then + if [[ ${verbosity} != "quiet" ]] ; then test_print_first - echo -e "${c_error}ERROR: Failure while testing project '${c_notice}$project${c_reset}${c_error}'.${c_reset}" + echo -e "${c_error}ERROR: Failure while testing project '${c_notice}${project}${c_reset}${c_error}'.${c_reset}" test_print_last fi @@ -1065,14 +1100,14 @@ test_operate_tests() { fi fi - cd $path_original + cd ${path_original} - if [[ $failure != "" ]] ; then + if [[ ${failure} != "" ]] ; then break; fi done - if [[ $failure == "" ]] ; then + if [[ ${failure} == "" ]] ; then return 0 fi @@ -1081,7 +1116,7 @@ test_operate_tests() { test_print_first() { - if [[ $print_line_first == "yes" ]] ; then + if [[ ${print_line_first} == "yes" ]] ; then echo print_line_first= @@ -1090,11 +1125,11 @@ test_print_first() { test_print_first_or_always() { - if [[ $print_line_first == "yes" ]] ; then + if [[ ${print_line_first} == "yes" ]] ; then echo print_line_first= - elif [[ $print_line_first == "no" ]] ; then + elif [[ ${print_line_first} == "no" ]] ; then print_line_first= else echo @@ -1103,7 +1138,7 @@ test_print_first_or_always() { test_print_last() { - if [[ $print_line_last == "yes" ]] ; then + if [[ ${print_line_last} == "yes" ]] ; then echo fi } diff --git a/build/stand_alone/byte_dump.settings b/build/stand_alone/byte_dump.settings index 1f4a406af..4c4073a60 100644 --- a/build/stand_alone/byte_dump.settings +++ b/build/stand_alone/byte_dump.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling byte_dump as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libbyte_dump.so library. +# This will compile a program that does not have a libbyte_dump.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name byte_dump @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -75,10 +83,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_f_file_rename_use_renameat2_ defines -include sources/c/config.h -I sources/c/ -defines -D_di_libcap_ -D_di_pthread_support_ +#defines -D_f_file_rename_use_renameat2_ +defines -D_di_libcap_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/controller.settings b/build/stand_alone/controller.settings index 333ec5d23..e167a361e 100644 --- a/build/stand_alone/controller.settings +++ b/build/stand_alone/controller.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling controller as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libcontroller.so library. +# This will compile a program that does not have a libcontroller.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name controller @@ -12,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang as_init fanalyzer -modes_default stand_alone +modes stand_alone clang test fanalyzer thread threadless as_init +modes_default stand_alone thread build_compiler gcc build_compiler-clang clang @@ -44,12 +52,13 @@ build_sources_program fll/level_0/status_string.c build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c fll/level_0/string/dynamic.c fll/level_0/string/map.c fll/level_0/string/map_multi.c fll/level_0/string/private-dynamic.c fll/level_0/string/private-map.c fll/level_0/string/private-map_multi.c fll/level_0/string/private-quantity.c fll/level_0/string/private-range.c fll/level_0/string/private-triple.c fll/level_0/string/quantity.c fll/level_0/string/range.c fll/level_0/string/static.c fll/level_0/string/triple.c build_sources_program fll/level_0/socket.c -build_sources_program fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c build_sources_program fll/level_0/type_array/array_length.c fll/level_0/type_array/cell.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c build_sources_program fll/level_0/type_array/private-array_length.c fll/level_0/type_array/private-cell.c fll/level_0/type_array/private-fll_id.c fll/level_0/type_array/private-int8.c fll/level_0/type_array/private-int16.c fll/level_0/type_array/private-int32.c fll/level_0/type_array/private-int64.c fll/level_0/type_array/private-int128.c fll/level_0/type_array/private-state.c fll/level_0/type_array/private-status.c fll/level_0/type_array/private-uint8.c fll/level_0/type_array/private-uint16.c fll/level_0/type_array/private-uint32.c fll/level_0/type_array/private-uint64.c fll/level_0/type_array/private-uint128.c build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/map_multi.c fll/level_0/utf/static.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/private-dynamic.c fll/level_0/utf/private-map.c fll/level_0/utf/private-map_multi.c fll/level_0/utf/private-triple.c fll/level_0/utf/private-string.c +build_sources_program-thread fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c + build_sources_program fll/level_1/control_group.c build_sources_program fll/level_1/conversion.c fll/level_1/private-conversion.c fll/level_1/conversion/common.c build_sources_program fll/level_1/directory.c fll/level_1/private-directory.c @@ -109,10 +118,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_di_libcap_ -D_di_thread_support_ defines -include sources/c/config.h -I sources/c/ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-as_init -D_controller_as_init_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/fake.settings b/build/stand_alone/fake.settings index 0c998d80d..8c1a06ed8 100644 --- a/build/stand_alone/fake.settings +++ b/build/stand_alone/fake.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling fake as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libfake.so library. +# This will compile a program that does not have a libfake.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name fake @@ -12,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer -modes_default stand_alone +modes stand_alone clang test fanalyzer thread threadless +modes_default stand_alone thread build_compiler gcc build_compiler-clang clang @@ -42,12 +50,13 @@ build_sources_program fll/level_0/pipe.c build_sources_program fll/level_0/print.c fll/level_0/private-print.c fll/level_0/print/common.c fll/level_0/print/to.c fll/level_0/print/private-to.c build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c fll/level_0/string/dynamic.c fll/level_0/string/map.c fll/level_0/string/map_multi.c fll/level_0/string/private-dynamic.c fll/level_0/string/private-map.c fll/level_0/string/private-map_multi.c fll/level_0/string/private-quantity.c fll/level_0/string/private-range.c fll/level_0/string/private-triple.c fll/level_0/string/quantity.c fll/level_0/string/range.c fll/level_0/string/static.c fll/level_0/string/triple.c -build_sources_program fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c build_sources_program fll/level_0/type_array/array_length.c fll/level_0/type_array/cell.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c build_sources_program fll/level_0/type_array/private-array_length.c fll/level_0/type_array/private-cell.c fll/level_0/type_array/private-fll_id.c fll/level_0/type_array/private-int8.c fll/level_0/type_array/private-int16.c fll/level_0/type_array/private-int32.c fll/level_0/type_array/private-int64.c fll/level_0/type_array/private-int128.c fll/level_0/type_array/private-state.c fll/level_0/type_array/private-status.c fll/level_0/type_array/private-uint8.c fll/level_0/type_array/private-uint16.c fll/level_0/type_array/private-uint32.c fll/level_0/type_array/private-uint64.c fll/level_0/type_array/private-uint128.c build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/map_multi.c fll/level_0/utf/static.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/private-dynamic.c fll/level_0/utf/private-map.c fll/level_0/utf/private-map_multi.c fll/level_0/utf/private-triple.c fll/level_0/utf/private-string.c +build_sources_program-thread fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c + build_sources_program fll/level_1/control_group.c build_sources_program fll/level_1/conversion.c fll/level_1/private-conversion.c fll/level_1/conversion/common.c build_sources_program fll/level_1/directory.c fll/level_1/private-directory.c @@ -101,12 +110,13 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_di_libcap_ -#defines -D_f_file_rename_use_renameat2_ defines -include sources/c/config.h -I sources/c/ -#defines -D_libcap_legacy_only_ -D_di_pthread_support_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_f_file_rename_use_renameat2_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/firewall.settings b/build/stand_alone/firewall.settings index 44721dd18..a7bff7c2f 100644 --- a/build/stand_alone/firewall.settings +++ b/build/stand_alone/firewall.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling firewall as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libfirewall.so library. +# This will compile a program that does not have a libfirewall.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name firewall @@ -12,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer -modes_default stand_alone +modes stand_alone clang test fanalyzer thread threadless +modes_default stand_alone thread build_compiler gcc build_compiler-clang clang @@ -40,12 +48,13 @@ build_sources_program fll/level_0/pipe.c build_sources_program fll/level_0/print.c fll/level_0/private-print.c fll/level_0/print/common.c fll/level_0/print/to.c fll/level_0/print/private-to.c build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c fll/level_0/string/dynamic.c fll/level_0/string/map.c fll/level_0/string/map_multi.c fll/level_0/string/private-dynamic.c fll/level_0/string/private-map.c fll/level_0/string/private-map_multi.c fll/level_0/string/private-quantity.c fll/level_0/string/private-range.c fll/level_0/string/private-triple.c fll/level_0/string/quantity.c fll/level_0/string/range.c fll/level_0/string/static.c fll/level_0/string/triple.c -build_sources_program fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c build_sources_program fll/level_0/type_array/array_length.c fll/level_0/type_array/cell.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c build_sources_program fll/level_0/type_array/private-array_length.c fll/level_0/type_array/private-cell.c fll/level_0/type_array/private-fll_id.c fll/level_0/type_array/private-int8.c fll/level_0/type_array/private-int16.c fll/level_0/type_array/private-int32.c fll/level_0/type_array/private-int64.c fll/level_0/type_array/private-int128.c fll/level_0/type_array/private-state.c fll/level_0/type_array/private-status.c fll/level_0/type_array/private-uint8.c fll/level_0/type_array/private-uint16.c fll/level_0/type_array/private-uint32.c fll/level_0/type_array/private-uint64.c fll/level_0/type_array/private-uint128.c build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/map_multi.c fll/level_0/utf/static.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/private-dynamic.c fll/level_0/utf/private-map.c fll/level_0/utf/private-map_multi.c fll/level_0/utf/private-triple.c fll/level_0/utf/private-string.c +build_sources_program-thread fll/level_0/thread.c fll/level_0/private-thread.c fll/level_0/thread/attribute.c fll/level_0/thread/barrier.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/condition.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/id.c fll/level_0/thread/key.c fll/level_0/thread/lock.c fll/level_0/thread/lock_attribute.c fll/level_0/thread/mutex.c fll/level_0/thread/mutex_attribute.c fll/level_0/thread/once.c fll/level_0/thread/semaphore.c fll/level_0/thread/set.c fll/level_0/thread/spin.c + build_sources_program fll/level_1/control_group.c build_sources_program fll/level_1/conversion.c fll/level_1/private-conversion.c fll/level_1/conversion/common.c build_sources_program fll/level_1/environment.c @@ -92,9 +101,11 @@ environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH defines -include sources/c/config.h -I sources/c/ -#defines -D_di_libcap_ -D_di_thread_support_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/fss_identify.settings b/build/stand_alone/fss_identify.settings index 7c845c614..00d205d49 100644 --- a/build/stand_alone/fss_identify.settings +++ b/build/stand_alone/fss_identify.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling fss_identify as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libfss_identify.so library. +# This will compile a program that does not have a libfss_identify.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name fss_identify @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -79,10 +87,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_di_libcap_ -D_di_thread_support_ defines -include sources/c/config.h -I sources/c/ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/fss_status_code.settings b/build/stand_alone/fss_status_code.settings index 0db8761a0..0c551f1bf 100644 --- a/build/stand_alone/fss_status_code.settings +++ b/build/stand_alone/fss_status_code.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling fss_status_code as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libfss_status_code.so library. +# This will compile a program that does not have a libfss_status_code.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name fss_status_code @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -81,11 +89,13 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_f_file_rename_use_renameat2_ defines -include sources/c/config.h -I sources/c/ -#defines -D_di_libcap_ -D_di_thread_support_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_f_file_rename_use_renameat2_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/iki_read.settings b/build/stand_alone/iki_read.settings index b46617e26..fb3069cac 100644 --- a/build/stand_alone/iki_read.settings +++ b/build/stand_alone/iki_read.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling iki_read as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libiki_read.so library. +# This will compile a program that does not have a libiki_read.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name iki_read @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -78,10 +86,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_di_libcap_ -D_di_thread_support_ defines -include sources/c/config.h -I sources/c/ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/iki_write.settings b/build/stand_alone/iki_write.settings index e0f46a892..0ebb85780 100644 --- a/build/stand_alone/iki_write.settings +++ b/build/stand_alone/iki_write.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling iki_write as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libiki_write.so library. +# This will compile a program that does not have a libiki_write.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name iki_write @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -78,10 +86,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_di_libcap_ -D_di_thread_support_ defines -include sources/c/config.h -I sources/c/ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +#defines -D_di_libcap_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/status_code.settings b/build/stand_alone/status_code.settings index a08b01e7a..1349bd05b 100644 --- a/build/stand_alone/status_code.settings +++ b/build/stand_alone/status_code.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling status_code as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libstatus_code.so library. +# This will compile a program that does not have a libstatus_code.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name status_code @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -78,11 +86,13 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_f_file_rename_use_renameat2_ defines -include sources/c/config.h -I sources/c/ +#defines -D_f_file_rename_use_renameat2_ #defines -D_di_libcap_ -D_di_thread_support_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines -D_libcap_legacy_only_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces flags-clang -Wno-logical-op-parentheses diff --git a/build/stand_alone/utf8.settings b/build/stand_alone/utf8.settings index eb3487269..f1ac89b4d 100644 --- a/build/stand_alone/utf8.settings +++ b/build/stand_alone/utf8.settings @@ -1,7 +1,15 @@ # fss-0001 # # A custom build for compiling utf8 as a stand alone binary building in all of the FLL dependencies. -# This will compile a program that does not have a libutf8.so library. +# This will compile a program that does not have a libutf8.so library and builds all of the FLL dependencies into the resulting program. +# +# Modes: +# - stand_alone: The stand alone build mode, which in general should always be used. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. # build_name utf8 @@ -12,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes stand_alone clang fanalyzer +modes stand_alone clang test fanalyzer thread threadless modes_default stand_alone build_compiler gcc @@ -76,10 +84,12 @@ search_static yes environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH -#defines -D_f_file_rename_use_renameat2_ defines -include sources/c/config.h -I sources/c/ -defines -D_di_libcap_ -D_di_pthread_support_ +#defines -D_f_file_rename_use_renameat2_ +defines -D_di_libcap_ defines-clang -D_clang_not_a_compile_time_constant_workaround_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses flags-clang -Wno-logical-op-parentheses diff --git a/level_0/f_account/data/build/settings b/level_0/f_account/data/build/settings index c19a97580..d2735f1f2 100644 --- a/level_0/f_account/data/build/settings +++ b/level_0/f_account/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_account @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_capability/data/build/settings b/level_0/f_capability/data/build/settings index 778a2b06c..8f5a93c08 100644 --- a/level_0/f_capability/data/build/settings +++ b/level_0/f_capability/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_capability @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_color/data/build/settings b/level_0/f_color/data/build/settings index 2d050ee57..949988ce6 100644 --- a/level_0/f_color/data/build/settings +++ b/level_0/f_color/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_color @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_console/data/build/settings b/level_0/f_console/data/build/settings index e02c67476..2530a4f8e 100644 --- a/level_0/f_console/data/build/settings +++ b/level_0/f_console/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_console @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_control_group/data/build/settings b/level_0/f_control_group/data/build/settings index cc1bb4b5d..a7f5fb344 100644 --- a/level_0/f_control_group/data/build/settings +++ b/level_0/f_control_group/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_control_group @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_conversion/data/build/settings b/level_0/f_conversion/data/build/settings index 9d984e248..5b7afc221 100644 --- a/level_0/f_conversion/data/build/settings +++ b/level_0/f_conversion/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_conversion @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_directory/data/build/settings b/level_0/f_directory/data/build/settings index 6f16317f5..a1f0d4ece 100644 --- a/level_0/f_directory/data/build/settings +++ b/level_0/f_directory/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_directory @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_environment/data/build/settings b/level_0/f_environment/data/build/settings index 6ce3c6aaf..c6e07e01b 100644 --- a/level_0/f_environment/data/build/settings +++ b/level_0/f_environment/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_environment @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_execute/data/build/settings b/level_0/f_execute/data/build/settings index 2df7ee519..e73873430 100644 --- a/level_0/f_execute/data/build/settings +++ b/level_0/f_execute/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_execute @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_file/data/build/settings b/level_0/f_file/data/build/settings index 3bdb135f0..7bbb0543c 100644 --- a/level_0/f_file/data/build/settings +++ b/level_0/f_file/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_file @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_fss/data/build/settings b/level_0/f_fss/data/build/settings index 4f1bdd61c..b1751669d 100644 --- a/level_0/f_fss/data/build/settings +++ b/level_0/f_fss/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_fss @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_iki/data/build/settings b/level_0/f_iki/data/build/settings index 01605b2aa..619cdd296 100644 --- a/level_0/f_iki/data/build/settings +++ b/level_0/f_iki/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_iki @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_limit/data/build/settings b/level_0/f_limit/data/build/settings index 647a556f1..11455363d 100644 --- a/level_0/f_limit/data/build/settings +++ b/level_0/f_limit/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_limit @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_memory/data/build/settings b/level_0/f_memory/data/build/settings index d4fe6ba2a..82eb6eb7f 100644 --- a/level_0/f_memory/data/build/settings +++ b/level_0/f_memory/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_memory @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_path/data/build/settings b/level_0/f_path/data/build/settings index 5cb8f50eb..198579871 100644 --- a/level_0/f_path/data/build/settings +++ b/level_0/f_path/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_path @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_pipe/data/build/settings b/level_0/f_pipe/data/build/settings index 3337c9188..9ddf7986d 100644 --- a/level_0/f_pipe/data/build/settings +++ b/level_0/f_pipe/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_pipe @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_print/data/build/settings b/level_0/f_print/data/build/settings index faef9557b..b272e7d99 100644 --- a/level_0/f_print/data/build/settings +++ b/level_0/f_print/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_print @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_serialize/data/build/settings b/level_0/f_serialize/data/build/settings index 66a97665f..96acca708 100644 --- a/level_0/f_serialize/data/build/settings +++ b/level_0/f_serialize/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_serialize @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_signal/data/build/settings b/level_0/f_signal/data/build/settings index d4a321811..83a3128ba 100644 --- a/level_0/f_signal/data/build/settings +++ b/level_0/f_signal/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_signal @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_socket/data/build/settings b/level_0/f_socket/data/build/settings index b9bd17e69..8d0bbb74b 100644 --- a/level_0/f_socket/data/build/settings +++ b/level_0/f_socket/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_socket @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_status/data/build/settings b/level_0/f_status/data/build/settings index 16bdaae33..8732b14ac 100644 --- a/level_0/f_status/data/build/settings +++ b/level_0/f_status/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_status @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_status_string/data/build/settings b/level_0/f_status_string/data/build/settings index 73845ca5f..64d290c87 100644 --- a/level_0/f_status_string/data/build/settings +++ b/level_0/f_status_string/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_status_string @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_string/data/build/settings b/level_0/f_string/data/build/settings index d78f07621..a14eae1eb 100644 --- a/level_0/f_string/data/build/settings +++ b/level_0/f_string/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_string @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_thread/data/build/settings b/level_0/f_thread/data/build/settings index 7db0d18cd..e0dc4bf08 100644 --- a/level_0/f_thread/data/build/settings +++ b/level_0/f_thread/data/build/settings @@ -1,4 +1,18 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# +# Note: This adds "threadless" and "thread" for consistency reasons. This should never use "threadless" and using "thread" is redundant. +# build_name f_thread @@ -8,8 +22,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang @@ -17,7 +31,7 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -pthread -lc +build_libraries -lc build_libraries-individual -lf_memory -lf_string build_sources_library thread.c private-thread.c thread/attribute.c thread/barrier.c thread/barrier_attribute.c thread/condition.c thread/condition_attribute.c thread/id.c thread/key.c thread/lock.c thread/lock_attribute.c thread/mutex.c thread/mutex_attribute.c thread/once.c thread/semaphore.c thread/set.c thread/spin.c @@ -52,6 +66,7 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L defines -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-coverage -O0 --coverage -fprofile-abs-path -fprofile-dir=build/coverage/ diff --git a/level_0/f_type/data/build/settings b/level_0/f_type/data/build/settings index c0a1cb5d7..a6db2ac62 100644 --- a/level_0/f_type/data/build/settings +++ b/level_0/f_type/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_type @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_type_array/data/build/settings b/level_0/f_type_array/data/build/settings index 5b12b31c0..9b605ede7 100644 --- a/level_0/f_type_array/data/build/settings +++ b/level_0/f_type_array/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_type_array @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_0/f_utf/data/build/settings b/level_0/f_utf/data/build/settings index cf0777740..f161b53a9 100644 --- a/level_0/f_utf/data/build/settings +++ b/level_0/f_utf/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name f_utf @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_control_group/data/build/settings b/level_1/fl_control_group/data/build/settings index 0417a2a5b..089c048c7 100644 --- a/level_1/fl_control_group/data/build/settings +++ b/level_1/fl_control_group/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_control_group @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_conversion/data/build/settings b/level_1/fl_conversion/data/build/settings index 3372118b9..c91a46425 100644 --- a/level_1/fl_conversion/data/build/settings +++ b/level_1/fl_conversion/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_conversion @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_directory/data/build/settings b/level_1/fl_directory/data/build/settings index 6a2103710..df50076d5 100644 --- a/level_1/fl_directory/data/build/settings +++ b/level_1/fl_directory/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_directory @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_environment/data/build/settings b/level_1/fl_environment/data/build/settings index 784972975..00e4f0831 100644 --- a/level_1/fl_environment/data/build/settings +++ b/level_1/fl_environment/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_environment @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_execute/data/build/settings b/level_1/fl_execute/data/build/settings index ac8bdfc0c..73c7c3fcb 100644 --- a/level_1/fl_execute/data/build/settings +++ b/level_1/fl_execute/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_execute @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang @@ -19,6 +31,7 @@ build_language c build_libraries -lc -lcap build_libraries-individual -lf_capability -lf_execute -lf_limit -lf_memory -lf_signal -lf_string -lf_type_array +build_libraries-individual_thread -lf_thread build_sources_headers execute.h execute/common.h @@ -49,8 +62,11 @@ environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY L #defines -D_di_libcap_ defines -D_libcap_legacy_only_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-coverage -O0 --coverage -fprofile-abs-path -fprofile-dir=build/coverage/ diff --git a/level_1/fl_fss/data/build/settings b/level_1/fl_fss/data/build/settings index fd997d39d..9bc55a43a 100644 --- a/level_1/fl_fss/data/build/settings +++ b/level_1/fl_fss/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_fss @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_iki/data/build/settings b/level_1/fl_iki/data/build/settings index 582e87ec7..d3f52be68 100644 --- a/level_1/fl_iki/data/build/settings +++ b/level_1/fl_iki/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_iki @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_print/data/build/settings b/level_1/fl_print/data/build/settings index e7cfc8805..08feb9662 100644 --- a/level_1/fl_print/data/build/settings +++ b/level_1/fl_print/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_print @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_signal/data/build/settings b/level_1/fl_signal/data/build/settings index e52804fca..d72ebb3a5 100644 --- a/level_1/fl_signal/data/build/settings +++ b/level_1/fl_signal/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_signal @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_string/data/build/settings b/level_1/fl_string/data/build/settings index 2106a60f4..c9d1f01eb 100644 --- a/level_1/fl_string/data/build/settings +++ b/level_1/fl_string/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_string @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_utf/data/build/settings b/level_1/fl_utf/data/build/settings index fcf55d84d..f834a62a3 100644 --- a/level_1/fl_utf/data/build/settings +++ b/level_1/fl_utf/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_utf @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_1/fl_utf_file/data/build/settings b/level_1/fl_utf_file/data/build/settings index dd74c6037..9ff4e06f7 100644 --- a/level_1/fl_utf_file/data/build/settings +++ b/level_1/fl_utf_file/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fl_utf_file @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_control_group/data/build/settings b/level_2/fll_control_group/data/build/settings index abe9dc2b5..41f283000 100644 --- a/level_2/fll_control_group/data/build/settings +++ b/level_2/fll_control_group/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_control_group @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_error/data/build/settings b/level_2/fll_error/data/build/settings index 09de414f5..7724c5a46 100644 --- a/level_2/fll_error/data/build/settings +++ b/level_2/fll_error/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_error @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_execute/data/build/settings b/level_2/fll_execute/data/build/settings index ad96a6173..99a984eab 100644 --- a/level_2/fll_execute/data/build/settings +++ b/level_2/fll_execute/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_execute @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual individual_threadless clang test -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang @@ -18,8 +30,8 @@ build_indexer_arguments rcs build_language c build_libraries -lc -lcap -build_libraries-individual -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_execute -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf -build_libraries-individual_threadless -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_execute -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_execute -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_sources_library execute.c private-execute.c @@ -51,14 +63,15 @@ environment PATH LD_LIBRARY_PATH environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH #defines -D_di_libcap_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ -defines-individual_threadless -D_di_thread_support_ +defines -D_libcap_legacy_only_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-coverage -O0 --coverage -fprofile-abs-path -fprofile-dir=build/coverage/ -flags-individual -pthread flags_library -fPIC flags_object -fPIC diff --git a/level_2/fll_file/data/build/settings b/level_2/fll_file/data/build/settings index 2ed10cb4c..c6aea60fd 100644 --- a/level_2/fll_file/data/build/settings +++ b/level_2/fll_file/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_file @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_fss/data/build/settings b/level_2/fll_fss/data/build/settings index 63c6da43a..dadf89fbb 100644 --- a/level_2/fll_fss/data/build/settings +++ b/level_2/fll_fss/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_fss @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_fss_status_string/data/build/settings b/level_2/fll_fss_status_string/data/build/settings index d3d5038dd..1252ac5cf 100644 --- a/level_2/fll_fss_status_string/data/build/settings +++ b/level_2/fll_fss_status_string/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_fss_status_string @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_iki/data/build/settings b/level_2/fll_iki/data/build/settings index f7eb7bb1b..d951c55d5 100644 --- a/level_2/fll_iki/data/build/settings +++ b/level_2/fll_iki/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_iki @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_path/data/build/settings b/level_2/fll_path/data/build/settings index 20faa8217..f749c0ce0 100644 --- a/level_2/fll_path/data/build/settings +++ b/level_2/fll_path/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_path @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_print/data/build/settings b/level_2/fll_print/data/build/settings index 2de841eba..cb06df820 100644 --- a/level_2/fll_print/data/build/settings +++ b/level_2/fll_print/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_print @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_program/data/build/settings b/level_2/fll_program/data/build/settings index 4775b143a..16b9c2e4c 100644 --- a/level_2/fll_program/data/build/settings +++ b/level_2/fll_program/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_program @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_2/fll_status_string/data/build/settings b/level_2/fll_status_string/data/build/settings index 068230085..3f5dbc710 100644 --- a/level_2/fll_status_string/data/build/settings +++ b/level_2/fll_status_string/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fll_status_string @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual clang test coverage -modes_default individual +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default individual individual_thread thread build_compiler gcc build_compiler-clang clang diff --git a/level_3/byte_dump/data/build/settings b/level_3/byte_dump/data/build/settings index ba2382498..5a8dfcab3 100644 --- a/level_3/byte_dump/data/build/settings +++ b/level_3/byte_dump/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name byte_dump @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -55,9 +68,12 @@ search_static yes environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ -defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines -D_libcap_legacy_only_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/control/data/build/settings b/level_3/control/data/build/settings index f461ed9e8..6b6aa46d0 100644 --- a/level_3/control/data/build/settings +++ b/level_3/control/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name control @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfll_status_string -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/controller/data/build/settings b/level_3/controller/data/build/settings index 8c8d46024..b8556ff78 100644 --- a/level_3/controller/data/build/settings +++ b/level_3/controller/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name controller @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer as_init -modes_default monolithic +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default monolithic thread build_compiler gcc build_compiler-clang clang @@ -20,7 +32,8 @@ build_language c build_libraries -lc -lcap build_libraries-individual -lfll_control_group -lfll_error -lfll_execute -lfll_fss -lfll_path -lfll_print -lfll_program -lfll_status_string build_libraries-individual -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_string -build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf +build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_socket -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -68,9 +81,12 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ defines-as_init -D_controller_as_init_ -flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fake/data/build/settings b/level_3/fake/data/build/settings index ffa3007d8..437a3a9fa 100644 --- a/level_3/fake/data/build/settings +++ b/level_3/fake/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fake @@ -11,8 +23,8 @@ version_target minor process_pre process_pre.sh process_post process_post.sh -modes individual level monolithic clang test fanalyzer -modes_default monolithic +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default monolithic thread build_compiler gcc build_compiler-clang clang @@ -23,7 +35,8 @@ build_language c build_libraries -lc -lcap build_libraries-individual -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_print -lfll_program build_libraries-individual -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_string -build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf +build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -66,8 +79,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ -flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/firewall/data/build/settings b/level_3/firewall/data/build/settings index c41f0f4d7..e02d17cd8 100644 --- a/level_3/firewall/data/build/settings +++ b/level_3/firewall/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name firewall @@ -8,8 +20,8 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer -modes_default monolithic +modes individual individual_thread level monolithic clang test fanalyzer thread threadless +modes_default monolithic thread build_compiler gcc build_compiler-clang clang @@ -18,7 +30,8 @@ build_indexer_arguments rcs build_language c build_libraries -lc -lcap -build_libraries-individual -lfll_error -lfll_execute -lfll_fss -lfll_print -lfll_program -lfl_control_group -lfl_conversion -lfl_environment -lfl_fss -lfl_print -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_thread -lf_type_array -lf_utf +build_libraries-individual -lfll_error -lfll_execute -lfll_fss -lfll_print -lfll_program -lfl_control_group -lfl_conversion -lfl_environment -lfl_fss -lfl_print -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -58,8 +71,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ -flags -O2 -z now -g -pthread -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_basic_list_read/data/build/settings b/level_3/fss_basic_list_read/data/build/settings index 94571ac81..293bfdb02 100644 --- a/level_3/fss_basic_list_read/data/build/settings +++ b/level_3/fss_basic_list_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_basic_list_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_basic_list_write/data/build/settings b/level_3/fss_basic_list_write/data/build/settings index 943ba9c02..ca480bbd1 100644 --- a/level_3/fss_basic_list_write/data/build/settings +++ b/level_3/fss_basic_list_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_basic_list_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_basic_read/data/build/settings b/level_3/fss_basic_read/data/build/settings index e3ea60ddf..9cefd7ebf 100644 --- a/level_3/fss_basic_read/data/build/settings +++ b/level_3/fss_basic_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_basic_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_basic_write/data/build/settings b/level_3/fss_basic_write/data/build/settings index 338a551d4..9850ffc7e 100644 --- a/level_3/fss_basic_write/data/build/settings +++ b/level_3/fss_basic_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_basic_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_embedded_list_read/data/build/settings b/level_3/fss_embedded_list_read/data/build/settings index 764b976cd..f9855aaad 100644 --- a/level_3/fss_embedded_list_read/data/build/settings +++ b/level_3/fss_embedded_list_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_embedded_list_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -47,8 +60,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_embedded_list_write/data/build/settings b/level_3/fss_embedded_list_write/data/build/settings index b3f347cec..34c1551fc 100644 --- a/level_3/fss_embedded_list_write/data/build/settings +++ b/level_3/fss_embedded_list_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_embedded_list_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_extended_list_read/data/build/settings b/level_3/fss_extended_list_read/data/build/settings index 48fb89c2e..4e5a4b211 100644 --- a/level_3/fss_extended_list_read/data/build/settings +++ b/level_3/fss_extended_list_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_extended_list_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -47,8 +60,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_extended_list_write/data/build/settings b/level_3/fss_extended_list_write/data/build/settings index d2dce36f5..43ff858fa 100644 --- a/level_3/fss_extended_list_write/data/build/settings +++ b/level_3/fss_extended_list_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_extended_list_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -47,8 +60,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_extended_read/data/build/settings b/level_3/fss_extended_read/data/build/settings index d25c4178d..cb64a2b86 100644 --- a/level_3/fss_extended_read/data/build/settings +++ b/level_3/fss_extended_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_extended_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_extended_write/data/build/settings b/level_3/fss_extended_write/data/build/settings index ed62902d4..e87ef69b9 100644 --- a/level_3/fss_extended_write/data/build/settings +++ b/level_3/fss_extended_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_extended_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_identify/data/build/settings b/level_3/fss_identify/data/build/settings index b011e50b5..acbe3589f 100644 --- a/level_3/fss_identify/data/build/settings +++ b/level_3/fss_identify/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_identify @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_payload_read/data/build/settings b/level_3/fss_payload_read/data/build/settings index 18b6dcf60..ea2e30d1a 100644 --- a/level_3/fss_payload_read/data/build/settings +++ b/level_3/fss_payload_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_payload_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_payload_write/data/build/settings b/level_3/fss_payload_write/data/build/settings index 2418cc7f0..9a634515a 100644 --- a/level_3/fss_payload_write/data/build/settings +++ b/level_3/fss_payload_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_payload_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -47,8 +60,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/fss_status_code/data/build/settings b/level_3/fss_status_code/data/build/settings index f62d9d296..397285865 100644 --- a/level_3/fss_status_code/data/build/settings +++ b/level_3/fss_status_code/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name fss_status_code @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_fss_status_string -lfll_print -lfll_program -lfll_status_string -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/iki_read/data/build/settings b/level_3/iki_read/data/build/settings index f9e837595..0fcf69ea6 100644 --- a/level_3/iki_read/data/build/settings +++ b/level_3/iki_read/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name iki_read @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_iki -lfl_print -lfl_signal -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/iki_write/data/build/settings b/level_3/iki_write/data/build/settings index 4ca5f912f..bb97e5f74 100644 --- a/level_3/iki_write/data/build/settings +++ b/level_3/iki_write/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name iki_write @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_iki -lfll_print -lfll_program -lfl_iki -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/status_code/data/build/settings b/level_3/status_code/data/build/settings index 4094e7f5d..ad3ad6d8e 100644 --- a/level_3/status_code/data/build/settings +++ b/level_3/status_code/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name status_code @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_print -lfll_program -lfll_status_string -lfl_conversion -lfl_directory -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_status_string -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer diff --git a/level_3/utf8/data/build/settings b/level_3/utf8/data/build/settings index b03b4ffdc..27e67eda2 100644 --- a/level_3/utf8/data/build/settings +++ b/level_3/utf8/data/build/settings @@ -1,4 +1,16 @@ # fss-0001 +# +# Modes: +# - individual: Compile using per project (individual) libraries, does not handle thread or threadless cases. +# - individual_thread: This is required when compiling in individual mode with "thread" mode. +# - level: Compile using per level libraries. +# - monolithic: Compile using per monolithic libraries. +# - clang: Use clang rather than the default, which is generally gcc. +# - test: Compile for a test, such as unit testing. +# - fanalyzer: Compile using GCC's -fanalyzer compile time option. +# - thread: Compile with thread support. +# - threadless: Compile without thread support. +# build_name utf8 @@ -8,7 +20,7 @@ version_micro 5 version_file micro version_target minor -modes individual level monolithic clang test fanalyzer +modes individual individual_thread level monolithic clang test fanalyzer thread threadless modes_default monolithic build_compiler gcc @@ -19,6 +31,7 @@ build_language c build_libraries -lc build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf +build_libraries-individual_thread -lf_thread build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll @@ -56,8 +69,11 @@ environment PATH LD_LIBRARY_PATH #defines -D_di_libcap_ -D_di_thread_support_ defines -D_libcap_legacy_only_ -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ +defines-threadless -D_di_thread_support_ +defines-thread -D_pthread_attr_unsupported_ -D_pthread_sigqueue_unsupported_ flags -O2 -z now -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces +flags-thread -pthread flags-clang -Wno-logical-op-parentheses flags-test -O0 -fstack-protector -Wall flags-fanalyzer -fanalyzer