1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: scripts/parse-config
3 # Copyright (C) 2004 - 2024 The T2 SDE Project
4 # Copyright (C) 1998 - 2003 ROCK Linux Project
6 # This Copyright note is generated by scripts/Create-CopyPatch,
7 # more information can be found in the files COPYING and README.
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License version 2.
11 # --- T2-COPYRIGHT-NOTE-END ---
13 # This script sets environment settings and parses the
14 # configuration file config/$config/config
16 # [BEGIN] of version section
18 # [END] of version section
20 crossnative=native arch=any stagelevel=${stagelevel:-1} arch_target=any-unknown-linux
21 arch_sizeof_long_long=undef arch_sizeof_int=undef arch_sizeof_short=undef
22 arch_sizeof_char_p=undef arch_sizeof_long=undef arch_bigendian=undef
23 export arch_machine=undef
25 if [ -f config/$config/config ]
27 . config/$config/config
30 echo "ERROR: No configuration '$config' found!"
32 echo "Please create a configuration using scripts/Config."
37 if [ "${!SDEDEBUG_*}" ]; then
38 echo "WARNING: Found SDEDEBUG_* in environment!" >&2
41 . misc/output/parse-config
43 # enable bash getconf plugin, if possible, in case system does not have a getconf
44 enable getconf 2>/dev/null
46 [ "$SDECFG_PARALLEL_MAX" = "auto" ] &&
47 SDECFG_PARALLEL_MAX="$(getconf _NPROCESSORS_ONLN)"
49 [ "$SDECFG_CROSSBUILD" = 1 ] && crossnative=cross
50 arch="${SDECFG_ARCH:-none}" target="${SDECFG_TARGET:-none}"
53 targetchain="$target" x="$target"
54 while [ -f "target/$x/extends" ]; do
55 x="$(< target/$x/extends)"
56 targetchain="$targetchain $x"
59 if [ -f "architecture/$arch/archtest.out" ]
60 then . "architecture/$arch/archtest.out"; fi
62 if [ -f "architecture/$arch/archtest.sh" ]
63 then . "architecture/$arch/archtest.sh"; fi
67 if [ "$SDE_THIS_IS_CHROOT" = 1 ]
71 if [ $stagelevel -le 2 -a "$SDECFG_USE_CROSSCC" = 1 ]
80 for x in ${PATH//:/ }; do
81 if [ -d "$x" -a -z "${x##/*}" -a -n "${x##$base/*}" -a \
82 "$x" != "$CMD_WRAPPER_MYPATH" -a "$x" != "." ]; then
83 new_path="$new_path:$x"
86 export PATH="${new_path#:}"
89 export PATH="$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/bin:$PATH"
90 export PATH="$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/wrapper:$PATH"
91 export LC_ALL=C; unset LANG; umask 022
93 export BUILDCC="cc" BUILD_CC="cc" HOSTCC="cc" HOST_CC="cc"
94 export BUILDCXX="c++" BUILD_CXX="c++" HOSTCXX="c++" HOST_CXX="c++"
96 unset CPP ARFLAGS ASFLAGS CFLAGS CXXFLAGS CPPFLAGS FFLAGS LDFLAGS
97 unset LD_LIBRARY_PATH LD_PRELOAD FLWRAPPER C_INCLUDE_PATH CONFIG_SITE
102 export STRIP_WRAPPER_MYPATH="$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/wrapper"
103 export STRIP_WRAPPER_NOLOOP=0
105 export INSTALL_WRAPPER_MYPATH="$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/wrapper"
106 export INSTALL_WRAPPER_LOGFILE="/dev/null"
107 export INSTALL_WRAPPER_FILTER=""
108 export INSTALL_WRAPPER_NOLOOP=0
110 export CMD_WRAPPER_MYPATH="$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/wrapper"
111 export CMD_WRAPPER_LOGFILE="" CMD_WRAPPER_DEBUG=0 CMD_WRAPPER_BYPASS=0
112 export CMD_WRAPPER_NOLOOP=0; unset CMD_WRAPPER_OTHERS_TMP
114 export LDCONFIG=$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/wrapper/ldconfig
116 if [ -f $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/wrapper-config ]
117 then . $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/wrapper-config; fi
119 if [ "$stagelevel" -gt 2 -o "$SDECFG_USE_CROSSCC" = 0 ]
121 if [ -f $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/parse-config-fixarch ]
122 then . $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/parse-config-fixarch; fi
124 arch_build="$arch_target" archprefix=""
126 # remove wrapper path to run system uname
127 arch_build="`PATH="${PATH/$CMD_WRAPPER_MYPATH:/}" uname -m |
128 sed 's/ppc/powerpc/'`-nocross-linux-gnu"
130 if [ -f $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/parse-config-fixarch ]
131 then . $base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/lib/parse-config-fixarch; fi
133 if [ $stagelevel -eq 1 -o $stagelevel -eq 2 ]; then
134 archprefix="${arch_target}-"
135 if [ ! -f "$base/build/$SDECFG_ID/TOOLCHAIN/$toolsdir/bin/${archprefix}cc" ]
136 then archprefix="Cross_CC_not_built_so_far_"; fi
140 export CC="${archprefix}cc" CXX="${archprefix}c++" CPP="${archprefix}cpp"
141 export AS="${archprefix}as" STRIP="${archprefix}strip" OBJCOPY="${archprefix}objcopy"
142 export LD="${archprefix}ld" GASP="${archprefix}gasp" OBJDUMP="${archprefix}objdump"
143 export AR="${archprefix}ar" RANLIB="${archprefix}ranlib"
144 export NM="${archprefix}nm" KCC="${archprefix}kcc"
145 export F77="${archprefix}f77" MAKE="make"
146 export AWK="gawk" SED="sed"
148 # silently ignore tail / head and co related errors due to obsolete argument
149 # usage (fixes a lot of stuff)
150 export _POSIX2_VERSION=199209