OSDN Git Service

- Method for generating snapshot builds marked with the svn revision by using ./confi...
[handbrake-jp/handbrake-jp-git.git] / configure
1 #! /bin/sh
2
3 CC="gcc"
4 CXX="g++"
5 CCFLAGS="$CCFLAGS -Wall -g"
6 OPTIM="$OPTIM -O3 -funroll-loops"
7 LINKLIBS="-lz"
8 MAKE=make
9
10 # System-specific flags
11 SYSTEM=`uname -s`
12 case $SYSTEM in
13   BeOS)
14     CCFLAGS="$CCFLAGS -Wno-multichar"
15     DEFINES="$DEFINES SYS_BEOS"
16     LINKLIBS="$LINKLIBS -lbe -ltracker"
17
18     RELEASE=`uname -r`
19     case $RELEASE in
20       6.0|5.0.4) # Zeta or R5 / BONE beta 7
21         SYSTEM="$SYSTEM / BONE"
22         LINKLIBS="$LINKLIBS -lbind -lsocket"
23         ;;
24       5.0*)      # R5 / net_server
25         SYSTEM="$SYSTEM / net_server"
26         DEFINES="$DEFINES BEOS_NETSERVER"
27         LINKLIBS="$LINKLIBS -lnet"
28         ;;
29       *)
30         echo "Unsupported BeOS version"
31         exit 1 ;;
32     esac
33     ;;
34
35   Darwin)
36     DEFINES="$DEFINES SYS_DARWIN USE_PTHREAD"
37     LINKLIBS="$LINKLIBS -lpthread"
38     ;;
39
40   FreeBSD)
41     DEFINES="$DEFINES SYS_FREEBSD USE_PTHREAD"
42     LINKLIBS="$LINKLIBS -pthread"
43     ;;
44
45   NetBSD)
46     DEFINES="$DEFINES SYS_NETBSD USE_PTHREAD"
47     LINKLIBS="$LINKLIBS -lpthread"
48     ;;
49
50   Linux)
51     DEFINES="$DEFINES SYS_LINUX USE_PTHREAD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64"
52     LINKLIBS="$LINKLIBS -lpthread"
53     ;;
54
55   CYGWIN*)
56     DEFINES="$DEFINES SYS_CYGWIN USE_PTHREAD"
57     LINKLIBS="$LINKLIBS -lpthread"
58     ;;
59   SunOS)
60     DEFINES="$DEFINES SYS_SunOS USE_PTHREAD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64"
61     LINKLIBS="$LINKLIBS -lpthread -lsocket -lnsl"
62     ;;
63
64   *)
65     echo "Unsupported operating system"
66     exit 1 ;;
67 esac
68 echo "System: $SYSTEM"
69
70 # Check for endianness (we need to define WORDS_BIGENDIAN for libdvdread)
71 cat > testconf.c << EOF
72 int main()
73 {
74     int i = 1;
75     return *( (char *) &i );
76 }
77 EOF
78 if ( $CC -o testconf testconf.c && ./testconf ) > /dev/null 2>&1
79 then
80   echo "Endian: big"
81   DEFINES="$DEFINES WORDS_BIGENDIAN"
82 else
83   echo "Endian: little"
84 fi
85 rm -f testconf.c testconf
86
87 #
88 # Use Gnu make when available over the built in make
89 #
90 if ( make --version | grep GNU ) > /dev/null 2>&1
91 then
92 MAKE=make
93 elif ( gmake --version | grep GNU ) > /dev/null 2>&1
94 then
95 MAKE=gmake
96 else
97 MAKE=make
98 fi
99
100 # If the user included the --snapshot argument, mark it down.
101 if [[ $1 = "--snapshot" ]]
102 then
103     SNAPSHOT=1
104 else
105     SNAPSHOT=0
106 fi
107
108 # Generating the HB_BUILD and HB_VERSION for snapshots requires
109 # the build date, working path, and current SVN revision. 
110 BUILD_DATE=$(date +%Y%m%d)
111 FULL_PATH=$(pwd)
112 SVN_REV=$(svnversion)
113
114 # Generate config.jam
115 rm -f config.jam
116 cat << EOF > config.jam
117 CC       = $CC ;
118 C++      = $CXX ;
119 LINK     = $CXX ;
120 CCFLAGS  = $CCFLAGS ;
121 C++FLAGS = $CCFLAGS ;
122 OPTIM    = $OPTIM ;
123 DEFINES  = $DEFINES ;
124 LINKLIBS = $LINKLIBS ;
125 MAKE     = $MAKE ;
126 SNAPSHOT = $SNAPSHOT ;
127 BUILD_DATE = $BUILD_DATE ;
128 FULL_PATH = $FULL_PATH ;
129 SVN_REV = $SVN_REV ;
130 EOF
131
132 echo
133 echo "To build HandBrake, run:"
134 echo " './jam' on a Mac (or 'make' to try the UB build method),"
135 echo " 'jam' on Linux or Windows."