[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 1472, Sat Jun 12 13:02:12 2004 UTC revision 1768, Thu Dec 21 23:29:27 2006 UTC
# Line 8  Line 8 
8    
9  AC_PREREQ([2.50])  AC_PREREQ([2.50])
10    
11  AC_INIT([XviD], [1.0.1], [xvid-devel@xvid.org])  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  nasm_prog="nasm"  nasm_prog="nasm"
21    yasm_prog="yasm"
22    
23  dnl Default CFLAGS -- Big impact on overall speed  dnl Default CFLAGS -- Big impact on overall speed
24  our_cflags_defaults="-Wall"  our_cflags_defaults="-Wall"
# Line 162  Line 163 
163            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
164                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
165                  ;;                  ;;
166              x86_64)
167                    AC_MSG_RESULT(x86_64)
168                    ARCHITECTURE="X86_64"
169                    ;;
170                  powerpc)                  powerpc)
171                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
172                  ARCHITECTURE="PPC"                  ARCHITECTURE="PPC"
# Line 260  Line 265 
265  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
266  PRE_SHARED_LIB=""  PRE_SHARED_LIB=""
267  case "$target_os" in  case "$target_os" in
268       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
269            AC_MSG_RESULT([ok])
270            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
271            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
272            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
273            SPECIFIC_CFLAGS="-fPIC"
274            ;;
275         *bsd*|irix*)
276          AC_MSG_RESULT([ok])          AC_MSG_RESULT([ok])
277          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
278          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
# Line 325  Line 337 
337  dnl IA32  dnl IA32
338  dnl  dnl
339    
340  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
341    
342     dnl     dnl
343     dnl Checking nasm existence     dnl Checking for nasm compatible programs
344       dnl yasm is preferred over nasm, because... i can use it
345       dnl to profile assembly code ;-)
346     dnl     dnl
347    
348       found_nasm_comp_prog="no"
349       chosen_asm_prog=""
350    
351       dnl Check for yasm first
352       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
353       if test "$ac_yasm" = "yes" ; then
354         found_nasm_comp_prog="yes"
355         chosen_asm_prog="$yasm_prog"
356       fi
357    
358       dnl if yasm hasn't been found, then check for nasm (not buggy version)
359       if test "$found_nasm_comp_prog" = "no" -a "$ARCHITECTURE" != "X86_64" ; then
360     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
361     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
362        dnl        dnl
363        dnl Checking nasm patch version        dnl Checking nasm patch version
364        dnl        dnl
365        AC_MSG_CHECKING([for nasm patch version])        AC_MSG_CHECKING([for nasm patch version])
366        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`
367        if test -z $nasm_patch ; then        if test -z $nasm_patch ; then
368          nasm_patch=-1          nasm_patch=-1
369        fi        fi
# Line 345  Line 371 
371    
372    
373        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then
374          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])                 AC_MSG_WARN([nasm patch version is too old])
         ARCHITECTURE="GENERIC"  
375        else        else
376                   found_nasm_comp_prog="yes"
377                           chosen_asm_prog="$nasm_prog"
378               fi
379           fi
380       fi
381    
382           dnl           dnl
383           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
384           dnl           dnl
385           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
386           AC_MSG_CHECKING([for asm object format])
387           case "$target_os" in           case "$target_os" in
388                *bsd*|linux*|beos|irix*|solaris*)                *bsd*|linux*|beos|irix*|solaris*)
389                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
390                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
391                   MARK_FUNCS="-DMARK_FUNCS"
392                    PREFIX=""                    PREFIX=""
393                    ;;                    ;;
394                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
395                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
396                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
397                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
398                   MARK_FUNCS=""
399                   ;;
400               *darwin*)
401                   AC_MSG_RESULT([macho])
402                   NASM_FORMAT="macho"
403                   PREFIX="-DPREFIX"
404                   MARK_FUNCS=""
405                    ;;                    ;;
406            esac            esac
407    
408            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX"  
409            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
410            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
411           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
412           if test "$ARCHITECTURE" = "X86_64" ; then
413                   AFLAGS=${AFLAGS}" -m amd64"
414         fi         fi
   
415     else     else
416          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
417          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
418     fi     fi
   
419  fi  fi
420    
421  dnl  dnl
# Line 512  Line 551 
551    
552  dnl ==========================================================================  dnl ==========================================================================
553  dnl  dnl
554    dnl Check for pthread
555    dnl
556    dnl ==========================================================================
557    
558    AC_CHECK_HEADER(
559            pthread.h,
560            AC_CHECK_LIB(
561                    pthread,
562                    pthread_create,
563                    AC_CHECK_LIB(
564                            pthread,
565                            pthread_join,
566                            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
567                            SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
568                            AC_MSG_WARN(Pthread not supported. No SMP support)),
569                    AC_MSG_WARN(Pthread not supported. No SMP support)),
570            AC_MSG_WARN(Pthread not supported. No SMP support))
571    
572    dnl ==========================================================================
573    dnl
574  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
575  dnl  dnl
576  dnl ==========================================================================  dnl ==========================================================================
# Line 536  Line 595 
595  fi  fi
596    
597  dnl ==========================================================================  dnl ==========================================================================
598    dnl Some gcc flags can't be used for gcc >= 3.4.0
599    dnl ==========================================================================
600    
601    if test "$GCC" = "yes" ; then
602    cat << EOF > test.c
603    #include <stdio.h>
604    int main(int argc, char **argv)
605    {
606            if (*argv[[1]] == 'M') {
607                    printf("%d", __GNUC__);
608            }
609            if (*argv[[1]] == 'm') {
610                    printf("%d", __GNUC_MINOR__);
611            }
612            return 0;
613    }
614    EOF
615            $CC -o gcc-ver test.c
616    
617            GCC_MAJOR=`./gcc-ver M`
618            GCC_MINOR=`./gcc-ver m`
619    
620            rm -f test.c
621            rm -f gcc-ver
622    
623            # GCC 4.x
624            if test "${GCC_MAJOR}" -gt 3 ; then
625                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
626                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
627                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
628                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
629                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
630            fi
631    
632            # GCC 3.4.x
633            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
634                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
635            fi
636    fi
637    
638    
639    dnl ==========================================================================
640  dnl  dnl
641  dnl Substitions  dnl Substitions
642  dnl  dnl

Legend:
Removed from v.1472  
changed lines
  Added in v.1768

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