OSDN Git Service

Remove all libquicktime things
[handbrake-jp/handbrake-jp-git.git] / contrib / Jamfile
1 SubDir TOP contrib ;
2
3 # Use curl on Mac OS X since it's always installed, and assume wget
4 # is installed for all other systems
5 if $(OS) = MACOSX
6 {
7     WGET = curl -L -o ;
8 }
9 else
10 {
11     WGET = wget -O ;
12 }
13
14 if $(OS) = UNKNOWN
15 {
16     OS = CYGWIN ;
17 }
18
19 # Wget rule: downloads $(<) from the link in $(>)
20 rule Wget
21 {
22     Depends $(<) : $(>) ;
23 }
24 actions Wget
25 {
26     $(RM) $(<) &&
27     $(WGET) $(<) `cat $(>)` &&
28     ( touch $(<) || true )
29 }
30
31 # liba52
32 rule LibA52
33 {
34     Depends $(<) : $(>) ;
35     Depends lib  : $(<) ;
36 }
37 actions LibA52
38 {
39     cd `dirname $(>)` && CONTRIB=`pwd` &&
40     rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec &&
41     ./configure --prefix=$CONTRIB && make && make install &&
42     strip -S $CONTRIB/lib/liba52.a
43 }
44 Wget   $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
45 LibA52 $(SUBDIR)/lib/liba52.a  : $(SUBDIR)/a52dec.tar.gz ;
46
47 # libavcodec
48 rule LibAvCodec
49 {
50     FFMPEG_PATCH = "patch -p1 < ../patch-ffmpeg.patch" ;
51     if $(OS) = MACOSX && $(OSPLAT) = X86
52     {
53        FFMPEG_OPTIONS  = --enable-memalign-hack ;
54      # This patch simply don't apply correctly so don't try to do it
55      #  FFMPEG_PATCH   += " && patch -p1 < ../patch-ffmpeg-macintel.patch" ;
56     }
57     else if $(OS) = CYGWIN
58     {
59         FFMPEG_PATCH += " && patch -p1 < ../patch-ffmpeg-cygwin.patch " ;
60     }
61     Depends $(<) : $(>) ;
62     Depends lib  : $(<) ;
63 }
64 actions LibAvCodec
65 {
66     cd `dirname $(>)` && CONTRIB=`pwd` &&
67     rm -rf ffmpeg && tar xzf ffmpeg.tar.gz &&
68     cd ffmpeg && $(FFMPEG_PATCH) &&
69     ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos --enable-shared --enable-static&&
70     make && make install &&
71     strip -S $CONTRIB/lib/libavcodec.a
72 }
73 Wget       $(SUBDIR)/ffmpeg.tar.gz    : $(SUBDIR)/version_ffmpeg.txt ;
74 LibAvCodec $(SUBDIR)/lib/libavcodec.a : $(SUBDIR)/ffmpeg.tar.gz ;
75
76 rule LibAvUtil
77 {
78     Depends $(<) : $(>) ;
79     Depends lib  : $(<) ;
80 }
81 actions LibAvUtil
82 {
83     strip -S $(<)
84 }
85 LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
86 LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
87
88 # CSS doesn't work on Cygwin/Windows as of now, so don't use it.
89 if $(OS) != CYGWIN
90 {
91     # libdvdcss
92     # We need libdvdcss.so for libdvdread's configure to work...
93     rule LibDvdCss
94     {
95         Depends $(<) : $(>) ;
96         Depends lib  : $(<) ;
97     }
98     actions LibDvdCss
99     {
100         cd `dirname $(>)` && CONTRIB=`pwd` &&
101             rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
102             ./configure --prefix=$CONTRIB && make && make install &&
103             strip -S $CONTRIB/lib/libdvdcss.a
104     }
105     Wget      $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
106     LibDvdCss $(SUBDIR)/lib/libdvdcss.a  : $(SUBDIR)/libdvdcss.tar.gz ;
107 }
108
109 # libdvdread
110 rule LibDvdRead
111 {
112     # Not needed anymore since Clee fixed the problem in dvd.c
113     # LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
114     Depends $(<) : $(>) ;
115     Depends lib  : $(<) ;
116 }
117 if $(OS) != CYGWIN
118 {
119     actions LibDvdRead
120     {
121         cd `dirname $(>)` && CONTRIB=`pwd` &&
122             rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
123             # $(LIBDVDREAD_PATCH) &&
124             ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
125             make && make install &&
126             strip -S $CONTRIB/lib/libdvdread.a
127     }
128 }
129 else {
130     # Cygwin/Windows doesn't use CSS as of now, so don't include it on the
131     # configure line.
132     actions LibDvdRead
133     {
134         cd `dirname $(>)` && CONTRIB=`pwd` &&
135             rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
136             # $(LIBDVDREAD_PATCH) &&
137             ./configure --prefix=$CONTRIB --disable-shared &&
138             make && make install &&
139             strip -S $CONTRIB/lib/libdvdread.a
140     }
141 }
142 Wget       $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
143 LibDvdRead $(SUBDIR)/lib/libdvdread.a  : $(SUBDIR)/libdvdread.tar.gz ;
144
145 # libfaac
146 rule LibFaac
147 {
148     Depends $(<) : $(>) ;
149     Depends lib  : $(<) ;
150 }
151 actions LibFaac
152 {
153     cd `dirname $(>)` && CONTRIB=`pwd` &&
154     rm -rf faac && tar xzf faac.tar.gz && cd faac &&
155     ./configure --prefix=$CONTRIB --enable-shared --enable-static &&
156     make && make install &&
157     strip -S $CONTRIB/lib/libfaac.a
158 }
159 Wget    $(SUBDIR)/faac.tar.gz   : $(SUBDIR)/version_faac.txt ;
160 LibFaac $(SUBDIR)/lib/libfaac.a : $(SUBDIR)/faac.tar.gz ;
161
162 # libmp3lame
163 rule LibMp3Lame
164 {
165     Depends $(<) : $(>) ;
166     Depends lib  : $(<) ;
167 }
168 actions LibMp3Lame
169 {
170     cd `dirname $(>)` && CONTRIB=`pwd` &&
171     rm -rf lame && tar xzf lame.tar.gz && cd lame &&
172     ./configure --prefix=$CONTRIB --disable-shared &&
173     make && make install &&
174     strip -S $CONTRIB/lib/libmp3lame.a
175 }
176 Wget       $(SUBDIR)/lame.tar.gz      : $(SUBDIR)/version_lame.txt ;
177 LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
178
179 # libmp4v2
180 rule LibMp4v2
181 {
182     Depends $(<) : $(>) ;
183     Depends lib  : $(<) ;
184 }
185 if $(OS) != CYGWIN
186 {
187         actions LibMp4v2
188         {
189         cd `dirname $(>)` && CONTRIB=`pwd` &&
190         rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
191         patch -p1 < ../patch-mpeg4ip.patch &&
192         ./bootstrap  --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player && make -C lib/mp4v2 libmp4v2.la &&
193         cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
194         cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
195         include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
196         strip -S $CONTRIB/lib/libmp4v2.a
197         }
198 }
199 else
200 {
201         actions LibMp4v2
202         {
203         cd `dirname $(>)` && CONTRIB=`pwd` &&
204         rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
205         patch -p1 < ../patch-mpeg4ip.patch &&
206         patch -p1 < ../patch_mpeg4ip_cygwin.patch && ./bootstrap && make -C lib/mp4v2 libmp4v2.la &&
207         cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
208         cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
209         include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
210         strip -S $CONTRIB/lib/libmp4v2.a
211         }
212 }
213
214 Wget     $(SUBDIR)/mpeg4ip.tar.gz : $(SUBDIR)/version_mpeg4ip.txt ;
215 LibMp4v2 $(SUBDIR)/lib/libmp4v2.a : $(SUBDIR)/mpeg4ip.tar.gz ;
216
217 # libmpeg2
218 rule LibMpeg2
219 {
220     Depends $(<) : $(>) ;
221     Depends lib  : $(<) ;
222 }
223 actions LibMpeg2
224 {
225     cd `dirname $(>)` && CONTRIB=`pwd` &&
226     rm -rf mpeg2dec && tar xzf mpeg2dec.tar.gz && cd mpeg2dec &&
227     ./configure --prefix=$CONTRIB --disable-shared &&
228     make && make install &&
229     strip -S $CONTRIB/lib/libmpeg2.a
230 }
231 Wget     $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
232 LibMpeg2 $(SUBDIR)/lib/libmpeg2.a  : $(SUBDIR)/mpeg2dec.tar.gz ;
233
234 # libogg
235 rule LibOgg
236 {
237     Depends $(<) : $(>) ;
238     Depends lib  : $(<) ;
239 }
240 actions LibOgg
241 {
242     cd `dirname $(>)` && CONTRIB=`pwd` &&
243     rm -rf libogg && tar xzf libogg.tar.gz && cd libogg &&
244     ./configure --prefix=$CONTRIB --disable-shared &&
245     make && make install &&
246     strip -S $CONTRIB/lib/libogg.a
247 }
248 Wget   $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
249 LibOgg $(SUBDIR)/lib/libogg.a  : $(SUBDIR)/libogg.tar.gz ;
250
251 # libsamplerate
252 rule LibSampleRate
253 {
254     Depends $(<) : $(>) ;
255     Depends lib  : $(<) ;
256 }
257 actions LibSampleRate
258 {
259     cd `dirname $(>)` && CONTRIB=`pwd` &&
260     rm -rf libsamplerate && tar xzf libsamplerate.tar.gz && cd libsamplerate &&
261     ./configure --prefix=$CONTRIB --disable-shared &&
262     make && make install &&
263     strip -S $CONTRIB/lib/libsamplerate.a
264 }
265 Wget          $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
266 LibSampleRate $(SUBDIR)/lib/libsamplerate.a  : $(SUBDIR)/libsamplerate.tar.gz ;
267
268 # libvorbis
269 rule LibVorbis
270 {
271     Depends $(<) : $(>) ;
272     Depends lib  : $(<) ;
273 }
274 actions LibVorbis
275 {
276     cd `dirname $(>)` && CONTRIB=`pwd` &&
277     rm -rf libvorbis && tar xzf libvorbis.tar.gz && cd libvorbis &&
278     ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --disable-shared &&
279     make && make install &&
280     strip -S $CONTRIB/lib/libvorbis.a
281 }
282 Wget      $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
283 LibVorbis $(SUBDIR)/lib/libvorbis.a  : $(SUBDIR)/libvorbis.tar.gz ;
284
285 rule LibVorbisEnc
286 {
287     Depends $(<) : $(>) ;
288     Depends lib  : $(<) ;
289 }
290 actions LibVorbisEnc
291 {
292     strip -S $(<)
293 }
294 LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
295
296 # libx264
297 rule LibX264
298 {
299     LIBX264_PATCH = "" ;
300     if $(OS) = MACOSX && $(OSPLAT) = X86
301     {
302         LIBX264_PATCH = " patch -p1 < ../patch-x264-macintel.patch && " ;
303     }
304     else if $(OS) = CYGWIN
305     {
306         LIBX264_PATCH = " patch -p1 < ../patch-x264-cygwin.patch && " ;
307     }
308     else if $(OS) = LINUX
309     {
310         LIBX264_PATCH = " patch -p1 < ../patch-x264-linux.patch && " ;
311     }
312     Depends $(<) : $(>) ;
313     Depends lib  : $(<) ;
314 }
315 actions LibX264
316 {
317     cd `dirname $(>)` && CONTRIB=`pwd` &&
318     rm -rf x264 && tar xzf x264.tar.gz && cd x264 && $(LIBX264_PATCH)
319     ./configure --prefix=$CONTRIB --enable-pthread && make &&
320     make install &&
321     strip -S $CONTRIB/lib/libx264.a
322 }
323 Wget    $(SUBDIR)/x264.tar.gz   : $(SUBDIR)/version_x264.txt ;
324 LibX264 $(SUBDIR)/lib/libx264.a : $(SUBDIR)/x264.tar.gz ;
325
326 # libxvidcore
327 rule LibXvidCore
328 {
329     LIBXVIDCORE_PATCH = "" ;
330     if $(OS) = MACOSX
331     {
332         LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-macosx.patch && " ;
333     }
334     else if $(OS) = CYGWIN
335     {
336         LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-cygwin.patch && " ;
337     }
338     Depends $(<) : $(>) ;
339     Depends lib  : $(<) ;
340 }
341 actions LibXvidCore
342 {
343     cd `dirname $(>)` && CONTRIB=`pwd` &&
344     rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
345     cd xvidcore && $(LIBXVIDCORE_PATCH)
346     cd build/generic/ && ./configure && make libxvidcore.a &&
347     cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
348     cp ../../src/xvid.h $CONTRIB/include/ &&
349     strip -S $CONTRIB/lib/libxvidcore.a
350 }
351 Wget        $(SUBDIR)/xvidcore.tar.gz   : $(SUBDIR)/version_xvidcore.txt ;
352 LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;
353
354 # zlib
355 if $(OS) = CYGWIN
356 {
357 rule Zlib
358 {
359     Depends $(<) : $(>) ;
360     Depends lib  : $(<) ;
361 }
362 actions Zlib
363 {
364     cd `dirname $(>)` && CONTRIB=`pwd` &&
365     rm -rf zlib && tar xzf zlib.tar.gz &&
366     cd zlib && 
367     ./configure --prefix=$CONTRIB && make && make install && touch $CONTRIB/.contrib
368     strip -S $CONTRIB/lib/libz.a
369 }
370 Wget        $(SUBDIR)/zlib.tar.gz   : $(SUBDIR)/version_zlib.txt ;
371 Zlib $(SUBDIR)/lib/libz.a : $(SUBDIR)/zlib.tar.gz ;
372 }
373