[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 828, Mon Feb 10 13:54:19 2003 UTC revision 1694, Sun Mar 5 04:01:07 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], [0.9.1 (wip)], [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 -fPIC"  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
27  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"  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=""  
   
 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 54  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 67  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                    fi])                    else
83                         macosx_module="no"
84                      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 99  Line 107 
107  AC_MSG_CHECKING(whether to use default CFLAGS)  AC_MSG_CHECKING(whether to use default CFLAGS)
108  if test  x"$CFLAGS" = x"" ; then  if test  x"$CFLAGS" = x"" ; then
109     force_default_cc_options="yes"     force_default_cc_options="yes"
    CFLAGS="$our_cflags_defaults"  
110     AC_MSG_RESULT([yes])     AC_MSG_RESULT([yes])
111  else  else
112     force_default_cc_options="no"     force_default_cc_options="no"
# Line 116  Line 123 
123  AC_PROG_INSTALL  AC_PROG_INSTALL
124    
125  dnl ==========================================================================  dnl ==========================================================================
126    dnl Check for the ranlib program to generate static library index
127    dnl ==========================================================================
128    
129    AC_PROG_RANLIB
130    
131    dnl ==========================================================================
132  dnl  dnl
133  dnl This part looks for:  dnl This part looks for:
134  dnl  dnl
# Line 150  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 213  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 233  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  OS_LDFLAGS=""  SPECIFIC_LDFLAGS=""
265    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          OS_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
271          ;;          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
272       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)          SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
273          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          SPECIFIC_CFLAGS="-fPIC"
274          OS_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          ;;
275          CFLAGS="$CFLAGS -mno-cygwin"       *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"
281            ;;
282         [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
283            AC_MSG_RESULT([ok])
284            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"
288          ;;          ;;
289       darwin*|raphsody*)       darwin*|raphsody*)
290          AC_MSG_RESULT([-dynamiclib])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
291          OS_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
292          CFLAGS="$CFLAGS -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          OS_LDFLAGS="-nostart"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
306            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
307            SPECIFIC_LDFLAGS="-nostart"
308            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          OS_LDFLAGS=""      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
313            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
314            SPECIFIC_LDFLAGS=""
315            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 276  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            esac            esac
401    
402            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
403            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
404            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
405           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
406           if test "$ARCHITECTURE" = "X86_64" ; then
407                   AFLAGS=${AFLAGS}" -m amd64"
408         fi         fi
   
409     else     else
410          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
411          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
412     fi     fi
   
413  fi  fi
414    
415  dnl  dnl
416  dnl PPC  dnl PPC
417  dnl  dnl
418    dnl With the PPC platform we do not use assembly language, we better keep with
419    dnl intrinsic altivec functions and types as they are supported by both Apple
420    dnl and GNU gcc with very slight changes to code which can be sumed up by:
421    dnl
422    dnl Apple:
423    dnl  - compile with the option -faltivec
424    dnl  - define vectors with parentheses vec = (0,0,0,0)
425    dnl GNU
426    dnl  - compile with -maltivec -mabi=altivec
427    dnl  - include <altivec.h> before using intrincic
428    dnl  - define vectors with vec = {0,0,0,0}
429    dnl
430    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
431    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
432    dnl   a -DHAVE_ALTIVEC_H
433    dnl * The vector definition is handled in portab.h thx to
434    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
435    dnl
436    PPC_ALTIVEC_SOURCES=""
437  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
438     AS="\$(CC)"     AS="\$(CC)"
439     AFLAGS="-c"     AFLAGS=""
440     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
441     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
442     AC_MSG_CHECKING([for Altivec support])  
443     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
444           .text  cat > conftest.c << EOF
445           vxor 0,0,0  #include <altivec.h>
446    int main() { return(0); }
447  EOF  EOF
448     if $CC -c conftest.S 2>/dev/null 1>/dev/null ; then     if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
449          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
450          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
451          CFLAGS="$CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
452          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
453     else     else
454          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
455            TEMP_ALTIVEC=""
456       fi
457    
458       AC_MSG_CHECKING([for Altivec compiler support])
459    cat > conftest.c << EOF
460    #ifdef HAVE_ALTIVEC_H
461    #include <altivec.h>
462    #endif
463    
464    int main()
465    {
466      vector unsigned int vartest2 = (vector unsigned int)(0);
467      vector unsigned int vartest3 = (vector unsigned int)(1);
468      vartest2 = vec_add(vartest2, vartest3);
469      return(0);
470    }
471    EOF
472       if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
473            AC_MSG_RESULT([yes (Apple)])
474            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
475            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
476       else
477    cat > conftest.c << EOF
478    #ifdef HAVE_ALTIVEC_H
479    #include <altivec.h>
480    #endif
481    
482    int main()
483    {
484      vector unsigned int vartest2 = (vector unsigned int){0};
485      vector unsigned int vartest3 = (vector unsigned int){1};
486      vartest2 = vec_add(vartest2, vartest3);
487      return(0);
488    }
489    EOF
490       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
491            AC_MSG_RESULT([yes (GNU)])
492            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
493            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
494       else
495            AC_MSG_RESULT([no (ppc support won't be compiled in)])
496            dnl Only C code can be compiled :-(
497            ARCHITECTURE="GENERIC"
498     fi     fi
499       fi
500    
501     rm -f conftest.*     rm -f conftest.*
502  fi  fi
503    
# Line 359  Line 510 
510     AFLAGS="-c"     AFLAGS="-c"
511     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION="s"
512     ASSEMBLY_SOURCES="SRC_IA64"     ASSEMBLY_SOURCES="SRC_IA64"
513    
514       case `basename $CC` in
515            *ecc*)
516                    DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
517    
518                    dnl If the compiler is ecc, then i don't know its options
519                    dnl fallback to "no options"
520                    if test "$force_default_cc_options" = "yes" ; then
521                       our_cflags_defaults=""
522                    fi
523                    ;;
524            *)
525                    DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
526                    ;;
527       esac
528    
529  fi  fi
530    
531  dnl ==========================================================================  dnl ==========================================================================
# Line 370  Line 537 
537  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
538          stdio.h \          stdio.h \
539          signal.h \          signal.h \
540            stdlib.h \
541            string.h \
542            assert.h \
543            math.h \
544          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
545    
546  dnl ==========================================================================  dnl ==========================================================================
547  dnl  dnl
548    dnl Check for pthread
549    dnl
550    dnl ==========================================================================
551    
552    AC_CHECK_HEADER(
553            pthread.h,
554            AC_CHECK_LIB(
555                    pthread,
556                    pthread_create,
557                    AC_CHECK_LIB(
558                            pthread,
559                            pthread_join,
560                            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
561                            SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
562                            AC_MSG_WARN(Pthread not supported. No SMP support)),
563                    AC_MSG_WARN(Pthread not supported. No SMP support)),
564            AC_MSG_WARN(Pthread not supported. No SMP support))
565    
566    dnl ==========================================================================
567    dnl
568    dnl Now we can set CFLAGS if needed
569    dnl
570    dnl ==========================================================================
571    
572    if test "$force_default_cc_options" = "yes" ; then
573       CFLAGS="$our_cflags_defaults"
574    fi
575    
576    dnl ==========================================================================
577    dnl
578    dnl Profiling stuff goes here
579    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
580    dnl  - removes incompatible options from CFLAGS
581    dnl
582    dnl ==========================================================================
583    
584    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
585    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
586    
587    if test "$enable_gnuprofile" = "yes" ; then
588       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
589    fi
590    
591    dnl ==========================================================================
592    dnl Some gcc flags can't be used for gcc >= 3.4.0
593    dnl ==========================================================================
594    
595    if test "$GCC" = "yes" ; then
596    cat << EOF > test.c
597    #include <stdio.h>
598    int main(int argc, char **argv)
599    {
600            if (*argv[[1]] == 'M') {
601                    printf("%d", __GNUC__);
602            }
603            if (*argv[[1]] == 'm') {
604                    printf("%d", __GNUC_MINOR__);
605            }
606            return 0;
607    }
608    EOF
609            $CC -o gcc-ver test.c
610    
611            GCC_MAJOR=`./gcc-ver M`
612            GCC_MINOR=`./gcc-ver m`
613    
614            rm -f test.c
615            rm -f gcc-ver
616    
617            # GCC 4.x
618            if test "${GCC_MAJOR}" -gt 3 ; then
619                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
620                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
621                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
622                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
623                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
624            fi
625    
626            # GCC 3.4.x
627            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
628                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
629            fi
630    fi
631    
632    
633    dnl ==========================================================================
634    dnl
635  dnl Substitions  dnl Substitions
636  dnl  dnl
637  dnl ==========================================================================  dnl ==========================================================================
# Line 393  Line 651 
651  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
652  AC_SUBST(CC)  AC_SUBST(CC)
653  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
654  AC_SUBST(OS_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
655  AC_SUBST(DIVX4COMPAT_SOURCES)  AC_SUBST(SPECIFIC_CFLAGS)
656    AC_SUBST(DCT_IA64_SOURCES)
657    AC_SUBST(PPC_ALTIVEC_SOURCES)
658    AC_SUBST(RANLIB)
659    AC_SUBST(API_MAJOR)
660    AC_SUBST(API_MINOR)
661    AC_SUBST(STATIC_LIB)
662    AC_SUBST(PRE_SHARED_LIB)
663    AC_SUBST(SHARED_LIB)
664    
665  dnl ==========================================================================  dnl ==========================================================================
666  dnl  dnl

Legend:
Removed from v.828  
changed lines
  Added in v.1694

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