[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 1024, Wed May 14 23:32:54 2003 UTC branches/release-1_3-branch/xvidcore/build/generic/configure.in revision 2031, Wed Sep 14 10:45:43 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], [1.0.0 cvs-snapshot], [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 Do not forget to increase that when needed.  dnl Do not forget to increase that when needed.
15  API_MAJOR="3"  API_MAJOR="4"
16  API_MINOR="0"  API_MINOR="3"
17    
18  dnl NASM version requirement  dnl NASM/YASM version requirement
19  minimum_nasm_patch_version=34  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 -fomit-frame-pointer"  our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
29    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=""  
 DIVX4_ENCORE=""  
 DIVX4_DECORE=""  
   
 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 59  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 72  Line 74 
74                    fi],                    fi],
75                   [assembly="yes"])                   [assembly="yes"])
76    
77    dnl pthread code
78    AC_ARG_ENABLE(pthread,
79                    AC_HELP_STRING([--disable-pthread],
80                                     [Disable pthread dependent code]),
81                     [if test "$enable_pthread" = "no" ; then
82                         pthread="no"
83                      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  dnl Build as a module not a shared lib on darwin
91  AC_ARG_ENABLE(macosx_module,  AC_ARG_ENABLE(macosx_module,
92                  AC_HELP_STRING([--enable-macosx_module],                  AC_HELP_STRING([--enable-macosx_module],
# Line 80  Line 95 
95                       macosx_module="yes"                       macosx_module="yes"
96                    else                    else
97                       macosx_module="no"                       macosx_module="no"
98                    fi])                    fi],
99                      [macosx_module="no"])
 dnl Internal Debug  
 AC_ARG_ENABLE(divx4compat,  
                 AC_HELP_STRING([--enable-divx4compat],  
                                  [Enable DivX4 compatibility API]),  
                  [if test "$enable_divx4compat" = "yes" ; then  
                      DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT"  
                      DIVX4_ENCORE="encore;"  
                      DIVX4_DECORE="decore;"  
                   fi])  
   
100    
101  dnl ==========================================================================  dnl ==========================================================================
102  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 136  Line 141 
141  dnl ==========================================================================  dnl ==========================================================================
142    
143  AC_PROG_RANLIB  AC_PROG_RANLIB
144    AC_CHECK_TOOL([AR], [ar], [ar-not-found])
145    
146  dnl ==========================================================================  dnl ==========================================================================
147  dnl  dnl
# Line 172  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                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
188                  ;;                  ;;
189                  ia64)                  ia64)
190                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 206  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 229  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 .a .obj])          AC_MSG_RESULT([.dll .a .obj])
248          STATIC_EXTENSION="a"          STATIC_EXTENSION="a"
249          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
# Line 260  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  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
280  SPECIFIC_CFLAGS=""  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([-Wl,-soname,libxvidcore.so -shared -lc -lm])          AC_MSG_RESULT([ok])
286          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
287          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
288          SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"          SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
289          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
290          ;;          ;;
291       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       *bsd*|irix*)
292          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          AC_MSG_RESULT([ok])
293          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
294          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          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="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
303          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
304          ;;          ;;
# Line 284  Line 308 
308          if test x"$macosx_module" = x"no"; then          if test x"$macosx_module" = x"no"; then
309             AC_MSG_RESULT([dylib options])             AC_MSG_RESULT([dylib options])
310             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
311             SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"             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          else
313             AC_MSG_RESULT(["module options])             AC_MSG_RESULT([module options])
314             SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"             PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
315             SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION) -bundle -flat_namespace -undefined suppress"             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          fi
318          ;;          ;;
319       beos)       beos)
320            AC_MSG_RESULT([ok])
321          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
322          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
         AC_MSG_RESULT([-nostart])  
323          SPECIFIC_LDFLAGS="-nostart"          SPECIFIC_LDFLAGS="-nostart"
324          SPECIFIC_CFLAGS="-fPIC"          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          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
329          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
330          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
# Line 307  Line 332 
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 323  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
    AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])  
    if test "$ac_nasm" = "yes" ; then  
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        dnl
369        dnl Checking nasm patch version         dnl Checking yasm version
370        dnl        dnl
371        AC_MSG_CHECKING([for nasm patch version])         AC_MSG_CHECKING([for yasm version])
372        nasm_patch=`nasm -r | cut -d '.' -f 3 | cut -d ' ' -f 1`         yasm_major=`$yasm_prog --version | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 2`
373        AC_MSG_RESULT([$nasm_patch])         if test -z $yasm_major ; then
374              yasm_major=-1
375           fi
376           AC_MSG_RESULT([$yasm_major])
377    
378        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then         dnl Actually, yasm >= 0.7.99.2161 should be ok
379          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])         dnl But I'm too lazy to check also the patch version...
380          ARCHITECTURE="GENERIC"         if test "$yasm_major" -lt "$minimum_yasm_major_version" ; then
381             AC_MSG_WARN([yasm version is too old])
382        else        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])
391           if test "$ac_nasm" = "yes" ; then
392               dnl
393               dnl Checking nasm version
394               dnl
395               AC_MSG_CHECKING([for nasm version])
396               nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
397               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               dnl need nasm 2.x for SSE3/4 and X86_64
407               if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
408                 AC_MSG_WARN([nasm version is too old])
409               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          SPECIFIC_CFLAGS="$SPECIFIC_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     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
556    
557     rm -f conftest.*     rm -f conftest.*
558  fi  fi
559    
# Line 409  Line 569 
569    
570     case `basename $CC` in     case `basename $CC` in
571          *ecc*)          *ecc*)
572                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
573    
574                  dnl If the compiler is ecc, then i don't know its options                  dnl If the compiler is ecc, then i don't know its options
575                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 418  Line 578 
578                  fi                  fi
579                  ;;                  ;;
580          *)          *)
581                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
582                  ;;                  ;;
583     esac     esac
584    
# Line 433  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  dnl Now we can set CFLAGS if needed
625  dnl  dnl
626  dnl ==========================================================================  dnl ==========================================================================
# Line 447  Line 631 
631    
632  dnl ==========================================================================  dnl ==========================================================================
633  dnl  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 466  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(LDFLAGS)
694  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
695  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
696  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
697  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
 AC_SUBST(DIVX4_DECORE)  
698  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
699    AC_SUBST(AR)
700  AC_SUBST(API_MAJOR)  AC_SUBST(API_MAJOR)
701  AC_SUBST(API_MINOR)  AC_SUBST(API_MINOR)
702  AC_SUBST(STATIC_LIB)  AC_SUBST(STATIC_LIB)
703    AC_SUBST(PRE_SHARED_LIB)
704  AC_SUBST(SHARED_LIB)  AC_SUBST(SHARED_LIB)
705    AC_SUBST(ALTIVEC_CFLAGS)
706    
707  dnl ==========================================================================  dnl ==========================================================================
708  dnl  dnl
# Line 485  Line 711 
711  dnl ==========================================================================  dnl ==========================================================================
712    
713  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
714    
715  AC_OUTPUT  AC_OUTPUT

Legend:
Removed from v.1024  
changed lines
  Added in v.2031

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