# ***************************************************************************
# bootstrap : Set up config.mak
# ***************************************************************************
-# Copyright (C) 2003-2007 the VideoLAN team
+# Copyright (C) 2003-2009 the VideoLAN team
# $Id$
#
# Authors: Christophe Massiot <massiot@via.ecp.fr>
# Derk-Jan Hartman <hartman at videolan dot org>
-# Felix Kühne <fkuehne@users.sourceforge.net>
+# Felix Paul Kühne <fkuehne at videolan dot org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
STRIP="${HOST}-strip"
fi
+case $HOST in
+ *powerpc*|*ppc*)
+ echo "ARCH=ppc" >> config.mak
+ ;;
+ *darwin10*)
+ echo "ARCH=x86_64" >> config.mak
+ ;;
+ *86*)
+ echo "ARCH=i386" >> config.mak
+ ;;
+esac
+
# Check the HAVE_{OS}
case $HOST in
*darwin*)
echo "HAVE_DARWIN_OS = 1" >> config.mak
echo "HAVE_BSD = 1" >> config.mak
+ if test $CONTRIBS_CC_LLVM; then
+ echo "DARWIN_COMPILER = LLVMGCC" >> config.mak
+ else
+ echo "DARWIN_COMPILER = GCC" >> config.mak
+ fi
;;
*linux*)
echo "HAVE_LINUX = 1" >> config.mak
;;
powerpc-apple-darwin9)
# Mac OS X 10.5 with Xcode 3, specific rules apply
- SDK_TARGET=10.4
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ SDK_TARGET=10.4
+ else
+ SDK_TARGET=10.5
+ fi
echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak
echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak
- echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak
+ else
+ echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.5.sdk" >> config.mak
+ fi
echo "HAVE_DARWIN_9 = 1" >> config.mak
+ HAVE_DARWIN_9=1
CFLAGS_TUNING=" -arch ppc -mtune=G4"
- EXTRA_CFLAGS=" -D\${ENVP} -mmacosx-version-min=\${SDK_TARGET}"
- CC="gcc -isysroot \${MACOSX_SDK}"
- CXX="g++ -isysroot \${MACOSX_SDK}"
+ EXTRA_CFLAGS=" -D\${ENVP} -isysroot \${MACOSX_SDK} -mmacosx-version-min=\${SDK_TARGET}"
+ EXTRA_LDFLAGS=" -isysroot \${MACOSX_SDK} -Wl,-syslibroot,\${MACOSX_SDK}"
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ CC="gcc"
+ CXX="g++"
+ else
+ CC="/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2"
+ CXX="/Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2"
+ fi
LD="ld -arch ppc -syslibroot \${MACOSX_SDK}"
echo "PATH = /bin:/usr/bin:/usr/local/bin:" >> config.mak
cat src/Distributions/darwin.mak >> distro.mak
fi
;;
i686-apple-darwin9)
- SDK_TARGET=10.4
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ SDK_TARGET=10.4
+ else
+ SDK_TARGET=10.5
+ fi
MIN_LD_VERSION_WITH_TEXT_RELOCATION=81
echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak
echo "HAVE_DARWIN_OS_ON_INTEL = 1" >> config.mak
echo "HAVE_DARWIN_9 = 1" >> config.mak
+ HAVE_DARWIN_9=1
if test `ld -v 2> /dev/stdout | sed -E 's/.*ld64-([0-9]+).*/\1/'` -lt ${MIN_LD_VERSION_WITH_TEXT_RELOCATION}; then
- echo "NO_TEXT_RELOCATION = 1" >> config.mak
+ echo "ERROR: Your ld version is unable to compile VLC.\nUpdate to Xcode 3.1 or higher." >&2
+ exit 1
fi
echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak
- echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak
+ else
+ echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.5.sdk" >> config.mak
+ fi
CFLAGS_TUNING=" -march=pentium-m -mtune=prescott"
EXTRA_CFLAGS=" -D\${ENVP} -isysroot \${MACOSX_SDK} -mmacosx-version-min=\${SDK_TARGET}"
EXTRA_LDFLAGS=" -isysroot \${MACOSX_SDK} -Wl,-syslibroot,\${MACOSX_SDK}"
+ if test -z "$CONTRIBS_CC_LLVM"; then
+ CC="gcc"
+ CXX="g++"
+ else
+ CC="/Developer/usr/llvm-gcc-4.2/bin/i686-apple-darwin9-llvm-gcc-4.2"
+ CXX="/Developer/usr/llvm-gcc-4.2/bin/i686-apple-darwin9-llvm-g++-4.2"
+ fi
echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak
cat src/Distributions/darwin.mak >> distro.mak
if test -e /Developer/SDKs; then
exit 1
fi
;;
- i686-apple-darwin10d1)
+ *-apple-darwin10)
SDK_TARGET=10.6
echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak
echo "HAVE_DARWIN_OS_ON_INTEL = 1" >> config.mak
echo "HAVE_DARWIN_9 = 1" >> config.mak
echo "HAVE_DARWIN_10 = 1" >> config.mak
+ HAVE_DARWIN_10=1
echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak
- echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.6.sdk" >> config.mak
- CFLAGS_TUNING=" -march=pentium-m -mtune=prescott"
+ echo "MACOSX_SDK = /Developer/SDKs/MacOSX${SDK_TARGET}.sdk" >> config.mak
+ CFLAGS_TUNING=" -march=core2"
EXTRA_CFLAGS=" -D\${ENVP} -isysroot \${MACOSX_SDK} -mmacosx-version-min=\${SDK_TARGET}"
EXTRA_LDFLAGS=" -isysroot \${MACOSX_SDK} -Wl,-syslibroot,\${MACOSX_SDK}"
echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak
+ CC="gcc"
+ CXX="g++"
cat src/Distributions/darwin.mak >> distro.mak
if test -e /Developer/SDKs; then
echo "SDKs found. Everything is fine." >&2
if test -z "$CONTRIBS_RELEASE"; then
set +x
echo
- echo "***********************************************************"
- echo "* If you are building contribs for a release build of VLC *"
- echo "* Please run CONTRIBS_RELEASE=sexy ./bootstrap *"
- echo "***********************************************************"
+ echo "*****************************************************************"
+ echo "* If you are building contribs for a release build of VLC *"
+ echo "* Please run CONTRIBS_RELEASE=sexy ./bootstrap *"
+ echo "* *"
+ echo "* Ignore this message if you don't compile the 3rd party *"
+ echo "* libraries your own aka by just running 'make' next. *"
+ echo "*****************************************************************"
else
echo "EXTRA_CFLAGS += -DNDEBUG" >> config.mak
+ set -x
+fi
+
+if test $HAVE_DARWIN_9; then
+if test -z "$CONTRIBS_CC_LLVM"; then
+ set +x
+ echo
+ echo "*****************************************************************"
+ echo "* In case that you target Mac OS X 10.5 or later only, *"
+ echo "* we recommend to use llvm-gcc-4.2 for compilation. *"
+ echo "* Please run CONTRIBS_CC_LLVM=yes ./bootstrap to do so. *"
+ echo "*****************************************************************"
+ set -x
+fi
+fi
+
+if test $HAVE_DARWIN_10; then
+ set +x
+ echo
+ echo "*****************************************************************"
+ echo "* You are running Darwin 10. *"
+ echo "* For testing purposes, VLC will be compiled in 64bit mode. *"
+ echo "*****************************************************************"
+ set -x
fi