[svn] / trunk / xvidcore / build / generic / configure.in Repository:
ViewVC logotype

Diff of /trunk/xvidcore/build/generic/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 851, Sat Feb 15 15:22:19 2003 UTC 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.4.0], [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="4"
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 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 122  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 158  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 192  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 221  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 .lib .obj])          AC_MSG_RESULT([.dll .a .obj])
235          STATIC_EXTENSION="lib"          STATIC_EXTENSION="a"
236          SHARED_EXTENSION="dll"          SHARED_EXTENSION="dll"
237          OBJECT_EXTENSION="obj"          OBJECT_EXTENSION="obj"
238          ;;          ;;
239       darwin*|raphsody*)       darwin*|raphsody*)
240            if test x"$macosx_module" = x"yes"; then
241               AC_MSG_RESULT([.so .a .o])
242               SHARED_EXTENSION="so"
243            else
244          AC_MSG_RESULT([.dynlib .a .o])          AC_MSG_RESULT([.dynlib .a .o])
         STATIC_EXTENSION="a"  
245          SHARED_EXTENSION="dylib"          SHARED_EXTENSION="dylib"
246            fi
247            STATIC_EXTENSION="a"
248          OBJECT_EXTENSION="o"          OBJECT_EXTENSION="o"
249          ;;          ;;
250       *)       *)
# Line 241  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([-shared -lc -lm])          AC_MSG_RESULT([ok])
273          SPECIFIC_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
274            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
275            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          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
281            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"
290          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
291          ;;          ;;
292       darwin*|raphsody*)       darwin*|raphsody*)
293          AC_MSG_RESULT([-dynamiclib -flat_namespace])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
294          SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
295          SPECIFIC_CFLAGS="-fPIC -fno-common"          if test x"$macosx_module" = x"no"; then
296               AC_MSG_RESULT([dylib options])
297               SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
298               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
300               AC_MSG_RESULT([module options])
301               PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
302               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
305          ;;          ;;
306       beos)       beos)
307          AC_MSG_RESULT([-nostart])          AC_MSG_RESULT([ok])
308            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
309            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
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)"
316            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
317          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
318          SPECIFIC_CFLAGS=""          SPECIFIC_CFLAGS=""
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 288  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
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
380               dnl Checking nasm version
381               dnl
382               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        else
397                 found_nasm_comp_prog="yes"
398                   chosen_asm_prog="$nasm_prog"
399               fi
400           fi
401       fi
402    
403           dnl           dnl
404           dnl Checking nasm format - win32 or elf     dnl Ok now sort what object format we must use
405           dnl           dnl
406           AC_MSG_CHECKING([for nasm object format])     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
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     fi
542       fi
543    
544     rm -f conftest.*     rm -f conftest.*
545  fi  fi
546    
# Line 374  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 383  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 398  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 412  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 433  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)
700    AC_SUBST(API_MINOR)
701    AC_SUBST(STATIC_LIB)
702    AC_SUBST(PRE_SHARED_LIB)
703    AC_SUBST(SHARED_LIB)
704    AC_SUBST(ALTIVEC_CFLAGS)
705    
706  dnl ==========================================================================  dnl ==========================================================================
707  dnl  dnl
# Line 446  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.851  
changed lines
  Added in v.1944

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