⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure

📁 法国人的264代码 大家看看啊,里面有很多可以借鉴的东西啊
💻
字号:
#! /bin/shif test x"$1" = x"-h" -o x"$1" = x"--help" ; thenecho "Usage: ./configure [options]"echo ""echo "available options:"echo ""echo "  --help                   print this message"echo "  --enable-avis-input      enables avisynth input (win32 only)"echo "  --enable-mp4-output      enables mp4 output (using gpac)"echo "  --enable-vfw             compiles the VfW frontend"echo "  --enable-gtk             build GTK+ interface"echo "  --enable-pthread         enables multithreaded encoding"echo "  --enable-debug           adds -g, doesn't strip"echo "  --enable-gprof           adds -pg, doesn't strip"echo "  --enable-visualize       enables visualization (X11 only)"echo "  --enable-pic             build position-independent code"echo "  --enable-shared          build libx264.so"echo "  --extra-asflags=EASFLAGS add EASFLAGS to ASFLAGS"echo "  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS"echo "  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS"echo ""exit 1ficc_check() {    rm -f conftest*    cat > conftest.c << EOF#include <$1>int main () { $3 return 0; }EOF    $CC $CFLAGS $LDFLAGS $2 conftest.c -o conftest 2>$DEVNULL    TMP="$?"    rm -f conftest.c conftest*    return $TMP}rm -f config.h config.mak x264.pcprefix='/usr/local'exec_prefix='${prefix}'bindir='${exec_prefix}/bin'libdir='${exec_prefix}/lib'includedir='${prefix}/include'DEVNULL='/dev/null'avis_input="auto"mp4_output="auto"pthread="auto"debug="no"gprof="no"pic="no"vfw="no"gtk="no"vis="no"shared="no"CC="${CC-gcc}"CFLAGS="-Wall -I. -O4 -ffast-math -D__X264__"LDFLAGS=""HAVE_GETOPT_LONG=1AS="nasm"ASFLAGS=""EXE=""UNAMES="`uname -s`"case "$UNAMES" in  BeOS)    SYS="BEOS"    CFLAGS="$CFLAGS -DHAVE_MALLOC_H"    ;;  Darwin)    SYS="MACOSX"    CFLAGS="$CFLAGS -falign-loops=16"    LDFLAGS="$LDFLAGS -lm -lmx"    ;;  FreeBSD)    SYS="FREEBSD"    LDFLAGS="$LDFLAGS -lm"    ;;  NetBSD)    SYS="NETBSD"    LDFLAGS="$LDFLAGS -lm"    ;;  OpenBSD)    SYS="OPENBSD"    CFLAGS="$CFLAGS -I/usr/X11R6/include"    LDFLAGS="$LDFLAGS -lm"    ;;  Linux)    SYS="LINUX"    CFLAGS="$CFLAGS -DHAVE_MALLOC_H"    LDFLAGS="$LDFLAGS -lm"    ;;  CYGWIN*)    SYS="CYGWIN"    CFLAGS="$CFLAGS -mno-cygwin"    LDFLAGS="$LDFLAGS -mno-cygwin"    EXE=".exe"    DEVNULL="NUL"    ;;  MINGW*)    SYS="MINGW"    EXE=".exe"    DEVNULL="NUL"    ;;  SunOS)    SYS="SunOS"    CFLAGS="$CFLAGS -DHAVE_MALLOC_H"    LDFLAGS="$LDFLAGS -lm"    HAVE_GETOPT_LONG=0    ;;  *)    echo "Unknown system $UNAMES, edit the configure"    exit 1    ;;esacUNAMEM="`uname -m`"case "$UNAMEM" in  i386|i486|i586|i686|BePC)    ARCH="X86"    CFLAGS="$CFLAGS -DHAVE_MMXEXT -DHAVE_SSE2"    AS="nasm"    ASFLAGS="-O2"    if [ "$SYS" = MACOSX ]; then      ASFLAGS="$ASFLAGS -f macho -DPREFIX"    elif [ "$SYS" = CYGWIN -o "$SYS" = MINGW ]; then      ASFLAGS="$ASFLAGS -f win32 -DPREFIX"    elif [ "$SYS" = NETBSD ]; then      ASFLAGS="$ASFLAGS -f aoutb"    else      ASFLAGS="$ASFLAGS -f elf"    fi    ;;  x86_64)    ARCH="X86_64"    CFLAGS="$CFLAGS -DHAVE_MMXEXT -DHAVE_SSE2"    AS="yasm"    ASFLAGS="-f elf -m amd64"    ;;  "Power Macintosh"|ppc|ppc64)    ARCH="PPC"    if [ $SYS = MACOSX ]    then      CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"    else      CFLAGS="$CFLAGS -maltivec -mabi=altivec"    fi    ;;  sun4m|sun4d|sparc|sparc64)    ARCH="Sparc"    ;;  sun4u)    ARCH="UltraSparc"    CFLAGS="$CFLAGS -mcpu=ultrasparc"    LDFLAGS="$LDFLAGS -mcpu=ultrasparc"    AS="as"    ASFLAGS="-xarch=v8plusa"    ;;  ia64)    ARCH="IA64"    ;;  alpha)    ARCH="ALPHA"    ;;  mips|mipsel|mips64)    ARCH="MIPS"    ;;  m68k)    ARCH="M68K"    ;;  arm|armv5tel|armv4l)    ARCH="ARM"    ;;  s390|s390x)    ARCH="S390"    ;;  parisc|parisc64)    ARCH="PARISC"    ;;  *)    echo "Unknown platform $UNAMEM, edit the configure"    exit 1    ;;esacCFLAGS="$CFLAGS -DARCH_$ARCH -DSYS_$SYS"# parse optionsfor opt do    optarg="${opt#*=}"    case "$opt" in        --prefix=*)            prefix="$optarg"            ;;        --exec-prefix=*)            exec_prefix="$optarg"            ;;        --bindir=*)            bindir="$optarg"            ;;        --libdir=*)            libdir="$optarg"            ;;        --includedir=*)            includedir="$optarg"            ;;        --enable-avis-input)            avis_input="yes"            ;;        --disable-avis-input)            avis_input="no"            ;;        --enable-mp4-output)            mp4_output="yes"            ;;        --disable-mp4-output)            mp4_output="no"            ;;        --extra-asflags=*)            ASFLAGS="$ASFLAGS ${opt#--extra-asflags=}"            ;;        --extra-cflags=*)            CFLAGS="$CFLAGS ${opt#--extra-cflags=}"            VFW_CFLAGS="${opt#--extra-cflags=}"            ;;        --extra-ldflags=*)            LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"            VFW_LDFLAGS="${opt#--extra-ldflags=}"            ;;        --enable-pthread)            pthread="yes"            ;;        --disable-pthread)            pthread="no"            ;;        --enable-debug)            CFLAGS="$CFLAGS -g"            debug="yes"            ;;        --enable-gprof)            CFLAGS="$CFLAGS -pg"            LDFLAGS="$LDFLAGS -pg"            gprof="yes"            ;;        --enable-pic)            pic="yes"            ;;        --enable-vfw)            vfw="yes"            ;;        --disable-vfw)            vfw="no"            ;;        --enable-gtk)            gtk="yes"            ;;        --disable-gtk)            gtk="no"            ;;        --enable-shared)            shared="yes"            if [ $ARCH = "X86_64" -o $ARCH = "PPC" -o $ARCH = "ALPHA" ] ; then                pic="yes"            fi            ;;        --enable-visualize)            LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"            CFLAGS="$CFLAGS -DVISUALIZE=1"            vis="yes"            ;;        *)            echo "Unknown option $opt, ignored"            ;;    esacdone# autodetect options that weren't forced nor disabledif test "$pthread" = "auto" ; then    case $SYS in        MINGW|CYGWIN|BEOS)            pthread="yes"            ;;        *)            pthread="no"            cc_check pthread.h -lpthread && pthread="yes"            ;;    esacfiif test "$pthread" = "yes" ; then    CFLAGS="$CFLAGS -DHAVE_PTHREAD"    case $SYS in        MINGW|CYGWIN|BEOS)            ;;        *) LDFLAGS="$LDFLAGS -lpthread"            ;;    esacfiMP4_LDFLAGS="-lgpac_static"if [ $SYS = CYGWIN -o $SYS = MINGW ]; then    MP4_LDFLAGS="$MP4_LDFLAGS -lwinmm"fiif [ "$mp4_output" = "auto" ] ; then    mp4_output="no"    cc_check gpac/isomedia.h "$MP4_LDFLAGS" && mp4_output="yes"fiif [ "$mp4_output" = "yes" ] ; then    echo "#define MP4_OUTPUT" >> config.h    LDFLAGS="$LDFLAGS $MP4_LDFLAGS"fiif [ "$avis_input" = "auto" ] ; then    if [ $SYS = CYGWIN -o $SYS = MINGW ]; then        avis_input="yes"    else        avis_input="no";    fifiif [ "$avis_input" = "yes" ] ; then    echo "#define AVIS_INPUT" >> config.h    LDFLAGS="$LDFLAGS -lvfw32"fiif [ "$pic" = "yes" ] ; then    CFLAGS="$CFLAGS -fPIC"    ASFLAGS="$ASFLAGS -D__PIC__"fiif [ "$debug" != "yes" -a "$gprof" != "yes" ]; then    CFLAGS="$CFLAGS -s -fomit-frame-pointer"    LDFLAGS="$LDFLAGS -s"    VFW_LDFLAGS="$VFW_LDFLAGS -s"fiif cc_check "stdio.h" "" "fseeko(stdin,0,0);" ; then    echo "#define fseek fseeko" >> config.h    echo "#define ftell ftello" >> config.helif cc_check "stdio.h" "" "fseeko64(stdin,0,0);" ; then    echo "#define fseek fseeko64" >> config.h    echo "#define ftell ftello64" >> config.hfi# generate config filescat > config.mak << EOFprefix=$prefixexec_prefix=$exec_prefixbindir=$bindirlibdir=$libdirincludedir=$includedirARCH=$ARCHSYS=$SYSCC=$CCCFLAGS=$CFLAGSLDFLAGS=$LDFLAGSAS=$ASASFLAGS=$ASFLAGSVFW=$vfwGTK=$gtkEXE=$EXEVIS=$visHAVE_GETOPT_LONG=$HAVE_GETOPT_LONGDEVNULL=$DEVNULLEOFecho -n 'CONFIGURE_ARGS=' >> config.makfor A in "$@" ; do    echo -n " '$A'" >> config.makdoneecho '' >> config.makcp config.mak gtk/config.makif [ "$vfw" = "yes" ]; then    rm -f vfw/build/cygwin/config.mak    cat > vfw/build/cygwin/config.mak << EOFCFLAGS=$VFW_CFLAGSLDFLAGS=$VFW_LDFLAGSEOF    echo "default: x264vfw.dll" >> config.makfiif [ "$shared" = "yes" ]; then    API=`grep '#define X264_BUILD' < x264.h | cut -f 3 -d ' '`    echo "SONAME=libx264.so.$API" >> config.mak    echo 'default: $(SONAME)' >> config.mak    if [ "$gtk" = "yes" ]; then        echo "SONAMEGTK=libx264gtk.so.$API" >> gtk/config.mak    fifiif [ "$gtk" = "yes" ]; then    echo 'default: libx264gtk.a' >> config.mak    echo 'install: install-gtk' >> config.makfi./version.shpclibs="-L$libdir -lx264"if test "$pthread" = "yes" ; then  case $SYS in    MINGW|CYGWIN|BEOS)      ;;    *) pclibs="$pclibs -lpthread"      ;;  esacficat > x264.pc << EOFprefix=$prefixexec_prefix=$exec_prefixlibdir=$libdirincludedir=$includedirName: x264Description: H.264 (MPEG4 AVC) encoder libraryVersion: $(grep POINTVER < config.h | sed -e 's/.* "//; s/".*//')Libs: $pclibsCflags: -I$includedirEOFecho "Platform:   $ARCH"echo "System:     $SYS"echo "avis input: $avis_input"echo "mp4 output: $mp4_output"echo "pthread:    $pthread"echo "vfw:        $vfw"echo "gtk:        $gtk"echo "debug:      $debug"echo "gprof:      $gprof"echo "PIC:        $pic"echo "shared:     $shared"echo "visualize:  $vis"echoecho "You can run 'make' or 'make fprofiled' now."

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -