--- branches/dev-api-4/xvidcore/build/generic/configure.in 2003/05/04 23:58:10 1006 +++ branches/dev-api-4/xvidcore/build/generic/configure.in 2003/10/15 13:55:09 1179 @@ -10,7 +10,7 @@ AC_CONFIG_SRCDIR(configure.in) dnl Do not forget to increase that when needed. -API_MAJOR="3" +API_MAJOR="4" API_MINOR="0" dnl NASM version requirement @@ -19,29 +19,19 @@ dnl Default CFLAGS -- Big impact on overall speed our_cflags_defaults="-Wall" -our_cflags_defaults="$our_cflags_defaults -O2" -our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer" +our_cflags_defaults="$our_cflags_defaults -O1" +our_cflags_defaults="$our_cflags_defaults -fstrength-reduce" +our_cflags_defaults="$our_cflags_defaults -finline-functions" +our_cflags_defaults="$our_cflags_defaults -fgcse" +our_cflags_defaults="$our_cflags_defaults -freduce-all-givs" our_cflags_defaults="$our_cflags_defaults -ffast-math" -our_cflags_defaults="$our_cflags_defaults -funroll-loops" -our_cflags_defaults="$our_cflags_defaults -fschedule-insns" -our_cflags_defaults="$our_cflags_defaults -fschedule-insns2" +our_cfalgs_defaults="$our_cflags_defaults -fomit-frame-pointer" dnl ========================================================================== dnl Features - configure options dnl ========================================================================== 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]) dnl Internal Debug AC_ARG_ENABLE(idebug, @@ -81,15 +71,16 @@ fi], [assembly="yes"]) -dnl Internal Debug -AC_ARG_ENABLE(divx4compat, - AC_HELP_STRING([--enable-divx4compat], - [Enable DivX4 compatibility API]), - [if test "$enable_divx4compat" = "yes" ; then - DIVX4COMPAT_SOURCES="SRC_DIVX4COMPAT" - DIVX4_ENCORE="encore;" - DIVX4_DECORE="decore;" - fi]) +dnl Build as a module not a shared lib on darwin +AC_ARG_ENABLE(macosx_module, + AC_HELP_STRING([--enable-macosx_module], + [Build as a module on MacOS X]), + [if test "$enable_macosx_module" = "yes" ; then + macosx_module="yes" + else + macosx_module="no" + fi], + [macosx_module="no"]) dnl ========================================================================== dnl Default install prefix and checks build type @@ -233,16 +224,21 @@ SHARED_EXTENSION="so" OBJECT_EXTENSION="o" ;; - [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks) + [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*) AC_MSG_RESULT([.dll .a .obj]) STATIC_EXTENSION="a" SHARED_EXTENSION="dll" OBJECT_EXTENSION="obj" ;; darwin*|raphsody*) - AC_MSG_RESULT([.dynlib .a .o]) + if test x"$macosx_module" = x"yes"; then + AC_MSG_RESULT([.so .a .o]) + SHARED_EXTENSION="so" + else + AC_MSG_RESULT([.dynlib .a .o]) + SHARED_EXTENSION="dylib" + fi STATIC_EXTENSION="a" - SHARED_EXTENSION="dylib" OBJECT_EXTENSION="o" ;; *) @@ -263,6 +259,7 @@ AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS) SPECIFIC_LDFLAGS="" SPECIFIC_CFLAGS="" +PRE_SHARED_LIB="" case "$target_os" in *bsd*|linux*|irix*|solaris*) AC_MSG_RESULT([ok]) @@ -271,7 +268,7 @@ SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm" SPECIFIC_CFLAGS="-fPIC" ;; - [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks) + [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*) AC_MSG_RESULT([ok]) STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)" SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)" @@ -279,11 +276,18 @@ SPECIFIC_CFLAGS="-mno-cygwin" ;; darwin*|raphsody*) - AC_MSG_RESULT([ok]) STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)" - SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)" - SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)" SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp" + if test x"$macosx_module" = x"no"; then + AC_MSG_RESULT([dylib options]) + SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)" + SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)" + else + AC_MSG_RESULT([module options]) + PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o" + SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)" + SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress" + fi ;; beos) AC_MSG_RESULT([ok]) @@ -301,6 +305,10 @@ ;; esac +if test x"$PRE_SHARED_LIB" = x; then + PRE_SHARED_LIB=$SHARED_LIB +fi + dnl ========================================================================== dnl dnl Assembler stuff @@ -331,8 +339,12 @@ dnl AC_MSG_CHECKING([for nasm patch version]) nasm_patch=`nasm -r | cut -d '.' -f 3 | cut -d ' ' -f 1` + if test -z $nasm_patch ; then + nasm_patch=-1 + fi AC_MSG_RESULT([$nasm_patch]) + if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then AC_MSG_WARN([nasm patch version too old - Compiling generic sources only]) ARCHITECTURE="GENERIC" @@ -348,7 +360,7 @@ NASM_FORMAT="elf" PREFIX="" ;; - [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]|mingw32|mks) + [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*) AC_MSG_RESULT([win32]) NASM_FORMAT="win32" PREFIX="-DPREFIX" @@ -404,7 +416,7 @@ case `basename $CC` in *ecc*) - DCT_IA64_SOURCES="idct_ia64_ecc.s" + DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC" dnl If the compiler is ecc, then i don't know its options dnl fallback to "no options" @@ -413,7 +425,7 @@ fi ;; *) - DCT_IA64_SOURCES="idct_ia64_gcc.s" + DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC" ;; esac @@ -449,7 +461,7 @@ dnl ========================================================================== SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS" -SPECIFIC_CFLAGS="$SPECIFIC_CFLAG $GNU_PROF_CFLAGS" +SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS" if test "$enable_gnuprofile" = "yes" ; then CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/` @@ -478,14 +490,12 @@ AC_SUBST(CFLAGS) AC_SUBST(SPECIFIC_LDFLAGS) AC_SUBST(SPECIFIC_CFLAGS) -AC_SUBST(DIVX4COMPAT_SOURCES) AC_SUBST(DCT_IA64_SOURCES) -AC_SUBST(DIVX4_ENCORE) -AC_SUBST(DIVX4_DECORE) AC_SUBST(RANLIB) AC_SUBST(API_MAJOR) AC_SUBST(API_MINOR) AC_SUBST(STATIC_LIB) +AC_SUBST(PRE_SHARED_LIB) AC_SUBST(SHARED_LIB) dnl ========================================================================== @@ -495,6 +505,5 @@ dnl ========================================================================== AC_CONFIG_FILES(platform.inc) -AC_CONFIG_FILES(libxvidcore.def) AC_OUTPUT