5efad07de58528218f9af023942073754b12da7b
[goodguy/history.git] / cinelerra-5.1 / cfg-cv.sh
1 #!/bin/bash -x
2 # cd cincv;  cfg_cv.sh /path/cin5
3 # used git clone "git://git.cinelerra-cv.org/goodguy/cinelerra.git" "cinelerra5"
4 # ver: git checkout 135eb5f052a2f75e4df6c86511a94ec9586e096d (dec 30, 2016)
5 cin="$1"
6 THIRDPARTY=`pwd`/thirdparty
7 unset LIBS LDFLAGS CFLAGS CPPFLAGS CXXFLAGS
8
9 rm -rf thirdparty; cp -a $cin/thirdparty .
10 for f in configure.ac Makefile.am autogen.sh; do mv $f $f.cv; cp -a $cin/$f .; done
11 mv m4 m4.cv
12 rm -rf ./libzmpeg3 ./db
13 mkdir -p libzmpeg3 db db/utils mpeg2enc mplexlo
14
15 ./autogen.sh
16 ./configure --disable-static-build --without-ladspa-build \
17   --enable-faac=yes --enable-faad2=yes --enable-a52dec=yes \
18   --enable-mjpegtools=yes --enable-lame=yes --enable-x264=yes \
19   --enable-libogg=auto --enable-libtheora=auto --enable-libvorbis=auto \
20   --enable-openexr=auto --enable-libsndfile=auto --enable-libdv=auto \
21   --enable-libjpeg=auto --enable-tiff=auto --enable-x264=auto \
22   --disable-audiofile --disable-encore --disable-esound --disable-fdk \
23   --disable-ffmpeg --disable-fftw --disable-flac --disable-giflib --disable-ilmbase \
24   --disable-libavc1394 --disable-libraw1394 --disable-libiec61883 --disable-libvpx \
25   --disable-openjpeg --disable-twolame --disable-x265
26
27 export CFG_VARS='CFLAGS+=" -fPIC"'; \
28 export MAK_VARS='CFLAGS+=" -fPIC"'; \
29 export CFG_PARAMS="--with-pic --enable-pic --disable-asm"; \
30
31 jobs=`make -s -C thirdparty val-WANT_JOBS`
32 make -C thirdparty -j$jobs
33
34 static_libs=`make -C thirdparty -s val-static_libs`
35 static_incs=`make -C thirdparty -s val-static_incs`
36
37 ./autogen.sh clean
38 for f in configure.ac Makefile.am autogen.sh; do rm -f $f; mv $f.cv $f; done
39 mv m4.cv m4
40
41 LDFLAGS=`for f in $static_libs; do
42   if [ ! -f "$f" ]; then continue; fi;
43   ls $f
44 done | sed -e 's;/[^/]*$;;' | \
45 sort -u | while read d; do
46  echo -n " -L$d";
47 done`
48 export LDFLAGS
49
50 LIBS=`for f in $static_libs; do
51   if [ ! -f "$f" ]; then continue; fi;
52   ls $f
53 done | sed -e 's;.*/;;' -e 's;lib\(.*\)\.a$;\1;' | \
54 sort -u | while read a; do
55  echo -n " -l$a";
56 done`
57 LIBS+=" -lpthread"
58 export LIBS
59
60 export CFLAGS="$static_incs"
61 export CXXFLAGS="$static_incs"
62
63 if [ ! -f configure ]; then ./autogen.sh; fi
64 sed -e 's/^LIBX264_LIBS=""/#LIBX264_LIBS=""/' -i configure
65
66 export MJPEG_LIBS="-L$THIRDPARTY/mjpegtools-2.1.0/utils/.libs -lmjpegutils \
67   -L$THIRDPARTY/mjpegtools-2.1.0/lavtools/.libs -llavfile \
68   -L$THIRDPARTY/mjpegtools-2.1.0/lavtools/.libs -llavjpeg \
69   -L$THIRDPARTY/mjpegtools-2.1.0/mpeg2enc/.libs -lmpeg2encpp \
70   -L$THIRDPARTY/mjpegtools-2.1.0/mplex/.libs -lmplex2"
71 export MJPEG_CFLAGS="-I$THIRDPARTY/mjpegtools-2.1.0/. \
72   -I$THIRDPARTY/mjpegtools-2.1.0/lavtools \
73   -I$THIRDPARTY/mjpegtools-2.1.0/utils"
74
75 export LIBX264_CFLAGS="-I$THIRDPARTY/x264-20151229/."
76 export LIBX264_LIBS="-L$THIRDPARTY/x264-20151229/. -lx264"
77
78 for f in $MJPEG_LIBS $LIBX264_LIBS; do
79   LIBS=`echo "$LIBS" | sed -e "s;[ ]*\<$f\>[ ]*; ;"`
80 done
81
82 echo LDFLAGS=$LDFLAGS
83 echo LIBS=$LIBS
84 echo CFLAGS=$CFLAGS
85
86 export ac_cv_header_xmmintrin_h=no
87 # -lmxxxxx dies, feed it a -lm early to prevent misformed parameters
88 export LIBS="-la52 -ldjbfft -lfaac -lfaad -lHalf -lIex -lIexMath -lIlmThread -lImath -llavfile -llavjpeg -lm -lmjpegutils -lmmxsse -lmp3lame -lmp4ff -lmpeg2encpp -lmpgdecoder -lmplex2 -logg -lvorbis -lvorbisenc -lvorbisfile -lx264 -lyuvfilters -lpthread -ldl"
89 # po Makefile construction error: skip it
90 touch po/Makefile.in.in
91
92 # uuid search path is not predictable, fake it
93 ( cd thirdparty/libuuid-1.0.3/; ln -s . uuid )
94 # old linker scripts want .libs/.libs path, fake it:
95 find thirdparty/ -name .libs | while read f ; do ( cd $f; ln -s . .libs ); done
96
97 ./configure
98
99 exit
100
101 # have to rebuild these by hand
102 # cd plugins/libeffecttv/.libs/; rm libeffectv.a; ar r libeffecttv.a effecttv.o
103 # cd quicktime/encore50/.libs/; rm libencore.a; ar r libencore.a *.o
104 # cd quicktime; vi Makefile; remove -Wl,--no-undefined from:, make
105 #   libquicktimecv_la_LDFLAGS = -version-info 1:0:0 -release 1.6.0
106
107 # shares do not want thirdparty link data:
108 ( cd libmpeg3
109   make clean
110   make LIBS= \
111    LDFLAGS="-L$THIRDPARTY/a52dec-0.7.4/liba52/.libs \
112    -L$THIRDPARTY/djbfft-0.76  -ldjbfft" )
113 ( cd guicast
114   make clean
115   make LIBS= LDFLAGS= )
116 ( cd plugins
117   for f in */Makefile; do
118     cp $f $f.sav1; sed -e "/^LIBS\>/d" -e "/^LDFLAGS\>/d" -i $f
119   done
120   make clean
121   make  )
122
123 #make -j$jobs >& log
124 #make install DESTDIR=`pwd` >> log 2>&1
125 #export LD_LIBRARY_PATH=`pwd`/usr/local/lib
126 #cd cinelerra
127 #gdb ./.libs/cinelerra
128