Skip to content
Snippets Groups Projects
configure 63 KiB
Newer Older
  • Learn to ignore specific revisions
  • echo "LIBSUF=$LIBSUF" >> config.mak
    
    echo "LIBNAME=$LIBNAME" >> config.mak
    
    echo "SLIBPREF=$SLIBPREF" >> config.mak
    
    echo "SLIBSUF=$SLIBSUF" >> config.mak
    echo "EXESUF=$EXESUF" >> config.mak
    
    echo "DEPEND_CMD=$DEPEND_CMD" >> config.mak
    
    echo "VHOOK_DEPEND_CMD=$VHOOK_DEPEND_CMD" >> config.mak
    
    if enabled bigendian; then
    
        echo "WORDS_BIGENDIAN=yes" >> config.mak
        echo "#define WORDS_BIGENDIAN 1" >> $TMPH
    
        echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak
        echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.mak
    
    if enabled texi2html; then
    
    get_version(){
        name=$1
        file=$source_path/$2
    
        eval $(grep "#define ${name}_VERSION_M" "$file" | awk '{ print $2"="$3 }')
        eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO
    
        lcname=$(tolower $name)
        eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak
        eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
    
    get_version LIBSWSCALE  libswscale/swscale.h
    get_version LIBPOSTPROC libpostproc/postprocess.h
    get_version LIBAVCODEC  libavcodec/avcodec.h
    get_version LIBAVDEVICE libavdevice/avdevice.h
    get_version LIBAVFORMAT libavformat/avformat.h
    get_version LIBAVUTIL   libavutil/avutil.h
    
    get_version LIBAVFILTER libavfilter/avfilter.h
    
        echo "BUILD_SHARED=yes" >> config.mak
        echo "PIC=-fPIC -DPIC" >> config.mak
        echo "SLIBNAME=${SLIBNAME}" >> config.mak
        echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
        echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
    
        echo "SLIB_CREATE_DEF_CMD=${SLIB_CREATE_DEF_CMD}" >> config.mak
    
        echo "SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}" >> config.mak
        echo "SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}" >> config.mak
        echo "SLIB_UNINSTALL_EXTRA_CMD=${SLIB_UNINSTALL_EXTRA_CMD}" >> config.mak
    
    Nick Kurshev's avatar
    Nick Kurshev committed
    fi
    
    echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
    
    echo "EXTRALIBS=$extralibs" >> config.mak
    
    print_config ARCH_   $TMPH config.mak $ARCH_LIST
    print_config HAVE_   $TMPH config.mak $HAVE_LIST
    
    print_config CONFIG_ $TMPH config.mak $CONFIG_LIST       \
                                          $DECODER_LIST      \
                                          $ENCODER_LIST      \
                                          $PARSER_LIST       \
                                          $BSF_LIST          \
                                          $DEMUXER_LIST      \
                                          $MUXER_LIST        \
    
    echo "#define restrict $_restrict" >> $TMPH
    
    
        echo "#define av_always_inline"  >> $TMPH
    
    echo "SRC_PATH=\"$source_path\"" >> config.mak
    echo "SRC_PATH_BARE=$source_path" >> config.mak
    echo "BUILD_ROOT=\"$PWD\"" >> config.mak
    
    # Apparently it's not possible to portably echo a backslash.
    
    enabled asmalign_pot &&
    
        printf '#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\\n\\t"\n' >> $TMPH ||
        printf '#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\\n\\t"\n' >> $TMPH
    
    echo "#define EXTERN_PREFIX \"${extern_prefix}\"" >> $TMPH
    
    echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
    
    
    Diego Biurrun's avatar
    Diego Biurrun committed
    # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
    
    cmp -s $TMPH config.h &&
        echo "config.h is unchanged" ||
        mv -f $TMPH config.h
    
    rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
    
    # build tree in object directory if source path is different from current one
    
    if enabled source_path_used; then
    
            doc               \
            libavcodec        \
            libavcodec/alpha  \
            libavcodec/armv4l \
            libavcodec/bfin   \
            libavcodec/i386   \
            libavcodec/mlib   \
            libavcodec/ppc    \
            libavcodec/sh4    \
            libavcodec/sparc  \
    
            libavformat       \
            libavutil         \
            libpostproc       \
            libswscale        \
            tests             \
            tools             \
            vhook             \
            "
    
            Makefile             \
            common.mak           \
            doc/texi2pod.pl      \
            libavcodec/Makefile  \
    
            libavformat/Makefile \
            libavutil/Makefile   \
            libpostproc/Makefile \
            libswscale/Makefile  \
            "
    
        for dir in $DIRS ; do
    
        done
        for f in $FILES ; do
    
    # build pkg-config files
    
    # FIXME: libdir and includedir are hardcoded and may differ from the real path.
    
    pkgconfig_generate(){
    name=$1
    comment=$2
    version=$3
    libs=$4
    requires=$5
    cat <<EOF >$name.pc
    
    exec_prefix=\${prefix}
    
    includedir=\${prefix}/include
    
    Name: $name
    Description: $comment
    Version: $version
    Requires: $requires
    
    Libs: -L\${libdir} $libs
    
    Cflags: -I\${includedir}
    
    pkgconfig_generate_uninstalled(){
    name=$1
    
    shortname=${name#lib}
    
    comment=$2
    version=$3
    libs=$4
    requires=$5
    cat <<EOF >$name-uninstalled.pc
    
    libdir=\${pcfiledir}/$name
    
    includedir=\${pcfiledir}
    
    Name: $name
    Description: $comment
    Version: $version
    Requires: $requires
    
    Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libs
    
    pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" -lavutil ""
    pkgconfig_generate_uninstalled libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
    
    pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "-lavcodec $extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
    pkgconfig_generate_uninstalled libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"
    
    pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "-lavformat $extralibs" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
    pkgconfig_generate_uninstalled libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
    
    pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "-lavdevice $extralibs" "$pkg_requires libavformat = $LIBAVFORMAT_VERSION"
    pkgconfig_generate_uninstalled libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$pkg_requires libavformat = $LIBAVFORMAT_VERSION"
    
    if enabled postproc; then
    
        pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION" -lpostproc ""
        pkgconfig_generate_uninstalled libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION"
    
        pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" -lswscale "libavutil = $LIBAVUTIL_VERSION"
        pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
    
        pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
        pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "$pkg_requires libavcodec = $LIBAVCODEC_VERSION"
    
        apply libswscale.pc sed s/^Libs:.*$/Libs:/
        apply libswscale-uninstalled.pc sed s/^Libs:.*$/Libs:/
    
      pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "-lavfilter $extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION" ffmpeg
      pkgconfig_generate_uninstalled libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$pkg_requires libavutil = $LIBAVUTIL_VERSION"