]> git.sesse.net Git - x264/blob - configure
Makefile: strip x264cli.
[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     CFLAGS="$CFLAGS -falign-loops=16"
39     LDFLAGS="$LDFLAGS -lm -lmx"
40     ;;
41   FreeBSD)
42     SYS="FREEBSD"
43     LDFLAGS="$LDFLAGS -lm"
44     ;;
45   Linux)
46     SYS="LINUX"
47     CFLAGS="$CFLAGS -DHAVE_MALLOC_H"
48     LDFLAGS="$LDFLAGS -lm"
49     ;;
50   CYGWIN*)
51     SYS="CYGWIN"
52     CFLAGS="$CFLAGS -mno-cygwin"
53     LDFLAGS="$LDFLAGS -mno-cygwin"
54     ASFLAGS="-f win32 -DPREFIX"
55     ;;
56   MINGW*)
57     SYS="MINGW"
58     ASFLAGS="-f win32 -DPREFIX"
59     ;;
60   *)
61     echo "Unknown system $UNAMES, edit the configure"
62     exit 1
63     ;;
64 esac
65
66 UNAMEM="`uname -m`"
67 case "$UNAMEM" in
68   i386|i486|i586|i686|BePC)
69     ARCH="X86"
70     CFLAGS="$CFLAGS -DHAVE_MMXEXT -DHAVE_SSE2"
71     ;;
72   x86_64)
73     ARCH="X86_64"
74     ;;
75   "Power Macintosh"|ppc)
76     ARCH="PPC"
77     if [ $SYS = MACOSX ]
78     then
79       CFLAGS="$CFLAGS -faltivec"
80     else
81       CFLAGS="$CFLAGS -maltivec -mabi=altivec"
82     fi
83     ;;
84   *)
85     echo "Unknown platform $UNAMEM, edit the configure"
86     exit 1
87     ;;
88 esac
89
90 CFLAGS="$CFLAGS -DARCH_$ARCH -DSYS_$SYS"
91
92 # parse options
93
94 for opt do
95     case "$opt" in
96         --enable-avis-input)
97             if [ $SYS = CYGWIN -o $SYS = MINGW ]; then
98                 CFLAGS="$CFLAGS -DAVIS_INPUT"
99                 LDFLAGS="$LDFLAGS -lvfw32"
100                 avis_input="yes"
101             fi
102             ;;
103         --enable-mp4-output)
104             CFLAGS="$CFLAGS -DMP4_OUTPUT"
105             LDFLAGS="$LDFLAGS -lm4systems_static"
106             if [ $SYS = CYGWIN -o $SYS = MINGW ]; then
107                 LDFLAGS="$LDFLAGS -lwinmm"
108             fi
109             mp4_output="yes"
110             ;;
111         --extra-cflags=*) CFLAGS="$CFLAGS ${opt#--extra-cflags=}"
112             ;;
113         --extra-ldflags=*) LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"
114             ;;
115         --enable-debug)
116             CFLAGS="$CFLAGS -g"
117             debug="yes"
118             ;;
119         *)
120             echo "Unknown option $opt, ignored"
121             ;;
122     esac
123 done
124
125 if [ "$debug" != "yes" ]; then
126     CFLAGS="$CFLAGS -s"
127 fi
128
129 rm -f config.mak
130 cat > config.mak << EOF
131 ARCH=$ARCH
132 SYS=$SYS
133 CC=$CC
134 CFLAGS=$CFLAGS
135 LDFLAGS=$LDFLAGS
136 AS=$AS
137 ASFLAGS=$ASFLAGS
138 EOF
139
140 echo "Platform:   $ARCH"
141 echo "System:     $SYS"
142 echo "avis input: $avis_input"
143 echo "mp4 output: $mp4_output"
144 echo "debug:      $debug"
145 echo
146 echo "You can run 'make' now."
147