[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 1941, Thu Jan 6 14:08:06 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 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    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([-shared -lc -lm])          AC_MSG_RESULT([ok])
272          SPECIFIC_LDFLAGS="-shared -lc -lm"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
273            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
274            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          SPECIFIC_LDFLAGS="-shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
280            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"
289          SPECIFIC_CFLAGS="-mno-cygwin"          SPECIFIC_CFLAGS="-mno-cygwin"
290          ;;          ;;
291       darwin*|raphsody*)       darwin*|raphsody*)
292          AC_MSG_RESULT([-dynamiclib -flat_namespace])          STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
293          SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace"          SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
294          SPECIFIC_CFLAGS="-fPIC -fno-common"          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([-nostart])          AC_MSG_RESULT([ok])
307            STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
308            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
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)"
315            SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
316          SPECIFIC_LDFLAGS=""          SPECIFIC_LDFLAGS=""
317          SPECIFIC_CFLAGS=""          SPECIFIC_CFLAGS=""
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 288  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_major=`$yasm_prog --version | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 2`
359        AC_MSG_RESULT([$nasm_patch])         if test -z $yasm_major ; then
360              yasm_major=-1
361           fi
362           AC_MSG_RESULT([$yasm_major])
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_major" -lt "$minimum_yasm_major_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                   if test "$ARCHITECTURE" = "X86_64" ; then
432                       AC_MSG_RESULT([macho64])
433                       NASM_FORMAT="macho64"
434                   else
435                       AC_MSG_RESULT([macho32])
436                       NASM_FORMAT="macho32"
437                   fi
438                    PREFIX="-DPREFIX"                    PREFIX="-DPREFIX"
439                   MARK_FUNCS=""
440                    ;;                    ;;
441            esac            esac
442    
443            AS=nasm         AS="$chosen_asm_prog"
           AFLAGS="-I\$(<D) -f $NASM_FORMAT $PREFIX"  
444            ASSEMBLY_EXTENSION="asm"            ASSEMBLY_EXTENSION="asm"
445            ASSEMBLY_SOURCES="SRC_IA32"         AFLAGS="-I\$(<D)/ -I../../src/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
446           ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
447           if test "$ARCHITECTURE" = "X86_64" ; then
448                   AFLAGS=${AFLAGS}" -DARCH_IS_X86_64"
449         fi         fi
   
450     else     else
451          AC_MSG_WARN([nasm not found - Compiling generic sources only])         AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
452          ARCHITECTURE="GENERIC"          ARCHITECTURE="GENERIC"
453     fi     fi
   
454  fi  fi
455    
456  dnl  dnl
457  dnl PPC  dnl PPC
458  dnl  dnl
459    dnl With the PPC platform we do not use assembly language, we better keep with
460    dnl intrinsic altivec functions and types as they are supported by both Apple
461    dnl and GNU gcc with very slight changes to code which can be sumed up by:
462    dnl
463    dnl Apple:
464    dnl  - compile with the option -arch ppc -faltivec
465    dnl  - define vectors with parentheses vec = (0,0,0,0)
466    dnl GNU
467    dnl  - compile with -maltivec -mabi=altivec
468    dnl  - include <altivec.h> before using intrincic
469    dnl  - define vectors with vec = {0,0,0,0}
470    dnl
471    dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
472    dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
473    dnl   a -DHAVE_ALTIVEC_H
474    dnl * The vector definition is handled in portab.h thx to
475    dnl   HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
476    dnl
477    PPC_ALTIVEC_SOURCES=""
478  if test "$ARCHITECTURE" = "PPC" ; then  if test "$ARCHITECTURE" = "PPC" ; then
479     AS="\$(CC)"     AS="\$(CC)"
480     AFLAGS="-c"     AFLAGS=""
481     ASSEMBLY_EXTENSION="s"     ASSEMBLY_EXTENSION=".s"
482     ASSEMBLY_SOURCES="SRC_PPC"     ASSEMBLY_SOURCES=""
483     AC_MSG_CHECKING([for Altivec support])  
484     cat > conftest.S << EOF     AC_MSG_CHECKING([for altivec.h])
485           .text  cat > conftest.c << EOF
486           vxor 0,0,0  #include <altivec.h>
487    int main() { return(0); }
488  EOF  EOF
489     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 || \
490          $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
491          AC_MSG_RESULT(yes)          AC_MSG_RESULT(yes)
492          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DARCH_IS_PPC_ALTIVEC"          SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
493          ASSEMBLY_SOURCES="SRC_ALTIVEC"          TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
494     else     else
495          AC_MSG_RESULT(no)          AC_MSG_RESULT(no)
496            TEMP_ALTIVEC=""
497       fi
498    
499       AC_MSG_CHECKING([for Altivec compiler support])
500    cat > conftest.c << EOF
501    #ifdef HAVE_ALTIVEC_H
502    #include <altivec.h>
503    #endif
504    
505    int main()
506    {
507      vector unsigned int vartest2 = (vector unsigned int)(0);
508      vector unsigned int vartest3 = (vector unsigned int)(1);
509      vartest2 = vec_add(vartest2, vartest3);
510      return(0);
511    }
512    EOF
513       if $CC $TEMP_ALTIVEC -arch ppc -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
514            AC_MSG_RESULT([yes (Apple)])
515            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -arch ppc -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
516            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
517       else
518    cat > conftest.c << EOF
519    #ifdef HAVE_ALTIVEC_H
520    #include <altivec.h>
521    #endif
522    
523    int main()
524    {
525      vector unsigned int vartest2 = (vector unsigned int){0};
526      vector unsigned int vartest3 = (vector unsigned int){1};
527      vartest2 = vec_add(vartest2, vartest3);
528      return(0);
529    }
530    EOF
531       if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
532            AC_MSG_RESULT([yes (GNU)])
533            SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
534            PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
535            ALTIVEC_CFLAGS="-maltivec -mabi=altivec"
536       else
537            AC_MSG_RESULT([no (ppc support won't be compiled in)])
538            dnl Only C code can be compiled :-(
539            ARCHITECTURE="GENERIC"
540     fi     fi
541       fi
542    
543     rm -f conftest.*     rm -f conftest.*
544  fi  fi
545    
# Line 374  Line 555 
555    
556     case `basename $CC` in     case `basename $CC` in
557          *ecc*)          *ecc*)
558                  DCT_IA64_SOURCES="idct_ia64_ecc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
559    
560                  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
561                  dnl fallback to "no options"                  dnl fallback to "no options"
# Line 383  Line 564 
564                  fi                  fi
565                  ;;                  ;;
566          *)          *)
567                  DCT_IA64_SOURCES="idct_ia64_gcc.s"                  DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
568                  ;;                  ;;
569     esac     esac
570    
# Line 398  Line 579 
579  AC_CHECK_HEADERS(  AC_CHECK_HEADERS(
580          stdio.h \          stdio.h \
581          signal.h \          signal.h \
582            stdlib.h \
583            string.h \
584            assert.h \
585            math.h \
586          , , AC_MSG_ERROR(Missing header file))          , , AC_MSG_ERROR(Missing header file))
587    
588  dnl ==========================================================================  dnl ==========================================================================
589  dnl  dnl
590    dnl Check for pthread
591    dnl
592    dnl ==========================================================================
593    
594    AC_CHECK_HEADER(
595            pthread.h,
596            AC_CHECK_LIB(
597                    pthread,
598                    pthread_create,
599                    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
600                    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
601                    AC_MSG_WARN(Pthread not supported. No SMP support)),
602            AC_MSG_WARN(Pthread not supported. No SMP support))
603    
604    dnl ==========================================================================
605    dnl
606  dnl Now we can set CFLAGS if needed  dnl Now we can set CFLAGS if needed
607  dnl  dnl
608  dnl ==========================================================================  dnl ==========================================================================
# Line 412  Line 613 
613    
614  dnl ==========================================================================  dnl ==========================================================================
615  dnl  dnl
616    dnl Profiling stuff goes here
617    dnl  - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
618    dnl  - removes incompatible options from CFLAGS
619    dnl
620    dnl ==========================================================================
621    
622    SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
623    SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
624    
625    if test "$enable_gnuprofile" = "yes" ; then
626       CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
627    fi
628    
629    dnl ==========================================================================
630    dnl Some gcc flags can't be used for gcc >= 3.4.0
631    dnl ==========================================================================
632    
633    if test "$GCC" = "yes" ; then
634    cat << EOF > test.c
635    #include <stdio.h>
636    int main(int argc, char **argv)
637    {
638            if (*argv[[1]] == 'M') {
639                    printf("%d", __GNUC__);
640            }
641            if (*argv[[1]] == 'm') {
642                    printf("%d", __GNUC_MINOR__);
643            }
644            return 0;
645    }
646    EOF
647            $CC -o gcc-ver test.c
648    
649            GCC_MAJOR=`./gcc-ver M`
650            GCC_MINOR=`./gcc-ver m`
651    
652            rm -f test.c
653            rm -f gcc-ver
654    
655            # GCC 4.x
656            if test "${GCC_MAJOR}" -gt 3 ; then
657                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
658                    CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
659                    CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
660                    CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
661                    CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
662            fi
663    
664            # GCC 3.4.x
665            if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
666                    CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
667            fi
668    fi
669    
670    
671    dnl ==========================================================================
672    dnl
673  dnl Substitions  dnl Substitions
674  dnl  dnl
675  dnl ==========================================================================  dnl ==========================================================================
# Line 433  Line 691 
691  AC_SUBST(CFLAGS)  AC_SUBST(CFLAGS)
692  AC_SUBST(SPECIFIC_LDFLAGS)  AC_SUBST(SPECIFIC_LDFLAGS)
693  AC_SUBST(SPECIFIC_CFLAGS)  AC_SUBST(SPECIFIC_CFLAGS)
 AC_SUBST(DIVX4COMPAT_SOURCES)  
694  AC_SUBST(DCT_IA64_SOURCES)  AC_SUBST(DCT_IA64_SOURCES)
695  AC_SUBST(DIVX4_ENCORE)  AC_SUBST(PPC_ALTIVEC_SOURCES)
 AC_SUBST(DIVX4_DECORE)  
696  AC_SUBST(RANLIB)  AC_SUBST(RANLIB)
697    AC_SUBST(API_MAJOR)
698    AC_SUBST(API_MINOR)
699    AC_SUBST(STATIC_LIB)
700    AC_SUBST(PRE_SHARED_LIB)
701    AC_SUBST(SHARED_LIB)
702    AC_SUBST(ALTIVEC_CFLAGS)
703    
704  dnl ==========================================================================  dnl ==========================================================================
705  dnl  dnl
# Line 446  Line 708 
708  dnl ==========================================================================  dnl ==========================================================================
709    
710  AC_CONFIG_FILES(platform.inc)  AC_CONFIG_FILES(platform.inc)
 AC_CONFIG_FILES(libxvidcore.def)  
711    
712  AC_OUTPUT  AC_OUTPUT

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

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