]> git.sesse.net Git - vlc/commitdiff
contribs/darwin: added support for llvm-gcc-4.2 (both binary and src)
authorFelix Paul Kühne <fkuehne@videolan.org>
Wed, 31 Dec 2008 14:37:37 +0000 (15:37 +0100)
committerFelix Paul Kühne <fkuehne@videolan.org>
Wed, 31 Dec 2008 14:37:37 +0000 (15:37 +0100)
this looks a bit ugly in bootstrap now and will need to be cleaned up once we dropped support for 10.4

This is also a first step to be able to compile a 64bit VLC on OS X.

extras/contrib/Makefile
extras/contrib/bootstrap
extras/contrib/src/Makefile

index 83b14654b6057bd647cb2a1f9a0cc1dad36ec040..f00ced9c4ce6a5519e487a7af6ffa9a1f7690279 100644 (file)
@@ -44,10 +44,10 @@ src: using-src
 ifdef HAVE_DARWIN_OS
 
 CONTRIBREV=4
-contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2:
+contrib-macosx-$(ARCH)-$(CONTRIBREV)-$(DARWIN_COMPILER).tar.bz2:
        $(WGET) ftp://ftp.videolan.org/pub/videolan/testing/contrib/$@
 
-using-bin: contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2
+using-bin: contrib-macosx-$(ARCH)-$(CONTRIBREV)-$(DARWIN_COMPILER).tar.bz2
        @if test -d tmp; then \
                echo "Move away ./tmp, it's in the way" ; \
                exit 1 ; \
index 777cc7a0594e68acfb88282c1e450906ad865b2a..0d82cd96ac6e5710ebb9eebaf523fc2a587c131f 100755 (executable)
@@ -84,6 +84,11 @@ 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
@@ -136,15 +141,29 @@ case $HOST in
     ;;
     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}"
+        if test -z "$CONTRIBS_CC_LLVM"; then
+            CC="gcc -isysroot \${MACOSX_SDK}"
+            CXX="g++ -isysroot \${MACOSX_SDK}"
+        else
+            CC="/Developer/usr/llvm-gcc-4.2/bin/powerpc-apple-darwin9-llvm-gcc-4.2 -isysroot \${MACOSX_SDK}"
+            CXX="/Developer/usr/llvm-gcc-4.2/bin/powerpc-apple-darwin9-llvm-g++-4.2 -isysroot \${MACOSX_SDK}"
+        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
@@ -156,20 +175,36 @@ case $HOST in
         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 "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 -isysroot \${MACOSX_SDK}"
+            CXX="g++ -isysroot \${MACOSX_SDK}"
+        else
+            CC="/Developer/usr/llvm-gcc-4.2/bin/i686-apple-darwin9-llvm-gcc-4.2 -isysroot \${MACOSX_SDK}"
+            CXX="/Developer/usr/llvm-gcc-4.2/bin/i686-apple-darwin9-llvm-g++-4.2 -isysroot \${MACOSX_SDK}"
+        fi
         echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak
         cat src/Distributions/darwin.mak >> distro.mak
         if test -e /Developer/SDKs; then
@@ -330,3 +365,16 @@ if test -z "$CONTRIBS_RELEASE"; then
 else
     echo "EXTRA_CFLAGS += -DNDEBUG" >> config.mak
 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
index 2e90df86859d5df6ec22e93713fe7f1fe4f4d028..4848929912bc80874bc085eb0df0131788cc19be 100644 (file)
@@ -44,6 +44,14 @@ export CFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
 export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
 export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
 export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)
+ifdef HAVE_DARWIN_OS
+export CC
+export CXX
+export LD
+export RANLIB
+export AR
+export STRIP
+endif
 
 # ***************************************************************************
 # Cross compilation variables