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

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

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