# HG changeset patch # User Mike Becker # Date 1776715298 -7200 # Node ID 6b07e7ed8f4664cef776816c03756ea65320b5dc # Parent 1eabc11235671bd8e9171ae224f8aa50e784e32f update uwproj diff -r 1eabc1123567 -r 6b07e7ed8f46 configure --- a/configure Mon Apr 20 22:00:43 2026 +0200 +++ b/configure Mon Apr 20 22:01:38 2026 +0200 @@ -85,7 +85,10 @@ printhelp() { echo "Usage: $0 [OPTIONS]..." - echo 'Configuration:' + if [ $has_overridable_config_vars__ -eq 1 ] ; then + echo + echo "Configuration:" + fi if true \ ; then : @@ -114,42 +117,43 @@ touch "$TEMP_DIR/features" # config variables +has_overridable_config_vars__=0 if true \ ; then : - if test -z "$SRCDIR__initialized__"; then + if [ -z "$SRCDIR__initialized__" ] ; then SRCDIR__initialized__=1 SRCDIR=`pwd` fi - if test -z "$BUILDDIR__initialized__"; then + if [ -z "$BUILDDIR__initialized__" ] ; then BUILDDIR__initialized__=1 BUILDDIR='${SRCDIR}/build' fi - if test -z "$LIB_EXT__initialized__"; then + if [ -z "$LIB_EXT__initialized__" ] ; then LIB_EXT__initialized__=1 LIB_EXT='.a' fi - if test -z "$MKDIR__initialized__"; then + if [ -z "$MKDIR__initialized__" ] ; then MKDIR__initialized__=1 MKDIR='mkdir' fi - if test -z "$MKDIRFLAGS__initialized__"; then + if [ -z "$MKDIRFLAGS__initialized__" ] ; then MKDIRFLAGS__initialized__=1 MKDIRFLAGS='-p' fi - if test -z "$RM__initialized__"; then + if [ -z "$RM__initialized__" ] ; then RM__initialized__=1 RM='rm' fi - if test -z "$RMFLAGS__initialized__"; then + if [ -z "$RMFLAGS__initialized__" ] ; then RMFLAGS__initialized__=1 RMFLAGS='-f -R' fi - if test -z "$AR__initialized__"; then + if [ -z "$AR__initialized__" ] ; then AR__initialized__=1 AR='ar' fi - if test -z "$ARFLAGS__initialized__"; then + if [ -z "$ARFLAGS__initialized__" ] ; then ARFLAGS__initialized__=1 ARFLAGS='-r' fi @@ -267,25 +271,22 @@ # generate vars.mk -cat > "$TEMP_DIR/vars.mk" << __EOF__ -SRCDIR=$SRCDIR -BUILDDIR=$BUILDDIR -LIB_EXT=$LIB_EXT -MKDIR=$MKDIR -MKDIRFLAGS=$MKDIRFLAGS -RM=$RM -RMFLAGS=$RMFLAGS -AR=$AR -ARFLAGS=$ARFLAGS -__EOF__ - +echo '# configuration' > "$TEMP_DIR/vars.mk" +echo "SRCDIR=$SRCDIR" >> "$TEMP_DIR/vars.mk" +echo "BUILDDIR=$BUILDDIR" >> "$TEMP_DIR/vars.mk" +echo "LIB_EXT=$LIB_EXT" >> "$TEMP_DIR/vars.mk" +echo "MKDIR=$MKDIR" >> "$TEMP_DIR/vars.mk" +echo "MKDIRFLAGS=$MKDIRFLAGS" >> "$TEMP_DIR/vars.mk" +echo "RM=$RM" >> "$TEMP_DIR/vars.mk" +echo "RMFLAGS=$RMFLAGS" >> "$TEMP_DIR/vars.mk" +echo "AR=$AR" >> "$TEMP_DIR/vars.mk" +echo "ARFLAGS=$ARFLAGS" >> "$TEMP_DIR/vars.mk" +echo >> "$TEMP_DIR/vars.mk" # # DEPENDENCIES # - - # create buffer for make variables required by dependencies echo > "$TEMP_DIR/make.mk" @@ -438,8 +439,10 @@ if [ -n "$TOOLCHAIN_CSTD" ]; then echo " default C std: $TOOLCHAIN_CSTD" fi -echo -echo "Config:" +if [ $has_overridable_config_vars__ -eq 1 ]; then + echo + echo "Config:" +fi echo # generate the config.mk file diff -r 1eabc1123567 -r 6b07e7ed8f46 make/configure.vm --- a/make/configure.vm Mon Apr 20 22:00:43 2026 +0200 +++ b/make/configure.vm Mon Apr 20 22:01:38 2026 +0200 @@ -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:" diff -r 1eabc1123567 -r 6b07e7ed8f46 make/toolchain.sh --- a/make/toolchain.sh Mon Apr 20 22:00:43 2026 +0200 +++ b/make/toolchain.sh Mon Apr 20 22:01:38 2026 +0200 @@ -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 }