[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 827, Sun Feb 9 23:08:56 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], [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"          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               *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          CFLAGS="$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
505     fi     fi
506    
507     rm -f conftest.*     rm -f conftest.*
508  fi  fi
509    
# Line 359  Line 516 
516     AFLAGS="-c"     AFLAGS="-c"
517     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION="s"
518     ASSEMBLY_SOURCES="SRC_IA64"     ASSEMBLY_SOURCES="SRC_IA64"
519    
520       case `basename $CC` in
521            *ecc*)
522                    DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
523    
524                    dnl If the compiler is ecc, then i don't know its options
525                    dnl fallback to "no options"
526                    if test "$force_default_cc_options" = "yes" ; then
527                       our_cflags_defaults=""
528                    fi
529                    ;;
530            *)
531                    DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
532                    ;;
533       esac
534    
535  fi  fi
536    
537  dnl ==========================================================================  dnl ==========================================================================
# Line 370  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
575    dnl
576    dnl ==========================================================================
577    
578    if test "$force_default_cc_options" = "yes" ; then
579       CFLAGS="$our_cflags_defaults"
580    fi
581    
582    dnl ==========================================================================
583    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 393  Line 657 
657  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
658  AC_SUBST(CC)  AC_SUBST(CC)
659  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
660  AC_SUBST(OS_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
661  AC_SUBST(DIVX4COMPAT_SOURCES)  AC_SUBST(SPECIFIC_CFLAGS)
662    AC_SUBST(DCT_IA64_SOURCES)
663    AC_SUBST(PPC_ALTIVEC_SOURCES)
664    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

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

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