OSDN Git Service

...and apparently make doesn't work in Windows (?!)
[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 -lbz2"
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 -ldl"
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
69 echo "System: $SYSTEM"
70
71 # Check for endianness (we need to define WORDS_BIGENDIAN for libdvdread)
72 cat > testconf.c << EOF
73 int main()
74 {
75     int i = 1;
76     return *( (char *) &i );
77 }
78 EOF
79 if ( $CC -o testconf testconf.c && ./testconf ) > /dev/null 2>&1
80 then
81   echo "Endian: big"
82   DEFINES="$DEFINES WORDS_BIGENDIAN"
83 else
84   echo "Endian: little"
85 fi
86 rm -f testconf.c testconf
87
88 #
89 # Use Gnu make when available over the built in make
90 #
91 if ( make --version | grep GNU ) > /dev/null 2>&1
92 then
93 MAKE=make
94 elif ( gmake --version | grep GNU ) > /dev/null 2>&1
95 then
96 MAKE=gmake
97 else
98 MAKE=make
99 fi
100
101 # Unless the user wants a release build, configure for SVN snapshots
102 if test "$1" = "--release" || test "$2" = "--release"; then
103     SNAPSHOT=0
104 else
105     SNAPSHOT=1
106 fi
107
108 # We fought the law and the law won
109 if test "$1" = "--libdvdcss" || test "$2" = "--libdvdcss"; then
110     CSS=1
111 else
112     CSS=0
113 fi
114
115 # Generating the HB_BUILD and HB_VERSION for snapshots requires
116 # the build date, working path, and current SVN revision. 
117 BUILD_DATE=`date +%Y%m%d`
118 FULL_PATH=`pwd`
119 SVN_REV=`svnversion`
120
121 # Generate config.jam
122 rm -f config.jam
123 cat << EOF > config.jam
124 CC       = $CC ;
125 C++      = $CXX ;
126 LINK     = $CXX ;
127 CCFLAGS  = $CCFLAGS ;
128 C++FLAGS = $CCFLAGS ;
129 OPTIM    = $OPTIM ;
130 DEFINES  = $DEFINES ;
131 LINKLIBS = $LINKLIBS ;
132 MAKE     = $MAKE ;
133 SNAPSHOT = $SNAPSHOT ;
134 BUILD_DATE = $BUILD_DATE ;
135 FULL_PATH = $FULL_PATH ;
136 SVN_REV = $SVN_REV ;
137 CSS      = $CSS ;
138 EOF
139
140 echo
141 echo "* Mac and Linux:"
142 echo
143 echo "   Don't run configure by hand, make runs it automatically."
144 echo
145 echo "   No, really. That's it. Just type 'make' and hit return."
146 echo
147 echo "   You're supposed to be building with make, not jam."
148 echo "   If you were going to use jam--which you shouldn't--you'd run:"
149 echo "    './jam' on a Mac, or"
150 echo "    'jam' on Linux"
151 echo
152 echo "* Windows:"
153 echo
154 echo "   Be sure to always run configure (this script) before building."
155 echo "   Then, run:"
156 echo "    'jam'"
157 echo
158 echo "To make jam, boil fruit with sugar and an acid until pectins are released."
159 echo