diff options
Diffstat (limited to 'make_arch_macrosfiles.sh.in')
-rw-r--r-- | make_arch_macrosfiles.sh.in | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/make_arch_macrosfiles.sh.in b/make_arch_macrosfiles.sh.in new file mode 100644 index 0000000..05be025 --- /dev/null +++ b/make_arch_macrosfiles.sh.in @@ -0,0 +1,74 @@ +#!/bin/sh + +# $Id$ + +MINPUT="$1" +ARCH="$2" + +LIB=lib +OS=@RPMOS@ +OPTFLAGS=`perl -ane "m/^optflags:\s*${ARCH}\b\s*(.*)/ and print \\$1" < rpmrc` +MULTILIBNO= + +case $ARCH in + i*86|k6|athlon|pentium*) + MULTILIBNO=1 + CANONARCH=i386 + ;; + amd64|x86_64) + MULTILIBNO=2 + CANONARCH=x86_64 + LIB=lib64 + ;; + sparc|sparcv9) + MULTILIBNO=1 + CANONARCH=sparc + ;; + sparc64) + MULTILIBNO=2 + CANONARCH=sparc64 + LIB=lib64 + ;; + ppc|powerpc|ppc32) + MULTILIBNO=1 + CANONARCH=ppc + ;; + ppc64|powerpc64) + MULTILIBNO=2 + CANONARCH=ppc64 + LIB=lib64 + ;; + alpha) + CANONARCH=alpha + ;; + s390) + CANONARCH=s390-linux + MULTILIBNO=1 + ;; + s390x) + CANONARCH=s390x + LIB=lib64; + MULTILIBNO=2 ;; + *) + CANONARCH=$ARCH + LIB=lib + ;; +esac + +if [ -n "$MULTILIBNO" ]; then + MULTILIBSED='-e /^@MULTILIB/d -e s,@MULTILIBNO@,'$MULTILIBNO, +else + MULTILIBSED='-e /^@MULTILIBSTART@/,/^@MULTILIBEND@/d' +fi + +if [ -n "$OPTFLAGS" ]; then + OPTFLAGSSED="s/@RPMOPTFLAGS@/${OPTFLAGS}/g" +else + OPTFLAGSSED='s,^%optflags.*,,' +fi + +cat "$MINPUT" | sed \ + -e "s,@RPMARCH@,$CANONARCH,g" \ + -e "s,@LIB@,$LIB,g" \ + -e "$OPTFLAGSSED" \ + $MULTILIBSED |