Skip to content
Snippets Groups Projects
configure 60 KiB
Newer Older
  • Learn to ignore specific revisions
  • if test "$protocols" = "yes" ; then
      echo "#define CONFIG_PROTOCOLS 1" >> $TMPH
      echo "CONFIG_PROTOCOLS=yes" >> config.mak
    fi
    
    
    if test "$ffserver" = "yes" ; then
      echo "#define CONFIG_FFSERVER 1" >> $TMPH
      echo "CONFIG_FFSERVER=yes" >> config.mak
    fi
    
    
    if test "$ffplay" = "yes" ; then
      echo "CONFIG_FFPLAY=yes" >> config.mak
    fi
    
    
    if test "$gpl" = "yes" ; then
      echo "#define CONFIG_GPL 1" >> $TMPH
      echo "CONFIG_GPL=yes" >> config.mak
    fi
    
    
    echo "#define restrict $_restrict" >> $TMPH
    
    
    if test "$optimize" = "small"; then
      echo "#define always_inline"  >> $TMPH
    
      echo "#define CONFIG_SMALL 1" >> $TMPH
    
    # build tree in object directory if source path is different from current one
    if test "$source_path_used" = "yes" ; then
    
        DIRS="\
             doc \
             libavformat \
             libavcodec \
             libavcodec/alpha \
             libavcodec/armv4l \
             libavcodec/i386 \
             libavcodec/sparc \
             libavcodec/mlib \
             libavcodec/ppc \
             libavcodec/liba52 \
    
             libpostproc \
    
             libswscale \
    
             tests \
             vhook \
             "
        FILES="\
              Makefile \
              libavformat/Makefile \
              libavcodec/Makefile \
    
              libpostproc/Makefile \
    
              libavutil/Makefile \
    
              libswscale/Makefile \
    
              tests/Makefile \
              vhook/Makefile \
              doc/Makefile \
              doc/texi2pod.pl \
              "
    
        for dir in $DIRS ; do
                mkdir -p $dir
        done
        for f in $FILES ; do
    
            ln -sf "$source_path/$f" $f
    
    echo "SRC_PATH=$source_path" >> config.mak
    
    echo "BUILD_ROOT=$PWD" >> config.mak
    
    if test "$amr" = "yes" ; then
    
      echo "#define CONFIG_AMR 1" >> $TMPH
      echo "CONFIG_AMR=yes" >> config.mak
    
      echo "#define CONFIG_AMR_WB 1" >> $TMPH
      echo "CONFIG_AMR_WB=yes" >> config.mak
    
      echo
      echo "AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204"
      echo "V5.1.0 from "
      echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip"
      echo "and extracted the source to libavcodec/amrwb_float"
    fi
    
    
    if test "$amr_nb" = "yes" ; then
    
      echo "#define CONFIG_AMR_NB 1" >> $TMPH
      echo "CONFIG_AMR_NB=yes" >> config.mak
    
      echo "AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104"
      echo "REL-5 V5.1.0 from "
    
    Diego Biurrun's avatar
    Diego Biurrun committed
      echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip"
    
      echo "and extracted the source to libavcodec/amr_float"
      echo "If you try this on alpha, you may need to change Word32 to int in amr/typedef.h"
    fi
    
    
    Zdenek Kabelac's avatar
    Zdenek Kabelac committed
    if test "$amr_nb_fixed" = "yes" ; then
    
      echo "#define CONFIG_AMR_NB_FIXED 1" >> $TMPH
      echo "CONFIG_AMR_NB_FIXED=yes" >> config.mak
    
    Diego Biurrun's avatar
    Diego Biurrun committed
      echo
    
    Zdenek Kabelac's avatar
    Zdenek Kabelac committed
      echo "AMR NB FIXED POINT NOTICE! Make sure you have downloaded TS26.073 "
      echo "REL-5 version 5.1.0 from "
    
    Diego Biurrun's avatar
    Diego Biurrun committed
      echo "http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip"
    
      echo "and extracted src to libavcodec/amr"
    
    Zdenek Kabelac's avatar
    Zdenek Kabelac committed
      echo "You must also add -DMMS_IO and remove -pedantic-errors to/from CFLAGS in libavcodec/amr/makefile."
      echo "i.e. CFLAGS = -Wall -I. \$(CFLAGS_\$(MODE)) -D\$(VAD) -DMMS_IO"
    
    if test "$amr_if2" = "yes" ; then
      echo "AMR_CFLAGS=-DIF2=1" >> config.mak
    fi
    
    
    if test "$asmalign_pot" = "yes" ; then
      echo '#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"' >> $TMPH
    else
      echo '#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"' >> $TMPH
    fi
    
    
    for codec in $DECODER_LIST $ENCODER_LIST $PARSER_LIST $DEMUXER_LIST $MUXER_LIST; do
    
        echo "#define CONFIG_`echo $codec | tr a-z A-Z` 1" >> $TMPH
        echo "CONFIG_`echo $codec | tr a-z A-Z`=yes" >> config.mak
    
    # Do not overwrite config.h if unchanged to avoid superfluous rebuilds.
    diff $TMPH config.h >/dev/null 2>&1
    
            mv -f $TMPH config.h
    else
            echo "config.h is unchanged"
    fi
    
    rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
    
    Diego Biurrun's avatar
    Diego Biurrun committed
    # build pkg-config files libav*.pc and libpostproc.pc
    
    # libavutil.pc
    cat <<EOF >libavutil.pc
    
    exec_prefix=\${prefix}
    
    includedir=\${prefix}/include
    
    
    Name: libavutil
    Description: FFmpeg utility library
    Version: $lavu_version
    
    Conflicts:
    Libs: -L\${libdir} -lavutil
    Cflags: -I\${includedir} -I\${includedir}/ffmpeg
    EOF
    
    cat <<EOF >libavutil-uninstalled.pc
    prefix=
    exec_prefix=
    libdir=\${pcfiledir}/libavutil
    includedir=\${pcfiledir}/libavutil
    
    Name: libavutil
    Description: FFmpeg utility library
    Version: $lavu_version
    
    Conflicts:
    Libs: \${libdir}/${LIBPREF}avutil${LIBSUF}
    Cflags: -I\${includedir}
    EOF
    
    exec_prefix=\${prefix}
    
    includedir=\${prefix}/include
    
    Requires: $pkg_requires libavutil = $lavu_version
    
    Conflicts:
    Libs: -L\${libdir} -lavcodec $extralibs
    Cflags: -I\${includedir} -I\${includedir}/ffmpeg
    EOF
    
    cat <<EOF >libavcodec-uninstalled.pc
    prefix=
    exec_prefix=
    libdir=\${pcfiledir}/libavcodec
    includedir=\${pcfiledir}/libavcodec
    
    Name: libavcodec
    Description: FFmpeg codec library
    
    Requires: $pkg_requires libavutil = $lavu_version
    
    Conflicts:
    Libs: \${libdir}/${LIBPREF}avcodec${LIBSUF} $extralibs
    Cflags: -I\${includedir}
    EOF
    
    # libavformat.pc
    cat <<EOF >libavformat.pc
    
    exec_prefix=\${prefix}
    
    includedir=\${prefix}/include
    
    Requires: $pkg_requires libavcodec = $lavc_version
    
    Conflicts:
    Libs: -L\${libdir} -lavformat $extralibs
    Cflags: -I\${includedir} -I\${includedir}/ffmpeg
    EOF
    
    cat <<EOF >libavformat-uninstalled.pc
    prefix=
    exec_prefix=
    libdir=\${pcfiledir}/libavformat
    includedir=\${pcfiledir}/libavformat
    
    Name: libavformat
    Description: FFmpeg container format library
    
    Requires: $pkg_requires libavcodec = $lavc_version
    
    Conflicts:
    Libs: \${libdir}/${LIBPREF}avformat${LIBSUF} $extralibs
    Cflags: -I\${includedir}
    EOF
    
    
    # libpostproc.pc
    cat <<EOF >libpostproc.pc
    
    exec_prefix=\${prefix}
    
    includedir=\${prefix}/include
    
    Conflicts:
    Libs: -L\${libdir} -lpostproc
    Cflags: -I\${includedir} -I\${includedir}/postproc
    EOF
    
    cat <<EOF >libpostproc-uninstalled.pc
    prefix=
    exec_prefix=
    
    libdir=\${pcfiledir}/libpostproc
    includedir=\${pcfiledir}/libpostproc
    
    Conflicts:
    Libs: \${libdir}/${LIBPREF}postproc${LIBSUF}
    Cflags: -I\${includedir}
    EOF
    
    
    # libswscale.pc
    cat <<EOF >libswscale.pc
    prefix=$PREFIX
    exec_prefix=\${prefix}
    libdir=\${exec_prefix}/lib
    includedir=\${prefix}/include
    
    Name: libswscale
    Description: FFmpeg image rescaling library
    Version: $sws_version
    Requires: $pkg_requires libavutil = $lavu_version
    Conflicts:
    Libs: -L\${libdir} -lswscale
    Cflags: -I\${includedir} -I\${includedir}/swscale
    EOF
    
    cat <<EOF >libswscale-uninstalled.pc
    prefix=
    exec_prefix=
    libdir=\${pcfiledir}/libswscale
    includedir=\${pcfiledir}/libswscale
    
    Name: libswscale
    Description: FFmpeg image rescaling library
    Version: $sws_version
    Requires: $pkg_requires libavutil = $lavu_version
    Conflicts:
    Libs: \${libdir}/${LIBPREF}swscale${LIBSUF}
    Cflags: -I\${includedir}
    EOF