[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 851, Sat Feb 15 15:22: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], [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 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 -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 55  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 68  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                       DIVX4_ENCORE="encore;"                    else
84                       DIVX4_DECORE="decore;"                       if test "$enable_pthread" = "yes" ; then
85                    fi])                          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 122  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 ==========================================================================
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 ==========================================================================  dnl ==========================================================================
159  dnl  dnl
# Line 158  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 192  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 215  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 241  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  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
292  SPECIFIC_CFLAGS=""  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          SPECIFIC_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
301            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
302            SO_API_MAJOR_LINK="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
303            SO_LINK="libxvidcore.\$(SHARED_EXTENSION)"
304            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
305            SPECIFIC_CFLAGS="-fPIC"
306            ;;
307         *bsd*|irix*)
308            AC_MSG_RESULT([ok])
309            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
310            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"          SPECIFIC_CFLAGS="-fPIC"
315          ;;          ;;
316       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
317          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          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"          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
321          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
322          ;;          ;;
323       darwin*|raphsody*)       darwin*)
324          AC_MSG_RESULT([-dynamiclib -flat_namespace])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
325          SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
326          SPECIFIC_CFLAGS="-fPIC -fno-common"          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            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
340            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
341          SPECIFIC_LDFLAGS="-nostart"          SPECIFIC_LDFLAGS="-nostart"
342          SPECIFIC_CFLAGS="-fPIC"          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        STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
347            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
348          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
349          SPECIFIC_CFLAGS=""          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 288  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     dnl
377     dnl Checking nasm existence     dnl Checking for nasm compatible programs
378     dnl     dnl
    AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])  
    if test "$ac_nasm" = "yes" ; then  
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 patch version         dnl Checking yasm version
388        dnl        dnl
389        AC_MSG_CHECKING([for nasm patch version])         AC_MSG_CHECKING([for yasm version])
390        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`
391        AC_MSG_RESULT([$nasm_patch])         if test -z $yasm_major ; then
392              yasm_major=-1
393           fi
394           AC_MSG_RESULT([$yasm_major])
395    
396        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then         dnl Actually, yasm >= 0.7.99.2161 should be ok
397          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])         dnl But I'm too lazy to check also the patch version...
398          ARCHITECTURE="GENERIC"         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])
409           if test "$ac_nasm" = "yes" ; then
410               dnl
411               dnl Checking nasm version
412               dnl
413               AC_MSG_CHECKING([for nasm version])
414               nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
415               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               dnl need nasm 2.x for SSE3/4 and X86_64
425               if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
426                 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          SPECIFIC_CFLAGS="$SPECIFIC_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 374  Line 595 
595    
596     case `basename $CC` in     case `basename $CC` in
597          *ecc*)          *ecc*)
598                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
599    
600                  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
601                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 383  Line 604 
604                  fi                  fi
605                  ;;                  ;;
606          *)          *)
607                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
608                  ;;                  ;;
609     esac     esac
610    
# Line 398  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  dnl Now we can set CFLAGS if needed
671  dnl  dnl
672  dnl ==========================================================================  dnl ==========================================================================
# Line 412  Line 677 
677    
678  dnl ==========================================================================  dnl ==========================================================================
679  dnl  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 431  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(LDFLAGS)
741  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
742  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
743  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
744  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
745  AC_SUBST(DIVX4_DECORE)  AC_SUBST(LN_S)
746  AC_SUBST(RANLIB)  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
# Line 446  Line 761 
761  dnl ==========================================================================  dnl ==========================================================================
762    
763  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
764    
765  AC_OUTPUT  AC_OUTPUT

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

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