From 9fe2bb77c40f5fd3624b30f1b0c3cd8b791ca615 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 29 Jan 2016 19:45:51 +0100 Subject: unified build scheme: a first introduction The "unified" build scheme revolves around small information files, build.info, which each describe their own bit of everything that needs to be built, using a mini-language described in Configurations/README. The information in build.info file contain references to source files and final result. Object files are not mentioned at all, they are simply from source files. Because of this, all the *_obj items in Configurations/*.conf are renamed to *_asm_src and the files listed in the values are change from object files to their corresponding source files. For the sake of the other build schemes, Configure generates corresponding *_obj entries in %target. Furthermore, the "unified" build scheme supports having a build directory tree separate from the source directry tree. All paths in a build.info file is assumed to be relative to its location, either within the source tree or within the build tree. Reviewed-by: Andy Polyakov --- config | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'config') diff --git a/config b/config index 9f15553a8b..a70e3a2dd1 100755 --- a/config +++ b/config @@ -23,6 +23,7 @@ SUFFIX="" TEST="false" EXE="" +THERE=`dirname $0` # pick up any command line args to config for i @@ -476,7 +477,7 @@ case "$GUESSOS" in ;; mips4-sgi-irix64) echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure irix64-mips4-$CC' *manually*." + echo " invoke '$THERE/Configure irix64-mips4-$CC' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -495,7 +496,7 @@ case "$GUESSOS" in ISA64=`(sysctl -n hw.optional.64bitops) 2>/dev/null` if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure darwin64-ppc-cc' *manually*." + echo " invoke '$THERE/Configure darwin64-ppc-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -510,7 +511,7 @@ case "$GUESSOS" in ISA64=`(sysctl -n hw.optional.x86_64) 2>/dev/null` if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure darwin64-x86_64-cc $options' *manually*." + echo " invoke '$THERE/Configure darwin64-x86_64-cc $options' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." # The stty technique used elsewhere doesn't work on @@ -548,7 +549,7 @@ case "$GUESSOS" in ppc64-*-linux2) if [ -z "$KERNEL_BITS" ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure linux-ppc64' *manually*." + echo " invoke '$THERE/Configure linux-ppc64' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -565,7 +566,7 @@ case "$GUESSOS" in ppc-*-linux2) OUT="linux-ppc" ;; mips64*-*-linux2) echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure linux64-mips64' *manually*." + echo " invoke '$THERE/Configure linux64-mips64' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -582,7 +583,7 @@ case "$GUESSOS" in sparc64-*-linux2) echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI" echo " and wish to build 64-bit library, then you have to" - echo " invoke './Configure linux64-sparcv9' *manually*." + echo " invoke '$THERE/Configure linux64-sparcv9' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -659,7 +660,7 @@ case "$GUESSOS" in if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure solaris64-sparcv9-cc' *manually*." + echo " invoke '$THERE/Configure solaris64-sparcv9-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -671,7 +672,7 @@ case "$GUESSOS" in # and therefore switch over to 64-bit. OUT="solaris64-sparcv9-gcc" echo "WARNING! If you wish to build 32-bit library, then you have to" - echo " invoke './Configure solaris-sparcv9-gcc' *manually*." + echo " invoke '$THERE/Configure solaris-sparcv9-gcc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -679,7 +680,7 @@ case "$GUESSOS" in elif [ "$GCC_ARCH" = "-m32" ]; then echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI" echo " and wish to build 64-bit library, then you have to" - echo " invoke './Configure solaris64-sparcv9-gcc' *manually*." + echo " invoke '$THERE/Configure solaris64-sparcv9-gcc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -760,7 +761,7 @@ case "$GUESSOS" in OUT=${OUT:-"hpux-parisc2-${CC}"} if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then echo "WARNING! If you wish to build 64-bit library then you have to" - echo " invoke './Configure hpux64-parisc2-cc' *manually*." + echo " invoke '$THERE/Configure hpux64-parisc2-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -792,7 +793,7 @@ case "$GUESSOS" in OUT="aix-cc" if [ $KERNEL_BITS -eq 64 ]; then echo "WARNING! If you wish to build 64-bit kit, then you have to" - echo " invoke './Configure aix64-cc' *manually*." + echo " invoke '$THERE/Configure aix64-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have ~5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 @@ -859,7 +860,7 @@ esac for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha do - if [ ! -d crypto/$i ] + if [ ! -d $THERE/crypto/$i ] then options="$options no-$i" fi @@ -898,21 +899,21 @@ fi # compiler for the platform ... in which case we add it on # the end ... otherwise we leave it off -$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null +$PERL $THERE/Configure LIST | grep "$OUT-$CC" > /dev/null if [ $? = "0" ]; then OUT="$OUT-$CC" fi OUT="$OUT" -$PERL ./Configure LIST | grep "$OUT" > /dev/null +$PERL $THERE/Configure LIST | grep "$OUT" > /dev/null if [ $? = "0" ]; then echo Configuring for $OUT if [ "$TEST" = "true" ]; then - echo $PERL ./Configure $OUT $options + echo $PERL $THERE/Configure $OUT $options else - $PERL ./Configure $OUT $options + $PERL $THERE/Configure $OUT $options fi else echo "This system ($OUT) is not supported. See file INSTALL for details." -- cgit v1.2.1