[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 1944, Tue Jan 11 11:39:13 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.0], [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 80  Line 82 
82                       macosx_module="yes"                       macosx_module="yes"
83                    else                    else
84                       macosx_module="no"                       macosx_module="no"
85                    fi])                    fi],
86                      [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])  
   
87    
88  dnl ==========================================================================  dnl ==========================================================================
89  dnl Default install prefix and checks build type  dnl Default install prefix and checks build type
# Line 136  Line 128 
128  dnl ==========================================================================  dnl ==========================================================================
129    
130  AC_PROG_RANLIB  AC_PROG_RANLIB
131    AC_CHECK_TOOL([AR], [ar], [ar-not-found])
132    
133  dnl ==========================================================================  dnl ==========================================================================
134  dnl  dnl
# Line 172  Line 165 
165            AC_MSG_RESULT(ia32)            AC_MSG_RESULT(ia32)
166                  ARCHITECTURE="IA32"                  ARCHITECTURE="IA32"
167                  ;;                  ;;
168              x86_64)
169                    AC_MSG_RESULT(x86_64)
170                    ARCHITECTURE="X86_64"
171                    ;;
172                  powerpc)                  powerpc)
173                  AC_MSG_RESULT(PowerPC)                  AC_MSG_RESULT(PowerPC)
174                  dnl ATM the ppc port is out of date                  ARCHITECTURE="PPC"
                 dnl ARCHITECTURE="PPC"  
                 ARCHITECTURE="GENERIC"  
175                  ;;                  ;;
176                  ia64)                  ia64)
177                  AC_MSG_RESULT(ia64)                  AC_MSG_RESULT(ia64)
# Line 206  Line 201 
201          BUS="64BIT"          BUS="64BIT"
202          ;;          ;;
203       *)       *)
204          AC_MSG_ERROR([XviD supports only 32/64 bit architectures])          AC_MSG_ERROR([Xvid supports only 32/64 bit architectures])
205          ;;          ;;
206  esac  esac
207    
# Line 235  Line 230 
230          SHARED_EXTENSION="so"          SHARED_EXTENSION="so"
231          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
232          ;;          ;;
233       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
234          AC_MSG_RESULT([.dll .a .obj])          AC_MSG_RESULT([.dll .a .obj])
235          STATIC_EXTENSION="a"          STATIC_EXTENSION="a"
236          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
# Line 260  Line 255 
255          ;;          ;;
256  esac  esac
257    
258    dnl ==========================================================================
259    dnl
260    dnl Determines best options for CC and LD
261    dnl  - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
262    dnl
263    dnl ==========================================================================
264    
265  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)  AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
266  SPECIFIC_LDFLAGS=""  SPECIFIC_LDFLAGS=""
267  SPECIFIC_CFLAGS=""  SPECIFIC_CFLAGS=""
268    ALTIVEC_CFLAGS=""
269    PRE_SHARED_LIB=""
270  case "$target_os" in  case "$target_os" in
271       *bsd*|linux*|irix*|solaris*)       linux*|solaris*)
272          AC_MSG_RESULT([-Wl,-soname,libxvidcore.so -shared -lc -lm])          AC_MSG_RESULT([ok])
273          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
274          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
275          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"
276          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
277          ;;          ;;
278       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)       *bsd*|irix*)
279          AC_MSG_RESULT([-shared -Wl,--dll,--out-implib,\$@.a])          AC_MSG_RESULT([ok])
280          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
281          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
282            SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
283            SPECIFIC_CFLAGS="-fPIC"
284            ;;
285         [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
286            AC_MSG_RESULT([ok])
287            STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
288            SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
289          SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
290          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
291          ;;          ;;
# Line 284  Line 295 
295          if test x"$macosx_module" = x"no"; then          if test x"$macosx_module" = x"no"; then
296             AC_MSG_RESULT([dylib options])             AC_MSG_RESULT([dylib options])
297             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"             SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
298             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)"
299          else          else
300             AC_MSG_RESULT(["module options])             AC_MSG_RESULT([module options])
301             SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"             PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
302             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)"
303               SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
304          fi          fi
305          ;;          ;;
306       beos)       beos)
307            AC_MSG_RESULT([ok])
308          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
309          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
         AC_MSG_RESULT([-nostart])  
310          SPECIFIC_LDFLAGS="-nostart"          SPECIFIC_LDFLAGS="-nostart"
311          SPECIFIC_CFLAGS="-fPIC"          SPECIFIC_CFLAGS="-fPIC"
312          ;;          ;;
313       *)       *)
314          AC_MSG_RESULT([Unknown OS - -shared -lc -lm])          AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
315          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
316          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"          SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
317          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
# Line 307  Line 319 
319          ;;          ;;
320  esac  esac
321    
322    if test x"$PRE_SHARED_LIB" = x; then
323      PRE_SHARED_LIB=$SHARED_LIB
324    fi
325    
326  dnl ==========================================================================  dnl ==========================================================================
327  dnl  dnl
328  dnl Assembler stuff - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES  dnl Assembler stuff
329    dnl  - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
330  dnl  dnl
331  dnl ==========================================================================  dnl ==========================================================================
332    
# Line 323  Line 340 
340  dnl IA32  dnl IA32
341  dnl  dnl
342    
343  if test "$ARCHITECTURE" = "IA32" ; then  if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
344    
345     dnl     dnl
346     dnl Checking nasm existence     dnl Checking for nasm compatible programs
347     dnl     dnl
    AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])  
    if test "$ac_nasm" = "yes" ; then  
348    
349       found_nasm_comp_prog="no"
350       chosen_asm_prog=""
351    
352       dnl Check for yasm first
353       AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
354       if test "$ac_yasm" = "yes" ; then
355        dnl        dnl
356        dnl Checking nasm patch version         dnl Checking yasm version
357        dnl        dnl
358        AC_MSG_CHECKING([for nasm patch version])         AC_MSG_CHECKING([for yasm version])
359        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`
360        AC_MSG_RESULT([$nasm_patch])         if test -z $yasm_major ; then
361              yasm_major=-1
362           fi
363           AC_MSG_RESULT([$yasm_major])
364    
365        if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then         dnl Actually, yasm >= 0.7.99.2161 should be ok
366          AC_MSG_WARN([nasm patch version too old - Compiling generic sources only])         dnl But I'm too lazy to check also the patch version...
367          ARCHITECTURE="GENERIC"         if test "$yasm_major" -lt "$minimum_yasm_major_version" ; then
368             AC_MSG_WARN([yasm version is too old])
369        else        else
370             found_nasm_comp_prog="yes"
371             chosen_asm_prog="$yasm_prog"
372           fi
373       fi
374    
375       dnl Check for nasm (not buggy version)
376       if test "$found_nasm_comp_prog" = "no" ; then
377           AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
378           if test "$ac_nasm" = "yes" ; then
379           dnl           dnl
380           dnl Checking nasm format - win32 or elf             dnl Checking nasm version
381           dnl           dnl
382           AC_MSG_CHECKING([for nasm object format])             AC_MSG_CHECKING([for nasm version])
383               nasm_minor=`$nasm_prog -v | cut -d '.' -f 2 | cut -d ' ' -f 1`
384               nasm_major=`$nasm_prog -v | cut -d '.' -f 1 | cut -d ' ' -f 3`
385               if test -z $nasm_minor ; then
386                  nasm_minor=-1
387               fi
388               if test -z $nasm_major ; then
389                  nasm_major=-1
390               fi
391               AC_MSG_RESULT([$nasm_major])
392    
393               dnl need nasm 2.x for SSE3/4 and X86_64
394               if test "$nasm_major" -lt "$minimum_nasm_major_version" ; then
395                 AC_MSG_WARN([nasm version is too old])
396               else
397                 found_nasm_comp_prog="yes"
398                   chosen_asm_prog="$nasm_prog"
399               fi
400           fi
401       fi
402    
403       dnl
404       dnl Ok now sort what object format we must use
405       dnl
406       if test "$found_nasm_comp_prog" = "yes" ; then
407           AC_MSG_CHECKING([for asm object format])
408           case "$target_os" in           case "$target_os" in
409                *bsd*|linux*|beos|irix*|solaris*)                *bsd*|linux*|beos|irix*|solaris*)
410                   if test "$ARCHITECTURE" = "X86_64" ; then
411                       AC_MSG_RESULT([elf64])
412                       NASM_FORMAT="elf64"
413                   else
414                    AC_MSG_RESULT([elf])                    AC_MSG_RESULT([elf])
415                    NASM_FORMAT="elf"                    NASM_FORMAT="elf"
416                   fi
417                   MARK_FUNCS="-DMARK_FUNCS"
418                    PREFIX=""                    PREFIX=""
419                    ;;                    ;;
420                [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks)             [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
421                   if test "$ARCHITECTURE" = "X86_64" ; then
422                       AC_MSG_RESULT([win64])
423                       NASM_FORMAT="win64"
424                   else
425                    AC_MSG_RESULT([win32])                    AC_MSG_RESULT([win32])
426                    NASM_FORMAT="win32"                    NASM_FORMAT="win32"
427                   fi
428                   PREFIX="-DWINDOWS"
429                   MARK_FUNCS=""
430                   ;;
431               *darwin*)
432                   if test "$ARCHITECTURE" = "X86_64" ; then
433                       AC_MSG_RESULT([macho64])
434                       NASM_FORMAT="macho64"
435                   else
436                       AC_MSG_RESULT([macho32])
437                       NASM_FORMAT="macho32"
438                   fi
439                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
440                   MARK_FUNCS=""
441                    ;;                    ;;
442            esac            esac
443    
444            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
445            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
446            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
447           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
448           if test "$ARCHITECTURE" = "X86_64" ; then
449                   AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
450         fi         fi
   
451     else     else
452          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
453          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
454     fi     fi
   
455  fi  fi
456    
457  dnl  dnl
458  dnl PPC  dnl PPC
459  dnl  dnl
460    dnl With the PPC platform we do not use assembly language, we better keep with
461    dnl intrinsic altivec functions and types as they are supported by both Apple
462    dnl and GNU gcc with very slight changes to code which can be sumed up by:
463    dnl
464    dnl Apple:
465    dnl  - compile with the option -arch ppc -faltivec
466    dnl  - define vectors with parentheses vec = (0,0,0,0)
467    dnl GNU
468    dnl  - compile with -maltivec -mabi=altivec
469    dnl  - include <altivec.h> before using intrincic
470    dnl  - define vectors with vec = {0,0,0,0}
471    dnl
472    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
473    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
474    dnl   a -DHAVE_ALTIVEC_H
475    dnl * The vector definition is handled in portab.h thx to
476    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
477    dnl
478    PPC_ALTIVEC_SOURCES=""
479  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
480     AS="\$(CC)"     AS="\$(CC)"
481     AFLAGS="-c"     AFLAGS=""
482     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
483     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
484     AC_MSG_CHECKING([for Altivec support])  
485     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
486           .text  cat > conftest.c << EOF
487           vxor 0,0,0  #include <altivec.h>
488    int main() { return(0); }
489  EOF  EOF
490     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 || \
491          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
492          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
493          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
494          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
495     else     else
496          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
497            TEMP_ALTIVEC=""
498     fi     fi
499    
500       AC_MSG_CHECKING([for Altivec compiler support])
501    cat > conftest.c << EOF
502    #ifdef HAVE_ALTIVEC_H
503    #include <altivec.h>
504    #endif
505    
506    int main()
507    {
508      vector unsigned int vartest2 = (vector unsigned int)(0);
509      vector unsigned int vartest3 = (vector unsigned int)(1);
510      vartest2 = vec_add(vartest2, vartest3);
511      return(0);
512    }
513    EOF
514       if $CC $TEMP_ALTIVEC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
515            AC_MSG_RESULT([yes (Apple)])
516            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -arch ppc -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
517            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
518       else
519    cat > conftest.c << EOF
520    #ifdef HAVE_ALTIVEC_H
521    #include <altivec.h>
522    #endif
523    
524    int main()
525    {
526      vector unsigned int vartest2 = (vector unsigned int){0};
527      vector unsigned int vartest3 = (vector unsigned int){1};
528      vartest2 = vec_add(vartest2, vartest3);
529      return(0);
530    }
531    EOF
532       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
533            AC_MSG_RESULT([yes (GNU)])
534            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
535            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
536            ALTIVEC_CFLAGS="-maltivec -mabi=altivec"
537       else
538            AC_MSG_RESULT([no (ppc support won't be compiled in)])
539            dnl Only C code can be compiled :-(
540            ARCHITECTURE="GENERIC"
541       fi
542       fi
543    
544     rm -f conftest.*     rm -f conftest.*
545  fi  fi
546    
# Line 409  Line 556 
556    
557     case `basename $CC` in     case `basename $CC` in
558          *ecc*)          *ecc*)
559                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
560    
561                  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
562                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 418  Line 565 
565                  fi                  fi
566                  ;;                  ;;
567          *)          *)
568                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
569                  ;;                  ;;
570     esac     esac
571    
# Line 433  Line 580 
580  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
581          stdio.h \          stdio.h \
582          signal.h \          signal.h \
583            stdlib.h \
584            string.h \
585            assert.h \
586            math.h \
587          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
588    
589  dnl ==========================================================================  dnl ==========================================================================
590  dnl  dnl
591    dnl Check for pthread
592    dnl
593    dnl ==========================================================================
594    
595    AC_CHECK_HEADER(
596            pthread.h,
597            AC_CHECK_LIB(
598                    pthread,
599                    pthread_create,
600                    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
601                    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
602                    AC_MSG_WARN(Pthread not supported. No SMP support)),
603            AC_MSG_WARN(Pthread not supported. No SMP support))
604    
605    dnl ==========================================================================
606    dnl
607  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
608  dnl  dnl
609  dnl ==========================================================================  dnl ==========================================================================
# Line 447  Line 614 
614    
615  dnl ==========================================================================  dnl ==========================================================================
616  dnl  dnl
617    dnl Profiling stuff goes here
618    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
619    dnl  - removes incompatible options from CFLAGS
620    dnl
621    dnl ==========================================================================
622    
623    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
624    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
625    
626    if test "$enable_gnuprofile" = "yes" ; then
627       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
628    fi
629    
630    dnl ==========================================================================
631    dnl Some gcc flags can't be used for gcc >= 3.4.0
632    dnl ==========================================================================
633    
634    if test "$GCC" = "yes" ; then
635    cat << EOF > test.c
636    #include <stdio.h>
637    int main(int argc, char **argv)
638    {
639            if (*argv[[1]] == 'M') {
640                    printf("%d", __GNUC__);
641            }
642            if (*argv[[1]] == 'm') {
643                    printf("%d", __GNUC_MINOR__);
644            }
645            return 0;
646    }
647    EOF
648            $CC -o gcc-ver test.c
649    
650            GCC_MAJOR=`./gcc-ver M`
651            GCC_MINOR=`./gcc-ver m`
652    
653            rm -f test.c
654            rm -f gcc-ver
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 468  Line 692 
692  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
693  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
694  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
695  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
696  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
 AC_SUBST(DIVX4_DECORE)  
697  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
698    AC_SUBST(AR)
699  AC_SUBST(API_MAJOR)  AC_SUBST(API_MAJOR)
700  AC_SUBST(API_MINOR)  AC_SUBST(API_MINOR)
701  AC_SUBST(STATIC_LIB)  AC_SUBST(STATIC_LIB)
702    AC_SUBST(PRE_SHARED_LIB)
703  AC_SUBST(SHARED_LIB)  AC_SUBST(SHARED_LIB)
704    AC_SUBST(ALTIVEC_CFLAGS)
705    
706  dnl ==========================================================================  dnl ==========================================================================
707  dnl  dnl
# Line 485  Line 710 
710  dnl ==========================================================================  dnl ==========================================================================
711    
712  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
713    
714  AC_OUTPUT  AC_OUTPUT

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

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