📄 configure
字号:
# check for ioctl_meteor.h, ioctl_bt848.h and alternatives{ check_header dev/bktr/ioctl_meteor.h && check_header dev/bktr/ioctl_bt848.h; } ||{ check_header machine/ioctl_meteor.h && check_header machine/ioctl_bt848.h; } ||{ check_header dev/video/meteor/ioctl_meteor.h && check_header dev/video/bktr/ioctl_bt848.h; } ||check_header dev/ic/bt8xx.hcheck_header sys/soundcard.hcheck_header soundcard.h# deal with the X11 frame grabberenabled x11grab &&check_header X11/Xlib.h &&check_header X11/extensions/XShm.h &&check_func XOpenDisplay -lX11 &&check_func XShmCreateImage -lX11 -lXextenabled debug && add_cflags -g# add some useful compiler flags if supportedcheck_cflags -Wdeclaration-after-statementcheck_cflags -Wallcheck_cflags -Wno-switchcheck_cflags -Wdisabled-optimizationcheck_cflags -Wpointer-arithcheck_cflags -Wredundant-declscheck_cflags -Wno-pointer-signcheck_cflags -Wcast-qualcheck_cflags -Wwrite-stringscheck_cflags -Wtype-limitsenabled extra_warnings && check_cflags -Winline# add some linker flagscheck_ldflags -Wl,--warn-commoncheck_ldflags $LDLATEFLAGScheck_ldflags -Wl,-Bsymbolicif enabled small; then check_cflags -Os # not all compilers support -Os optimizations="small"elif enabled optimizations; then if test -n "`$cc -v 2>&1 | grep xlc`"; then add_cflags "-O5" add_ldflags "-O5" else add_cflags "-O3" fifi# PIC flags for shared library objects where they are neededif enabled shared; then # LIBOBJFLAGS may have already been set in the OS configuration if test -z "$LIBOBJFLAGS" ; then case "$arch" in x86_64|ia64|alpha|sparc*|power*) LIBOBJFLAGS='$(PIC)' ;; esac fifiif enabled gprof; then add_cflags "-p" add_ldflags "-p"fiVHOOKCFLAGS="-fPIC"# Find out if the .align argument is a power of two or not.if test $asmalign_pot = "unknown"; then disable asmalign_pot echo 'asm (".align 3");' | check_cc && enable asmalign_potfienabled_any $DECODER_LIST && enable decodersenabled_any $ENCODER_LIST && enable encodersenabled_any $BSF_LIST && enable bsfsenabled_any $DEMUXER_LIST && enable demuxersenabled_any $MUXER_LIST && enable muxersenabled_any $INDEV_LIST && enable demuxersenabled_any $OUTDEV_LIST && enable muxersenabled_any $PROTOCOL_LIST && enable protocolsenabled_any $THREADS_LIST && enable threadscheck_deps $CONFIG_LIST \ $HAVE_LIST \ $DECODER_LIST \ $ENCODER_LIST \ $PARSER_LIST \ $BSF_LIST \ $DEMUXER_LIST \ $MUXER_LIST \ $INDEV_LIST \ $OUTDEV_LIST \ $PROTOCOL_LIST \enabled libdc1394 && append pkg_requires "libraw1394"enabled libtheora && append pkg_requires "theora"enabled libvorbis && append pkg_requires "vorbisenc"echo "install prefix $PREFIX"echo "source path $source_path"echo "C compiler $cc"echo "make $make"echo ".align is power-of-two $asmalign_pot"echo "ARCH $arch ($cpu)"if test "$BUILDSUF" != ""; then echo "build suffix $BUILDSUF"fiecho "big-endian ${bigendian-no}"if test $arch = "x86_32" -o $arch = "x86_64"; then echo "MMX enabled ${mmx-no}" echo "CMOV enabled ${cmov-no}" echo "CMOV is fast ${fast_cmov-no}" echo "EBX available ${ebx_available-no}" echo "EBP available ${ebp_available-no}"fiif test $arch = "armv4l"; then echo "ARMv5TE enabled ${armv5te-no}" echo "ARMv6 enabled ${armv6-no}" echo "IWMMXT enabled ${iwmmxt-no}"fiif test $arch = "mips"; then echo "MMI enabled ${mmi-no}"fiif test $arch = "powerpc"; then echo "AltiVec enabled ${altivec-no}" echo "dcbzl available ${dcbzl-no}"fiecho "gprof enabled ${gprof-no}"echo "debug symbols ${debug-no}"echo "strip symbols ${dostrip-no}"echo "optimizations ${optimizations-no}"echo "static ${static-no}"echo "shared ${shared-no}"echo "postprocessing support ${pp-no}"echo "software scaler enabled ${swscaler-no}"echo "video hooking ${vhook-no}"if enabled vhook; then echo "Imlib2 support ${imlib2-no}" echo "FreeType support ${freetype2-no}"fiecho "network support ${network-no}"if enabled network; then echo "IPv6 support ${ipv6-no}"fiecho "threading support ${thread_type-no}"echo "SDL support ${sdl-no}"if enabled sdl_too_old; then echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."fiecho "Sun medialib support ${mlib-no}"echo "AVISynth enabled ${avisynth-no}"echo "liba52 support ${liba52-no}"echo "liba52 dlopened ${liba52bin-no}"echo "libamr-nb support ${libamr_nb-no}"echo "libamr-wb support ${libamr_wb-no}"echo "libdc1394 support ${libdc1394-no}"echo "libfaac enabled ${libfaac-no}"echo "libfaad enabled ${libfaad-no}"echo "libfaad dlopened ${libfaadbin-no}"echo "libgsm enabled ${libgsm-no}"echo "libmp3lame enabled ${libmp3lame-no}"echo "libnut enabled ${libnut-no}"echo "libtheora enabled ${libtheora-no}"echo "libvorbis enabled ${libvorbis-no}"echo "x264 enabled ${libx264-no}"echo "XviD enabled ${libxvid-no}"echo "zlib enabled ${zlib-no}"for type in decoder encoder parser demuxer muxer protocol bsf indev outdev; do echo "Enabled ${type}s:" ucname="\$`toupper $type`_LIST" list="`eval echo $ucname`" partlist="" for part in $list; do enabled $part && partlist="$partlist $part" done partlist=`echo $partlist | sed s/_$type//g | tr ' ' '\n' | sort` echo $partlistdoneenabled nonfree && echo "License: unredistributable" || (enabled gpl && echo "License: GPL" || echo "License: LGPL")echo "Creating config.mak and config.h..."echo "# Automatically generated by configure - do not modify!" > config.makecho "/* Automatically generated by configure - do not modify! */" > $TMPHecho "#ifndef FFMPEG_CONFIG_H" >> $TMPHecho "#define FFMPEG_CONFIG_H" >> $TMPHecho "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPHecho "PREFIX=$PREFIX" >> config.makecho "prefix=\$(DESTDIR)\$(PREFIX)" >> config.makecho "LIBDIR=\$(DESTDIR)$libdir" >> config.makecho "SHLIBDIR=\$(DESTDIR)$shlibdir" >> config.makecho "INCDIR=\$(DESTDIR)$incdir" >> config.makecho "BINDIR=\$(DESTDIR)$bindir" >> config.makecho "MANDIR=\$(DESTDIR)$mandir" >> config.makecho "MAKE=$make" >> config.makecho "CC=$cc" >> config.makecho "AR=$ar" >> config.makecho "RANLIB=$ranlib" >> config.makecho "LDCONFIG=$LDCONFIG" >> config.makecho "LN_S=$ln_s" >> config.makenabled dostrip && echo "STRIP=$strip" >> config.mak || echo "STRIP=echo ignoring strip" >> config.makecho "OPTFLAGS=$CFLAGS" >> config.makecho "VHOOKCFLAGS=$VHOOKCFLAGS">>config.makecho "LDFLAGS=$LDFLAGS" >> config.makecho "FFSERVERLDFLAGS=$FFSERVERLDFLAGS" >> config.makecho "SHFLAGS=$SHFLAGS" >> config.makecho "VHOOKSHFLAGS=$VHOOKSHFLAGS" >> config.makecho "VHOOKLIBS=$VHOOKLIBS" >> config.makecho "LIBOBJFLAGS=$LIBOBJFLAGS" >> config.makecho "BUILD_STATIC=$static" >> config.makecho "BUILDSUF=$BUILDSUF" >> config.makecho "FULLNAME=$FULLNAME" >> config.makecho "LIBPREF=$LIBPREF" >> config.makecho "LIBSUF=$LIBSUF" >> config.makecho "LIBNAME=$LIBNAME" >> config.makecho "SLIBPREF=$SLIBPREF" >> config.makecho "SLIBSUF=$SLIBSUF" >> config.makecho "EXESUF=$EXESUF" >> config.makif enabled bigendian; then echo "WORDS_BIGENDIAN=yes" >> config.mak echo "#define WORDS_BIGENDIAN 1" >> $TMPHfiif enabled mmx; then echo "#define __CPU__ 586" >> $TMPHfiif enabled sdl; then echo "SDL_LIBS=`"${SDL_CONFIG}" --libs`" >> config.mak echo "SDL_CFLAGS=`"${SDL_CONFIG}" --cflags`" >> config.makfiif enabled texi2html; then echo "BUILD_DOC=yes" >> config.makfisws_version=`grep '#define LIBSWSCALE_VERSION ' "$source_path/libswscale/swscale.h" | sed 's/[^0-9\.]//g'`pp_version=`grep '#define LIBPOSTPROC_VERSION ' "$source_path/libpostproc/postprocess.h" | sed 's/[^0-9\.]//g'`lavc_version=`grep '#define LIBAVCODEC_VERSION ' "$source_path/libavcodec/avcodec.h" | sed 's/[^0-9\.]//g'`lavd_version=`grep '#define LIBAVDEVICE_VERSION ' "$source_path/libavdevice/avdevice.h" | sed 's/[^0-9\.]//g'`lavf_version=`grep '#define LIBAVFORMAT_VERSION ' "$source_path/libavformat/avformat.h" | sed 's/[^0-9\.]//g'`lavu_version=`grep '#define LIBAVUTIL_VERSION ' "$source_path/libavutil/avutil.h" | sed 's/[^0-9\.]//g'`if enabled shared; then echo "BUILD_SHARED=yes" >> config.mak echo "PIC=-fPIC -DPIC" >> config.mak echo "SPPMAJOR=${pp_version%%.*}" >> config.mak echo "SPPVERSION=$pp_version" >> config.mak echo "LAVCMAJOR=${lavc_version%%.*}" >> config.mak echo "LAVCVERSION=$lavc_version" >> config.mak echo "LAVDMAJOR=${lavd_version%%.*}" >> config.mak echo "LAVDVERSION=$lavd_version" >> config.mak echo "LAVFMAJOR=${lavf_version%%.*}" >> config.mak echo "LAVFVERSION=$lavf_version" >> config.mak echo "LAVUMAJOR=${lavu_version%%.*}" >> config.mak echo "LAVUVERSION=$lavu_version" >> config.mak echo "SWSMAJOR=${sws_version%%.*}" >> config.mak echo "SWSVERSION=$sws_version" >> 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.makfiecho "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.makecho "EXTRALIBS=$extralibs" >> config.makprint_config ARCH_ $TMPH config.mak $ARCH_LISTprint_config HAVE_ $TMPH config.mak $HAVE_LISTprint_config CONFIG_ $TMPH config.mak $CONFIG_LIST \ $DECODER_LIST \ $ENCODER_LIST \ $PARSER_LIST \ $BSF_LIST \ $DEMUXER_LIST \ $MUXER_LIST \ $PROTOCOL_LIST \ $INDEV_LIST \ $OUTDEV_LIST \echo "#define restrict $_restrict" >> $TMPHif enabled small; then echo "#define av_always_inline" >> $TMPHfiecho "SRC_PATH=\"$source_path\"" >> config.makecho "SRC_PATH_BARE=$source_path" >> config.makecho "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' >> $TMPHecho "#endif /* FFMPEG_CONFIG_H */" >> $TMPH# Do not overwrite config.h if unchanged to avoid superfluous rebuilds.cmp -s $TMPH config.h && echo "config.h is unchanged" || mv -f $TMPH config.hrm -f $TMPO $TMPC $TMPE $TMPS $TMPH# build tree in object directory if source path is different from current oneif enabled source_path_used; then DIRS="\ doc \ libavcodec \ libavcodec/alpha \ libavcodec/armv4l \ libavcodec/bfin \ libavcodec/i386 \ libavcodec/mlib \ libavcodec/ppc \ libavcodec/sh4 \ libavcodec/sparc \ libavdevice \ libavformat \ libavutil \ libpostproc \ libswscale \ tests \ tools \ vhook \ " FILES="\ Makefile \ common.mak \ doc/texi2pod.pl \ libavcodec/Makefile \ libavdevice/Makefile \ libavformat/Makefile \ libavutil/Makefile \ libpostproc/Makefile \ libswscale/Makefile \ " for dir in $DIRS ; do mkdir -p $dir done for f in $FILES ; do $ln_s "$source_path/$f" $f donefi# build pkg-config files# FIXME: libdir and includedir are hardcoded and may differ from the real path.pkgconfig_generate(){name=$1comment=$2version=$3libs=$4requires=$5include=$6cat <<EOF >$name.pcprefix=$PREFIXexec_prefix=\${prefix}libdir=\${exec_prefix}/libincludedir=\${prefix}/includeName: $nameDescription: $commentVersion: $versionRequires: $requiresConflicts:Libs: -L\${libdir} $libsCflags: -I\${includedir}/$includeEOF}pkgconfig_generate_uninstalled(){name=$1shortname=${name#lib}comment=$2version=$3libs=$4requires=$5cat <<EOF >$name-uninstalled.pcprefix=exec_prefix=libdir=\${pcfiledir}/$nameincludedir=\${pcfiledir}/$nameName: $nameDescription: $commentVersion: $versionRequires: $requiresConflicts:Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libsCflags: -I\${includedir}EOF}pkgconfig_generate libavutil "FFmpeg utility library" "$lavu_version" -lavutil "" ffmpegpkgconfig_generate_uninstalled libavutil "FFmpeg utility library" "$lavu_version"pkgconfig_generate libavcodec "FFmpeg codec library" "$lavc_version" "-lavcodec $extralibs" "$pkg_requires libavutil = $lavu_version" ffmpegpkgconfig_generate_uninstalled libavcodec "FFmpeg codec library" "$lavc_version" "$extralibs" "$pkg_requires libavutil = $lavu_version"pkgconfig_generate libavformat "FFmpeg container format library" "$lavf_version" "-lavformat $extralibs" "$pkg_requires libavcodec = $lavc_version" ffmpegpkgconfig_generate_uninstalled libavformat "FFmpeg container format library" "$lavf_version" "$extralibs" "$pkg_requires libavcodec = $lavc_version"pkgconfig_generate libavdevice "FFmpeg device handling library" "$lavd_version" "-lavdevice $extralibs" "$pkg_requires libavformat = $lavf_version" ffmpegpkgconfig_generate_uninstalled libavdevice "FFmpeg device handling library" "$lavd_version" "$extralibs" "$pkg_requires libavformat = $lavf_version"if enabled pp; then pkgconfig_generate libpostproc "FFmpeg post processing library" "$pp_version" -lpostproc "" postproc pkgconfig_generate_uninstalled libpostproc "FFmpeg post processing library" "$pp_version"fiif enabled swscaler; then pkgconfig_generate libswscale "FFmpeg image rescaling library" "$sws_version" -lswscale "libavutil = $lavu_version" ffmpeg pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$sws_version" "" "libavutil = $lavu_version"else pkgconfig_generate libswscale "FFmpeg image rescaling library" "$sws_version" "" "$pkg_requires libavcodec = $lavc_version" ffmpeg pkgconfig_generate_uninstalled libswscale "FFmpeg image rescaling library" "$sws_version" "" "$pkg_requires libavcodec = $lavc_version" apply libswscale.pc sed s/^Libs:.*$/Libs:/ apply libswscale-uninstalled.pc sed s/^Libs:.*$/Libs:/fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -