OSDN Git Service

...and apparently there wasn't anything wrong with make in Windows after all.
[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 "Don't run configure by hand, make runs it automatically."
142 echo
143 echo "No, really. That's it. Just type 'make' and hit return."
144 echo
145 echo "You're supposed to be building with make, not jam."
146 echo "If you were going to use jam--which you shouldn't--you'd run:"
147 echo " './jam' on a Mac, or"
148 echo " 'jam' on Linux or Windows"
149 echo
150 echo "To make jam, boil fruit with sugar and an acid until pectins are released."
151 echo