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

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

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