dnl Check for headers
AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
-AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
+AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
AC_CHECK_HEADERS(linux/version.h)
VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
fi
+dnl Check for -fvisibility=hidden
+AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
+ [ac_cv_c_visibility_hidden],
+ [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
+ AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
+if test "${ac_cv_c_visibility_hidden}" != "no"; then
+ VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
+fi
+
+dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
+dnl AC_LANG_PUSH(C++)
+dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
+dnl [ac_cv_c_visibility_inlines_hidden],
+dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
+dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
+dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
+dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
+dnl fi
+dnl CXXFLAGS="${CXXFLAGS_save}"
+dnl AC_LANG_POP(C++)
+
dnl Check for -mdynamic-no-pic
AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
[ac_cv_c_dynamic_no_pic],
AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
fi
-dnl Check for __attribute__(())
+dnl Check for __attribute__((packed))
AC_CACHE_CHECK([for __attribute__((packed))],
[ac_cv_c_attribute_packed],
[ac_cv_c_attribute_packed=no
AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
fi
+dnl Check for __attribute__((visibility()))
+AC_CACHE_CHECK([for __attribute__((visibility()))],
+ [ac_cv_c_attribute_visibility],
+ [ac_cv_c_attribute_visibility=no
+ AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
+ [ac_cv_c_attribute_visibility=yes])])
+if test "${ac_cv_c_attribute_visibility}" != "no"; then
+ AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
+fi
+
dnl
dnl Check the CPU
dnl
dnl
VLC_ADD_PLUGINS([dummy logger memcpy])
VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
-VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
-VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract])
+VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen])
VLC_ADD_PLUGINS([converter_fixed mono])
VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
dnl
dnl x86 accelerations
dnl
-if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64"
+if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}"="i486" -o "${host_cpu}" = "x86_64"
then
ARCH="${ARCH} mmx"
VLC_ADD_BUILTINS([${ACCEL_MODULES}])
CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
AC_CHECK_HEADERS(X11/Xlib.h, [
VLC_ADD_PLUGINS([screen])
- VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+ VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
])
CPPFLAGS="${CPPFLAGS_save}"
AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
VLC_ADD_BUILTINS([twolame])
VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
- VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
+ VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame -DLIBTWOLAME_STATIC])
else
dnl The given libtwolame wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
fi
else
- CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
+ CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
AC_CHECK_HEADERS(twolame.h, ,
[ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
AC_CHECK_LIB(twolame, twolame_init, [
VLC_ADD_PLUGINS([twolame])
+ VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
[ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
LDFLAGS="${LDFLAGS_save}"
dnl
dnl skins2 module
dnl
-AC_CHECK_HEADERS(libtar.h, [
- VLC_ADD_LDFLAGS([skins2],[-ltar])
-] )
+AC_ARG_ENABLE(libtar,
+ [ --enable libtar support for skins2 (default enabled)])
+AS_IF([test "${enable_libtar}" != "no"],[
+ AC_CHECK_HEADERS(libtar.h, [
+ VLC_ADD_LDFLAGS([skins2],[-ltar])
+ ] )
+])
dnl
test "${enable_x11}" = "yes"); then
CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
AC_CHECK_HEADERS(X11/Xlib.h, [
- VLC_ADD_PLUGINS([x11 panoramix])
- VLC_ADD_LDFLAGS([x11 panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
- VLC_ADD_CPPFLAGS([x11 panoramix],[${X_CFLAGS}])
+ VLC_ADD_PLUGINS([panoramix])
+ VLC_ADD_LDFLAGS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+ VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
+ AC_CHECK_LIB(Xext, XShmAttach, [
+ VLC_ADD_PLUGINS([x11])
+ VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
+ VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
+ ])
])
CPPFLAGS="${CPPFLAGS_save}"
fi
dnl
AC_ARG_ENABLE(sdl,
[ --enable-sdl SDL support (default enabled)])
+AC_ARG_ENABLE(sdl-image,
+ [ --enable-sdl-image SDL image support (default enabled)])
if test "${enable_sdl}" != "no"
then
SDL_PATH="${PATH}"
Please install it and try again. Alternatively you can also configure with
--disable-sdl.])
])])
- AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
- <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
- VLC_ADD_PLUGINS([sdl_image])
- AC_CHECK_LIB(png, png_set_rows,
- [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
- AC_CHECK_LIB(jpeg, jpeg_start_decompress,
- [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
- AC_CHECK_LIB(tiff, TIFFClientOpen,
- [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
- VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
- [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
- As a last resort we also test for SDL_image.h presence),
- [ AC_MSG_WARN([The development package for SDL_image is not installed.
-You should install it alongside your SDL package.])
- ])])
+ AS_IF([ test "${enable_sdl_image}" != "no"],[
+ AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
+ <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
+ VLC_ADD_PLUGINS([sdl_image])
+ AC_CHECK_LIB(png, png_set_rows,
+ [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
+ AC_CHECK_LIB(jpeg, jpeg_start_decompress,
+ [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
+ AC_CHECK_LIB(tiff, TIFFClientOpen,
+ [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
+ VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
+ [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
+ As a last resort we also test for SDL_image.h presence),
+ [ AC_MSG_WARN([The development package for SDL_image is not installed.
+ You should install it alongside your SDL package.])
+ ])])
+ ])
CPPFLAGS="${CPPFLAGS_save}"
if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
then
dnl Skins2 module
dnl
AC_ARG_ENABLE(skins2,
- [ --enable-skins2 Skins2 interface module (experimental)])
+ [ --enable-skins2 Skins2 interface module (default disabled)])
if test "${enable_skins2}" = "yes" ||
(test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(ole2.h,
[AC_CHECK_HEADERS(olectl.h,
- [ VLC_ADD_CPPFLAGS([activex],[-D_MIDL_USE_GUIDDEF_])
+ [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
AC_CHECK_HEADERS(objsafe.h,
dnl
mozilla=false
AC_ARG_ENABLE(mozilla,
- [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
+ [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
AC_ARG_WITH(mozilla-sdk-path,
[ --with-mozilla-sdk-path=PATH path to mozilla sdk])
AC_LANG_PUSH(C++)
then
dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
need_xpcom_libs=false
+
if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
then
- AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
- if test "${MOZILLA_CONFIG}" = "no"
- then
- AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
- if test "${SEAMONKEY_CONFIG}" = "no"
- then
- AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
- if test "${XULRUNNER_CONFIG}" = "no"
+ dnl New firefox-1.5 SDK api
+ PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
+ [
+ PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
+ [],
+ [
+ PKG_CHECK_MODULES([NSPR], [nspr],
+ [],
+ [
+ AC_MSG_ERROR([Please install the nspr development tools.])
+ ]
+ )
+ ]
+ )
+ CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
+ MOZILLA_REQUIRED_HEADERS=1
+ AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
+ AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
+ AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
+ [#if HAVE_NPAPI_H
+ # include <npapi.h>
+ #endif
+ ])
+ if test "${MOZILLA_CONFIG_HEADERS}" = "0"; then
+ AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
+ fi
+ MOZILLA_REQUIRED_HEADERS=
+ mozilla=:
+ firefox_include=`pkg-config --variable=includedir firefox-plugin`
+ MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
+ if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
+ VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
+ fi
+ VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
+ VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}])
+ VLC_ADD_PLUGINS([mozilla])
+ MOZILLA_CONFIG=
+ CPPFLAGS="${CPPFLAGS_save}"
+ ],
+ [
+ AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
+ if test "${MOZILLA_CONFIG}" = "no"
then
- AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
- else
- have_xul=true
- MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
+ AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
+ if test "${SEAMONKEY_CONFIG}" = "no"
+ then
+ AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
+ if test "${XULRUNNER_CONFIG}" = "no"
+ then
+ AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
+ else
+ have_xul=true
+ MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
+ fi
+ else
+ MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
+ fi
fi
- else
- MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
+ ]
+ )
+ if test ! -z "${MOZILLA_CONFIG}"
+ then
+ if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
+ LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
+ AC_CHECK_LIB(Xt,XtStrings,
+ [
+ VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
+ VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
+ ],
+ [],
+ [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
+ ])
+ LDFLAGS="${LDFLAGS_save}"
fi
- fi
-
- if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
- LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
- AC_CHECK_LIB(Xt,XtStrings,
- [
- VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
- VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
- ],
- [],
- [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
- ])
- LDFLAGS="${LDFLAGS_save}"
- fi
mozilla=:
PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
MOZILLA_REQUIRED_HEADERS=
CPPFLAGS="${CPPFLAGS_save}"
MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
+ fi
dnl End of moz_sdk = ""
else
dnl special case for mingw32
if ${need_xpcom_libs}; then
VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
if test "${SYS}" = "mingw32"; then
- dnl latest gecko sdk does not have embedstring
- if test -d "${real_mozilla_sdk}/embedstring/bin"
- then
- VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
- fi
- fi
+ dnl latest gecko sdk does not have embedstring
+ if test -d "${real_mozilla_sdk}/embedstring/bin"
+ then
+ VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
+ fi
+ fi
fi
MOZILLA_SDK_PATH="${real_mozilla_sdk}"
-
+
if test -n "${CYGPATH}"; then
real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
fi
dnl
AS_IF([test "${SYS}" = "mingw32" || test "${enable_libtool}" != "no"], [
AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
- FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
VLC_ADD_PLUGINS([${BUILTINS}])
+ AS_IF([test "${SYS}" = "mingw32"], [
+ FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
+ VLC_ADD_CPPFLAGS([libvlc],[-DDLL_EXPORT])
+ ])
BUILTINS=""
], [
LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}"
dnl Stuff used by the program
dnl
AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])