summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorkonablend <[email protected]>2009-03-01 17:03:11 +0000
committerkonablend <[email protected]>2009-03-01 17:03:11 +0000
commit4dbce6b69967c1e14092637aa95b6c31855a81fc (patch)
tree516c17095967698eeb419c70ce72dbd2c11bf754 /configure
parentc47939541ccec1e5e57753b16b28baed2613f586 (diff)
BuildSystem: conversion from jam-based to make-based system.
KNOWN ISSUES: 1. OSX + Xcode builds do not support parallel builds; attempting to use them may cause unbounded number of jobs. However, disabling via configure --disable-xcode avoids the issue. 2. OSX ppc binary produces binary which has audio-scan problems. 3. OSX ppc64 binary has not been runtime tested. ADDED: 00-BuildUserGuide.txt contrib/*/module.* doc/ make/ libhb/module.* test/module.* macos/module.* gtk/module.* DROPPED: BUILD BuildContribDarwin.sh DownloadMacOsXContribBinaries.sh Jamfile Jamrules MacOsXContribBinariesVersion.txt Makefile Makefile.config jam libhb/Jamefile libhb/Makefile test/BUILDSHARED test/Makefile contrib/Jamfile contrib/Makefile contrib/patch-ffmpeg.patch contrib/patch-x264-idr.patch contrib/patch-x264-linux.patch RENAMED: contrib/*.patch -> contrib/MODULE/[AP]??-*.patch macosx/HandBrake.plist -> macosx/Info.plist MODIFIED: libhb/decavcodec.c Patched to use cleaner include "libavcodec/audioconvert". Second part to support this cleanup is ffmpeg A02-audioconvert.patch . MODIFIED: libhb/hb.c MODIFIED: libhb/hb.h MODIFIED: libhb/muxmkv.c MODIFIED: libhb/muxmp4.c MODIFIED: libhb/update.c Patched to use "project.h" for project metadata. Renamed HB_BUILD -> HB_PROJECT_BUILD. Renamed HB_VERSION -> HB_PROJECT_VERSION. MODIFIED: test/test.c: Patched HandBrakeCLI to support I/O on Mac OS X ZFS filesystems. Reference r1803 as similar patch for HandBrake.app . Unpatched behavior is crash/buserror when using ZFS. MODIFIED: macosx/Growl.framework/ Upgraded 0.7.6 (i386,ppc) -> 1.1.2 (i386,x86_64,ppc,ppc64). New architectures facilitate x86_64 and ppc64 builds. MODIFIED: macosx/HandBrake.xcodeproj/ Bumped compatibilty mode from 2.4 -> 3.1 . Dumped old configurations Deployment, Developer. Added configurations standard, sebug as replacements. Added standard.i386, standard.x86_64, standard.ppc, standard.ppc64 . for explicit architecture build. All configurations settings cleaned up and normalized. Build output directories adjusted to support new build system. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2180 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'configure')
-rw-r--r--[-rwxr-xr-x]configure164
1 files changed, 19 insertions, 145 deletions
diff --git a/configure b/configure
index 224b2b28d..8ea57efbf 100755..100644
--- a/configure
+++ b/configure
@@ -1,151 +1,25 @@
#! /bin/sh
+#
-CC="gcc"
-CXX="g++"
-CCFLAGS="$CCFLAGS -Wall -g"
-OPTIM="$OPTIM -O3 -funroll-loops"
-LINKLIBS="-lz -lbz2"
-MAKE=make
-
-# System-specific flags
-SYSTEM=`uname -s`
-case $SYSTEM in
- BeOS)
- CCFLAGS="$CCFLAGS -Wno-multichar"
- DEFINES="$DEFINES SYS_BEOS"
- LINKLIBS="$LINKLIBS -lbe -ltracker"
-
- RELEASE=`uname -r`
- case $RELEASE in
- 6.0|5.0.4) # Zeta or R5 / BONE beta 7
- SYSTEM="$SYSTEM / BONE"
- LINKLIBS="$LINKLIBS -lbind -lsocket"
- ;;
- 5.0*) # R5 / net_server
- SYSTEM="$SYSTEM / net_server"
- DEFINES="$DEFINES BEOS_NETSERVER"
- LINKLIBS="$LINKLIBS -lnet"
- ;;
- *)
- echo "Unsupported BeOS version"
- exit 1 ;;
- esac
- ;;
-
- Darwin)
- DEFINES="$DEFINES SYS_DARWIN USE_PTHREAD"
- LINKLIBS="$LINKLIBS -lpthread"
- ;;
-
- FreeBSD)
- DEFINES="$DEFINES SYS_FREEBSD USE_PTHREAD"
- LINKLIBS="$LINKLIBS -pthread"
- ;;
-
- NetBSD)
- DEFINES="$DEFINES SYS_NETBSD USE_PTHREAD"
- LINKLIBS="$LINKLIBS -lpthread"
- ;;
-
- Linux)
- DEFINES="$DEFINES SYS_LINUX USE_PTHREAD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64"
- LINKLIBS="$LINKLIBS -lpthread -ldl"
- ;;
-
- CYGWIN*)
- DEFINES="$DEFINES SYS_CYGWIN USE_PTHREAD"
- LINKLIBS="$LINKLIBS -lpthread"
- ;;
- SunOS)
- DEFINES="$DEFINES SYS_SunOS USE_PTHREAD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64"
- LINKLIBS="$LINKLIBS -lpthread -lsocket -lnsl"
- ;;
-
- *)
- echo "Unsupported operating system"
- exit 1 ;;
-esac
-echo
-echo "System: $SYSTEM"
-
-# Check for endianness (we need to define WORDS_BIGENDIAN for libdvdread)
-cat > testconf.c << EOF
-int main()
+inpath()
{
- int i = 1;
- return *( (char *) &i );
+ IFS=:
+ for d in $PATH
+ do
+ if [ -x $d/$1 ]; then
+ return 0
+ fi
+ done
+ return 1
}
-EOF
-if ( $CC -o testconf testconf.c && ./testconf ) > /dev/null 2>&1
-then
- echo "Endian: big"
- DEFINES="$DEFINES WORDS_BIGENDIAN"
-else
- echo "Endian: little"
-fi
-rm -f testconf.c testconf
-
-#
-# Use Gnu make when available over the built in make
-#
-if ( make --version | grep GNU ) > /dev/null 2>&1
-then
-MAKE=make
-elif ( gmake --version | grep GNU ) > /dev/null 2>&1
-then
-MAKE=gmake
-else
-MAKE=make
-fi
-
-# Unless the user wants a release build, configure for SVN snapshots
-if test "$1" = "--release" || test "$2" = "--release"; then
- SNAPSHOT=0
-else
- SNAPSHOT=1
-fi
-
-# We fought the law and the law won
-if test "$1" = "--libdvdcss" || test "$2" = "--libdvdcss"; then
- CSS=1
-else
- CSS=0
-fi
-
-# Generating the HB_BUILD and HB_VERSION for snapshots requires
-# the build date, working path, and current SVN revision.
-BUILD_DATE=`date +%Y%m%d`
-FULL_PATH=`pwd`
-SVN_REV=`svnversion`
-# Generate config.jam
-rm -f config.jam
-cat << EOF > config.jam
-CC = $CC ;
-C++ = $CXX ;
-LINK = $CXX ;
-CCFLAGS = $CCFLAGS ;
-C++FLAGS = $CCFLAGS ;
-OPTIM = $OPTIM ;
-DEFINES = $DEFINES ;
-LINKLIBS = $LINKLIBS ;
-MAKE = $MAKE ;
-SNAPSHOT = $SNAPSHOT ;
-BUILD_DATE = $BUILD_DATE ;
-FULL_PATH = $FULL_PATH ;
-SVN_REV = $SVN_REV ;
-CSS = $CSS ;
-EOF
+for p in python2.6 python2.5 python2.4
+do
+ if ( inpath $p ); then
+ exec $p `dirname $0`/make/configure.py "$@"
+ exit 0
+ fi
+done
-echo
-echo "Don't run configure by hand, make runs it automatically."
-echo
-echo "No, really. That's it. Just type 'make' and hit return."
-echo
-echo "You're supposed to be building with make, not jam."
-echo "If you were going to use jam--which you shouldn't--you'd run:"
-echo " './jam' on a Mac, or"
-echo " 'jam' on Linux or Windows"
-echo
-echo "To make jam, boil fruit with sugar and an acid until pectins are released."
-echo
+echo "ERROR: no suitable version of python found."
+exit 1