Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > b61eac44124317f0c83f92720f0243c8 > files > 1

glibc-2.3.4-8mdk.src.rpm

[[ -n "$TARGET" ]] || TARGET="%{_target_cpu}"

case "$TARGET" in
  sparc64)
    ASM64="asm-sparc64"
    ASM="asm-sparc"
    DEF64="__sparc_v9__"
    STUB="__SPARC_ASM_STUB__"
    NAME64="SPARC64"
    NAME32="SPARC32"
    ;;
  ppc64)
    ASM64="asm-ppc64"
    ASM="asm-ppc"
    DEF64="__powerpc64__"
    STUB="__PPC_ASM_STUB__"
    NAME64="PPC64"
    NAME32="PPC32"
    ;;
  x86_64|amd64)
    ASM64="asm-x86_64"
    ASM="asm-i386"
    DEF64="__x86_64__"
    STUB="__X86_64_ASM_STUB__"
    NAME64="X86-64"
    NAME32="x86"
    ;;
  s390x)
    ASM64="asm-s390x"
    ASM="asm-s390"
    DEF64="__s390x__"
    STUB="__S390_ASM_STUB__"
    NAME64="S390x"
    NAME32="S390"
    ;;
  i*86|athlon)
    ASM="asm-i386"
    ;;
  *)
    ASM="asm-$TARGET"
esac

function CreateBiarchHeader() {
  I="$1"
  J=`echo $I | tr a-z.- A-Z__`
  if [ -f $ASM/$I -a -f $ASM64/$I ]; then
    INC64="#include <$ASM64/$I>"
    INC32="#include <$ASM/$I>"
  elif [ -f $ASM/$I ]; then
    INC64="#error $I is not supported on $NAME64"
    INC32="#include <$ASM/$I>"
  else
    INC64="#include <$ASM64/$I>"
    INC32="#error $I is not supported on $NAME32"
  fi
  [ -d asm ] || mkdir asm
  cat > asm/$I << EOF
#ifndef ${STUB}${J}__
#define ${STUB}${J}__
#ifdef $DEF64
$INC64
#else
$INC32
#endif
#endif
EOF
}

[[ -z "$DEF64" ]] && mv $ASM asm || {
  for I in `( ls $ASM; ls $ASM64 ) | grep '\.h$' | sort -u`; do
    CreateBiarchHeader $I
  done
}

# Clean-ups 
rm -rf `echo asm-* | sed -e "s/$ASM//;s/$ASM64//;s/asm-generic//"`
find . -type d -name CVS | xargs rm -rf