fi
cc_check() {
- rm -f conftest*
cat > conftest.c << EOF
#include <$1>
int main () { $3 return 0; }
EOF
$CC conftest.c $CFLAGS $LDFLAGS $2 -o conftest 2>$DEVNULL
TMP="$?"
- rm -f conftest*
return $TMP
}
as_check() {
- rm -f conftest*
echo "$1" > conftest.asm
$AS conftest.asm $ASFLAGS $2 -o conftest.o 2>$DEVNULL
TMP="$?"
- rm -f conftest*
return $TMP
}
-rm -f config.h config.mak x264.pc
+rm -f config.h config.mak x264.pc conftest*
prefix='/usr/local'
exec_prefix='${prefix}'
;;
--enable-shared)
shared="yes"
- if [ $ARCH = "X86_64" -o $ARCH = "PPC" -o $ARCH = "ALPHA" ] ; then
- pic="yes"
- fi
;;
--enable-visualize)
LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
host=`./config.sub $host`
# split $host
-save_ifs=$IFS
-IFS='-'
-# set positional parameters
-set x $host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-host_os=$*
-IFS=$save_ifs
+host_cpu="${host%%-*}"
+host="${host#*-}"
+host_vendor="${host%%-*}"
+host_os="${host#*-}"
case $host_os in
beos*)
x86_64)
ARCH="X86_64"
AS="yasm"
- ASFLAGS="-f elf -m amd64"
+ if [ "$SYS" = MACOSX ];then
+ ASFLAGS="-f macho64 -m amd64 -D__PIC__ -DPREFIX"
+ CFLAGS="$CFLAGS -arch x86_64"
+ LDFLAGS="$LDFLAGS -arch x86_64"
+ else
+ ASFLAGS="-f elf -m amd64"
+ fi
;;
powerpc|powerpc64)
ARCH="PPC"
# check requirements
+if [ $shared = yes -a \( $ARCH = "X86_64" -o $ARCH = "PPC" -o $ARCH = "ALPHA" \) ] ; then
+ pic="yes"
+fi
+
if [ $SYS = MACOSX -a $ARCH = X86 ]
then
# we want Apple's nasm from Xcode 2.4.1 or later
fi
if [ $ARCH = X86 -o $ARCH = X86_64 ] ; then
+ if [ $ARCH = X86 -a $pic = yes -a x$AS = xyasm -a\
+ "`yasm --version | head -n 1`" "<" "yasm 0.6.2" ] ; then
+ echo "yasm prior to 0.6.2 miscompiles PIC. trying nasm instead..."
+ AS=nasm
+ fi
if as_check ; then
CFLAGS="$CFLAGS -DHAVE_MMX"
if as_check "pabsw xmm0, xmm0" ; then
CFLAGS="$CFLAGS -DARCH_$ARCH -DSYS_$SYS"
+echo "unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';" > conftest.c
+$CC $CFLAGS conftest.c -c -o conftest.o 2>$DEVNULL || die "endian test failed"
+grep -q BIGE conftest.o && CFLAGS="$CFLAGS -DWORDS_BIGENDIAN"
+
# autodetect options that weren't forced nor disabled
libpthread=""
if [ "$pic" = "yes" ] ; then
CFLAGS="$CFLAGS -fPIC"
ASFLAGS="$ASFLAGS -D__PIC__"
+ # resolve textrels in the x86 asm
+ cc_check stdio.h -Wl,-Bsymbolic && LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
fi
if [ "$debug" != "yes" -a "$gprof" != "yes" ]; then
echo "#define ftell ftello64" >> config.h
fi
+rm -f conftest*
+
# generate config files
cat > config.mak << EOF