[svn] / trunk / xvidcore / build / generic / configure.in Repository:
ViewVC logotype

Diff of /trunk/xvidcore/build/generic/configure.in

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

revision 1412, Mon Apr 5 20:36:37 2004 UTC revision 1788, Fri Nov 23 10:44:11 2007 UTC
# Line 2  Line 2 
2  dnl  dnl
3  dnl Autoconf script for XviD  dnl Autoconf script for XviD
4  dnl  dnl
5  dnl Copyright(C) 2003 Edouard Gomez <ed.gomez@free.fr>  dnl Copyright(C) 2003-2004 Edouard Gomez <ed.gomez@free.fr>
6  dnl  dnl
7  dnl ==========================================================================  dnl ==========================================================================
8    
9  AC_INIT([XviD], [1.0.0 rc4], [xvid-devel@xvid.org])  AC_PREREQ([2.50])
10    
11    AC_INIT([XviD], [1.1.0-beta2], [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="0"  API_MINOR="1"
17    
18  dnl NASM version requirement  dnl NASM version requirement
19  minimum_nasm_patch_version=34  minimum_nasm_patch_version=34
20    minimum_nasm_minor_version=99
21    minimum_nasm_major_version=2
22  nasm_prog="nasm"  nasm_prog="nasm"
23    yasm_prog="yasm"
24    
25  dnl Default CFLAGS -- Big impact on overall speed  dnl Default CFLAGS -- Big impact on overall speed
26  our_cflags_defaults="-Wall"  our_cflags_defaults="-Wall"
# Line 160  Line 165 
165            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
166                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
167                  ;;                  ;;
168              x86_64)
169                    AC_MSG_RESULT(x86_64)
170                    ARCHITECTURE="X86_64"
171                    ;;
172                  powerpc)                  powerpc)
173                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
174                  ARCHITECTURE="PPC"                  ARCHITECTURE="PPC"
# Line 258  Line 267 
267  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
268  PRE_SHARED_LIB=""  PRE_SHARED_LIB=""
269  case "$target_os" in  case "$target_os" in
270       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
271            AC_MSG_RESULT([ok])
272            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
273            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
274            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
275            SPECIFIC_CFLAGS="-fPIC"
276            ;;
277         *bsd*|irix*)
278          AC_MSG_RESULT([ok])          AC_MSG_RESULT([ok])
279          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
280          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
# Line 323  Line 339 
339  dnl IA32  dnl IA32
340  dnl  dnl
341    
342  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
343    
344     dnl     dnl
345     dnl Checking nasm existence     dnl Checking for nasm compatible programs
346       dnl yasm is preferred over nasm, because... i can use it
347       dnl to profile assembly code ;-)
348     dnl     dnl
349    
350       found_nasm_comp_prog="no"
351       chosen_asm_prog=""
352    
353       dnl Check for yasm first
354       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
355       if test "$ac_yasm" = "yes" ; then
356         found_nasm_comp_prog="yes"
357         chosen_asm_prog="$yasm_prog"
358       fi
359    
360       dnl if yasm hasn't been found, then check for nasm (not buggy version)
361       if test "$found_nasm_comp_prog" = "no" -a "$ARCHITECTURE" != "X86_64" ; then
362     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
363     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
364        dnl        dnl
365        dnl Checking nasm patch version        dnl Checking nasm patch version
366        dnl        dnl
367        AC_MSG_CHECKING([for nasm patch version])        AC_MSG_CHECKING([for nasm patch version])
368        nasm_patch=`nasm -r | cut -d '.' -f 3 | cut -d ' ' -f 1`             nasm_patch=`$nasm_prog -r | cut -d '.' -f 3 | cut -d ' ' -f 1`
369               nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
370               nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
371        if test -z $nasm_patch ; then        if test -z $nasm_patch ; then
372          nasm_patch=-1          nasm_patch=-1
373        fi        fi
374               if test -z $nasm_minor ; then
375                  nasm_minor=-1
376               fi
377               if test -z $nasm_major ; then
378                  nasm_major=-1
379               fi
380        AC_MSG_RESULT([$nasm_patch])        AC_MSG_RESULT([$nasm_patch])
381    
   
382        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then
383          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])                if test "$nasm_minor" -lt "$minimum_nasm_minor_version" ; then
384          ARCHITECTURE="GENERIC"                   if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
385                        AC_MSG_WARN([nasm version is too old])
386                     else
387                       found_nasm_comp_prog="yes"
388                               chosen_asm_prog="$nasm_prog"
389                     fi
390        else        else
391                     found_nasm_comp_prog="yes"
392                         chosen_asm_prog="$nasm_prog"
393                  fi
394               else
395                   found_nasm_comp_prog="yes"
396                           chosen_asm_prog="$nasm_prog"
397               fi
398           fi
399       fi
400    
401           dnl           dnl
402           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
403           dnl           dnl
404           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
405           AC_MSG_CHECKING([for asm object format])
406           case "$target_os" in           case "$target_os" in
407                *bsd*|linux*|beos|irix*|solaris*)                *bsd*|linux*|beos|irix*|solaris*)
408                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
409                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
410                   MARK_FUNCS="-DMARK_FUNCS"
411                    PREFIX=""                    PREFIX=""
412                    ;;                    ;;
413                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
414                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
415                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
416                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
417                   MARK_FUNCS=""
418                   ;;
419               *darwin*)
420                   AC_MSG_RESULT([macho])
421                   NASM_FORMAT="macho"
422                   PREFIX="-DPREFIX"
423                   MARK_FUNCS=""
424                    ;;                    ;;
425            esac            esac
426    
427            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX"  
428            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
429            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
430           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
431           if test "$ARCHITECTURE" = "X86_64" ; then
432                   AFLAGS=${AFLAGS}" -m amd64"
433         fi         fi
   
434     else     else
435          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
436          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
437     fi     fi
   
438  fi  fi
439    
440  dnl  dnl
# Line 502  Line 562 
562  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
563          stdio.h \          stdio.h \
564          signal.h \          signal.h \
565            stdlib.h \
566            string.h \
567            assert.h \
568            math.h \
569          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
570    
571  dnl ==========================================================================  dnl ==========================================================================
572  dnl  dnl
573    dnl Check for pthread
574    dnl
575    dnl ==========================================================================
576    
577    AC_CHECK_HEADER(
578            pthread.h,
579            AC_CHECK_LIB(
580                    pthread,
581                    pthread_create,
582                    AC_CHECK_LIB(
583                            pthread,
584                            pthread_join,
585                            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
586                            SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
587                            AC_MSG_WARN(Pthread not supported. No SMP support)),
588                    AC_MSG_WARN(Pthread not supported. No SMP support)),
589            AC_MSG_WARN(Pthread not supported. No SMP support))
590    
591    dnl ==========================================================================
592    dnl
593  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
594  dnl  dnl
595  dnl ==========================================================================  dnl ==========================================================================
# Line 530  Line 614 
614  fi  fi
615    
616  dnl ==========================================================================  dnl ==========================================================================
617    dnl Some gcc flags can't be used for gcc >= 3.4.0
618    dnl ==========================================================================
619    
620    if test "$GCC" = "yes" ; then
621    cat << EOF > test.c
622    #include <stdio.h>
623    int main(int argc, char **argv)
624    {
625            if (*argv[[1]] == 'M') {
626                    printf("%d", __GNUC__);
627            }
628            if (*argv[[1]] == 'm') {
629                    printf("%d", __GNUC_MINOR__);
630            }
631            return 0;
632    }
633    EOF
634            $CC -o gcc-ver test.c
635    
636            GCC_MAJOR=`./gcc-ver M`
637            GCC_MINOR=`./gcc-ver m`
638    
639            rm -f test.c
640            rm -f gcc-ver
641    
642            # GCC 4.x
643            if test "${GCC_MAJOR}" -gt 3 ; then
644                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
645                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
646                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
647                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
648                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
649            fi
650    
651            # GCC 3.4.x
652            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
653                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
654            fi
655    fi
656    
657    
658    dnl ==========================================================================
659  dnl  dnl
660  dnl Substitions  dnl Substitions
661  dnl  dnl

Legend:
Removed from v.1412  
changed lines
  Added in v.1788

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