[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 824, Sun Feb 9 19:32:52 2003 UTC revision 2033, Wed Sep 14 15:09:32 2011 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.4.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="4"
17    
18    dnl NASM/YASM version requirement
19    minimum_yasm_major_version=1
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 pthread code
78  AC_ARG_ENABLE(divx4compat,  AC_ARG_ENABLE(pthread,
79                  AC_HELP_STRING([--enable-divx4compat],                  AC_HELP_STRING([--disable-pthread],
80                                   [Enable DivX4 compatibility API]),                                   [Disable pthread dependent code]),
81                   [if test "$enable_divx4compat" = "yes" ; then                   [if test "$enable_pthread" = "no" ; then
82                       DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT"                       pthread="no"
83                    fi])                    else
84                         if test "$enable_pthread" = "yes" ; then
85                            pthread="yes"
86                         fi
87                      fi],
88                     [pthread="yes"])
89    
90    dnl Build as a module not a shared lib on darwin
91    AC_ARG_ENABLE(macosx_module,
92                    AC_HELP_STRING([--enable-macosx_module],
93                                     [Build as a module on MacOS X]),
94                     [if test "$enable_macosx_module" = "yes" ; then
95                         macosx_module="yes"
96                      else
97                         macosx_module="no"
98                      fi],
99                      [macosx_module="no"])
100    
101  dnl ==========================================================================  dnl ==========================================================================
102  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 99  Line 121 
121  AC_MSG_CHECKING(whether to use default CFLAGS)  AC_MSG_CHECKING(whether to use default CFLAGS)
122  if test  x"$CFLAGS" = x"" ; then  if test  x"$CFLAGS" = x"" ; then
123     force_default_cc_options="yes"     force_default_cc_options="yes"
    CFLAGS="$our_cflags_defaults"  
124     AC_MSG_RESULT([yes])     AC_MSG_RESULT([yes])
125  else  else
126     force_default_cc_options="no"     force_default_cc_options="no"
# Line 116  Line 137 
137  AC_PROG_INSTALL  AC_PROG_INSTALL
138    
139  dnl ==========================================================================  dnl ==========================================================================
140    dnl Check for the ranlib program to generate static library index
141    dnl ==========================================================================
142    
143    AC_PROG_RANLIB
144    AC_CHECK_TOOL([AR], [ar], [ar-not-found])
145    
146    dnl ==========================================================================
147  dnl  dnl
148  dnl This part looks for:  dnl This part looks for:
149  dnl  dnl
# Line 150  Line 178 
178            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
179                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
180                  ;;                  ;;
181              x86_64)
182                    AC_MSG_RESULT(x86_64)
183                    ARCHITECTURE="X86_64"
184                    ;;
185                  powerpc)                  powerpc)
186                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
187                  ARCHITECTURE="PPC"                  ARCHITECTURE="PPC"
# Line 182  Line 214 
214          BUS="64BIT"          BUS="64BIT"
215          ;;          ;;
216       *)       *)
217          AC_MSG_ERROR([XviD supports only 32/64 bit architectures])          AC_MSG_ERROR([Xvid supports only 32/64 bit architectures])
218          ;;          ;;
219  esac  esac
220    
# Line 205  Line 237 
237  STATIC_EXTENSION=""  STATIC_EXTENSION=""
238  OBJECT_EXTENSION=""  OBJECT_EXTENSION=""
239  case "$target_os" in  case "$target_os" in
240       *bsd*|linux*|beos|irix*|solaris*)       *bsd*|linux*|beos|irix*|solaris*|gnu*)
241          AC_MSG_RESULT([.so .a .o])          AC_MSG_RESULT([.so .a .o])
242          STATIC_EXTENSION="a"          STATIC_EXTENSION="a"
243          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
244          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
245          ;;          ;;
246       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
247          AC_MSG_RESULT([.dll .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
248          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
249          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
250          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
251          ;;          ;;
252       darwin*|raphsody*)       darwin*|raphsody*)
253            if test x"$macosx_module" = x"yes"; then
254               AC_MSG_RESULT([.so .a .o])
255               SHARED_EXTENSION="so"
256            else
257          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
258          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
259            fi
260            STATIC_EXTENSION="a"
261          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
262          ;;          ;;
263       *)       *)
# Line 231  Line 268 
268          ;;          ;;
269  esac  esac
270    
271    dnl ==========================================================================
272    dnl
273    dnl Determines best options for CC and LD
274    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
275    dnl
276    dnl ==========================================================================
277    
278  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
279  OS_LDFLAGS=""  SPECIFIC_LDFLAGS=""
280    SPECIFIC_CFLAGS=""
281    ALTIVEC_CFLAGS=""
282    PRE_SHARED_LIB=""
283  case "$target_os" in  case "$target_os" in
284       *bsd*|linux*|irix*|solaris*)       linux*|solaris*|gnu*)
285          AC_MSG_RESULT([-shared -lc -lm])          AC_MSG_RESULT([ok])
286          OS_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
287          ;;          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
288       [[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"
289          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          SPECIFIC_CFLAGS="-fPIC"
290          OS_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          ;;
291          CFLAGS="$CFLAGS -mno-cygwin"       *bsd*|irix*)
292            AC_MSG_RESULT([ok])
293            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
294            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
295            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
296            SPECIFIC_CFLAGS="-fPIC"
297            ;;
298         [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
299            AC_MSG_RESULT([ok])
300            STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
301            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
302            SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
303            SPECIFIC_CFLAGS=""
304          ;;          ;;
305       darwin*|raphsody*)       darwin*|raphsody*)
306          AC_MSG_RESULT([-dynamiclib])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
307          OS_LDFLAGS="-dynamiclib"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
308          CFLAGS="$CFLAGS -fno-common"          if test x"$macosx_module" = x"no"; then
309               AC_MSG_RESULT([dylib options])
310               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
311               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)"
312            else
313               AC_MSG_RESULT([module options])
314               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
315               SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
316               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
317            fi
318          ;;          ;;
319       beos)       beos)
320          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
321          OS_LDFLAGS="-nostart"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
322            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
323            SPECIFIC_LDFLAGS="-nostart"
324            SPECIFIC_CFLAGS="-fPIC"
325          ;;          ;;
326       *)       *)
327          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
328          OS_LDFLAGS=""      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
329            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
330            SPECIFIC_LDFLAGS=""
331            SPECIFIC_CFLAGS=""
332          ;;          ;;
333  esac  esac
334    
335    if test x"$PRE_SHARED_LIB" = x; then
336      PRE_SHARED_LIB=$SHARED_LIB
337    fi
338    
339  dnl ==========================================================================  dnl ==========================================================================
340  dnl  dnl
341  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
342    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
343  dnl  dnl
344  dnl ==========================================================================  dnl ==========================================================================
345    
# Line 274  Line 353 
353  dnl IA32  dnl IA32
354  dnl  dnl
355    
356  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
357    
358     dnl     dnl
359     dnl Checking nasm existence     dnl Checking for nasm compatible programs
360     dnl     dnl
361    
362       found_nasm_comp_prog="no"
363       chosen_asm_prog=""
364    
365       dnl Check for yasm first
366       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
367       if test "$ac_yasm" = "yes" ; then
368           dnl
369           dnl Checking yasm version
370           dnl
371           AC_MSG_CHECKING([for yasm version])
372           yasm_major=`$yasm_prog --version | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 2`
373           if test -z $yasm_major ; then
374              yasm_major=-1
375           fi
376           AC_MSG_RESULT([$yasm_major])
377    
378           dnl Actually, yasm >= 0.7.99.2161 should be ok
379           dnl But I'm too lazy to check also the patch version...
380           if test "$yasm_major" -lt "$minimum_yasm_major_version" ; then
381             AC_MSG_WARN([yasm version is too old])
382           else
383             found_nasm_comp_prog="yes"
384             chosen_asm_prog="$yasm_prog"
385           fi
386       fi
387    
388       dnl Check for nasm (not buggy version)
389       if test "$found_nasm_comp_prog" = "no" ; then
390     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
391     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
392        dnl        dnl
393        dnl Checking nasm patch version             dnl Checking nasm version
394        dnl        dnl
395        AC_MSG_CHECKING([for nasm patch version])             AC_MSG_CHECKING([for nasm version])
396        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`
397        AC_MSG_RESULT([$nasm_patch])             nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
398               if test -z $nasm_minor ; then
399                  nasm_minor=-1
400               fi
401               if test -z $nasm_major ; then
402                  nasm_major=-1
403               fi
404               AC_MSG_RESULT([$nasm_major])
405    
406        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then             dnl need nasm 2.x for SSE3/4 and X86_64
407          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])             if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
408          ARCHITECTURE="GENERIC"               AC_MSG_WARN([nasm version is too old])
409        else        else
410                 found_nasm_comp_prog="yes"
411                   chosen_asm_prog="$nasm_prog"
412               fi
413           fi
414       fi
415    
416           dnl           dnl
417           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
418           dnl           dnl
419           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
420           AC_MSG_CHECKING([for asm object format])
421           case "$target_os" in           case "$target_os" in
422                *bsd*|linux*|beos|irix*|solaris*)             *bsd*|linux*|beos|irix*|solaris*|gnu*)
423                   if test "$ARCHITECTURE" = "X86_64" ; then
424                       AC_MSG_RESULT([elf64])
425                       NASM_FORMAT="elf64"
426                   else
427                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
428                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
429                   fi
430                   MARK_FUNCS="-DMARK_FUNCS"
431                    PREFIX=""                    PREFIX=""
432                    ;;                    ;;
433                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
434                   if test "$ARCHITECTURE" = "X86_64" ; then
435                       AC_MSG_RESULT([win64])
436                       NASM_FORMAT="win64"
437                   else
438                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
439                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
440                   fi
441                   PREFIX="-DWINDOWS"
442                   MARK_FUNCS=""
443                   ;;
444               *darwin*)
445                   if test "$ARCHITECTURE" = "X86_64" ; then
446                       AC_MSG_RESULT([macho64])
447                       NASM_FORMAT="macho64"
448                   else
449                       AC_MSG_RESULT([macho32])
450                       NASM_FORMAT="macho32"
451                   fi
452                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
453                   MARK_FUNCS=""
454                    ;;                    ;;
455            esac            esac
456    
457            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
458            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
459            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
460           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
461           if test "$ARCHITECTURE" = "X86_64" ; then
462                   AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
463         fi         fi
   
464     else     else
465          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
466          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
467     fi     fi
   
468  fi  fi
469    
470  dnl  dnl
471  dnl PPC  dnl PPC
472  dnl  dnl
473    dnl With the PPC platform we do not use assembly language, we better keep with
474    dnl intrinsic altivec functions and types as they are supported by both Apple
475    dnl and GNU gcc with very slight changes to code which can be sumed up by:
476    dnl
477    dnl Apple:
478    dnl  - compile with the option -arch ppc -faltivec
479    dnl  - define vectors with parentheses vec = (0,0,0,0)
480    dnl GNU
481    dnl  - compile with -maltivec -mabi=altivec
482    dnl  - include <altivec.h> before using intrincic
483    dnl  - define vectors with vec = {0,0,0,0}
484    dnl
485    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
486    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
487    dnl   a -DHAVE_ALTIVEC_H
488    dnl * The vector definition is handled in portab.h thx to
489    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
490    dnl
491    PPC_ALTIVEC_SOURCES=""
492  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
493     AS="\$(CC)"     AS="\$(CC)"
494     AFLAGS="-c"     AFLAGS=""
495     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
496     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
497     AC_MSG_CHECKING([for Altivec support])  
498     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
499           .text  cat > conftest.c << EOF
500           vxor 0,0,0  #include <altivec.h>
501    int main() { return(0); }
502  EOF  EOF
503     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 || \
504          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
505          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
506          CFLAGS="$CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
507          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
508     else     else
509          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
510            TEMP_ALTIVEC=""
511       fi
512    
513       AC_MSG_CHECKING([for Altivec compiler support])
514    cat > conftest.c << EOF
515    #ifdef HAVE_ALTIVEC_H
516    #include <altivec.h>
517    #endif
518    
519    int main()
520    {
521      vector unsigned int vartest2 = (vector unsigned int)(0);
522      vector unsigned int vartest3 = (vector unsigned int)(1);
523      vartest2 = vec_add(vartest2, vartest3);
524      return(0);
525    }
526    EOF
527       if $CC $TEMP_ALTIVEC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
528            AC_MSG_RESULT([yes (Apple)])
529            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -arch ppc -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
530            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
531       else
532    cat > conftest.c << EOF
533    #ifdef HAVE_ALTIVEC_H
534    #include <altivec.h>
535    #endif
536    
537    int main()
538    {
539      vector unsigned int vartest2 = (vector unsigned int){0};
540      vector unsigned int vartest3 = (vector unsigned int){1};
541      vartest2 = vec_add(vartest2, vartest3);
542      return(0);
543    }
544    EOF
545       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
546            AC_MSG_RESULT([yes (GNU)])
547            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
548            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
549            ALTIVEC_CFLAGS="-maltivec -mabi=altivec"
550       else
551            AC_MSG_RESULT([no (ppc support won't be compiled in)])
552            dnl Only C code can be compiled :-(
553            ARCHITECTURE="GENERIC"
554       fi
555     fi     fi
556    
557     rm -f conftest.*     rm -f conftest.*
558  fi  fi
559    
# Line 357  Line 566 
566     AFLAGS="-c"     AFLAGS="-c"
567     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION="s"
568     ASSEMBLY_SOURCES="SRC_IA64"     ASSEMBLY_SOURCES="SRC_IA64"
569    
570       case `basename $CC` in
571            *ecc*)
572                    DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
573    
574                    dnl If the compiler is ecc, then i don't know its options
575                    dnl fallback to "no options"
576                    if test "$force_default_cc_options" = "yes" ; then
577                       our_cflags_defaults=""
578                    fi
579                    ;;
580            *)
581                    DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
582                    ;;
583       esac
584    
585  fi  fi
586    
587  dnl ==========================================================================  dnl ==========================================================================
# Line 368  Line 593 
593  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
594          stdio.h \          stdio.h \
595          signal.h \          signal.h \
596            stdlib.h \
597            string.h \
598            assert.h \
599            math.h \
600          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
601    
602  dnl ==========================================================================  dnl ==========================================================================
603  dnl  dnl
604    dnl Check for pthread
605    dnl
606    dnl ==========================================================================
607    
608    if test x"$pthread" = x"yes" ; then
609       AC_CHECK_HEADER(
610            [pthread.h],
611            [AC_CHECK_LIB(
612                    [pthread],
613                    [pthread_create],
614                    [SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
615                     SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread"],
616                    AC_MSG_WARN(Pthread not supported. No SMP support))],
617            AC_MSG_WARN(Pthread not supported. No SMP support))
618    else
619       AC_MSG_WARN(Pthread support disabled. No SMP support)
620    fi
621    
622    dnl ==========================================================================
623    dnl
624    dnl Now we can set CFLAGS if needed
625    dnl
626    dnl ==========================================================================
627    
628    if test "$force_default_cc_options" = "yes" ; then
629       CFLAGS="$our_cflags_defaults"
630    fi
631    
632    dnl ==========================================================================
633    dnl
634    dnl Profiling stuff goes here
635    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
636    dnl  - removes incompatible options from CFLAGS
637    dnl
638    dnl ==========================================================================
639    
640    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
641    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
642    
643    if test "$enable_gnuprofile" = "yes" ; then
644       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
645    fi
646    
647    dnl ==========================================================================
648    dnl Some gcc flags can't be used for gcc >= 3.4.0
649    dnl ==========================================================================
650    
651    if test "$GCC" = "yes" ; then
652    
653            GCC_MAJOR=`$CC -dumpversion | cut -d . -f 1`
654            GCC_MINOR=`$CC -dumpversion | cut -d . -f 2`
655    
656            # GCC 4.x
657            if test "${GCC_MAJOR}" -gt 3 ; then
658                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
659                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
660                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
661                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
662                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
663            fi
664    
665            # GCC 3.4.x
666            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
667                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
668            fi
669    fi
670    
671    
672    dnl ==========================================================================
673    dnl
674  dnl Substitions  dnl Substitions
675  dnl  dnl
676  dnl ==========================================================================  dnl ==========================================================================
# Line 391  Line 690 
690  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
691  AC_SUBST(CC)  AC_SUBST(CC)
692  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
693  AC_SUBST(OS_LDFLAGS)  AC_SUBST(LDFLAGS)
694  AC_SUBST(DIVX4COMPAT_SOURCES)  AC_SUBST(SPECIFIC_LDFLAGS)
695    AC_SUBST(SPECIFIC_CFLAGS)
696    AC_SUBST(DCT_IA64_SOURCES)
697    AC_SUBST(PPC_ALTIVEC_SOURCES)
698    AC_SUBST(RANLIB)
699    AC_SUBST(AR)
700    AC_SUBST(API_MAJOR)
701    AC_SUBST(API_MINOR)
702    AC_SUBST(STATIC_LIB)
703    AC_SUBST(PRE_SHARED_LIB)
704    AC_SUBST(SHARED_LIB)
705    AC_SUBST(ALTIVEC_CFLAGS)
706    
707  dnl ==========================================================================  dnl ==========================================================================
708  dnl  dnl

Legend:
Removed from v.824  
changed lines
  Added in v.2033

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