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

Diff of /branches/release-1_3-branch/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 1788, Fri Nov 23 10:44:11 2007 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    minimum_nasm_minor_version=99
21    minimum_nasm_major_version=2
22  nasm_prog="nasm"  nasm_prog="nasm"
23    yasm_prog="yasm"
24    
25  dnl Default CFLAGS -- Big impact on overall speed  dnl Default CFLAGS -- Big impact on overall speed
26  our_cflags_defaults="-Wall"  our_cflags_defaults="-Wall"
27  our_cflags_defaults="$our_cflags_defaults -O2"  our_cflags_defaults="$our_cflags_defaults -O2"
28  our_cflags_defaults="$our_cflags_defaults -fPIC"  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
29  our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"  our_cflags_defaults="$our_cflags_defaults -finline-functions"
30    our_cflags_defaults="$our_cflags_defaults -freduce-all-givs"
31  our_cflags_defaults="$our_cflags_defaults -ffast-math"  our_cflags_defaults="$our_cflags_defaults -ffast-math"
32  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"  
33    
34  dnl ==========================================================================  dnl ==========================================================================
35  dnl Features - configure options  dnl Features - configure options
36  dnl ==========================================================================  dnl ==========================================================================
37    
38  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])  
39    
40  dnl Internal Debug  dnl Internal Debug
41  AC_ARG_ENABLE(idebug,  AC_ARG_ENABLE(idebug,
# Line 54  Line 53 
53                       FEATURES="$FEATURES -D_PROFILING_"                       FEATURES="$FEATURES -D_PROFILING_"
54                    fi])                    fi])
55    
56    dnl GNU Profiling options
57    AC_ARG_ENABLE(gnuprofile,
58                    AC_HELP_STRING([--enable-gnuprofile],
59                                     [Enable profiling informations for gprof]),
60                     [if test "$enable_gnuprofile" = "yes" ; then
61                         GNU_PROF_CFLAGS="-pg -fprofile-arcs -ftest-coverage"
62                         GNU_PROF_LDFLAGS="-pg"
63                      fi])
64    
65  dnl Assembly code  dnl Assembly code
66  AC_ARG_ENABLE(assembly,  AC_ARG_ENABLE(assembly,
67                  AC_HELP_STRING([--disable-assembly],                  AC_HELP_STRING([--disable-assembly],
# Line 67  Line 75 
75                    fi],                    fi],
76                   [assembly="yes"])                   [assembly="yes"])
77    
78  dnl Internal Debug  dnl Build as a module not a shared lib on darwin
79  AC_ARG_ENABLE(divx4compat,  AC_ARG_ENABLE(macosx_module,
80                  AC_HELP_STRING([--enable-divx4compat],                  AC_HELP_STRING([--enable-macosx_module],
81                                   [Enable DivX4 compatibility API]),                                   [Build as a module on MacOS X]),
82                   [if test "$enable_divx4compat" = "yes" ; then                   [if test "$enable_macosx_module" = "yes" ; then
83                       DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT"                       macosx_module="yes"
84                    fi])                    else
85                         macosx_module="no"
86                      fi],
87                      [macosx_module="no"])
88    
89  dnl ==========================================================================  dnl ==========================================================================
90  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 99  Line 109 
109  AC_MSG_CHECKING(whether to use default CFLAGS)  AC_MSG_CHECKING(whether to use default CFLAGS)
110  if test  x"$CFLAGS" = x"" ; then  if test  x"$CFLAGS" = x"" ; then
111     force_default_cc_options="yes"     force_default_cc_options="yes"
    CFLAGS="$our_cflags_defaults"  
112     AC_MSG_RESULT([yes])     AC_MSG_RESULT([yes])
113  else  else
114     force_default_cc_options="no"     force_default_cc_options="no"
# Line 116  Line 125 
125  AC_PROG_INSTALL  AC_PROG_INSTALL
126    
127  dnl ==========================================================================  dnl ==========================================================================
128    dnl Check for the ranlib program to generate static library index
129    dnl ==========================================================================
130    
131    AC_PROG_RANLIB
132    
133    dnl ==========================================================================
134  dnl  dnl
135  dnl This part looks for:  dnl This part looks for:
136  dnl  dnl
# Line 150  Line 165 
165            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
166                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
167                  ;;                  ;;
168              x86_64)
169                    AC_MSG_RESULT(x86_64)
170                    ARCHITECTURE="X86_64"
171                    ;;
172                  powerpc)                  powerpc)
173                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
174                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
175                  ;;                  ;;
176                  ia64)                  ia64)
177                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 213  Line 230 
230          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
231          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
232          ;;          ;;
233       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
234          AC_MSG_RESULT([.dll .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
235          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
236          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
237          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
238          ;;          ;;
239       darwin*|raphsody*)       darwin*|raphsody*)
240            if test x"$macosx_module" = x"yes"; then
241               AC_MSG_RESULT([.so .a .o])
242               SHARED_EXTENSION="so"
243            else
244          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
245          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
246            fi
247            STATIC_EXTENSION="a"
248          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
249          ;;          ;;
250       *)       *)
# Line 233  Line 255 
255          ;;          ;;
256  esac  esac
257    
258    dnl ==========================================================================
259    dnl
260    dnl Determines best options for CC and LD
261    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
262    dnl
263    dnl ==========================================================================
264    
265  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
266  OS_LDFLAGS=""  SPECIFIC_LDFLAGS=""
267    SPECIFIC_CFLAGS=""
268    PRE_SHARED_LIB=""
269  case "$target_os" in  case "$target_os" in
270       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
271          AC_MSG_RESULT([-shared -lc -lm])          AC_MSG_RESULT([ok])
272          OS_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
273          ;;          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
274       [[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"
275          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          SPECIFIC_CFLAGS="-fPIC"
276          OS_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          ;;
277          CFLAGS="$CFLAGS -mno-cygwin"       *bsd*|irix*)
278            AC_MSG_RESULT([ok])
279            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
280            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
281            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
282            SPECIFIC_CFLAGS="-fPIC"
283            ;;
284         [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
285            AC_MSG_RESULT([ok])
286            STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
287            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
288            SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
289            SPECIFIC_CFLAGS="-mno-cygwin"
290          ;;          ;;
291       darwin*|raphsody*)       darwin*|raphsody*)
292          AC_MSG_RESULT([-dynamiclib])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
293          OS_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
294          CFLAGS="$CFLAGS -fno-common"          if test x"$macosx_module" = x"no"; then
295               AC_MSG_RESULT([dylib options])
296               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
297               SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"
298            else
299               AC_MSG_RESULT([module options])
300               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
301               SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
302               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
303            fi
304          ;;          ;;
305       beos)       beos)
306          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
307          OS_LDFLAGS="-nostart"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
308            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
309            SPECIFIC_LDFLAGS="-nostart"
310            SPECIFIC_CFLAGS="-fPIC"
311          ;;          ;;
312       *)       *)
313          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
314          OS_LDFLAGS=""      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
315            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
316            SPECIFIC_LDFLAGS=""
317            SPECIFIC_CFLAGS=""
318          ;;          ;;
319  esac  esac
320    
321    if test x"$PRE_SHARED_LIB" = x; then
322      PRE_SHARED_LIB=$SHARED_LIB
323    fi
324    
325  dnl ==========================================================================  dnl ==========================================================================
326  dnl  dnl
327  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
328    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
329  dnl  dnl
330  dnl ==========================================================================  dnl ==========================================================================
331    
# Line 276  Line 339 
339  dnl IA32  dnl IA32
340  dnl  dnl
341    
342  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
343    
344     dnl     dnl
345     dnl Checking nasm existence     dnl Checking for nasm compatible programs
346       dnl yasm is preferred over nasm, because... i can use it
347       dnl to profile assembly code ;-)
348     dnl     dnl
349    
350       found_nasm_comp_prog="no"
351       chosen_asm_prog=""
352    
353       dnl Check for yasm first
354       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
355       if test "$ac_yasm" = "yes" ; then
356         found_nasm_comp_prog="yes"
357         chosen_asm_prog="$yasm_prog"
358       fi
359    
360       dnl if yasm hasn't been found, then check for nasm (not buggy version)
361       if test "$found_nasm_comp_prog" = "no" -a "$ARCHITECTURE" != "X86_64" ; then
362     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
363     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
364        dnl        dnl
365        dnl Checking nasm patch version        dnl Checking nasm patch version
366        dnl        dnl
367        AC_MSG_CHECKING([for nasm patch version])        AC_MSG_CHECKING([for nasm patch version])
368        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`
369               nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
370               nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
371               if test -z $nasm_patch ; then
372                  nasm_patch=-1
373               fi
374               if test -z $nasm_minor ; then
375                  nasm_minor=-1
376               fi
377               if test -z $nasm_major ; then
378                  nasm_major=-1
379               fi
380        AC_MSG_RESULT([$nasm_patch])        AC_MSG_RESULT([$nasm_patch])
381    
382        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then
383          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])                if test "$nasm_minor" -lt "$minimum_nasm_minor_version" ; then
384          ARCHITECTURE="GENERIC"                   if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
385                        AC_MSG_WARN([nasm version is too old])
386                     else
387                       found_nasm_comp_prog="yes"
388                               chosen_asm_prog="$nasm_prog"
389                     fi
390        else        else
391                     found_nasm_comp_prog="yes"
392                         chosen_asm_prog="$nasm_prog"
393                  fi
394               else
395                   found_nasm_comp_prog="yes"
396                           chosen_asm_prog="$nasm_prog"
397               fi
398           fi
399       fi
400    
401           dnl           dnl
402           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
403           dnl           dnl
404           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
405           AC_MSG_CHECKING([for asm object format])
406           case "$target_os" in           case "$target_os" in
407                *bsd*|linux*|beos|irix*|solaris*)                *bsd*|linux*|beos|irix*|solaris*)
408                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
409                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
410                   MARK_FUNCS="-DMARK_FUNCS"
411                    PREFIX=""                    PREFIX=""
412                    ;;                    ;;
413                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
414                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
415                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
416                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
417                   MARK_FUNCS=""
418                   ;;
419               *darwin*)
420                   AC_MSG_RESULT([macho])
421                   NASM_FORMAT="macho"
422                   PREFIX="-DPREFIX"
423                   MARK_FUNCS=""
424                    ;;                    ;;
425            esac            esac
426    
427            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
428            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
429            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
430           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
431           if test "$ARCHITECTURE" = "X86_64" ; then
432                   AFLAGS=${AFLAGS}" -m amd64"
433         fi         fi
   
434     else     else
435          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
436          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
437     fi     fi
   
438  fi  fi
439    
440  dnl  dnl
441  dnl PPC  dnl PPC
442  dnl  dnl
443    dnl With the PPC platform we do not use assembly language, we better keep with
444    dnl intrinsic altivec functions and types as they are supported by both Apple
445    dnl and GNU gcc with very slight changes to code which can be sumed up by:
446    dnl
447    dnl Apple:
448    dnl  - compile with the option -faltivec
449    dnl  - define vectors with parentheses vec = (0,0,0,0)
450    dnl GNU
451    dnl  - compile with -maltivec -mabi=altivec
452    dnl  - include <altivec.h> before using intrincic
453    dnl  - define vectors with vec = {0,0,0,0}
454    dnl
455    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
456    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
457    dnl   a -DHAVE_ALTIVEC_H
458    dnl * The vector definition is handled in portab.h thx to
459    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
460    dnl
461    PPC_ALTIVEC_SOURCES=""
462  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
463     AS="\$(CC)"     AS="\$(CC)"
464     AFLAGS="-c"     AFLAGS=""
465     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
466     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
467     AC_MSG_CHECKING([for Altivec support])  
468     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
469           .text  cat > conftest.c << EOF
470           vxor 0,0,0  #include <altivec.h>
471    int main() { return(0); }
472  EOF  EOF
473     if $CC -c conftest.S 2>/dev/null 1>/dev/null ; then     if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
474          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
475          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
476          CFLAGS="$CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
477          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
478     else     else
479          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
480            TEMP_ALTIVEC=""
481     fi     fi
482    
483       AC_MSG_CHECKING([for Altivec compiler support])
484    cat > conftest.c << EOF
485    #ifdef HAVE_ALTIVEC_H
486    #include <altivec.h>
487    #endif
488    
489    int main()
490    {
491      vector unsigned int vartest2 = (vector unsigned int)(0);
492      vector unsigned int vartest3 = (vector unsigned int)(1);
493      vartest2 = vec_add(vartest2, vartest3);
494      return(0);
495    }
496    EOF
497       if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
498            AC_MSG_RESULT([yes (Apple)])
499            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
500            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
501       else
502    cat > conftest.c << EOF
503    #ifdef HAVE_ALTIVEC_H
504    #include <altivec.h>
505    #endif
506    
507    int main()
508    {
509      vector unsigned int vartest2 = (vector unsigned int){0};
510      vector unsigned int vartest3 = (vector unsigned int){1};
511      vartest2 = vec_add(vartest2, vartest3);
512      return(0);
513    }
514    EOF
515       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
516            AC_MSG_RESULT([yes (GNU)])
517            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
518            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
519       else
520            AC_MSG_RESULT([no (ppc support won't be compiled in)])
521            dnl Only C code can be compiled :-(
522            ARCHITECTURE="GENERIC"
523       fi
524       fi
525    
526     rm -f conftest.*     rm -f conftest.*
527  fi  fi
528    
# Line 359  Line 535 
535     AFLAGS="-c"     AFLAGS="-c"
536     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION="s"
537     ASSEMBLY_SOURCES="SRC_IA64"     ASSEMBLY_SOURCES="SRC_IA64"
538    
539       case `basename $CC` in
540            *ecc*)
541                    DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
542    
543                    dnl If the compiler is ecc, then i don't know its options
544                    dnl fallback to "no options"
545                    if test "$force_default_cc_options" = "yes" ; then
546                       our_cflags_defaults=""
547                    fi
548                    ;;
549            *)
550                    DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
551                    ;;
552       esac
553    
554  fi  fi
555    
556  dnl ==========================================================================  dnl ==========================================================================
# Line 370  Line 562 
562  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
563          stdio.h \          stdio.h \
564          signal.h \          signal.h \
565            stdlib.h \
566            string.h \
567            assert.h \
568            math.h \
569          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
570    
571  dnl ==========================================================================  dnl ==========================================================================
572  dnl  dnl
573    dnl Check for pthread
574    dnl
575    dnl ==========================================================================
576    
577    AC_CHECK_HEADER(
578            pthread.h,
579            AC_CHECK_LIB(
580                    pthread,
581                    pthread_create,
582                    AC_CHECK_LIB(
583                            pthread,
584                            pthread_join,
585                            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
586                            SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
587                            AC_MSG_WARN(Pthread not supported. No SMP support)),
588                    AC_MSG_WARN(Pthread not supported. No SMP support)),
589            AC_MSG_WARN(Pthread not supported. No SMP support))
590    
591    dnl ==========================================================================
592    dnl
593    dnl Now we can set CFLAGS if needed
594    dnl
595    dnl ==========================================================================
596    
597    if test "$force_default_cc_options" = "yes" ; then
598       CFLAGS="$our_cflags_defaults"
599    fi
600    
601    dnl ==========================================================================
602    dnl
603    dnl Profiling stuff goes here
604    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
605    dnl  - removes incompatible options from CFLAGS
606    dnl
607    dnl ==========================================================================
608    
609    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
610    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
611    
612    if test "$enable_gnuprofile" = "yes" ; then
613       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
614    fi
615    
616    dnl ==========================================================================
617    dnl Some gcc flags can't be used for gcc >= 3.4.0
618    dnl ==========================================================================
619    
620    if test "$GCC" = "yes" ; then
621    cat << EOF > test.c
622    #include <stdio.h>
623    int main(int argc, char **argv)
624    {
625            if (*argv[[1]] == 'M') {
626                    printf("%d", __GNUC__);
627            }
628            if (*argv[[1]] == 'm') {
629                    printf("%d", __GNUC_MINOR__);
630            }
631            return 0;
632    }
633    EOF
634            $CC -o gcc-ver test.c
635    
636            GCC_MAJOR=`./gcc-ver M`
637            GCC_MINOR=`./gcc-ver m`
638    
639            rm -f test.c
640            rm -f gcc-ver
641    
642            # GCC 4.x
643            if test "${GCC_MAJOR}" -gt 3 ; then
644                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
645                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
646                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
647                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
648                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
649            fi
650    
651            # GCC 3.4.x
652            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
653                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
654            fi
655    fi
656    
657    
658    dnl ==========================================================================
659    dnl
660  dnl Substitions  dnl Substitions
661  dnl  dnl
662  dnl ==========================================================================  dnl ==========================================================================
# Line 393  Line 676 
676  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
677  AC_SUBST(CC)  AC_SUBST(CC)
678  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
679  AC_SUBST(OS_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
680  AC_SUBST(DIVX4COMPAT_SOURCES)  AC_SUBST(SPECIFIC_CFLAGS)
681    AC_SUBST(DCT_IA64_SOURCES)
682    AC_SUBST(PPC_ALTIVEC_SOURCES)
683    AC_SUBST(RANLIB)
684    AC_SUBST(API_MAJOR)
685    AC_SUBST(API_MINOR)
686    AC_SUBST(STATIC_LIB)
687    AC_SUBST(PRE_SHARED_LIB)
688    AC_SUBST(SHARED_LIB)
689    
690  dnl ==========================================================================  dnl ==========================================================================
691  dnl  dnl

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

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