[svn] / branches / release-1_3-branch / xvidcore / build / generic / configure.in Repository:
ViewVC logotype

Diff of /branches/release-1_3-branch/xvidcore/build/generic/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/xvidcore/build/generic/configure.in revision 1609, Mon Apr 4 23:49:37 2005 UTC branches/release-1_3-branch/xvidcore/build/generic/configure.in revision 2032, Wed Sep 14 15:08:52 2011 UTC
# Line 1  Line 1 
1  dnl ==========================================================================  dnl ==========================================================================
2  dnl  dnl
3  dnl Autoconf script for XviD  dnl Autoconf script for Xvid
4  dnl  dnl
5  dnl Copyright(C) 2003-2004 Edouard Gomez <ed.gomez@free.fr>  dnl Copyright(C) 2003-2004 Edouard Gomez <ed.gomez@free.fr>
6  dnl  dnl
# Line 8  Line 8 
8    
9  AC_PREREQ([2.50])  AC_PREREQ([2.50])
10    
11  AC_INIT([XviD], [1.1.0-beta2], [xvid-devel@xvid.org])  AC_INIT([Xvid], [1.3.2], [xvid-devel@xvid.org])
12  AC_CONFIG_SRCDIR(configure.in)  AC_CONFIG_SRCDIR(configure.in)
13    
14  dnl Do not forget to increase that when needed.  dnl Do not forget to increase that when needed.
15  API_MAJOR="4"  API_MAJOR="4"
16  API_MINOR="1"  API_MINOR="3"
17    
18  dnl NASM version requirement  dnl NASM/YASM version requirement
19  minimum_nasm_patch_version=34  minimum_yasm_major_version=1
20    minimum_nasm_minor_version=0
21    minimum_nasm_major_version=2
22  nasm_prog="nasm"  nasm_prog="nasm"
23  yasm_prog="yasm"  yasm_prog="yasm"
24    
# Line 25  Line 27 
27  our_cflags_defaults="$our_cflags_defaults -O2"  our_cflags_defaults="$our_cflags_defaults -O2"
28  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
29  our_cflags_defaults="$our_cflags_defaults -finline-functions"  our_cflags_defaults="$our_cflags_defaults -finline-functions"
 our_cflags_defaults="$our_cflags_defaults -freduce-all-givs"  
30  our_cflags_defaults="$our_cflags_defaults -ffast-math"  our_cflags_defaults="$our_cflags_defaults -ffast-math"
31  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"
32    
# Line 73  Line 74 
74                    fi],                    fi],
75                   [assembly="yes"])                   [assembly="yes"])
76    
77    dnl pthread code
78    AC_ARG_ENABLE(pthread,
79                    AC_HELP_STRING([--disable-pthread],
80                                     [Disable pthread dependent code]),
81                     [if test "$enable_pthread" = "no" ; then
82                         pthread="no"
83                      else
84                         if test "$enable_pthread" = "yes" ; then
85                            pthread="yes"
86                         fi
87                      fi],
88                     [pthread="yes"])
89    
90  dnl Build as a module not a shared lib on darwin  dnl Build as a module not a shared lib on darwin
91  AC_ARG_ENABLE(macosx_module,  AC_ARG_ENABLE(macosx_module,
92                  AC_HELP_STRING([--enable-macosx_module],                  AC_HELP_STRING([--enable-macosx_module],
# Line 127  Line 141 
141  dnl ==========================================================================  dnl ==========================================================================
142    
143  AC_PROG_RANLIB  AC_PROG_RANLIB
144    AC_CHECK_TOOL([AR], [ar], [ar-not-found])
145    
146  dnl ==========================================================================  dnl ==========================================================================
147  dnl  dnl
# Line 199  Line 214 
214          BUS="64BIT"          BUS="64BIT"
215          ;;          ;;
216       *)       *)
217          AC_MSG_ERROR([XviD supports only 32/64 bit architectures])          AC_MSG_ERROR([Xvid supports only 32/64 bit architectures])
218          ;;          ;;
219  esac  esac
220    
# Line 222  Line 237 
237  STATIC_EXTENSION=""  STATIC_EXTENSION=""
238  OBJECT_EXTENSION=""  OBJECT_EXTENSION=""
239  case "$target_os" in  case "$target_os" in
240       *bsd*|linux*|beos|irix*|solaris*)       *bsd*|linux*|beos|irix*|solaris*|gnu*)
241          AC_MSG_RESULT([.so .a .o])          AC_MSG_RESULT([.so .a .o])
242          STATIC_EXTENSION="a"          STATIC_EXTENSION="a"
243          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
# Line 263  Line 278 
278  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
279  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
280  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
281    ALTIVEC_CFLAGS=""
282  PRE_SHARED_LIB=""  PRE_SHARED_LIB=""
283  case "$target_os" in  case "$target_os" in
284       *bsd*|linux*|irix*|solaris*)       linux*|solaris*|gnu*)
285            AC_MSG_RESULT([ok])
286            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
287            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
288            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
289            SPECIFIC_CFLAGS="-fPIC"
290            ;;
291         *bsd*|irix*)
292          AC_MSG_RESULT([ok])          AC_MSG_RESULT([ok])
293          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
294          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
# Line 276  Line 299 
299          AC_MSG_RESULT([ok])          AC_MSG_RESULT([ok])
300          STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
301          SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
302          SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
303          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS=""
304          ;;          ;;
305       darwin*|raphsody*)       darwin*|raphsody*)
306          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
# Line 285  Line 308 
308          if test x"$macosx_module" = x"no"; then          if test x"$macosx_module" = x"no"; then
309             AC_MSG_RESULT([dylib options])             AC_MSG_RESULT([dylib options])
310             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
311             SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"             SPECIFIC_LDFLAGS="-Wl,-read_only_relocs,suppress -dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"
312          else          else
313             AC_MSG_RESULT([module options])             AC_MSG_RESULT([module options])
314             PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"             PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
# Line 334  Line 357 
357    
358     dnl     dnl
359     dnl Checking for nasm compatible programs     dnl Checking for nasm compatible programs
    dnl yasm is preferred over nasm, because... i can use it  
    dnl to profile assembly code ;-)  
360     dnl     dnl
361    
362     found_nasm_comp_prog="no"     found_nasm_comp_prog="no"
# Line 344  Line 365 
365     dnl Check for yasm first     dnl Check for yasm first
366     AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
367     if test "$ac_yasm" = "yes" ; then     if test "$ac_yasm" = "yes" ; then
368           dnl
369           dnl Checking yasm version
370           dnl
371           AC_MSG_CHECKING([for yasm version])
372           yasm_major=`$yasm_prog --version | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 2`
373           if test -z $yasm_major ; then
374              yasm_major=-1
375           fi
376           AC_MSG_RESULT([$yasm_major])
377    
378           dnl Actually, yasm >= 0.7.99.2161 should be ok
379           dnl But I'm too lazy to check also the patch version...
380           if test "$yasm_major" -lt "$minimum_yasm_major_version" ; then
381             AC_MSG_WARN([yasm version is too old])
382           else
383       found_nasm_comp_prog="yes"       found_nasm_comp_prog="yes"
384       chosen_asm_prog="$yasm_prog"       chosen_asm_prog="$yasm_prog"
385     fi     fi
386       fi
387    
388     dnl if yasm hasn't been found, then check for nasm (not buggy version)     dnl Check for nasm (not buggy version)
389     if test "$found_nasm_comp_prog" = "no" -a "$ARCHITECTURE" != "X86_64" ; then     if test "$found_nasm_comp_prog" = "no" ; then
390         AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])         AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
391         if test "$ac_nasm" = "yes" ; then         if test "$ac_nasm" = "yes" ; then
392             dnl             dnl
393             dnl Checking nasm patch version             dnl Checking nasm version
394             dnl             dnl
395             AC_MSG_CHECKING([for nasm patch version])             AC_MSG_CHECKING([for nasm version])
396             nasm_patch=`$nasm_prog -r | cut -d '.' -f 3 | cut -d ' ' -f 1`             nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
397             if test -z $nasm_patch ; then             nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
398                nasm_patch=-1             if test -z $nasm_minor ; then
399             fi                nasm_minor=-1
400             AC_MSG_RESULT([$nasm_patch])             fi
401               if test -z $nasm_major ; then
402                  nasm_major=-1
403             if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then             fi
404                 AC_MSG_WARN([nasm patch version is too old])             AC_MSG_RESULT([$nasm_major])
405    
406               dnl need nasm 2.x for SSE3/4 and X86_64
407               if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
408                 AC_MSG_WARN([nasm version is too old])
409             else             else
410                 found_nasm_comp_prog="yes"                 found_nasm_comp_prog="yes"
411                         chosen_asm_prog="$nasm_prog"                         chosen_asm_prog="$nasm_prog"
# Line 378  Line 419 
419     if test "$found_nasm_comp_prog" = "yes" ; then     if test "$found_nasm_comp_prog" = "yes" ; then
420         AC_MSG_CHECKING([for asm object format])         AC_MSG_CHECKING([for asm object format])
421         case "$target_os" in         case "$target_os" in
422             *bsd*|linux*|beos|irix*|solaris*)             *bsd*|linux*|beos|irix*|solaris*|gnu*)
423                   if test "$ARCHITECTURE" = "X86_64" ; then
424                       AC_MSG_RESULT([elf64])
425                       NASM_FORMAT="elf64"
426                   else
427                 AC_MSG_RESULT([elf])                 AC_MSG_RESULT([elf])
428                 NASM_FORMAT="elf"                 NASM_FORMAT="elf"
429                   fi
430                 MARK_FUNCS="-DMARK_FUNCS"                 MARK_FUNCS="-DMARK_FUNCS"
431                     PREFIX=""                     PREFIX=""
432                 ;;                 ;;
433             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
434                   if test "$ARCHITECTURE" = "X86_64" ; then
435                       AC_MSG_RESULT([win64])
436                       NASM_FORMAT="win64"
437                   else
438                 AC_MSG_RESULT([win32])                 AC_MSG_RESULT([win32])
439                 NASM_FORMAT="win32"                 NASM_FORMAT="win32"
440                   fi
441                   PREFIX="-DWINDOWS"
442                   MARK_FUNCS=""
443                   ;;
444               *darwin*)
445                   if test "$ARCHITECTURE" = "X86_64" ; then
446                       AC_MSG_RESULT([macho64])
447                       NASM_FORMAT="macho64"
448                   else
449                       AC_MSG_RESULT([macho32])
450                       NASM_FORMAT="macho32"
451                   fi
452                 PREFIX="-DPREFIX"                 PREFIX="-DPREFIX"
453                 MARK_FUNCS=""                 MARK_FUNCS=""
454                 ;;                 ;;
# Line 394  Line 456 
456    
457         AS="$chosen_asm_prog"         AS="$chosen_asm_prog"
458         ASSEMBLY_EXTENSION="asm"         ASSEMBLY_EXTENSION="asm"
459         AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
460         ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"         ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
461         if test "$ARCHITECTURE" = "X86_64" ; then         if test "$ARCHITECTURE" = "X86_64" ; then
462                 AFLAGS=${AFLAGS}" -m amd64"                 AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
463         fi         fi
464     else     else
465         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
# Line 413  Line 475 
475  dnl and GNU gcc with very slight changes to code which can be sumed up by:  dnl and GNU gcc with very slight changes to code which can be sumed up by:
476  dnl  dnl
477  dnl Apple:  dnl Apple:
478  dnl  - compile with the option -faltivec  dnl  - compile with the option -arch ppc -faltivec
479  dnl  - define vectors with parentheses vec = (0,0,0,0)  dnl  - define vectors with parentheses vec = (0,0,0,0)
480  dnl GNU  dnl GNU
481  dnl  - compile with -maltivec -mabi=altivec  dnl  - compile with -maltivec -mabi=altivec
# Line 438  Line 500 
500  #include <altivec.h>  #include <altivec.h>
501  int main() { return(0); }  int main() { return(0); }
502  EOF  EOF
503     if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \     if $CC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
504        $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then        $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
505          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
506          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
# Line 462  Line 524 
524    return(0);    return(0);
525  }  }
526  EOF  EOF
527     if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then     if $CC $TEMP_ALTIVEC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
528          AC_MSG_RESULT([yes (Apple)])          AC_MSG_RESULT([yes (Apple)])
529          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -arch ppc -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
530          PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"          PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
531     else     else
532  cat > conftest.c << EOF  cat > conftest.c << EOF
# Line 482  Line 544 
544  EOF  EOF
545     if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then     if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
546          AC_MSG_RESULT([yes (GNU)])          AC_MSG_RESULT([yes (GNU)])
547          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
548          PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"          PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
549            ALTIVEC_CFLAGS="-maltivec -mabi=altivec"
550     else     else
551          AC_MSG_RESULT([no (ppc support won't be compiled in)])          AC_MSG_RESULT([no (ppc support won't be compiled in)])
552          dnl Only C code can be compiled :-(          dnl Only C code can be compiled :-(
# Line 538  Line 601 
601    
602  dnl ==========================================================================  dnl ==========================================================================
603  dnl  dnl
604    dnl Check for pthread
605    dnl
606    dnl ==========================================================================
607    
608    if test x"$pthread" = x"yes" ; then
609       AC_CHECK_HEADER(
610            [pthread.h],
611            [AC_CHECK_LIB(
612                    [pthread],
613                    [pthread_create],
614                    [SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
615                     SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread"],
616                    AC_MSG_WARN(Pthread not supported. No SMP support))],
617            AC_MSG_WARN(Pthread not supported. No SMP support))
618    else
619       AC_MSG_WARN(Pthread support disabled. No SMP support)
620    fi
621    
622    dnl ==========================================================================
623    dnl
624  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
625  dnl  dnl
626  dnl ==========================================================================  dnl ==========================================================================
# Line 562  Line 645 
645  fi  fi
646    
647  dnl ==========================================================================  dnl ==========================================================================
648    dnl Some gcc flags can't be used for gcc >= 3.4.0
649    dnl ==========================================================================
650    
651    if test "$GCC" = "yes" ; then
652    
653            GCC_MAJOR=`$CC -dumpversion | cut -d . -f 1`
654            GCC_MINOR=`$CC -dumpversion | cut -d . -f 2`
655    
656            # GCC 4.x
657            if test "${GCC_MAJOR}" -gt 3 ; then
658                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
659                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
660                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
661                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
662                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
663            fi
664    
665            # GCC 3.4.x
666            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
667                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
668            fi
669    fi
670    
671    
672    dnl ==========================================================================
673  dnl  dnl
674  dnl Substitions  dnl Substitions
675  dnl  dnl
# Line 582  Line 690 
690  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
691  AC_SUBST(CC)  AC_SUBST(CC)
692  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
693    AC_SUBST(LDFLAGS)
694  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
695  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
696  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
697  AC_SUBST(PPC_ALTIVEC_SOURCES)  AC_SUBST(PPC_ALTIVEC_SOURCES)
698  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
699    AC_SUBST(AR)
700  AC_SUBST(API_MAJOR)  AC_SUBST(API_MAJOR)
701  AC_SUBST(API_MINOR)  AC_SUBST(API_MINOR)
702  AC_SUBST(STATIC_LIB)  AC_SUBST(STATIC_LIB)
703  AC_SUBST(PRE_SHARED_LIB)  AC_SUBST(PRE_SHARED_LIB)
704  AC_SUBST(SHARED_LIB)  AC_SUBST(SHARED_LIB)
705    AC_SUBST(ALTIVEC_CFLAGS)
706    
707  dnl ==========================================================================  dnl ==========================================================================
708  dnl  dnl

Legend:
Removed from v.1609  
changed lines
  Added in v.2032

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4