diff options
Diffstat (limited to 'acinclude.m4.mine')
-rw-r--r-- | acinclude.m4.mine | 475 |
1 files changed, 475 insertions, 0 deletions
diff --git a/acinclude.m4.mine b/acinclude.m4.mine new file mode 100644 index 0000000..0fc8b65 --- /dev/null +++ b/acinclude.m4.mine @@ -0,0 +1,475 @@ +########################################################################################################## +dnl Usage: +dnl AM_PATH_FFMPEG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for ffmpeg, and define FFMPEG_CFLAGS and FFMPEG_LIBS + +AC_DEFUN([AM_PATH_FFMPEG], +[ + AC_REQUIRE([AC_FUNC_LRINTF]) + + dnl !!! - it really sucks - Makefile.am can't be optimized even by + dnl !!! preparing some extra variable forward + dnl !!! FFAVFORMAT_SRC= + + AC_REQUIRE([AC_CHECK_OSS]) + test x$enable_oss = xyes && AC_DEFINE(CONFIG_AUDIO_OSS, 1, [Define if you want to have ffmpeg OSS audio support compiled.]) + + AC_REQUIRE([AC_CHECK_V4L]) + test x$enable_v4l = xyes && AC_DEFINE(CONFIG_VIDEO4LINUX, 1, [Define if you have video4linux device. (ffmpeg)]) + + AC_REQUIRE([AC_FIND_ZLIB]) + test x$have_zlib = xyes && AC_DEFINE(CONFIG_ZLIB, 1, [Define if you have z library (-lz) (ffmpeg)]) + + AC_ARG_ENABLE(ffmpeg_faadbin, [ --enable-ffmpeg-faadbin build ffmpeg with FAAD binary support. (default=yes)], + [], enable_ffmpeg_faadbin=yes) + test x$enable_ffmpeg_faadbin = xyes && AC_DEFINE(CONFIG_FAADBIN, 1, [Define if you want to build support for runtime linked libfaad.]) + AC_REQUIRE([AM_PATH_FAAD]) + test x$have_faad = xyes && AC_DEFINE(CONFIG_FAAD, 1, [Define if you want to have AAC support compiled. (ffmpeg)]) + + AC_ARG_ENABLE(ffmpeg_risky, [ --enable-ffmpeg-risky build ffmpeg risky code. (default=yes)], + [], enable_ffmpeg_risky=yes) + + AC_ARG_ENABLE(ffmpeg_a52, [ --enable-ffmpeg-a52 build ffmpeg with A52 (AC3) support. (default=yes)], + [], enable_ffmpeg_a52=yes) + if test x$enable_ffmpeg_a52 = xyes ; then + AC_DEFINE(HAVE_FFMPEG_A52, 1, [Define if you want to use ffmpeg A52 audio decoder.]) + AC_ARG_ENABLE(ffmpeg_a52bin, [ --enable-ffmpeg-a52bin A52 plugin dlopens liba52.so.0 at runtime (default=no)], + [], enable_ffmpeg_a52bin=no) + + if test x$enable_ffmpeg_a52bin = xyes ; then + AC_DEFINE(CONFIG_A52BIN, 1, [Define if you want to build ffmpeg with A52 dlopened decoder.]) + fi + fi + + test x$enable_ffmpeg_risky = xyes && AC_DEFINE(CONFIG_RISKY, 1, [Define if you want to compile patent encumbered codecs. (ffmpeg)]) + + AC_DEFINE(CONFIG_ENCODERS, 1, [Define if you want to build ffmpeg encoders.]) + AC_DEFINE(CONFIG_DECODERS, 1, [Define if you want to build ffmpeg decoders.]) + AC_DEFINE(CONFIG_AC3, 1, [Define if you want to build ffmpeg with AC3 decoder.]) + AC_DEFINE(SIMPLE_IDCT, 1, [Define if you want to build ffmpeg with simples idct.]) + AC_DEFINE(CONFIG_NETWORK, 1, [Define if you want to build ffmpeg with network support.]) + AC_DEFINE(CONFIG_MPEGAUDIO_HP, 1, [Define if you want to have highquality ffmpeg mpeg audio support compiled.]) + AC_DEFINE(HAVE_PTHREADS, 1, [Define if you want to have ffmpeg pthread support compiled.]) + + if test -n "$ffmpeg_profiling" ; then + AC_DEFINE(HAVE_GPROF, 1, [Define if you want to build ffmpeg with gprof support.]) + fi + + test -z "$FFMPEG_CFLAGS" && FFMPEG_CFLAGS="-O4 $DEFAULT_FLAGS" + FFMPEG_CFLAGS="$FFMPEG_CFLAGS $DEFAULT_DEFINES" + + AC_CHECK_GNU_VECTOR(FFMPEG_SSE="-msse"; + AC_DEFINE(HAVE_BUILTIN_VECTOR, 1, [Define if your compiler supports vector builtins (MMX).]), []) + AC_SUBST(FFMPEG_CFLAGS) + AC_SUBST(FFMPEG_SSE) + + AM_CONDITIONAL(AMM_BUILD_STRPTIME, test x$ac_cv_func_strptime != xyes ) + +dnl ffmpeg_x86opt= +dnl test x$enable_x86opt = xno && ffmpeg_x86opt="--disable-mmx" +dnl AC_MSG_RESULT([=== configuring ffmpeg ===]) +dnl ( cd $srcdir/ffmpeg ; \ +dnl ./configure --prefix=$prefix --cc=$CC \ +dnl $ffmpeg_profiling $ffmpeg_cpu \ +dnl $ffmpeg_x86opt --disable-mp3lib \ +dnl --enable-simple_idct ) +]) + + +########################################################################################################## +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN([AM_PATH_SDL], +[dnl +dnl Get the cflags and libraries from the sdl-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + AC_REQUIRE([AC_CANONICAL_TARGET]) + PATH="$prefix/bin:$prefix/usr/bin:$PATH" + AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) + min_sdl_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include <stdio.h> +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) + + +###############################################################################################################333 +# Check for Qt compiler flags, linker flags, and binary packages +AC_DEFUN([gw_CHECK_QT], +[ +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PATH_X]) + +AC_MSG_CHECKING([QTDIR]) +AC_ARG_WITH([qtdir], [ --with-qtdir=DIR Qt installation directory [default=$QTDIR]], QTDIR=$withval) +# Check that QTDIR is defined or that --with-qtdir given +if test x"$QTDIR" = x ; then + QT_SEARCH="/usr/lib/qt31 /usr/local/qt31 /usr/lib/qt3 /usr/local/qt3 /usr/lib/qt2 /usr/local/qt2 /usr/lib/qt /usr/local/qt" + for i in $QT_SEARCH; do + if test -f $i/include/qglobal.h -a x$QTDIR = x; then QTDIR=$i; fi + done +fi +if test x"$QTDIR" = x ; then + AC_MSG_ERROR([*** QTDIR must be defined, or --with-qtdir option given]) +fi +AC_MSG_RESULT([$QTDIR]) + +# Change backslashes in QTDIR to forward slashes to prevent escaping +# problems later on in the build process, mainly for Cygwin build +# environment using MSVC as the compiler +# TODO: Use sed instead of perl +QTDIR=`echo $QTDIR | perl -p -e 's/\\\\/\\//g'` + +# Figure out which version of Qt we are using +AC_MSG_CHECKING([Qt version]) +QT_VER=`grep 'define.*QT_VERSION_STR\W' $QTDIR/include/qglobal.h | perl -p -e 's/\D//g'` +case "${QT_VER}" in + 2*) + QT_MAJOR="2" + ;; + 3*) + QT_MAJOR="3" + ;; + *) + AC_MSG_ERROR([*** Don't know how to handle this Qt major version]) + ;; +esac +AC_MSG_RESULT([$QT_VER ($QT_MAJOR)]) + +# Check that moc is in path +AC_CHECK_PROG(MOC, moc, moc) +if test x$MOC = x ; then + AC_MSG_ERROR([*** moc must be in path]) +fi + +# uic is the Qt user interface compiler +AC_CHECK_PROG(UIC, uic, uic) +if test x$UIC = x ; then + AC_MSG_ERROR([*** uic must be in path]) +fi + +# qembed is the Qt data embedding utility. +# It is located in $QTDIR/tools/qembed, and must be compiled and installed +# manually, we'll let it slide if it isn't present +AC_CHECK_PROG(QEMBED, qembed, qembed) + + +# Calculate Qt include path +QT_CXXFLAGS="-I$QTDIR/include" + +QT_IS_EMBEDDED="no" +# On unix, figure out if we're doing a static or dynamic link +case "${host}" in + *-cygwin) + AC_DEFINE_UNQUOTED(WIN32, "", Defined if on Win32 platform) + if test -f "$QTDIR/lib/qt.lib" ; then + QT_LIB="qt.lib" + QT_IS_STATIC="yes" + QT_IS_MT="no" + elif test -f "$QTDIR/lib/qt-mt.lib" ; then + QT_LIB="qt-mt.lib" + QT_IS_STATIC="yes" + QT_IS_MT="yes" + elif test -f "$QTDIR/lib/qt$QT_VER.lib" ; then + QT_LIB="qt$QT_VER.lib" + QT_IS_STATIC="no" + QT_IS_MT="no" + elif test -f "$QTDIR/lib/qt-mt$QT_VER.lib" ; then + QT_LIB="qt-mt$QT_VER.lib" + QT_IS_STATIC="no" + QT_IS_MT="yes" + fi + ;; + + *) + QT_IS_STATIC=`ls $QTDIR/lib/*.a 2> /dev/null` + if test "x$QT_IS_STATIC" = x; then + QT_IS_STATIC="no" + else + QT_IS_STATIC="yes" + fi + if test x$QT_IS_STATIC = xno ; then + QT_IS_DYNAMIC=`ls $QTDIR/lib/*.so 2> /dev/null` + if test "x$QT_IS_DYNAMIC" = x; then + AC_MSG_ERROR([*** Couldn't find any Qt libraries]) + fi + fi + + if test "x`ls $QTDIR/lib/libqt.* 2> /dev/null`" != x ; then + QT_LIB="-lqt" + QT_IS_MT="no" + elif test "x`ls $QTDIR/lib/libqt-mt.* 2> /dev/null`" != x ; then + QT_LIB="-lqt-mt" + QT_IS_MT="yes" + elif test "x`ls $QTDIR/lib/libqte.* 2> /dev/null`" != x ; then + QT_LIB="-lqte" + QT_IS_MT="no" + QT_IS_EMBEDDED="yes" + elif test "x`ls $QTDIR/lib/libqte-mt.* 2> /dev/null`" != x ; then + QT_LIB="-lqte-mt" + QT_IS_MT="yes" + QT_IS_EMBEDDED="yes" + fi + ;; +esac +AC_MSG_CHECKING([if Qt is static]) +AC_MSG_RESULT([$QT_IS_STATIC]) +AC_MSG_CHECKING([if Qt is multithreaded]) +AC_MSG_RESULT([$QT_IS_MT]) +AC_MSG_CHECKING([if Qt is embedded]) +AC_MSG_RESULT([$QT_IS_EMBEDDED]) + +QT_GUILINK="" +QASSISTANTCLIENT_LDADD="-lqassistantclient" +case "${host}" in + *irix*) + QT_LIBS="$QT_LIB" + if test $QT_IS_STATIC = yes ; then + QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE" + fi + ;; + + *linux*) + QT_LIBS="$QT_LIB" + if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then + QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg" + fi + ;; + + + *osf*) + # Digital Unix (aka DGUX aka Tru64) + QT_LIBS="$QT_LIB" + if test $QT_IS_STATIC = yes ; then + QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE" + fi + ;; + + *solaris*) + QT_LIBS="$QT_LIB" + if test $QT_IS_STATIC = yes ; then + QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl" + fi + ;; + + + *win*) + # linker flag to suppress console when linking a GUI app on Win32 + QT_GUILINK="/subsystem:windows" + + if test $QT_MAJOR = "3" ; then + if test $QT_IS_MT = yes ; then + QT_LIBS="/nodefaultlib:libcmt" + else + QT_LIBS="/nodefaultlib:libc" + fi + fi + + if test $QT_IS_STATIC = yes ; then + QT_LIBS="$QT_LIBS $QT_LIB kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib" + if test $QT_MAJOR = "3" ; then + QT_LIBS="$QT_LIBS qtmain.lib" + fi + else + QT_LIBS="$QT_LIBS $QT_LIB" + if test $QT_MAJOR = "3" ; then + QT_CXXFLAGS="$QT_CXXFLAGS -DQT_DLL" + QT_LIBS="$QT_LIBS qtmain.lib qui.lib user32.lib netapi32.lib" + fi + fi + QASSISTANTCLIENT_LDADD="qassistantclient.lib" + ;; + +esac + + +if test x"$QT_IS_EMBEDDED" = "xyes" ; then + QT_CXXFLAGS="-DQWS $QT_CXXFLAGS" +fi + +if test x"$QT_IS_MT" = "xyes" ; then + QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT" +fi + +QT_LDADD="-L$QTDIR/lib $QT_LIBS" + +if test x$QT_IS_STATIC = xyes ; then + OLDLIBS="$LIBS" + LIBS="$QT_LDADD" + AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft") + LIBS="$LIBS" +fi + +AC_MSG_CHECKING([QT_CXXFLAGS]) +AC_MSG_RESULT([$QT_CXXFLAGS]) +AC_MSG_CHECKING([QT_LDADD]) +AC_MSG_RESULT([$QT_LDADD]) + +AC_SUBST(QT_CXXFLAGS) +AC_SUBST(QT_LDADD) +AC_SUBST(QT_GUILINK) +AC_SUBST(QASSISTANTCLIENT_LDADD) + +]) + |