[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

trunk/xvidcore/build/generic/configure.in revision 828, Mon Feb 10 13:54:19 2003 UTC branches/release-1_3-branch/xvidcore/build/generic/configure.in revision 2064, Thu Oct 4 14:26:11 2012 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.2], [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_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 Check for the egrep program
148    dnl ==========================================================================
149    
150    AC_PROG_EGREP
151    
152    dnl ==========================================================================
153    dnl Check how the system supports symlinks.
154    dnl ==========================================================================
155    
156    AC_PROG_LN_S
157    
158    dnl ==========================================================================
159  dnl  dnl
160  dnl This part looks for:  dnl This part looks for:
161  dnl  dnl
# Line 150  Line 190 
190            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
191                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
192                  ;;                  ;;
193              x86_64)
194                    AC_MSG_RESULT(x86_64)
195                    ARCHITECTURE="X86_64"
196                    ;;
197                  powerpc)                  powerpc)
198                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
199                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
200                  ;;                  ;;
201                  ia64)                  ia64)
202                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 184  Line 226 
226          BUS="64BIT"          BUS="64BIT"
227          ;;          ;;
228       *)       *)
229          AC_MSG_ERROR([XviD supports only 32/64 bit architectures])          AC_MSG_ERROR([Xvid supports only 32/64 bit architectures])
230          ;;          ;;
231  esac  esac
232    
# Line 207  Line 249 
249  STATIC_EXTENSION=""  STATIC_EXTENSION=""
250  OBJECT_EXTENSION=""  OBJECT_EXTENSION=""
251  case "$target_os" in  case "$target_os" in
252       *bsd*|linux*|beos|irix*|solaris*)       *bsd*|linux*|beos|irix*|solaris*|gnu*)
253          AC_MSG_RESULT([.so .a .o])          AC_MSG_RESULT([.so .a .o])
254          STATIC_EXTENSION="a"          STATIC_EXTENSION="a"
255          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
256          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
257          ;;          ;;
258       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
259          AC_MSG_RESULT([.dll .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
260          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
261          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
262          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
263          ;;          ;;
264       darwin*|raphsody*)       darwin*)
265            if test x"$macosx_module" = x"yes"; then
266               AC_MSG_RESULT([.so .a .o])
267               SHARED_EXTENSION="so"
268            else
269          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
270          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
271            fi
272            STATIC_EXTENSION="a"
273          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
274          ;;          ;;
275       *)       *)
# Line 233  Line 280 
280          ;;          ;;
281  esac  esac
282    
283    dnl ==========================================================================
284    dnl
285    dnl Determines best options for CC and LD
286    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
287    dnl
288    dnl ==========================================================================
289    
290  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
291  OS_LDFLAGS=""  SPECIFIC_LDFLAGS=""
292    SPECIFIC_CFLAGS=""
293    ALTIVEC_CFLAGS=""
294    PRE_SHARED_LIB=""
295    SO_API_MAJOR_LINK=""
296    SO_LINK=""
297  case "$target_os" in  case "$target_os" in
298       *bsd*|linux*|irix*|solaris*)       linux*|solaris*|gnu*)
299          AC_MSG_RESULT([-shared -lc -lm])          AC_MSG_RESULT([ok])
300          OS_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
301          ;;          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
302       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)          SO_API_MAJOR_LINK="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
303          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          SO_LINK="libxvidcore.\$(SHARED_EXTENSION)"
304          OS_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
305          CFLAGS="$CFLAGS -mno-cygwin"          SPECIFIC_CFLAGS="-fPIC"
306          ;;          ;;
307       darwin*|raphsody*)       *bsd*|irix*)
308          AC_MSG_RESULT([-dynamiclib])          AC_MSG_RESULT([ok])
309          OS_LDFLAGS="-dynamiclib -flat_namespace"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
310          CFLAGS="$CFLAGS -fno-common"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
311            SO_API_MAJOR_LINK="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
312            SO_LINK="libxvidcore.\$(SHARED_EXTENSION)"
313            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
314            SPECIFIC_CFLAGS="-fPIC"
315            ;;
316         [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
317            AC_MSG_RESULT([ok])
318            STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
319            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
320            SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
321            SPECIFIC_CFLAGS="-mno-cygwin"
322            ;;
323         darwin*)
324            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
325            SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
326            if test x"$macosx_module" = x"no"; then
327               AC_MSG_RESULT([dylib options])
328               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
329               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)"
330            else
331               AC_MSG_RESULT([module options])
332               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
333               SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
334               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
335            fi
336          ;;          ;;
337       beos)       beos)
338          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
339          OS_LDFLAGS="-nostart"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
340            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
341            SPECIFIC_LDFLAGS="-nostart"
342            SPECIFIC_CFLAGS="-fPIC"
343          ;;          ;;
344       *)       *)
345          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
346          OS_LDFLAGS=""      STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
347            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
348            SPECIFIC_LDFLAGS=""
349            SPECIFIC_CFLAGS=""
350          ;;          ;;
351  esac  esac
352    
353    if test x"$PRE_SHARED_LIB" = x; then
354      PRE_SHARED_LIB=$SHARED_LIB
355    fi
356    
357  dnl ==========================================================================  dnl ==========================================================================
358  dnl  dnl
359  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
360    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
361  dnl  dnl
362  dnl ==========================================================================  dnl ==========================================================================
363    
# Line 276  Line 371 
371  dnl IA32  dnl IA32
372  dnl  dnl
373    
374  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
375    
376       dnl
377       dnl Checking for nasm compatible programs
378       dnl
379    
380       found_nasm_comp_prog="no"
381       chosen_asm_prog=""
382    
383       dnl Check for yasm first
384       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
385       if test "$ac_yasm" = "yes" ; then
386     dnl     dnl
387     dnl Checking nasm existence         dnl Checking yasm version
388     dnl     dnl
389           AC_MSG_CHECKING([for yasm version])
390           yasm_major=`$yasm_prog --version | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 2`
391           if test -z $yasm_major ; then
392              yasm_major=-1
393           fi
394           AC_MSG_RESULT([$yasm_major])
395    
396           dnl Actually, yasm >= 0.7.99.2161 should be ok
397           dnl But I'm too lazy to check also the patch version...
398           if test "$yasm_major" -lt "$minimum_yasm_major_version" ; then
399             AC_MSG_WARN([yasm version is too old])
400           else
401             found_nasm_comp_prog="yes"
402             chosen_asm_prog="$yasm_prog"
403           fi
404       fi
405    
406       dnl Check for nasm (not buggy version)
407       if test "$found_nasm_comp_prog" = "no" ; then
408     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])     AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
409     if test "$ac_nasm" = "yes" ; then     if test "$ac_nasm" = "yes" ; then
   
410        dnl        dnl
411        dnl Checking nasm patch version             dnl Checking nasm version
412        dnl        dnl
413        AC_MSG_CHECKING([for nasm patch version])             AC_MSG_CHECKING([for nasm version])
414        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`
415        AC_MSG_RESULT([$nasm_patch])             nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
416               if test -z $nasm_minor ; then
417                  nasm_minor=-1
418               fi
419               if test -z $nasm_major ; then
420                  nasm_major=-1
421               fi
422               AC_MSG_RESULT([$nasm_major])
423    
424        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then             dnl need nasm 2.x for SSE3/4 and X86_64
425          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])             if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
426          ARCHITECTURE="GENERIC"               AC_MSG_WARN([nasm version is too old])
427        else        else
428                 found_nasm_comp_prog="yes"
429                   chosen_asm_prog="$nasm_prog"
430               fi
431           fi
432       fi
433    
434           dnl           dnl
435           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
436           dnl           dnl
437           AC_MSG_CHECKING([for nasm object format])     if test "$found_nasm_comp_prog" = "yes" ; then
438           AC_MSG_CHECKING([for asm object format])
439           case "$target_os" in           case "$target_os" in
440                *bsd*|linux*|beos|irix*|solaris*)             *bsd*|linux*|beos|irix*|solaris*|gnu*)
441                   if test "$ARCHITECTURE" = "X86_64" ; then
442                       AC_MSG_RESULT([elf64])
443                       NASM_FORMAT="elf64"
444                   else
445                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
446                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
447                   fi
448                   MARK_FUNCS="-DMARK_FUNCS"
449                    PREFIX=""                    PREFIX=""
450                    ;;                    ;;
451                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
452                   if test "$ARCHITECTURE" = "X86_64" ; then
453                       AC_MSG_RESULT([win64])
454                       NASM_FORMAT="win64"
455                   else
456                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
457                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
458                   fi
459                   PREFIX="-DWINDOWS"
460                   if test "$GCC" = "yes" ; then
461                       echo 'int main(void) {return 0;}' > conftest.c
462                       $CC -S -o conftest conftest.c
463                       if test `$EGREP -c '_main:' conftest` -eq 0 ; then
464                           PREFIX="$PREFIX -DNO_PREFIX"
465                       fi
466                       rm -f conftest*
467                   fi
468                   MARK_FUNCS=""
469                   ;;
470               *darwin*)
471                   if test "$ARCHITECTURE" = "X86_64" ; then
472                       AC_MSG_RESULT([macho64])
473                       NASM_FORMAT="macho64"
474                   else
475                       AC_MSG_RESULT([macho32])
476                       NASM_FORMAT="macho32"
477                   fi
478                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
479                   MARK_FUNCS=""
480                    ;;                    ;;
481            esac            esac
482    
483            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
484            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
485            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
486           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
487           if test "$ARCHITECTURE" = "X86_64" ; then
488                   AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
489         fi         fi
   
490     else     else
491          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
492          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
493     fi     fi
   
494  fi  fi
495    
496  dnl  dnl
497  dnl PPC  dnl PPC
498  dnl  dnl
499    dnl With the PPC platform we do not use assembly language, we better keep with
500    dnl intrinsic altivec functions and types as they are supported by both Apple
501    dnl and GNU gcc with very slight changes to code which can be sumed up by:
502    dnl
503    dnl Apple:
504    dnl  - compile with the option -arch ppc -faltivec
505    dnl  - define vectors with parentheses vec = (0,0,0,0)
506    dnl GNU
507    dnl  - compile with -maltivec -mabi=altivec
508    dnl  - include <altivec.h> before using intrincic
509    dnl  - define vectors with vec = {0,0,0,0}
510    dnl
511    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
512    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
513    dnl   a -DHAVE_ALTIVEC_H
514    dnl * The vector definition is handled in portab.h thx to
515    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
516    dnl
517    PPC_ALTIVEC_SOURCES=""
518  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
519     AS="\$(CC)"     AS="\$(CC)"
520     AFLAGS="-c"     AFLAGS=""
521     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
522     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
523     AC_MSG_CHECKING([for Altivec support])  
524     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
525           .text  cat > conftest.c << EOF
526           vxor 0,0,0  #include <altivec.h>
527    int main() { return(0); }
528  EOF  EOF
529     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 || \
530          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
531          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
532          CFLAGS="$CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
533          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
534     else     else
535          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
536            TEMP_ALTIVEC=""
537       fi
538    
539       AC_MSG_CHECKING([for Altivec compiler support])
540    cat > conftest.c << EOF
541    #ifdef HAVE_ALTIVEC_H
542    #include <altivec.h>
543    #endif
544    
545    int main()
546    {
547      vector unsigned int vartest2 = (vector unsigned int)(0);
548      vector unsigned int vartest3 = (vector unsigned int)(1);
549      vartest2 = vec_add(vartest2, vartest3);
550      return(0);
551    }
552    EOF
553       if $CC $TEMP_ALTIVEC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
554            AC_MSG_RESULT([yes (Apple)])
555            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -arch ppc -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
556            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
557       else
558    cat > conftest.c << EOF
559    #ifdef HAVE_ALTIVEC_H
560    #include <altivec.h>
561    #endif
562    
563    int main()
564    {
565      vector unsigned int vartest2 = (vector unsigned int){0};
566      vector unsigned int vartest3 = (vector unsigned int){1};
567      vartest2 = vec_add(vartest2, vartest3);
568      return(0);
569    }
570    EOF
571       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
572            AC_MSG_RESULT([yes (GNU)])
573            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
574            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
575            ALTIVEC_CFLAGS="-maltivec -mabi=altivec"
576       else
577            AC_MSG_RESULT([no (ppc support won't be compiled in)])
578            dnl Only C code can be compiled :-(
579            ARCHITECTURE="GENERIC"
580       fi
581     fi     fi
582    
583     rm -f conftest.*     rm -f conftest.*
584  fi  fi
585    
# Line 359  Line 592 
592     AFLAGS="-c"     AFLAGS="-c"
593     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION="s"
594     ASSEMBLY_SOURCES="SRC_IA64"     ASSEMBLY_SOURCES="SRC_IA64"
595    
596       case `basename $CC` in
597            *ecc*)
598                    DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
599    
600                    dnl If the compiler is ecc, then i don't know its options
601                    dnl fallback to "no options"
602                    if test "$force_default_cc_options" = "yes" ; then
603                       our_cflags_defaults=""
604                    fi
605                    ;;
606            *)
607                    DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
608                    ;;
609       esac
610    
611  fi  fi
612    
613  dnl ==========================================================================  dnl ==========================================================================
# Line 370  Line 619 
619  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
620          stdio.h \          stdio.h \
621          signal.h \          signal.h \
622            stdlib.h \
623            string.h \
624            assert.h \
625            math.h \
626          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
627    
628  dnl ==========================================================================  dnl ==========================================================================
629  dnl  dnl
630    dnl Check for pthread
631    dnl
632    dnl ==========================================================================
633    
634    if test x"$pthread" = x"yes" ; then
635            case "$target_os" in
636                mingw32*)
637                    AC_CHECK_HEADER(
638                        [pthread.h],
639                        [AC_CHECK_LIB(
640                            [pthreadGC2],
641                            [pthread_create],
642                            [SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
643                             SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthreadGC2"],
644                            [AC_CHECK_LIB(
645                                [pthread],
646                                [pthread_create],
647                                [SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
648                                 SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread"],
649                                AC_MSG_WARN(Pthread not supported. No SMP support))])],
650                        AC_MSG_WARN(Pthread not supported. No SMP support))
651                    ;;
652                *)
653                    AC_CHECK_HEADER(
654                        [pthread.h],
655                        [AC_CHECK_LIB(
656                            [pthread],
657                            [pthread_create],
658                            [SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
659                             SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread"],
660                            AC_MSG_WARN(Pthread not supported. No SMP support))],
661                        AC_MSG_WARN(Pthread not supported. No SMP support))
662                    ;;
663            esac
664    else
665       AC_MSG_WARN(Pthread support disabled. No SMP support)
666    fi
667    
668    dnl ==========================================================================
669    dnl
670    dnl Now we can set CFLAGS if needed
671    dnl
672    dnl ==========================================================================
673    
674    if test "$force_default_cc_options" = "yes" ; then
675       CFLAGS="$our_cflags_defaults"
676    fi
677    
678    dnl ==========================================================================
679    dnl
680    dnl Profiling stuff goes here
681    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
682    dnl  - removes incompatible options from CFLAGS
683    dnl
684    dnl ==========================================================================
685    
686    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
687    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
688    
689    if test "$enable_gnuprofile" = "yes" ; then
690       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
691    fi
692    
693    dnl ==========================================================================
694    dnl Some gcc flags can't be used for gcc >= 3.4.0
695    dnl ==========================================================================
696    
697    if test "$GCC" = "yes" ; then
698    
699            GCC_MAJOR=`$CC -dumpversion | cut -d . -f 1`
700            GCC_MINOR=`$CC -dumpversion | cut -d . -f 2`
701    
702            # GCC 4.x
703            if test "${GCC_MAJOR}" -gt 3 ; then
704                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
705                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
706                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
707                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
708                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
709                    SPECIFIC_CFLAGS=`echo $SPECIFIC_CFLAGS | sed s,'-mno-cygwin','',g`
710            fi
711    
712            # GCC 3.4.x
713            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
714                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
715            fi
716    fi
717    
718    
719    dnl ==========================================================================
720    dnl
721  dnl Substitions  dnl Substitions
722  dnl  dnl
723  dnl ==========================================================================  dnl ==========================================================================
# Line 393  Line 737 
737  AC_SUBST(ASSEMBLY_SOURCES)  AC_SUBST(ASSEMBLY_SOURCES)
738  AC_SUBST(CC)  AC_SUBST(CC)
739  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
740  AC_SUBST(OS_LDFLAGS)  AC_SUBST(LDFLAGS)
741  AC_SUBST(DIVX4COMPAT_SOURCES)  AC_SUBST(SPECIFIC_LDFLAGS)
742    AC_SUBST(SPECIFIC_CFLAGS)
743    AC_SUBST(DCT_IA64_SOURCES)
744    AC_SUBST(PPC_ALTIVEC_SOURCES)
745    AC_SUBST(LN_S)
746    AC_SUBST(RANLIB)
747    AC_SUBST(AR)
748    AC_SUBST(API_MAJOR)
749    AC_SUBST(API_MINOR)
750    AC_SUBST(STATIC_LIB)
751    AC_SUBST(PRE_SHARED_LIB)
752    AC_SUBST(SO_API_MAJOR_LINK)
753    AC_SUBST(SO_LINK)
754    AC_SUBST(SHARED_LIB)
755    AC_SUBST(ALTIVEC_CFLAGS)
756    
757  dnl ==========================================================================  dnl ==========================================================================
758  dnl  dnl

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

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