[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

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

Legend:
Removed from v.900  
changed lines
  Added in v.1878

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