]> git.sesse.net Git - x264/blob - configure
Configure tweaks. Allow avis-input in mingw. Turn off debug by default.
[x264] / configure
1 #! /bin/sh
2
3 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
4
5 echo "Usage: ./configure [options]"
6 echo ""
7 echo "available options:"
8 echo ""
9 echo "  --help                   print this message"
10 echo "  --enable-avis-input      enables avisynth input (win32 only)"
11 echo "  --enable-mp4-output      enables mp4 output (using gpac)"
12 echo "  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS"
13 echo "  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS"
14 echo "  --enable-debug           adds -g, doesn't strip"
15 echo ""
16 exit 1
17 fi
18
19 avis_input="no"
20 mp4_output="no"
21 debug="no"
22
23 CC="gcc"
24 CFLAGS="-Wall -I. -O4 -funroll-loops -D__X264__"
25 LDFLAGS=""
26
27 AS="nasm"
28 ASFLAGS="-f elf"
29
30 UNAMES="`uname -s`"
31 case "$UNAMES" in
32   BeOS)
33     SYS="BEOS"
34     CFLAGS="$CFLAGS -DHAVE_MALLOC_H"
35     ;;
36   Darwin)
37     SYS="MACOSX"
38     LDFLAGS="$LDFLAGS -lm -lmx"
39     ;;
40   FreeBSD)
41     SYS="FREEBSD"
42     LDFLAGS="$LDFLAGS -lm"
43     ;;
44   Linux)
45     SYS="LINUX"
46     CFLAGS="$CFLAGS -DHAVE_MALLOC_H"
47     LDFLAGS="$LDFLAGS -lm"
48     ;;
49   CYGWIN*)
50     SYS="CYGWIN"
51     CFLAGS="$CFLAGS -mno-cygwin"
52     LDFLAGS="$LDFLAGS -mno-cygwin"
53     ASFLAGS="-f win32 -DPREFIX"
54     ;;
55   MINGW*)
56     SYS="MINGW"
57     ASFLAGS="-f win32 -DPREFIX"
58     ;;
59   *)
60     echo "Unknown system $UNAMES, edit the configure"
61     exit 1
62     ;;
63 esac
64
65 UNAMEM="`uname -m`"
66 case "$UNAMEM" in
67   i386|i486|i586|i686|BePC)
68     ARCH="X86"
69     CFLAGS="$CFLAGS -DHAVE_MMXEXT -DHAVE_SSE2"
70     ;;
71   x86_64)
72     ARCH="X86_64"
73     ;;
74   "Power Macintosh"|ppc)
75     ARCH="PPC"
76     if [ $SYS = MACOSX ]
77     then
78       CFLAGS="$CFLAGS -faltivec"
79     else
80       CFLAGS="$CFLAGS -maltivec -mabi=altivec"
81     fi
82     ;;
83   *)
84     echo "Unknown platform $UNAMEM, edit the configure"
85     exit 1
86     ;;
87 esac
88
89 CFLAGS="$CFLAGS -DARCH_$ARCH -DSYS_$SYS"
90
91 # parse options
92
93 for opt do
94     case "$opt" in
95         --enable-avis-input)
96             if [ $SYS = CYGWIN -o $SYS = MINGW ]; then
97                 CFLAGS="$CFLAGS -DAVIS_INPUT"
98                 LDFLAGS="$LDFLAGS -lvfw32"
99                 avis_input="yes"
100             fi
101             ;;
102         --enable-mp4-output)
103             CFLAGS="$CFLAGS -DMP4_OUTPUT"
104             LDFLAGS="$LDFLAGS -lm4systems_static"
105             if [ $SYS = CYGWIN -o $SYS = MINGW ]; then
106                 LDFLAGS="$LDFLAGS -lwinmm"
107             fi
108             mp4_output="yes"
109             ;;
110         --extra-cflags=*) CFLAGS="$CFLAGS ${opt#--extra-cflags=}"
111             ;;
112         --extra-ldflags=*) LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"
113             ;;
114         --enable-debug)
115             CFLAGS="$CFLAGS -g"
116             debug="yes"
117             ;;
118         *)
119             echo "Unknown option $opt, ignored"
120             ;;
121     esac
122 done
123
124 if [ "$debug" != "yes" ]; then
125     CFLAGS="$CFLAGS -s"
126 fi
127
128 rm -f config.mak
129 cat > config.mak << EOF
130 ARCH=$ARCH
131 SYS=$SYS
132 CC=$CC
133 CFLAGS=$CFLAGS
134 LDFLAGS=$LDFLAGS
135 AS=$AS
136 ASFLAGS=$ASFLAGS
137 EOF
138
139 echo "Platform:   $ARCH"
140 echo "System:     $SYS"
141 echo "avis input: $avis_input"
142 echo "mp4 output: $mp4_output"
143 echo "debug:      $debug"
144 echo
145 echo "You can run 'make' now."
146