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

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

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

trunk/xvidcore/build/generic/configure.in revision 845, Thu Feb 13 17:31:33 2003 UTC branches/release-1_2-branch/xvidcore/build/generic/configure.in revision 1837, Mon Dec 1 16:35:47 2008 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 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], [0.9.1], [xvid-devel@xvid.org])  AC_PREREQ([2.50])
10    
11    AC_INIT([Xvid], [1.2.1], [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="2"
17    
18  dnl NASM version requirement  dnl NASM version requirement
19  minimum_nasm_patch_version=34  minimum_nasm_minor_version=0
20    minimum_nasm_major_version=2
21  nasm_prog="nasm"  nasm_prog="nasm"
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 -ffast-math"  our_cflags_defaults="$our_cflags_defaults -ffast-math"
29  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"  
30    
31  dnl ==========================================================================  dnl ==========================================================================
32  dnl Features - configure options  dnl Features - configure options
33  dnl ==========================================================================  dnl ==========================================================================
34    
35  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])  
36    
37  dnl Internal Debug  dnl Internal Debug
38  AC_ARG_ENABLE(idebug,  AC_ARG_ENABLE(idebug,
# Line 55  Line 50 
50                       FEATURES="$FEATURES -D_PROFILING_"                       FEATURES="$FEATURES -D_PROFILING_"
51                    fi])                    fi])
52    
53    dnl GNU Profiling options
54    AC_ARG_ENABLE(gnuprofile,
55                    AC_HELP_STRING([--enable-gnuprofile],
56                                     [Enable profiling informations for gprof]),
57                     [if test "$enable_gnuprofile" = "yes" ; then
58                         GNU_PROF_CFLAGS="-pg -fprofile-arcs -ftest-coverage"
59                         GNU_PROF_LDFLAGS="-pg"
60                      fi])
61    
62  dnl Assembly code  dnl Assembly code
63  AC_ARG_ENABLE(assembly,  AC_ARG_ENABLE(assembly,
64                  AC_HELP_STRING([--disable-assembly],                  AC_HELP_STRING([--disable-assembly],
# Line 68  Line 72 
72                    fi],                    fi],
73                   [assembly="yes"])                   [assembly="yes"])
74    
75  dnl Internal Debug  dnl Build as a module not a shared lib on darwin
76  AC_ARG_ENABLE(divx4compat,  AC_ARG_ENABLE(macosx_module,
77                  AC_HELP_STRING([--enable-divx4compat],                  AC_HELP_STRING([--enable-macosx_module],
78                                   [Enable DivX4 compatibility API]),                                   [Build as a module on MacOS X]),
79                   [if test "$enable_divx4compat" = "yes" ; then                   [if test "$enable_macosx_module" = "yes" ; then
80                       DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT"                       macosx_module="yes"
81                       DIVX4_ENCORE="encore;"                    else
82                       DIVX4_DECORE="decore;"                       macosx_module="no"
83                    fi])                    fi],
84                      [macosx_module="no"])
85    
86  dnl ==========================================================================  dnl ==========================================================================
87  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 158  Line 162 
162            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
163                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
164                  ;;                  ;;
165              x86_64)
166                    AC_MSG_RESULT(x86_64)
167                    ARCHITECTURE="X86_64"
168                    ;;
169                  powerpc)                  powerpc)
170                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
171                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
172                  ;;                  ;;
173                  ia64)                  ia64)
174                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 192  Line 198 
198          BUS="64BIT"          BUS="64BIT"
199          ;;          ;;
200       *)       *)
201          AC_MSG_ERROR([XviD supports only 32/64 bit architectures])          AC_MSG_ERROR([Xvid supports only 32/64 bit architectures])
202          ;;          ;;
203  esac  esac
204    
# Line 221  Line 227 
227          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
228          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
229          ;;          ;;
230       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
231          AC_MSG_RESULT([.dll .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
232          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
233          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
234          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
235          ;;          ;;
236       darwin*|raphsody*)       darwin*|raphsody*)
237            if test x"$macosx_module" = x"yes"; then
238               AC_MSG_RESULT([.so .a .o])
239               SHARED_EXTENSION="so"
240            else
241          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
242          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
243            fi
244            STATIC_EXTENSION="a"
245          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
246          ;;          ;;
247       *)       *)
# Line 241  Line 252 
252          ;;          ;;
253  esac  esac
254    
255    dnl ==========================================================================
256    dnl
257    dnl Determines best options for CC and LD
258    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
259    dnl
260    dnl ==========================================================================
261    
262  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
263  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
264  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
265    PRE_SHARED_LIB=""
266  case "$target_os" in  case "$target_os" in
267       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
268          AC_MSG_RESULT([-shared -lc -lm])          AC_MSG_RESULT([ok])
269          SPECIFIC_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
270            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
271            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
272            SPECIFIC_CFLAGS="-fPIC"
273            ;;
274         *bsd*|irix*)
275            AC_MSG_RESULT([ok])
276            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
277            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
278            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
279          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
280          ;;          ;;
281       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
282          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          AC_MSG_RESULT([ok])
283          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
284            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
285            SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
286          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
287          ;;          ;;
288       darwin*|raphsody*)       darwin*|raphsody*)
289          AC_MSG_RESULT([-dynamiclib -flat_namespace])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
290          SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
291          SPECIFIC_CFLAGS="-fPIC -fno-common"          if test x"$macosx_module" = x"no"; then
292               AC_MSG_RESULT([dylib options])
293               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
294               SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"
295            else
296               AC_MSG_RESULT([module options])
297               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
298               SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
299               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
300            fi
301          ;;          ;;
302       beos)       beos)
303          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
304            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
305            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
306          SPECIFIC_LDFLAGS="-nostart"          SPECIFIC_LDFLAGS="-nostart"
307          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
308          ;;          ;;
309       *)       *)
310          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
311        STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
312            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
313          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
314          SPECIFIC_CFLAGS=""          SPECIFIC_CFLAGS=""
315          ;;          ;;
316  esac  esac
317    
318    if test x"$PRE_SHARED_LIB" = x; then
319      PRE_SHARED_LIB=$SHARED_LIB
320    fi
321    
322  dnl ==========================================================================  dnl ==========================================================================
323  dnl  dnl
324  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
325    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
326  dnl  dnl
327  dnl ==========================================================================  dnl ==========================================================================
328    
# Line 288  Line 336 
336  dnl IA32  dnl IA32
337  dnl  dnl
338    
339  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
340    
341     dnl     dnl
342     dnl Checking nasm existence     dnl Checking for nasm compatible programs
343     dnl     dnl
344    
345       found_nasm_comp_prog="no"
346       chosen_asm_prog=""
347    
348       dnl Check for nasm (not buggy version)
349       if test "$found_nasm_comp_prog" = "no" ; then
350     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
351     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
352        dnl        dnl
353        dnl Checking nasm patch version             dnl Checking nasm version
354        dnl        dnl
355        AC_MSG_CHECKING([for nasm patch version])             AC_MSG_CHECKING([for nasm version])
356        nasm_patch=`nasm -r | cut -d '.' -f 3 | cut -d ' ' -f 1`             nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
357        AC_MSG_RESULT([$nasm_patch])             nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
358               if test -z $nasm_minor ; then
359        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then                nasm_minor=-1
360          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])             fi
361          ARCHITECTURE="GENERIC"             if test -z $nasm_major ; then
362                  nasm_major=-1
363               fi
364               AC_MSG_RESULT([$nasm_major])
365    
366               dnl need nasm 2.x for SSE3/4 and X86_64
367               if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
368                 AC_MSG_WARN([nasm version is too old])
369        else        else
370                 found_nasm_comp_prog="yes"
371                   chosen_asm_prog="$nasm_prog"
372               fi
373           fi
374       fi
375    
376           dnl           dnl
377           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
378           dnl           dnl
379           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
380           AC_MSG_CHECKING([for asm object format])
381           case "$target_os" in           case "$target_os" in
382                *bsd*|linux*|beos|irix*|solaris*)                *bsd*|linux*|beos|irix*|solaris*)
383                   if test "$ARCHITECTURE" = "X86_64" ; then
384                       AC_MSG_RESULT([elf64])
385                       NASM_FORMAT="elf64"
386                   else
387                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
388                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
389                   fi
390                   MARK_FUNCS="-DMARK_FUNCS"
391                    PREFIX=""                    PREFIX=""
392                    ;;                    ;;
393                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
394                   if test "$ARCHITECTURE" = "X86_64" ; then
395                       AC_MSG_RESULT([win64])
396                       NASM_FORMAT="win64"
397                   else
398                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
399                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
400                   fi
401                   PREFIX="-DWINDOWS"
402                   MARK_FUNCS=""
403                   ;;
404               *darwin*)
405                   AC_MSG_RESULT([macho])
406                   NASM_FORMAT="macho"
407                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
408                   MARK_FUNCS=""
409                    ;;                    ;;
410            esac            esac
411    
412            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
413            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
414            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
415           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
416           if test "$ARCHITECTURE" = "X86_64" ; then
417                   AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
418         fi         fi
   
419     else     else
420          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
421          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
422     fi     fi
   
423  fi  fi
424    
425  dnl  dnl
426  dnl PPC  dnl PPC
427  dnl  dnl
428    dnl With the PPC platform we do not use assembly language, we better keep with
429    dnl intrinsic altivec functions and types as they are supported by both Apple
430    dnl and GNU gcc with very slight changes to code which can be sumed up by:
431    dnl
432    dnl Apple:
433    dnl  - compile with the option -faltivec
434    dnl  - define vectors with parentheses vec = (0,0,0,0)
435    dnl GNU
436    dnl  - compile with -maltivec -mabi=altivec
437    dnl  - include <altivec.h> before using intrincic
438    dnl  - define vectors with vec = {0,0,0,0}
439    dnl
440    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
441    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
442    dnl   a -DHAVE_ALTIVEC_H
443    dnl * The vector definition is handled in portab.h thx to
444    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
445    dnl
446    PPC_ALTIVEC_SOURCES=""
447  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
448     AS="\$(CC)"     AS="\$(CC)"
449     AFLAGS="-c"     AFLAGS=""
450     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
451     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
452     AC_MSG_CHECKING([for Altivec support])  
453     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
454           .text  cat > conftest.c << EOF
455           vxor 0,0,0  #include <altivec.h>
456    int main() { return(0); }
457  EOF  EOF
458     if $CC -c conftest.S 2>/dev/null 1>/dev/null ; then     if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
459          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
460          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
461          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
462          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
463     else     else
464          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
465            TEMP_ALTIVEC=""
466       fi
467    
468       AC_MSG_CHECKING([for Altivec compiler support])
469    cat > conftest.c << EOF
470    #ifdef HAVE_ALTIVEC_H
471    #include <altivec.h>
472    #endif
473    
474    int main()
475    {
476      vector unsigned int vartest2 = (vector unsigned int)(0);
477      vector unsigned int vartest3 = (vector unsigned int)(1);
478      vartest2 = vec_add(vartest2, vartest3);
479      return(0);
480    }
481    EOF
482       if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
483            AC_MSG_RESULT([yes (Apple)])
484            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
485            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
486       else
487    cat > conftest.c << EOF
488    #ifdef HAVE_ALTIVEC_H
489    #include <altivec.h>
490    #endif
491    
492    int main()
493    {
494      vector unsigned int vartest2 = (vector unsigned int){0};
495      vector unsigned int vartest3 = (vector unsigned int){1};
496      vartest2 = vec_add(vartest2, vartest3);
497      return(0);
498    }
499    EOF
500       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
501            AC_MSG_RESULT([yes (GNU)])
502            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
503            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
504       else
505            AC_MSG_RESULT([no (ppc support won't be compiled in)])
506            dnl Only C code can be compiled :-(
507            ARCHITECTURE="GENERIC"
508     fi     fi
509       fi
510    
511     rm -f conftest.*     rm -f conftest.*
512  fi  fi
513    
# Line 374  Line 523 
523    
524     case `basename $CC` in     case `basename $CC` in
525          *ecc*)          *ecc*)
526                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
527    
528                  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
529                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 383  Line 532 
532                  fi                  fi
533                  ;;                  ;;
534          *)          *)
535                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
536                  ;;                  ;;
537     esac     esac
538    
# Line 398  Line 547 
547  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
548          stdio.h \          stdio.h \
549          signal.h \          signal.h \
550            stdlib.h \
551            string.h \
552            assert.h \
553            math.h \
554          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
555    
556  dnl ==========================================================================  dnl ==========================================================================
557  dnl  dnl
558    dnl Check for pthread
559    dnl
560    dnl ==========================================================================
561    
562    AC_CHECK_HEADER(
563            pthread.h,
564            AC_CHECK_LIB(
565                    pthread,
566                    pthread_create,
567                    AC_CHECK_LIB(
568                            pthread,
569                            pthread_join,
570                            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
571                            SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
572                            AC_MSG_WARN(Pthread not supported. No SMP support)),
573                    AC_MSG_WARN(Pthread not supported. No SMP support)),
574            AC_MSG_WARN(Pthread not supported. No SMP support))
575    
576    dnl ==========================================================================
577    dnl
578  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
579  dnl  dnl
580  dnl ==========================================================================  dnl ==========================================================================
# Line 412  Line 585 
585    
586  dnl ==========================================================================  dnl ==========================================================================
587  dnl  dnl
588    dnl Profiling stuff goes here
589    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
590    dnl  - removes incompatible options from CFLAGS
591    dnl
592    dnl ==========================================================================
593    
594    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
595    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
596    
597    if test "$enable_gnuprofile" = "yes" ; then
598       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
599    fi
600    
601    dnl ==========================================================================
602    dnl Some gcc flags can't be used for gcc >= 3.4.0
603    dnl ==========================================================================
604    
605    if test "$GCC" = "yes" ; then
606    cat << EOF > test.c
607    #include <stdio.h>
608    int main(int argc, char **argv)
609    {
610            if (*argv[[1]] == 'M') {
611                    printf("%d", __GNUC__);
612            }
613            if (*argv[[1]] == 'm') {
614                    printf("%d", __GNUC_MINOR__);
615            }
616            return 0;
617    }
618    EOF
619            $CC -o gcc-ver test.c
620    
621            GCC_MAJOR=`./gcc-ver M`
622            GCC_MINOR=`./gcc-ver m`
623    
624            rm -f test.c
625            rm -f gcc-ver
626    
627            # GCC 4.x
628            if test "${GCC_MAJOR}" -gt 3 ; then
629                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
630                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
631                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
632                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
633                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
634            fi
635    
636            # GCC 3.4.x
637            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
638                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
639            fi
640    fi
641    
642    
643    dnl ==========================================================================
644    dnl
645  dnl Substitions  dnl Substitions
646  dnl  dnl
647  dnl ==========================================================================  dnl ==========================================================================
# Line 433  Line 663 
663  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
664  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
665  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
666  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
667  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
 AC_SUBST(DIVX4_DECORE)  
668  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
669    AC_SUBST(API_MAJOR)
670    AC_SUBST(API_MINOR)
671    AC_SUBST(STATIC_LIB)
672    AC_SUBST(PRE_SHARED_LIB)
673    AC_SUBST(SHARED_LIB)
674    
675  dnl ==========================================================================  dnl ==========================================================================
676  dnl  dnl
# Line 446  Line 679 
679  dnl ==========================================================================  dnl ==========================================================================
680    
681  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
682    
683  AC_OUTPUT  AC_OUTPUT

Legend:
Removed from v.845  
changed lines
  Added in v.1837

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