toolchain mods, glibc and gcc still need some checking
[hdw-linux/hdw-linux.git] / scripts / Config
index 9d85cc0..c1581e7 100755 (executable)
@@ -1,26 +1,27 @@
 #
 # hdw-linux Config script
 #
-# author:      hackbard
+# author: hackbard@hackdaworld.org
 #
 # script initializing environment
 # 
 
-hdw_status=""
+stage=""
 
 while [ "$1" ] ; do
        case "$1" in
-               -stage)         hdw_status="$2"         ; shift 2 ;;
+               -stage)         stage="$2"              ; shift 2 ;;
                *)              echo 
                                echo "Usage:"
                                echo
                                echo " ./scripts/Config -stage <stagelevel>"
-                               echo ;;
+                               echo
+                               shift 1 ; exit 1 ;;
        esac
 done
 
-if [ -z "$hdw_status" ]; then
-       echo "something went wrong. stage needs to be specified."
+if [ -z "$stage" ]; then
+       echo "something went wrong, no stage specified."
        exit 1
 fi
 
@@ -39,17 +40,12 @@ else
        exit 1
 fi
 
-# define the stage 0/1 prefix to use
-# default "static", though no static linking is done anymore in stage1
-if [ -z "$hdw_stage1_prefix" ] ; then
-        s1_prefix="static" # default
-else
-       s1_prefix=$hdw_stage1_prefix
-fi
+# define the toolchain name, default: "toolchain"
+[ -z "$hdw_tc_name" ] && hdw_tc_name="toolchain"
 
 # lets see what root is:
 root=""
-if [ "$hdw_crossbuild" != "0" -o "$hdw_status" -lt "2" ] ; then
+if [ "$hdw_crossbuild" != "0" -o "$stage" -lt "2" ] ; then
        # check for properly configured build directory
        if [ -z "$hdw_build_dir" ] ; then
                echo "please set hdw_build_dir in ./Config!"
@@ -67,8 +63,8 @@ fi
 set +h
 umask 022
 export LC_ALL=POSIX
-[ "$hdw_status" -lt "2" -o "$hdw_crossbuild" != "0" ] && \
-       export PATH="$root/${s1_prefix}/bin:$PATH"
+[ "$stage" -lt "2" -o "$hdw_crossbuild" != "0" ] && \
+       export PATH="$root/${hdw_tc_name}/bin:$PATH"
 
 # let's do optimization and care for crossbuilds
 #
@@ -133,24 +129,29 @@ esac
 
 # --host: system where the created executable runs on.
 hdw_arch_host=${hdw_arch_build}
-[ "$hdw_status" != "0" ] && hdw_arch_host=${hdw_arch_target}
+[ "$stage" != "0" -a "$hdw_crossbuild" = "0" ] && \
+       hdw_arch_host=${hdw_arch_target}
 
 # -O flag
 # optimization only at stages >= 1
-[ -n "$hdw_opt" ] && hdw_cflags="-O${hdw_opt} $hdw_cflags"
+if [ -n "$hdw_opt" -a "$stage" != "0" ] ; then
+       hdw_cflags="-O${hdw_opt} $hdw_cflags"
+else
+       unset hdw_cflags
+fi
 
 # build tools to use
-# should be the same like host imho, right?
-hdw_arch_prefix="$hdw_arch_host-"
+hdw_arch_prefix=""
+[ "$stage" != "0" ] && hdw_arch_prefix="$hdw_arch_target-"
 
 # print decissions for debugging ...
 echo "root variable set to '$root'"
 echo "hdw_arch_target variable set to $hdw_arch_target"
 echo "hdw_arch_build variable set to $hdw_arch_build"
-echo "hdw_arch_host variable ste to $hdw_arch_host"
-echo "hdw_arch_prefix variable set to $hdw_arch_prefix"
-echo "hdw_cflags variable set to $hdw_cflags"
-[ "$hdw_status" = "1" ] && echo "hdw_stage1_prefix set to '$s1_prefix'"
+echo "hdw_arch_host variable set to $hdw_arch_host"
+echo "hdw_arch_prefix variable set to '$hdw_arch_prefix'"
+echo "hdw_cflags variable set to '$hdw_cflags'"
+echo "hdw_tc_name set to '$hdw_tc_name'"
 
 # lets see what we are going to build
 if [ -z $hdw_target ] ; then