#!/bin/sh # configuration is being done in a script because starting with GCC-3.2 # the compiler flags are changing too much between minor releases to detect # with Makefile scripts alone. For now it just tells you if you have the # prerequisite compilers. ERROR=0 # test for nasm OBJDIR=`arch` TOPDIR=`pwd` if [ `arch` == i686 ]; then if [ -x /usr/bin/nasm -o -x /usr/local/bin/nasm ]; then HAVE_NASM=y; else HAVE_NASM=n; fi if [ "$HAVE_NASM" == "n" ]; then echo " *** Nasm is required. Download it from nasm.sourceforge.net"; ERROR=1 fi fi if [ -x /usr/bin/yasm -o -x /usr/local/bin/yasm ]; then HAVE_YASM=y; else HAVE_YASM=n; fi if [ $HAVE_YASM == n ]; then echo " *** Yasm is required. Download it from www.tortall.net/projects/yasm/"; ERROR=1 fi # test for videodev2.h rm -f a.out cat > conftest.c << EOF #include #include #include int main() { return 0; } EOF gcc conftest.c >& /dev/null if [ -x a.out ]; then HAVE_VIDEO4LINUX2=y; else HAVE_VIDEO4LINUX2=n; fi # test for dvb rm -f a.out cat > conftest.c << EOF #include #include int main() { return 0; } EOF gcc conftest.c >& /dev/null if [ -x a.out ]; then HAVE_DVB=y; else HAVE_DVB=n; fi rm -f a.out conftest.c # test for -msse support rm -f a.out cat > conftest.c << EOF int main() { return 0; } EOF gcc -msse conftest.c >& /dev/null if [ -x a.out ]; then HAVE_GCC=y; else HAVE_GCC=n; fi rm -f a.out conftest.c if [ $HAVE_GCC == n ]; then echo " *** GCC 3.2.2 or greater is required. Download it from gcc.gnu.org"; ERROR=1 fi # test for OpenGL 2.0 rm -f a.out cat > conftest.c << EOF #include #include #include int main() { glUseProgram(0); return 0; } EOF gcc conftest.c -lGL -lGLU >& /dev/null if [ -x a.out ]; then HAVE_GL=y; else HAVE_GL=n; fi rm -f a.out conftest.c if [ $ERROR == 1 ]; then echo "Giving up and going to a movie." exit 1 fi # fix libraries echo CONFIGURING QUICKTIME cd quicktime* && ./configure && cd .. echo CONFIGURING LIBMPEG3 cd libmpeg3* && ./configure && cd .. echo CONFIGURING FFTW cd fftw* && CFLAGS=-fPIC ./configure && cd .. echo CONFIGURING MJPEGTOOLS cd mjpegtools* && ./configure --enable-shared=no && cd .. echo CONFIGURING SNDFILE cd libsndfile* && chmod a+x ./configure && ./configure && cd .. echo CONFIGURING RAW1394 cd libraw1394* && \ ./configure --enable-shared=no && \ ln -sf src libraw1394 && \ cd .. echo CONFIGURING AVC1394 cd libavc1394* && \ RAW1394_PATH=`expr $TOPDIR/libraw1394*` && \ PKG_CONFIG_PATH=$RAW1394_PATH CFLAGS=-I$RAW1394_PATH/ LDFLAGS=-L$RAW1394_PATH/src/.libs ./configure --enable-shared=no && \ cd .. echo CONFIGURING IEC61883 cd libiec61883* && \ RAW1394_PATH=`expr $TOPDIR/libraw1394*` && \ PKG_CONFIG_PATH=$RAW1394_PATH CFLAGS=-I$RAW1394_PATH/ LDFLAGS=-L$RAW1394_PATH/src/.libs ./configure --enable-shared=no && \ cd .. echo CONFIGURING THEORA LIBOGG_PATH=`expr $TOPDIR/quicktime/libogg*` && \ LIBVORBIS_PATH=`expr $TOPDIR/quicktime/libvorbis*` && \ cd libtheora* && \ PKG_CONFIG_PATH=$LIBOGG_PATH:$LIBVORBIS_PATH CFLAGS="-I$LIBOGG_PATH/include -L$LIBOGG_PATH/src -I$LIBVORBIS_PATH/include -L$LIBVORBIS_PATH/lib" ./configure --enable-shared=no && \ cd .. # write configuration header echo "Writing hvirtual_config.h" cat > hvirtual_config.h << EOF // Configuration file made by configure. Don't edit. EOF if [ "$HAVE_VIDEO4LINUX2" == "y" ]; then echo "#define HAVE_VIDEO4LINUX2" >> hvirtual_config.h echo "Have Video4Linux 2" else echo "Don't have Video4Linux 2" fi if [ "$HAVE_DVB" == "y" ]; then echo "#define HAVE_DVB" >> hvirtual_config.h echo "Have DVB" else echo "Don't have DVB" fi if [ "$HAVE_GL" == "y" ]; then cat >> hvirtual_config.h << EOF #ifndef HAVE_GL #define HAVE_GL #endif EOF echo "Have OpenGL 2.0" else echo "Don't have OpenGL 2.0" fi # success if [ "$ERROR" == "0" ]; then echo "Configured successfully. Type 'make' to build it."; fi