Wed, 21 Jan 2026 21:25:32 +0100
update uwproj and start development of version 4.0.1
| CHANGELOG | file | annotate | diff | comparison | revisions | |
| configure | file | annotate | diff | comparison | revisions | |
| docs/Writerside/topics/about.md | file | annotate | diff | comparison | revisions | |
| docs/Writerside/writerside.cfg | file | annotate | diff | comparison | revisions | |
| make/cc.mk | file | annotate | diff | comparison | revisions | |
| make/clang.mk | file | annotate | diff | comparison | revisions | |
| make/configure.vm | file | annotate | diff | comparison | revisions | |
| make/gcc.mk | file | annotate | diff | comparison | revisions | |
| make/project.xml | file | annotate | diff | comparison | revisions | |
| make/suncc.mk | file | annotate | diff | comparison | revisions | |
| make/toolchain.sh | file | annotate | diff | comparison | revisions |
--- a/CHANGELOG Wed Dec 31 16:32:36 2025 +0100 +++ b/CHANGELOG Wed Jan 21 21:25:32 2026 +0100 @@ -1,5 +1,10 @@ -Version 4.0 - 2025-12-31 ------------------------- +Version 4.0.1 - 2025-12-31 +-------------------------- + + + +Version 4.0.0 - 2025-12-31 +-------------------------- * adds cx_system_page_size() to allocator.h * adds cx_compare_func2 function pointer that supports compare functions with custom data @@ -52,8 +57,8 @@ * removes the complicated wrapping of pointer lists * removes cxIteratorRef() -Version 3.2 - 2025-11-30 ------------------------- +Version 3.2.0 - 2025-11-30 +-------------------------- * adds cxMempoolTransfer() and cxMempoolTransferObject() * adds support for different destruction strategies in CxMempool @@ -112,8 +117,8 @@ * removes all functions that create mutating iterators in favor of making all iterators possibly mutating * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 -Version 3.1 - 2025-02-11 ------------------------- +Version 3.1.0 - 2025-02-11 +-------------------------- * adds properties.h * adds tree.h @@ -161,8 +166,8 @@ * fixes critical bug that produced wrong results when comparing lists of different type but same size * ends UCX 2.1 long term support -Version 3.0 - 2023-07-09 ------------------------- +Version 3.0.0 - 2023-07-09 +-------------------------- * complete redesign from scratch * collections can now store copies of objects and not just pointers @@ -174,8 +179,8 @@ * removes testing implementation from the lib -Version 2.1 - 2019-12-30 ------------------------- +Version 2.1.0 - 2019-12-30 +-------------------------- * adds string replace functions * adds set operations for UcxList and UcxMap @@ -192,8 +197,8 @@ * adds scstr_t - a const char* variant for sstr_t * renames utility compare functions -Version 1.1 - 2018-05-14 ------------------------- +Version 1.1.0 - 2018-05-14 +-------------------------- * adds missing 32 bit support to integer overflow checks * adds ucx_buffer_to_sstr() macro @@ -208,7 +213,7 @@ * some bug fixes * adds integer overflow checks -Version 1.0 - 2017-10-28 ------------------------- +Version 1.0.0 - 2017-10-28 +-------------------------- * first stable version of UCX released
--- a/configure Wed Dec 31 16:32:36 2025 +0100 +++ b/configure Wed Jan 21 21:25:32 2026 +0100 @@ -85,29 +85,32 @@ printhelp() { echo "Usage: $0 [OPTIONS]..." - echo 'Configuration:' + if [ $has_overridable_config_vars__ -eq 1 ] ; then + echo + echo "Configuration:" + fi if true \ ; then : - if test -z "$prefix__described__"; then + if [ -z "$prefix__described__" ] ; then prefix__described__=1 cat << '__EOF__' --prefix path prefix for architecture-independent files [/usr] __EOF__ fi - if test -z "$exec_prefix__described__"; then + if [ -z "$exec_prefix__described__" ] ; then exec_prefix__described__=1 cat << '__EOF__' --exec-prefix path prefix for architecture-dependent files [PREFIX] __EOF__ fi - if test -z "$libdir__described__"; then + if [ -z "$libdir__described__" ] ; then libdir__described__=1 cat << '__EOF__' --libdir object code libraries [EPREFIX/lib] __EOF__ fi - if test -z "$includedir__described__"; then + if [ -z "$includedir__described__" ] ; then includedir__described__=1 cat << '__EOF__' --includedir C header files [PREFIX/include] @@ -118,7 +121,7 @@ && isplatform "freebsd" \ ; then : - if test -z "$pkgconfigdir__described__"; then + if [ -z "$pkgconfigdir__described__" ] ; then pkgconfigdir__described__=1 cat << '__EOF__' --pkgconfigdir location of the *.pc files @@ -129,7 +132,7 @@ && notisplatform "freebsd" \ ; then : - if test -z "$pkgconfigdir__described__"; then + if [ -z "$pkgconfigdir__described__" ] ; then pkgconfigdir__described__=1 cat << '__EOF__' --pkgconfigdir location of the *.pc files @@ -139,7 +142,7 @@ if true \ ; then : - if test -z "$DOXYGEN__described__"; then + if [ -z "$DOXYGEN__described__" ] ; then DOXYGEN__described__=1 cat << '__EOF__' --doxygen path of the Doxygen executable @@ -181,74 +184,79 @@ touch "$TEMP_DIR/features" # config variables +has_overridable_config_vars__=0 if true \ ; then : - if test -z "$prefix__initialized__"; then + if [ -z "$prefix__initialized__" ] ; then + has_overridable_config_vars__=1 prefix__initialized__=1 prefix='/usr' fi - if test -z "$exec_prefix__initialized__"; then + if [ -z "$exec_prefix__initialized__" ] ; then + has_overridable_config_vars__=1 exec_prefix__initialized__=1 exec_prefix='' fi - if test -z "$libdir__initialized__"; then + if [ -z "$libdir__initialized__" ] ; then + has_overridable_config_vars__=1 libdir__initialized__=1 libdir='' fi - if test -z "$includedir__initialized__"; then + if [ -z "$includedir__initialized__" ] ; then + has_overridable_config_vars__=1 includedir__initialized__=1 includedir='' fi - if test -z "$VERSION__initialized__"; then + if [ -z "$VERSION__initialized__" ] ; then VERSION__initialized__=1 VERSION='4.0.0' fi - if test -z "$LIBVERSION__initialized__"; then + if [ -z "$LIBVERSION__initialized__" ] ; then LIBVERSION__initialized__=1 LIBVERSION='7.0.0' fi - if test -z "$LIBVERSION_MAJOR__initialized__"; then + if [ -z "$LIBVERSION_MAJOR__initialized__" ] ; then LIBVERSION_MAJOR__initialized__=1 LIBVERSION_MAJOR='7' fi - if test -z "$root_dir__initialized__"; then + if [ -z "$root_dir__initialized__" ] ; then root_dir__initialized__=1 root_dir=`pwd` fi - if test -z "$build_dir__initialized__"; then + if [ -z "$build_dir__initialized__" ] ; then build_dir__initialized__=1 build_dir='${root_dir}/build' fi - if test -z "$docs_dir__initialized__"; then + if [ -z "$docs_dir__initialized__" ] ; then docs_dir__initialized__=1 docs_dir='${root_dir}/build/docs' fi - if test -z "$dist_dir__initialized__"; then + if [ -z "$dist_dir__initialized__" ] ; then dist_dir__initialized__=1 dist_dir='${root_dir}/dist' fi - if test -z "$MKDIR__initialized__"; then + if [ -z "$MKDIR__initialized__" ] ; then MKDIR__initialized__=1 MKDIR='/bin/mkdir -p' fi - if test -z "$RMFILE__initialized__"; then + if [ -z "$RMFILE__initialized__" ] ; then RMFILE__initialized__=1 RMFILE='/bin/rm -f' fi - if test -z "$RMDIR__initialized__"; then + if [ -z "$RMDIR__initialized__" ] ; then RMDIR__initialized__=1 RMDIR='/bin/rm -f -R' fi - if test -z "$COPYFILE__initialized__"; then + if [ -z "$COPYFILE__initialized__" ] ; then COPYFILE__initialized__=1 COPYFILE='/bin/cp -f' fi - if test -z "$COPYALL__initialized__"; then + if [ -z "$COPYALL__initialized__" ] ; then COPYALL__initialized__=1 COPYALL='/bin/cp -f -R' fi - if test -z "$SYMLINK__initialized__"; then + if [ -z "$SYMLINK__initialized__" ] ; then SYMLINK__initialized__=1 SYMLINK='/bin/ln -s' fi @@ -257,7 +265,8 @@ && isplatform "freebsd" \ ; then : - if test -z "$pkgconfigdir__initialized__"; then + if [ -z "$pkgconfigdir__initialized__" ] ; then + has_overridable_config_vars__=1 pkgconfigdir__initialized__=1 pkgconfigdir='${exec_prefix}/libdata/pkgconfig' fi @@ -266,7 +275,8 @@ && notisplatform "freebsd" \ ; then : - if test -z "$pkgconfigdir__initialized__"; then + if [ -z "$pkgconfigdir__initialized__" ] ; then + has_overridable_config_vars__=1 pkgconfigdir__initialized__=1 pkgconfigdir='${libdir}/pkgconfig' fi @@ -274,7 +284,8 @@ if true \ ; then : - if test -z "$DOXYGEN__initialized__"; then + if [ -z "$DOXYGEN__initialized__" ] ; then + has_overridable_config_vars__=1 DOXYGEN__initialized__=1 DOXYGEN=`command -v doxygen || echo '/bin/false'` fi @@ -424,35 +435,32 @@ # generate vars.mk -cat > "$TEMP_DIR/vars.mk" << __EOF__ -prefix=$prefix -exec_prefix=$exec_prefix -libdir=$libdir -includedir=$includedir -VERSION=$VERSION -LIBVERSION=$LIBVERSION -LIBVERSION_MAJOR=$LIBVERSION_MAJOR -root_dir=$root_dir -build_dir=$build_dir -docs_dir=$docs_dir -dist_dir=$dist_dir -MKDIR=$MKDIR -RMFILE=$RMFILE -RMDIR=$RMDIR -COPYFILE=$COPYFILE -COPYALL=$COPYALL -SYMLINK=$SYMLINK -pkgconfigdir=$pkgconfigdir -DOXYGEN=$DOXYGEN -__EOF__ - +echo '# configuration' > "$TEMP_DIR/vars.mk" +echo "prefix=$prefix" >> "$TEMP_DIR/vars.mk" +echo "exec_prefix=$exec_prefix" >> "$TEMP_DIR/vars.mk" +echo "libdir=$libdir" >> "$TEMP_DIR/vars.mk" +echo "includedir=$includedir" >> "$TEMP_DIR/vars.mk" +echo "VERSION=$VERSION" >> "$TEMP_DIR/vars.mk" +echo "LIBVERSION=$LIBVERSION" >> "$TEMP_DIR/vars.mk" +echo "LIBVERSION_MAJOR=$LIBVERSION_MAJOR" >> "$TEMP_DIR/vars.mk" +echo "root_dir=$root_dir" >> "$TEMP_DIR/vars.mk" +echo "build_dir=$build_dir" >> "$TEMP_DIR/vars.mk" +echo "docs_dir=$docs_dir" >> "$TEMP_DIR/vars.mk" +echo "dist_dir=$dist_dir" >> "$TEMP_DIR/vars.mk" +echo "MKDIR=$MKDIR" >> "$TEMP_DIR/vars.mk" +echo "RMFILE=$RMFILE" >> "$TEMP_DIR/vars.mk" +echo "RMDIR=$RMDIR" >> "$TEMP_DIR/vars.mk" +echo "COPYFILE=$COPYFILE" >> "$TEMP_DIR/vars.mk" +echo "COPYALL=$COPYALL" >> "$TEMP_DIR/vars.mk" +echo "SYMLINK=$SYMLINK" >> "$TEMP_DIR/vars.mk" +echo "pkgconfigdir=$pkgconfigdir" >> "$TEMP_DIR/vars.mk" +echo "DOXYGEN=$DOXYGEN" >> "$TEMP_DIR/vars.mk" +echo >> "$TEMP_DIR/vars.mk" # # DEPENDENCIES # - - # create buffer for make variables required by dependencies echo > "$TEMP_DIR/make.mk" @@ -1037,20 +1045,34 @@ if [ -n "$TOOLCHAIN_CSTD" ]; then echo " default C std: $TOOLCHAIN_CSTD" fi -echo -echo "Config:" - printf ' %-16s' 'prefix:' - echo "$prefix" - printf ' %-16s' 'exec-prefix:' - echo "$exec_prefix" - printf ' %-16s' 'libdir:' - echo "$libdir" - printf ' %-16s' 'includedir:' - echo "$includedir" - printf ' %-16s' 'pkgconfigdir:' - echo "$pkgconfigdir" - printf ' %-16s' 'doxygen:' - echo "$DOXYGEN" +if [ $has_overridable_config_vars__ -eq 1 ]; then + echo + echo "Config:" + if [ -n "$prefix__initialized__" ]; then + printf ' %-16s' 'prefix:' + echo "$prefix" + fi + if [ -n "$exec_prefix__initialized__" ]; then + printf ' %-16s' 'exec-prefix:' + echo "$exec_prefix" + fi + if [ -n "$libdir__initialized__" ]; then + printf ' %-16s' 'libdir:' + echo "$libdir" + fi + if [ -n "$includedir__initialized__" ]; then + printf ' %-16s' 'includedir:' + echo "$includedir" + fi + if [ -n "$pkgconfigdir__initialized__" ]; then + printf ' %-16s' 'pkgconfigdir:' + echo "$pkgconfigdir" + fi + if [ -n "$DOXYGEN__initialized__" ]; then + printf ' %-16s' 'doxygen:' + echo "$DOXYGEN" + fi +fi echo echo "Features:" printf ' %-16s' 'api-docs:'
--- a/docs/Writerside/topics/about.md Wed Dec 31 16:32:36 2025 +0100 +++ b/docs/Writerside/topics/about.md Wed Jan 21 21:25:32 2026 +0100 @@ -26,7 +26,11 @@ ## Changelog -### Version 4.0 - 2025-12-31 {collapsible="true"} +### Version 4.0.1 - 2025-12-31 {collapsible="true"} + + + +### Version 4.0.0 - 2025-12-31 {collapsible="true"} * adds cx_system_page_size() to allocator.h * adds cx_compare_func2 function pointer that supports compare functions with custom data @@ -79,7 +83,7 @@ * removes the complicated wrapping of pointer lists * removes cxIteratorRef() -### Version 3.2 - 2025-11-30 {collapsible="true"} +### Version 3.2.0 - 2025-11-30 {collapsible="true"} * adds cxMempoolTransfer() and cxMempoolTransferObject() * adds support for different destruction strategies in CxMempool @@ -138,7 +142,7 @@ * removes all functions that create mutating iterators in favor of making all iterators possibly mutating * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 -### Version 3.1 - 2025-02-11 {collapsible="true"} +### Version 3.1.0 - 2025-02-11 {collapsible="true"} * adds properties.h * adds tree.h @@ -186,7 +190,7 @@ * fixes critical bug that produced wrong results when comparing lists of different type but same size * ends UCX 2.1 long term support -### Version 3.0 - 2023-07-09 {collapsible="true"} +### Version 3.0.0 - 2023-07-09 {collapsible="true"} * complete redesign from scratch * collections can now store copies of objects and not just pointers @@ -197,7 +201,7 @@ * drops some other, rarely used, features * removes testing implementation from the lib -### Version 2.1 - 2019-12-30 {collapsible="true"} +### Version 2.1.0 - 2019-12-30 {collapsible="true"} * adds string replace functions * adds set operations for ` UcxList` and `UcxMap` @@ -206,14 +210,14 @@ * adds `UcxArray` data type * adds support for CMake builds, but main build system is still autotools -### Version 2.0 - 2018-12-28 {collapsible="true"} +### Version 2.0.0 - 2018-12-28 {collapsible="true"} * some uncritical bug fixes * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero * adds `scstr_t` - a `const char*` variant for sstr_t * renames utility compare functions -### Version 1.1 - 2018-05-14 {collapsible="true"} +### Version 1.1.0 - 2018-05-14 {collapsible="true"} * adds missing 32 bit support to integer overflow checks * adds `ucx_buffer_to_sstr()` macro @@ -227,6 +231,6 @@ * some bug fixes * adds integer overflow checks -### Version 1.0 - 2017-10-28 {collapsible="true"} +### Version 1.0.0 - 2017-10-28 {collapsible="true"} * first stable version of UCX released
--- a/docs/Writerside/writerside.cfg Wed Dec 31 16:32:36 2025 +0100 +++ b/docs/Writerside/writerside.cfg Wed Jan 21 21:25:32 2026 +0100 @@ -5,5 +5,5 @@ <topics dir="topics" web-path="topics"/> <categories src="c.list"/> <images dir="images" web-path="images"/> - <instance src="ucx.tree" version="4.0"/> + <instance src="ucx.tree" version="4.0.1"/> </ihp> \ No newline at end of file
--- a/make/cc.mk Wed Dec 31 16:32:36 2025 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -# -# cc toolchain config -# - -CFLAGS = -DEBUG_CFLAGS = -g -RELEASE_CFLAGS = -O3 -DNDEBUG -LDFLAGS = - -SHLIB_CFLAGS = -fPIC -SHLIB_LDFLAGS = -shared
--- a/make/clang.mk Wed Dec 31 16:32:36 2025 +0100 +++ b/make/clang.mk Wed Jan 21 21:25:32 2026 +0100 @@ -2,11 +2,5 @@ # clang toolchain config # -CFLAGS = CXXFLAGS = -fpermissive DEBUG_CFLAGS = -g -Wall -Wextra -pedantic -RELEASE_CFLAGS = -O3 -DNDEBUG -LDFLAGS = - -SHLIB_CFLAGS = -fPIC -SHLIB_LDFLAGS = -shared
--- a/make/configure.vm Wed Dec 31 16:32:36 2025 +0100 +++ b/make/configure.vm Wed Jan 21 21:25:32 2026 +0100 @@ -86,7 +86,10 @@ printhelp() { echo "Usage: $0 [OPTIONS]..." - echo 'Configuration:' + if [ $has_overridable_config_vars__ -eq 1 ] ; then + echo + echo "Configuration:" + fi #foreach( $cfg in $config ) if true \ #if( $cfg.platform ) @@ -99,7 +102,7 @@ : #foreach( $var in $cfg.vars ) #if( $var.overridable ) - if test -z "${D}${var.varName}__described__"; then + if [ -z "${D}${var.varName}__described__" ] ; then ${var.varName}__described__=1 cat << '__EOF__' ${var.helpText} @@ -147,6 +150,7 @@ touch "$TEMP_DIR/features" # config variables +has_overridable_config_vars__=0 #foreach( $cfg in $config ) if true \ #if( $cfg.platform ) @@ -158,7 +162,10 @@ ; then : #foreach( $var in $cfg.vars ) - if test -z "${D}${var.varName}__initialized__"; then + if [ -z "${D}${var.varName}__initialized__" ] ; then + #if( $var.overridable ) + has_overridable_config_vars__=1 + #end ${var.varName}__initialized__=1 #if( $var.exec ) ${var.varName}=`${var.value}` @@ -304,19 +311,16 @@ ## End of unparsed content ** # generate vars.mk -cat > "$TEMP_DIR/vars.mk" << __EOF__ +echo '# configuration' > "$TEMP_DIR/vars.mk" #foreach( $var in $vars ) -${var.varName}=${D}${var.varName} +echo "${var.varName}=${D}${var.varName}" >> "$TEMP_DIR/vars.mk" #end -__EOF__ - +echo >> "$TEMP_DIR/vars.mk" # # DEPENDENCIES # - - # create buffer for make variables required by dependencies echo > "$TEMP_DIR/make.mk" @@ -714,14 +718,18 @@ if [ -n "$TOOLCHAIN_CSTD" ]; then echo " default C std: $TOOLCHAIN_CSTD" fi -echo -echo "Config:" +if [ ${D}has_overridable_config_vars__ -eq 1 ]; then + echo + echo "Config:" #foreach( $var in $vars ) #if ($var.overridable) - printf ' %-16s' '${var.arg}:' - echo "${D}${var.varName}" + if [ -n "${D}${var.varName}__initialized__" ]; then + printf ' %-16s' '${var.arg}:' + echo "${D}${var.varName}" + fi #end #end +fi #if ( $options.size() > 0 ) echo echo "Options:"
--- a/make/gcc.mk Wed Dec 31 16:32:36 2025 +0100 +++ b/make/gcc.mk Wed Jan 21 21:25:32 2026 +0100 @@ -2,14 +2,8 @@ # gcc toolchain config # -CFLAGS = CXXFLAGS = -fpermissive DEBUG_CFLAGS = -g -Wall -Wextra -pedantic -RELEASE_CFLAGS = -O3 -DNDEBUG -LDFLAGS = - -SHLIB_CFLAGS = -fPIC -SHLIB_LDFLAGS = -shared COVERAGE_CFLAGS = --coverage -DNDEBUG COVERAGE_LDFLAGS = --coverage
--- a/make/project.xml Wed Dec 31 16:32:36 2025 +0100 +++ b/make/project.xml Wed Jan 21 21:25:32 2026 +0100 @@ -5,8 +5,8 @@ <exec-prefix/> <libdir/> <includedir/> - <var name="VERSION">4.0.0</var> - <var name="LIBVERSION">7.0.0</var> + <var name="VERSION">4.0.1</var> + <var name="LIBVERSION">7.0.1</var> <var name="LIBVERSION_MAJOR">7</var> <var name="root_dir" exec="true">pwd</var> <var name="build_dir">${root_dir}/build</var>
--- a/make/suncc.mk Wed Dec 31 16:32:36 2025 +0100 +++ b/make/suncc.mk Wed Jan 21 21:25:32 2026 +0100 @@ -2,10 +2,5 @@ # suncc toolchain # -CFLAGS = -DEBUG_CFLAGS = -g -RELEASE_CFLAGS = -O3 -DNDEBUG -LDFLAGS = - SHLIB_CFLAGS = -Kpic SHLIB_LDFLAGS = -G
--- a/make/toolchain.sh Wed Dec 31 16:32:36 2025 +0100 +++ b/make/toolchain.sh Wed Jan 21 21:25:32 2026 +0100 @@ -162,21 +162,66 @@ fi } +is_flag_not_specified() +{ + # 1: flag to test + # 2: toolchain.mk file + if [ -n "$2" ] && grep "^ *$1 *=" "$2" > /dev/null; then + return 1 + else + return 0 + fi +} + write_toolchain_defaults() { + if [ -f "make/${TOOLCHAIN_NAME}.mk" ]; then + mkfile="make/${TOOLCHAIN_NAME}.mk" + elif [ -f 'make/cc.mk' ]; then + mkfile='make/cc.mk' + else + mkfile='' + fi + echo "# toolchain" >> "$1" if [ -n "$TOOLCHAIN_CC" ]; then echo "CC = ${TOOLCHAIN_CC}" >> "$1" + if is_flag_not_specified 'CFLAGS' "$mkfile"; then + echo 'CFLAGS =' >> "$1" + fi + if is_flag_not_specified 'DEBUG_CFLAGS' "$mkfile"; then + echo 'DEBUG_CFLAGS = -g' >> "$1" + fi + if is_flag_not_specified 'RELEASE_CFLAGS' "$mkfile"; then + echo 'RELEASE_CFLAGS = -O3 -DNDEBUG' >> "$1" + fi + if is_flag_not_specified 'SHLIB_CFLAGS' "$mkfile"; then + echo 'SHLIB_CFLAGS = -fPIC' >> "$1" + fi fi if [ -n "$TOOLCHAIN_CXX" ]; then echo "CXX = ${TOOLCHAIN_CXX}" >> "$1" + if is_flag_not_specified 'CXXFLAGS' "$mkfile"; then + echo 'CXXFLAGS =' >> "$1" + fi + if is_flag_not_specified 'DEBUG_CXXFLAGS' "$mkfile"; then + echo 'DEBUG_CXXFLAGS = -g' >> "$1" + fi + if is_flag_not_specified 'RELEASE_CXXFLAGS' "$mkfile"; then + echo 'RELEASE_CXXFLAGS = -O3 -DNDEBUG' >> "$1" + fi + if is_flag_not_specified 'SHLIB_CXXFLAGS' "$mkfile"; then + echo 'SHLIB_CXXFLAGS = -fPIC' >> "$1" + fi + fi + if is_flag_not_specified 'LDFLAGS' "$mkfile"; then + echo 'LDFLAGS =' >> "$1" + fi + if is_flag_not_specified 'SHLIB_LDFLAGS' "$mkfile"; then + echo 'SHLIB_LDFLAGS = -shared' >> "$1" fi echo >> "$1" - if [ -f "make/${TOOLCHAIN_NAME}.mk" ]; then - cat "make/${TOOLCHAIN_NAME}.mk" >> "$1" - elif [ -f "make/cc.mk" ]; then - cat "make/cc.mk" >> "$1" - else - echo "!!! WARNING !!! Default toolchain flags not found. Configuration might be incomplete." + if [ -n "$mkfile" ]; then + cat "$mkfile" >> "$1" fi }