[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 851, Sat Feb 15 15:22:19 2003 UTC revision 1768, Thu Dec 21 23:29:27 2006 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 cvs-snapshot], [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.
15    API_MAJOR="4"
16    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"
25  our_cflags_defaults="$our_cflags_defaults -O2"  our_cflags_defaults="$our_cflags_defaults -O2"
26  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
27    our_cflags_defaults="$our_cflags_defaults -finline-functions"
28    our_cflags_defaults="$our_cflags_defaults -freduce-all-givs"
29  our_cflags_defaults="$our_cflags_defaults -ffast-math"  our_cflags_defaults="$our_cflags_defaults -ffast-math"
30  our_cflags_defaults="$our_cflags_defaults -funroll-loops"  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"
 our_cflags_defaults="$our_cflags_defaults -fschedule-insns"  
 our_cflags_defaults="$our_cflags_defaults -fschedule-insns2"  
31    
32  dnl ==========================================================================  dnl ==========================================================================
33  dnl Features - configure options  dnl Features - configure options
34  dnl ==========================================================================  dnl ==========================================================================
35    
36  FEATURES=""  FEATURES=""
 DIVX4COMPAT_SOURCES=""  
 DIVX4_ENCORE=""  
 DIVX4_DECORE=""  
   
 dnl BIGLUT aka old VLC code  
 AC_ARG_ENABLE(oldvlc,  
                 AC_HELP_STRING([--enable-oldvlc],  
                                  [Enable old VLC code (Needs much more memory ~10MB)]),  
                 [if test "$enable_oldvlc" = "yes" ; then  
                     FEATURES="$FEATURES -DBIGLUT"  
                  fi])  
37    
38  dnl Internal Debug  dnl Internal Debug
39  AC_ARG_ENABLE(idebug,  AC_ARG_ENABLE(idebug,
# Line 55  Line 51 
51                       FEATURES="$FEATURES -D_PROFILING_"                       FEATURES="$FEATURES -D_PROFILING_"
52                    fi])                    fi])
53    
54    dnl GNU Profiling options
55    AC_ARG_ENABLE(gnuprofile,
56                    AC_HELP_STRING([--enable-gnuprofile],
57                                     [Enable profiling informations for gprof]),
58                     [if test "$enable_gnuprofile" = "yes" ; then
59                         GNU_PROF_CFLAGS="-pg -fprofile-arcs -ftest-coverage"
60                         GNU_PROF_LDFLAGS="-pg"
61                      fi])
62    
63  dnl Assembly code  dnl Assembly code
64  AC_ARG_ENABLE(assembly,  AC_ARG_ENABLE(assembly,
65                  AC_HELP_STRING([--disable-assembly],                  AC_HELP_STRING([--disable-assembly],
# Line 68  Line 73 
73                    fi],                    fi],
74                   [assembly="yes"])                   [assembly="yes"])
75    
76  dnl Internal Debug  dnl Build as a module not a shared lib on darwin
77  AC_ARG_ENABLE(divx4compat,  AC_ARG_ENABLE(macosx_module,
78                  AC_HELP_STRING([--enable-divx4compat],                  AC_HELP_STRING([--enable-macosx_module],
79                                   [Enable DivX4 compatibility API]),                                   [Build as a module on MacOS X]),
80                   [if test "$enable_divx4compat" = "yes" ; then                   [if test "$enable_macosx_module" = "yes" ; then
81                       DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT"                       macosx_module="yes"
82                       DIVX4_ENCORE="encore;"                    else
83                       DIVX4_DECORE="decore;"                       macosx_module="no"
84                    fi])                    fi],
85                      [macosx_module="no"])
86    
87  dnl ==========================================================================  dnl ==========================================================================
88  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 158  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                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
173                  ;;                  ;;
174                  ia64)                  ia64)
175                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 221  Line 228 
228          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
229          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
230          ;;          ;;
231       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
232          AC_MSG_RESULT([.dll .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
233          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
234          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
235          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
236          ;;          ;;
237       darwin*|raphsody*)       darwin*|raphsody*)
238            if test x"$macosx_module" = x"yes"; then
239               AC_MSG_RESULT([.so .a .o])
240               SHARED_EXTENSION="so"
241            else
242          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
243          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
244            fi
245            STATIC_EXTENSION="a"
246          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
247          ;;          ;;
248       *)       *)
# Line 241  Line 253 
253          ;;          ;;
254  esac  esac
255    
256    dnl ==========================================================================
257    dnl
258    dnl Determines best options for CC and LD
259    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
260    dnl
261    dnl ==========================================================================
262    
263  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
264  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
265  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
266    PRE_SHARED_LIB=""
267  case "$target_os" in  case "$target_os" in
268       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
269          AC_MSG_RESULT([-shared -lc -lm])          AC_MSG_RESULT([ok])
270          SPECIFIC_LDFLAGS="-shared -lc -lm"          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])
277            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
278            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
279            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
280          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
281          ;;          ;;
282       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
283          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          AC_MSG_RESULT([ok])
284          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
285            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
286            SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
287          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
288          ;;          ;;
289       darwin*|raphsody*)       darwin*|raphsody*)
290          AC_MSG_RESULT([-dynamiclib -flat_namespace])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
291          SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
292          SPECIFIC_CFLAGS="-fPIC -fno-common"          if test x"$macosx_module" = x"no"; then
293               AC_MSG_RESULT([dylib options])
294               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
295               SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"
296            else
297               AC_MSG_RESULT([module options])
298               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
299               SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
300               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
301            fi
302          ;;          ;;
303       beos)       beos)
304          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
305            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
306            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
307          SPECIFIC_LDFLAGS="-nostart"          SPECIFIC_LDFLAGS="-nostart"
308          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
309          ;;          ;;
310       *)       *)
311          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
312        STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
313            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
314          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
315          SPECIFIC_CFLAGS=""          SPECIFIC_CFLAGS=""
316          ;;          ;;
317  esac  esac
318    
319    if test x"$PRE_SHARED_LIB" = x; then
320      PRE_SHARED_LIB=$SHARED_LIB
321    fi
322    
323  dnl ==========================================================================  dnl ==========================================================================
324  dnl  dnl
325  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
326    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
327  dnl  dnl
328  dnl ==========================================================================  dnl ==========================================================================
329    
# Line 288  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
368                  nasm_patch=-1
369               fi
370        AC_MSG_RESULT([$nasm_patch])        AC_MSG_RESULT([$nasm_patch])
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
422  dnl PPC  dnl PPC
423  dnl  dnl
424    dnl With the PPC platform we do not use assembly language, we better keep with
425    dnl intrinsic altivec functions and types as they are supported by both Apple
426    dnl and GNU gcc with very slight changes to code which can be sumed up by:
427    dnl
428    dnl Apple:
429    dnl  - compile with the option -faltivec
430    dnl  - define vectors with parentheses vec = (0,0,0,0)
431    dnl GNU
432    dnl  - compile with -maltivec -mabi=altivec
433    dnl  - include <altivec.h> before using intrincic
434    dnl  - define vectors with vec = {0,0,0,0}
435    dnl
436    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
437    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
438    dnl   a -DHAVE_ALTIVEC_H
439    dnl * The vector definition is handled in portab.h thx to
440    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
441    dnl
442    PPC_ALTIVEC_SOURCES=""
443  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
444     AS="\$(CC)"     AS="\$(CC)"
445     AFLAGS="-c"     AFLAGS=""
446     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
447     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
448     AC_MSG_CHECKING([for Altivec support])  
449     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
450           .text  cat > conftest.c << EOF
451           vxor 0,0,0  #include <altivec.h>
452    int main() { return(0); }
453  EOF  EOF
454     if $CC -c conftest.S 2>/dev/null 1>/dev/null ; then     if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
455          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
456          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
457          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
458          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
459     else     else
460          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
461            TEMP_ALTIVEC=""
462       fi
463    
464       AC_MSG_CHECKING([for Altivec compiler support])
465    cat > conftest.c << EOF
466    #ifdef HAVE_ALTIVEC_H
467    #include <altivec.h>
468    #endif
469    
470    int main()
471    {
472      vector unsigned int vartest2 = (vector unsigned int)(0);
473      vector unsigned int vartest3 = (vector unsigned int)(1);
474      vartest2 = vec_add(vartest2, vartest3);
475      return(0);
476    }
477    EOF
478       if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
479            AC_MSG_RESULT([yes (Apple)])
480            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
481            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
482       else
483    cat > conftest.c << EOF
484    #ifdef HAVE_ALTIVEC_H
485    #include <altivec.h>
486    #endif
487    
488    int main()
489    {
490      vector unsigned int vartest2 = (vector unsigned int){0};
491      vector unsigned int vartest3 = (vector unsigned int){1};
492      vartest2 = vec_add(vartest2, vartest3);
493      return(0);
494    }
495    EOF
496       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
497            AC_MSG_RESULT([yes (GNU)])
498            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
499            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
500       else
501            AC_MSG_RESULT([no (ppc support won't be compiled in)])
502            dnl Only C code can be compiled :-(
503            ARCHITECTURE="GENERIC"
504     fi     fi
505       fi
506    
507     rm -f conftest.*     rm -f conftest.*
508  fi  fi
509    
# Line 374  Line 519 
519    
520     case `basename $CC` in     case `basename $CC` in
521          *ecc*)          *ecc*)
522                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
523    
524                  dnl If the compiler is ecc, then i don't know its options                  dnl If the compiler is ecc, then i don't know its options
525                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 383  Line 528 
528                  fi                  fi
529                  ;;                  ;;
530          *)          *)
531                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
532                  ;;                  ;;
533     esac     esac
534    
# Line 398  Line 543 
543  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
544          stdio.h \          stdio.h \
545          signal.h \          signal.h \
546            stdlib.h \
547            string.h \
548            assert.h \
549            math.h \
550          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
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 412  Line 581 
581    
582  dnl ==========================================================================  dnl ==========================================================================
583  dnl  dnl
584    dnl Profiling stuff goes here
585    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
586    dnl  - removes incompatible options from CFLAGS
587    dnl
588    dnl ==========================================================================
589    
590    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
591    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
592    
593    if test "$enable_gnuprofile" = "yes" ; then
594       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
595    fi
596    
597    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
641  dnl Substitions  dnl Substitions
642  dnl  dnl
643  dnl ==========================================================================  dnl ==========================================================================
# Line 433  Line 659 
659  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
660  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
661  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
662  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
663  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
 AC_SUBST(DIVX4_DECORE)  
664  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
665    AC_SUBST(API_MAJOR)
666    AC_SUBST(API_MINOR)
667    AC_SUBST(STATIC_LIB)
668    AC_SUBST(PRE_SHARED_LIB)
669    AC_SUBST(SHARED_LIB)
670    
671  dnl ==========================================================================  dnl ==========================================================================
672  dnl  dnl
# Line 446  Line 675 
675  dnl ==========================================================================  dnl ==========================================================================
676    
677  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
678    
679  AC_OUTPUT  AC_OUTPUT

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

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