X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=e5e1b018a437c4ae7a89a9dc094890fc7c122b6b;hb=46ff91c65202b418c260fe5f4a8c3b3cd0e6580a;hp=39a9e172956e32e9a02a6aab0f6d7e8e3b2007c6;hpb=c4c30066c641c666bf506495ec868cd084a9e61d;p=vlc diff --git a/configure.ac b/configure.ac index 39a9e17295..e5e1b018a4 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ AC_CONFIG_AUX_DIR(autotools) AC_CANONICAL_BUILD AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall]) +AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) dnl Too many people are not aware of maintainer mode: @@ -76,10 +76,10 @@ AC_ARG_WITH(contrib, if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then if test "${with_contrib}" = "yes"; then AC_MSG_RESULT([no]) - AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) + AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) else AC_MSG_RESULT([no]) - AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host]) + AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host]) fi else if test -d ${topdir}/extras/contrib/lib; then @@ -172,7 +172,6 @@ case "${host_os}" in LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}" VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup]) VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress]) @@ -187,6 +186,9 @@ case "${host_os}" in echo "Building with Mac OS X defaults:" with_macosx_version_min="10.4" echo " Assuming --with-macosx-version-min=10.4" + build_dir=`pwd` + echo " Assuming --prefix=${build_dir}/vlc_install_dir" + ac_default_prefix="${build_dir}/vlc_install_dir" enable_macosx="yes" echo " Assuming --enable-macosx" enable_faad="yes" @@ -356,9 +358,9 @@ dnl for program foo on win32 case "${build_os}" in cygwin|msys) ac_executable_extensions=".exe" - ;; + ;; *) - ;; + ;; esac dnl @@ -470,14 +472,14 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd dnl Check for system libs needed need_libc=false -AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy) - dnl Check for usual libc functions -AC_CHECK_FUNCS(strdup strndup strnlen atof) +AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv]) AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) +AH_BOTTOM([#include ]) + AS_IF([test "${SYS}" = "linux"], [ AC_CHECK_FUNCS(tee) ]) @@ -533,6 +535,7 @@ ac_cv_type_socklen_t, [#include #ifdef WIN32 # include +# include #else # include #endif]], [[socklen_t len; len = 0;]])], @@ -566,7 +569,7 @@ dnl -lnsl and -lsocket are needed on Solaris; dnl we purposedly make the test fail on Windows LIBS_save="${LIBS}" AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) -AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)], 1, [${LIBS_socket}]) +AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro dnl are @@ -715,7 +718,7 @@ if test "${ac_cv_have_plugins}" = "no"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlc],[-ldl]), + VLC_ADD_LIBS([libvlc realaudio],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes VLC_ADD_LIBS([libvlc],[-lsvld])))) @@ -763,23 +766,9 @@ AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ if ${have_nanosleep}; then AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) fi +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for misc headers -AC_MSG_CHECKING(for pthread_cond_t in pthread.h) -AC_EGREP_HEADER(pthread_cond_t,pthread.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1, - Define if defines pthread_cond_t.)],[ - AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for pthread_once in pthread.h) -AC_EGREP_HEADER(pthread_once,pthread.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1, - Define if defines pthread_once.)],[ - AC_MSG_RESULT(no)]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" - AC_MSG_CHECKING(for strncasecmp in strings.h) AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(yes) @@ -790,12 +779,10 @@ 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 locale.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 netinet/in.h sys/socket.h netinet/udplite.h]) +AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ - #if HAVE_SYS_SOCKET_H - # include - #endif + #include ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) @@ -978,15 +965,17 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then fi CFLAGS="${CFLAGS_save}" -RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var]) +RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var]) RDC_PROG_CC_FLAGS_IFELSE([-pipe]) dnl This helps detect broken plugins with undefined symbols dnl Better fail loudly at build-time than silenty at run-time. dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc) -dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ -dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) -dnl ]) +if test `uname -s` != FreeBSD; then + RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ + VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) + ]) +fi dnl Check for various optimization flags AC_CACHE_CHECK([if \$CC accepts -Os], @@ -1126,20 +1115,6 @@ dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) dnl ]) dnl ]) -dnl Check for variadic macros -AC_CACHE_CHECK([for variadic cpp macros], - [ac_cv_cpp_variadic_macros], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE( - [#include - #define a(b,c...) printf(b,##c)], - [a("foo");a("%s","bar");a("%s%s","baz","quux");], - ac_cv_cpp_variadic_macros=yes, - ac_cv_cpp_variadic_macros=no)]) -if test "${ac_cv_cpp_variadic_macros}" != "no"; then - AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros) -fi - dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], [ac_cv_c_attribute_aligned], @@ -1723,10 +1698,10 @@ AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [ [ VLC_ADD_PLUGINS([notify]) VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS]) - VLC_ADD_LIBS(notify, [$NOTIFY_LIBS]) + VLC_ADD_LIBS(notify, [$NOTIFY_LIBS]) ],[ - AS_IF([test "${enable_notify}" = "yes"],[ - AC_MSG_WARN( libnotify not found) ]) + AS_IF([test "${enable_notify}" = "yes"],[ + AC_MSG_WARN( libnotify not found) ]) ]) ]) @@ -1747,9 +1722,9 @@ AC_ARG_ENABLE(musicbrainz, [ --enable-musicbrainz MusicBrainz support (default disabled) ]) AS_IF([test "${enable_musicbrainz}" = "yes"],[ PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz, - [ VLC_ADD_PLUGINS([musicbrainz]) - VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) - VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ], + [ VLC_ADD_PLUGINS([musicbrainz]) + VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) + VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ], [AC_MSG_WARN(MusicBrainz library not found)]) ]) @@ -3719,7 +3694,7 @@ dnl AC_ARG_ENABLE(dirac, [ --enable-dirac experimental dirac codec (default disabled)]) if test "${enable_dirac}" = "yes"; then - PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [ + PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [ VLC_ADD_PLUGINS([dirac]) VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[ @@ -4172,55 +4147,36 @@ AC_ARG_ENABLE(fribidi, [ --enable-fribidi fribidi support (default enabled)]) if test "${enable_freetype}" != "no" then - FREETYPE_PATH="${PATH}" - AC_ARG_WITH(freetype-config-path, - [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)], - [ if test "${with_freetype_config_path}" != "no" - then - FREETYPE_PATH="${with_freetype_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH}) - - if test "${FREETYPE_CONFIG}" != "no" - then - VLC_ADD_PLUGINS([freetype]) - VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`]) - VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([freetype],[-lxml2]) - fi + PKG_CHECK_MODULES(FREETYPE, freetype2,[ + VLC_ADD_PLUGINS([freetype]) + have_freetype=yes + VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}]) + VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LIBS([freetype skins2],[-lxml2]) + fi AC_CHECK_HEADERS(fontconfig/fontconfig.h, - [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG]) + [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) VLC_ADD_LIBS([freetype],[-lfontconfig])]) AC_CHECK_HEADERS(Carbon/Carbon.h, [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) - elif test "${enable_freetype}" = "yes" - then + ],[ + have_freetype=no + AS_IF([ test "${enable_freetype}" = "yes"],[ AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day. + ]) ]) - fi + ]) dnl fribidi support if test "${enable_fribidi}" != "no" then - FRIBIDI_PATH="${PATH}" - AC_ARG_WITH(fribidi-config-path, - [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)], - [ if test "${with_fribidi_config_path}" != "no" - then - FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH}) - - if test "${FRIBIDI_CONFIG}" != "no" - then - VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) - VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) - VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`]) - VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`]) + PKG_CHECK_MODULES(FRIBIDI, fribidi, [ + VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI]) + VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}]) + ]) fi - fi fi dnl @@ -4895,10 +4851,7 @@ if test "${enable_skins2}" = "yes" || skins2_missing_lib="no" dnl freetype - if test "${FREETYPE_CONFIG}" != "no"; then - VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`]) - VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`]) - else + if test "${have_freetype}" != "yes"; then skins2_missing_lib="yes" if test "${enable_skins2}" = "yes"; then AC_MSG_ERROR([Could not find freetype (required for skins2)]) @@ -5181,7 +5134,11 @@ AS_IF([test "${enable_qt4}" != "no" && AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.]) ALIASES="${ALIASES} qvlc" enableqt4=true - VLC_ADD_LIBS([qt4],[$QT4_LIBS]) + if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then + VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11]) + else + VLC_ADD_LIBS([qt4],[$QT4_LIBS]) + fi VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"]) AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) @@ -5534,6 +5491,39 @@ fi AC_ARG_WITH(,[Misc options:]) +dnl +dnl libgcrypt +dnl +AC_ARG_ENABLE(libgcrypt, + [ --enable-libgcrypt libgcrypts support (default enabled)]) + +GCRYPT_PATH="${PATH}" +AC_ARG_WITH(libgcrypt-config-path, +[ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)], + [ if test "${with_libgcrypt_config_path}" != "no" + then + GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}" + fi ]) + +if test "${enable_libgcrypt}" != "no" +then + dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect + dnl it and looks for libgcrypt headers in the wrong place. + if test "${host_cpu}" = "${build_cpu}" + then + AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) + else + AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no") + fi +fi +AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) +AS_IF([test "${have_libgcrypt}" = "yes"],[ + # look for libgcrypt-config + AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH}) + GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags` + GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs` +]) + dnl dnl TLS/SSL dnl @@ -5541,9 +5531,7 @@ AC_ARG_ENABLE(gnutls, [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"]) - - AS_IF([test "${have_gnutls}" = "yes"], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [ VLC_ADD_PLUGINS([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ @@ -5551,9 +5539,10 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_LIBS([gnutls], [-lz]) VLC_ADD_LIBS([gnutls], [${LTLIBINTL}]) ]) - AC_CHECK_LIB([gcrypt], [gcry_control], [ - VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error]) - ], [], [-lgpg-error]) + AS_IF([test "${have_libgcrypt}" = "yes"],[ + VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS}) + ], [-lgpg-error]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ @@ -5562,24 +5551,6 @@ AS_IF([test "${enable_gnutls}" != "no"], [ ]) ]) -dnl -dnl libgcrypt -dnl -AC_ARG_ENABLE(libgcrypt, - [ --enable-libgcrypt libgcrypts support (default enabled)]) -if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no" -then - dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect - dnl it and looks for libgcrypt headers in the wrong place. - if test "${host_cpu}" = "${build_cpu}" - then - AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) - else - AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no") - fi -fi -AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) - dnl dnl update checking system dnl @@ -5591,7 +5562,8 @@ then then AC_MSG_ERROR([libgcrypt is required for update checking system]) fi - VLC_ADD_LIBS([libvlc], [-lgcrypt]) + VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS}) AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi @@ -5668,7 +5640,7 @@ AS_IF([test "${enable_loader}" = "yes"], VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader]) VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread]) VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER]) - VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread]) + VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la]) ]) dnl @@ -6072,7 +6044,12 @@ AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_REVISION) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) -AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure]) +if test "${SYS}" = "cygwin" +then + AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) +else + AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure]) +fi AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])