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

📄 configure

📁 linux下编译已经通过
💻
字号:
#! /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-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 "  --host=HOST              build programs to run on HOST"echo ""exit 1ficc_check() {    rm -f conftest*    cat > conftest.c << EOF#include <$1>int main () { $3 return 0; }EOF    $CC conftest.c $CFLAGS $LDFLAGS $2 -o conftest 2>$DEVNULL    TMP="$?"    rm -f conftest*    return $TMP}as_check() {    rm -f conftest*    echo "$1" > conftest.asm    $AS conftest.asm $ASFLAGS $2 -o conftest.o 2>$DEVNULL    TMP="$?"    rm -f 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"gtk="no"vis="no"shared="no"CC="${CC-gcc}"CFLAGS="$CFLAGS -Wall -I."LDFLAGS="$LDFLAGS"HAVE_GETOPT_LONG=1AS="yasm"ASFLAGS=""EXE=""# check whether 'echo -n' works as expected, otherwise try printfif [ "x`echo -n houba`" = xhouba ]then  ECHON="echo -n"elif [ "x`printf houba`" = xhouba ]then  ECHON="printf"else  echo "Neither 'echo -n' nor 'printf' are working with your shell!"  exit 1fi# 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=}"            ;;        --extra-ldflags=*)            LDFLAGS="$LDFLAGS ${opt#--extra-ldflags=}"            ;;        --enable-pthread)            pthread="auto" # can't skip detection, since it differs by OS            ;;        --disable-pthread)            pthread="no"            ;;        --enable-debug)            debug="yes"            ;;        --enable-gprof)            CFLAGS="$CFLAGS -pg"            LDFLAGS="$LDFLAGS -pg"            gprof="yes"            ;;        --enable-pic)            pic="yes"            ;;        --enable-gtk)            gtk="yes"            ;;        --disable-gtk)            gtk="no"            ;;        --enable-shared)            shared="yes"            ;;        --enable-visualize)            LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"            CFLAGS="$CFLAGS -DVISUALIZE=1"            vis="yes"            ;;        --host=*)            host="${opt#--host=}"            ;;        *)            echo "Unknown option $opt, ignored"            ;;    esacdoneif [ "x$host" = x ]; then    host=`./config.guess`fi# normalize a triplet into a quadruplethost=`./config.sub $host`# split $hosthost_cpu="${host%%-*}"host="${host#*-}"host_vendor="${host%%-*}"host_os="${host#*-}"case $host_os 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"    ;;  kfreebsd*-gnu)    SYS="FREEBSD"    CFLAGS="$CFLAGS -DHAVE_MALLOC_H"    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*|solaris*)    SYS="SunOS"    CFLAGS="$CFLAGS -DHAVE_MALLOC_H"    LDFLAGS="$LDFLAGS -lm"    HAVE_GETOPT_LONG=0    ;;  *)    echo "Unknown system $host, edit the configure"    exit 1    ;;esaccase $host_cpu in  i*86)    ARCH="X86"    AS="yasm"    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    as_check || AS="nasm"    ;;  x86_64)    ARCH="X86_64"    AS="yasm"    ASFLAGS="-f elf -m amd64"    ;;  powerpc|powerpc64)    ARCH="PPC"    if [ $SYS = MACOSX ]    then      ALTIVECFLAGS="$ALTIVECFLAGS -faltivec -fastf -mcpu=G4"    else      ALTIVECFLAGS="$ALTIVECFLAGS -maltivec -mabi=altivec"    fi    ;;  sparc)    if test "$(uname -m)" = "sun4u"; then      ARCH="UltraSparc"      CFLAGS="$CFLAGS -mcpu=ultrasparc"      LDFLAGS="$LDFLAGS -mcpu=ultrasparc"      AS="as"      ASFLAGS="-xarch=v8plusa"    else      ARCH="Sparc"    fi    ;;  mips|mipsel|mips64|mips64el)    ARCH="MIPS"    ;;  arm*)    ARCH="ARM"    ;;  s390|s390x)    ARCH="S390"    ;;  parisc|parisc64)    ARCH="PARISC"    ;;  *)    ARCH="$(echo $host_cpu | tr a-z A-Z)"    ;;esac# check requirementsif [ $shared = yes -a \( $ARCH = "X86_64" -o $ARCH = "PPC" -o $ARCH = "ALPHA" \) ] ; then    pic="yes"fiif [ $SYS = MACOSX -a $ARCH = X86 ]then  # we want Apple's nasm from Xcode 2.4.1 or later  NASM_BUILD_REQUIRED=11  NASM_BUILD=`nasm -v|grep "Apple Computer"|sed 's/.*build \([0-9]*\).*/\1/'`  if [ $NASM_BUILD -lt $NASM_BUILD_REQUIRED ]  then    echo "Your version of 'nasm' is too old."    echo "Please install Xcode 2.4.1 or later."    AS=""  fifiif [ $ARCH = X86 -o $ARCH = X86_64 ] ; then    if as_check ; then        CFLAGS="$CFLAGS -DHAVE_MMX"        if as_check "pabsw xmm0, xmm0" ; then            ASFLAGS="$ASFLAGS -DHAVE_SSE3"            CFLAGS="$CFLAGS -DHAVE_SSE3"        fi    else        echo "No suitable assembler found.  x264 will be several times slower."        echo "Please install 'yasm' to get MMX/SSE optimized code."        AS=""    fifiCFLAGS="$CFLAGS -DARCH_$ARCH -DSYS_$SYS"# autodetect options that weren't forced nor disabledlibpthread=""if test "$pthread" = "auto" ; then    pthread="no"    case $SYS in        BEOS)            pthread="yes"            ;;        MINGW|CYGWIN)            if cc_check pthread.h -lpthread "pthread_create(0,0,0,0);" ; then                pthread="yes"                libpthread="-lpthread"            elif cc_check pthread.h -lpthreadGC2 "pthread_create(0,0,0,0);" ; then                pthread="yes"                libpthread="-lpthreadGC2"            elif cc_check pthread.h "-lpthreadGC2 -lwsock32 -DPTW32_STATIC_LIB" "pthread_create(0,0,0,0);" ; then                pthread="yes"                libpthread="-lpthreadGC2 -lwsock32"                CFLAGS="$CFLAGS -DPTW32_STATIC_LIB"            fi            ;;        *)            cc_check pthread.h -lpthread && pthread="yes" && libpthread="-lpthread"            ;;    esacfiif test "$pthread" = "yes" ; then    CFLAGS="$CFLAGS -DHAVE_PTHREAD"    LDFLAGS="$LDFLAGS $libpthread"fiMP4_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"fiif [ "$debug" = "yes" ]; then    CFLAGS="-O1 -g $CFLAGS"else    CFLAGS="-O4 -ffast-math $CFLAGS"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=$CFLAGSALTIVECFLAGS=$ALTIVECFLAGSLDFLAGS=$LDFLAGSAS=$ASASFLAGS=$ASFLAGSGTK=$gtkEXE=$EXEVIS=$visHAVE_GETOPT_LONG=$HAVE_GETOPT_LONGDEVNULL=$DEVNULLECHON=$ECHONEOF$ECHON 'CONFIGURE_ARGS=' >> config.makfor A in "$@" ; do    $ECHON " '$A'" >> config.makdoneecho '' >> config.makcp config.mak gtk/config.makif [ "$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 $libpthread"cat > 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 "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 + -