X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fbootstrap;h=36c1ba80ea925893dc46b592fd0707452ea01580;hb=7eaf2803cd2648d8c37330beff67e4f30ce74b39;hp=05832b83515ebb53dae157fcf2c5a5b0e6e8495a;hpb=6f0954b727fec5bcea9ac0483900e58fc51e3ddc;p=vlc diff --git a/extras/contrib/bootstrap b/extras/contrib/bootstrap index 05832b8351..36c1ba80ea 100755 --- a/extras/contrib/bootstrap +++ b/extras/contrib/bootstrap @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. # *************************************************************************** -if test "$#" -gt "2" -o $1 = "-h" -o $1 = "--help" ; then +if test "$#" -gt "2" -o "$1" = "-h" -o "$1" = "--help" ; then echo "Usage: $0 [host [distro]]" >&2 echo " Prepare config.mak and distro.mak file." >&2 exit 1 @@ -51,8 +51,8 @@ fi rm -f config.mak { - echo "# Automatically generated by bootstrap." - echo "# Make changes if you know what you're doing." + echo "# Automatically generated by bootstrap." + echo "# Make changes if you know what you're doing." } > config.mak rm -f distro.mak @@ -67,71 +67,109 @@ if test "$HOST" != "$BUILD"; then LD="${HOST}-ld" RANLIB="${HOST}-ranlib" AR="${HOST}-ar" + STRIP="${HOST}-strip" fi +# Check the HAVE_{OS} +case $HOST in + *darwin*) + echo "HAVE_DARWIN_OS = 1" >> config.mak + echo "HAVE_BSD = 1" >> config.mak + ;; + *linux*) + echo "HAVE_LINUX = 1" >> config.mak + ;; + *bsd*) + echo "HAVE_BSD = 1" >> config.mak + ;; + *wince*) + echo "HAVE_WINCE = 1" >> config.mak + ;; + *beos*) + echo "HAVE_BEOS = 1" >> config.mak + ;; +esac + case $HOST in ppc-darwin) # Mac OS X < 10.4 - echo "Your version of Mac OS X is too old!" >&2 - echo "Compiling VLC requires 10.4.x or later" >&2 - exit 1 - ;; + echo "Your version of Mac OS X is too old!" >&2 + echo "Compiling VLC requires 10.4.x or later" >&2 + exit 1 + ;; powerpc-apple-darwin8) -# Mac OS X 10.4 +# Mac OS X 10.4 or 10.5 with Xcode 2.5 # Makefile cross compiling is only supported with gcc-4.0 # ENVP defines the oldest environment on which the program will be able to run -# SDK 10.2.8 requires gcc-3.3 (so we cannot use that SDK) - SDK_TARGET=10.4 - echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak - echo "HAVE_DARWIN_OS = 1" >> config.mak - echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak - echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak - CFLAGS_TUNING=" -arch ppc -mtune=G4" - 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 - cat src/Distributions/darwin.mak >> distro.mak + SDK_TARGET=10.4 + 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 + 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}" + LD="ld -arch ppc -syslibroot \${MACOSX_SDK}" + echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak + cat src/Distributions/darwin.mak >> distro.mak ;; i686-apple-darwin8) - SDK_TARGET=10.4 - echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak - echo "HAVE_DARWIN_OS = 1" >> config.mak - echo "HAVE_DARWIN_OS_ON_INTEL = 1" >> config.mak - echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak - echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak - 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}" - echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak - cat src/Distributions/darwin.mak >> distro.mak + SDK_TARGET=10.4 + echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak + echo "HAVE_DARWIN_OS_ON_INTEL = 1" >> config.mak + echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak + echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak + 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}" + echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak + cat src/Distributions/darwin.mak >> distro.mak ;; powerpc-apple-darwin9) - SDK_TARGET=10.4 - echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak - echo "HAVE_DARWIN_OS = 1" >> config.mak -# echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak -# echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak - CFLAGS_TUNING=" -arch ppc -mtune=G4" -# 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 - cat src/Distributions/darwin.mak >> distro.mak +# Mac OS X 10.5 with Xcode 3, specific rules apply + SDK_TARGET=10.4 + 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 + echo "HAVE_DARWIN_9 = 1" >> config.mak + 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}" + LD="ld -arch ppc -syslibroot \${MACOSX_SDK}" + echo "PATH = /bin:/usr/bin:/usr/local/bin:" >> config.mak + cat src/Distributions/darwin.mak >> distro.mak + if test -e /Developer/SDKs; then + echo "SDKs found. Everything is fine." >&2 + else + echo "ERROR:\nYour Developer Tools' SDKs were not found.\nYou need to add extra symbolic links to /Developer to achieve correctly\nbuilt contribs.\nHave a look at the OSX-Compile-HOWTO for details." >&2 + exit 1 + fi ;; i686-apple-darwin9) - SDK_TARGET=10.4 - echo "SDK_TARGET = ${SDK_TARGET}" >> config.mak - echo "HAVE_DARWIN_OS = 1" >> config.mak - echo "HAVE_DARWIN_OS_ON_INTEL = 1" >> config.mak -# echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak -# echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak - 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}" - echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak - cat src/Distributions/darwin.mak >> distro.mak + SDK_TARGET=10.4 + 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 + 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 + fi + echo "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}" >> config.mak + echo "MACOSX_SDK = /Developer/SDKs/MacOSX10.4u.sdk" >> config.mak + 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}" + echo "PATH = /bin:/usr/bin:/usr/local/bin" >> config.mak + cat src/Distributions/darwin.mak >> distro.mak + if test -e /Developer/SDKs; then + echo "SDKs found. Everything is fine." >&2 + else + echo "ERROR:\nYour Developer Tools' SDKs were not found.\nYou need to add extra symbolic links to /Developer to achieve correctly\nbuilt contribs.\nHave a look at the OSX-Compile-HOWTO for details." >&2 + exit 1 + fi ;; i586-pc-beos) - echo "HAVE_BEOS = 1" >> config.mak if test -f /boot/beos/system/lib/libbind.so; then EXTRA_LDFLAGS=" -lbind -lsocket" else @@ -173,11 +211,20 @@ case $HOST in cat src/Distributions/win32.mak >> distro.mak ;; arm-wince-pe) - echo "HAVE_WINCE = 1" >> config.mak echo "PKG_CONFIG_PATH = \$(PREFIX)/lib/pkgconfig" >> config.mak EXTRA_CPPFLAGS=" -D_WIN32_WCE" cat src/Distributions/wince.mak >> distro.mak ;; + armeb-linux-uclibc) + echo "HAVE_UCLIBC = 1" >> config.mak + echo "HAVE_BIGENDIAN = 1" >> config.mak + EXTRA_CFLAGS="-Os -march=armv5 -msoft-float" + if test ! -z "${DISTRO}"; then + cat src/Distributions/${DISTRO}.mak >> distro.mak + else + cat src/Distributions/unix.mak >> distro.mak + fi + ;; *) if test "$HOST" = "$BUILD"; then if test -d "/usr/lib/pkgconfig"; then @@ -215,18 +262,19 @@ echo "CXX = ${CXX}" >> config.mak echo "LD = ${LD}" >> config.mak echo "RANLIB = ${RANLIB}" >> config.mak echo "AR = ${AR}" >> config.mak +echo "STRIP = ${STRIP}" >> config.mak echo "EXTRA_CFLAGS = ${CFLAGS_TUNING} ${EXTRA_CFLAGS}" >> config.mak echo "EXTRA_CPPFLAGS = ${EXTRA_CPPFLAGS} -isystem \$(PREFIX)/include" >> config.mak echo "EXTRA_LDFLAGS = ${EXTRA_LDFLAGS}" >> config.mak echo "EXTRA_PATH = ${EXTRA_PATH}" >> config.mak -if which curl >/dev/null; then - echo "WGET = curl -O" >> config.mak -elif wget --version >/dev/null 2>&1; then - echo "WGET = wget" >> config.mak +if wget --version >/dev/null 2>&1; then + echo "WGET = `which wget` -c" >> config.mak +elif which curl >/dev/null; then + echo "WGET = `which curl` -L -O" >> config.mak else - echo "You need at least wget or curl to fetch the packages." >&2 - exit 1 + echo "You need at least wget or curl to fetch the packages." >&2 + exit 1 fi if test -f /sw/bin/svn; then @@ -234,11 +282,11 @@ if test -f /sw/bin/svn; then elif test -f /usr/local/bin/svn; then echo "SVN = /usr/local/bin/svn" >> config.mak elif test -f /usr/bin/svn; then - echo "SVN = /usr/bin/svn" >> config.mak + echo "SVN = /usr/bin/svn" >> config.mak elif test -f /opt/local/bin/svn; then - echo "SVN = /opt/local/bin/svn" >> config.mak + echo "SVN = /opt/local/bin/svn" >> config.mak elif svn help >/dev/null 2>&1; then - echo "SVN = svn" >> config.mak + echo "SVN = `which svn`" >> config.mak else echo "You do not have a subversion client installed." >&2 fi