X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=c4d6a11c862a8a2f61fae61bb2faf7d35cfb2bbc;hb=75688a7cdec7fc9e016844f3c794ee052971a58d;hp=1ee7ae9f89239adb2cb681d79cd3f06e4ccc8cf9;hpb=c73acb67df36d808be777342013042a1a94ae0c7;p=vlc diff --git a/configure.ac b/configure.ac index 1ee7ae9f89..c4d6a11c86 100644 --- a/configure.ac +++ b/configure.ac @@ -184,6 +184,7 @@ case "${host_os}" in VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) + VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup]) ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) @@ -212,7 +213,7 @@ case "${host_os}" in CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm]) - VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl],[-lws2_32]) + VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl flac],[-lws2_32]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -300,7 +301,7 @@ fi dnl dnl Gettext stuff dnl -ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my nb ne nl nn no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW" +ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ @@ -766,7 +767,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ 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) @@ -1011,6 +1012,27 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then 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], @@ -1089,7 +1111,7 @@ if test "${ac_cv_c_attribute_format}" != "no"; then 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 @@ -1099,6 +1121,16 @@ if test "${ac_cv_c_attribute_packed}" != "no"; then 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 @@ -1126,8 +1158,8 @@ dnl default modules 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]) @@ -1457,8 +1489,8 @@ then VLC_ADD_PLUGINS([packetizer_copy]) VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp]) - VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel]) -# VLC_ADD_PLUGINS([stream_out_transrate]) + VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel]) +# VLC_ADD_PLUGINS([stream_out_gather stream_out_transrate]) # VLC_ADD_PLUGINS([rtcp]) VLC_ADD_PLUGINS([profile_parser]) @@ -1598,7 +1630,7 @@ if test "${enable_live555}" != "no"; then AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.) with_live555_tree="${with_livedotcom_tree}" fi - + if test -z "${with_live555_tree}" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) CPPFLAGS_save="${CPPFLAGS}" @@ -2358,7 +2390,7 @@ if test "${enable_screen}" != "no"; then 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}" @@ -2376,6 +2408,11 @@ AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ AS_IF([test "${have_ipv6}" = "yes"], [ AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) + +AC_CHECK_FUNCS(inet_ntop,[ + AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])]) + + dnl dnl ogg demux plugin dnl @@ -3091,10 +3128,14 @@ AC_CHECK_HEADERS(sysfs/libsysfs.h, [ 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 @@ -3607,9 +3648,14 @@ if test "${enable_x11}" != "no" && 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 @@ -3785,6 +3831,8 @@ dnl SDL module 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}" @@ -3838,21 +3886,23 @@ then 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, , - 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, , + 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 @@ -4542,7 +4592,7 @@ dnl 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 @@ -5268,7 +5318,7 @@ 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, @@ -5334,13 +5384,19 @@ then # include #endif ]) - if test "${MOZILLA_CONFIG_HEADERS}" = "0"; then + if test "${MOZILLA_REQUIRED_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 test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h" + elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h" + else + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h" + fi 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 @@ -5600,8 +5656,11 @@ dnl Pic and shared libvlc stuff 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}"