From f7a99e90470526bb28cc0c225f96490110094aed Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Jan 2006 17:51:06 +0000 Subject: Merge Pierre's changes git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@445 fefdeb5f-60dc-0310-8127-8f9354f1896f --- configure.ac | 344 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 247 insertions(+), 97 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 12541345..e5e03d04 100644 --- a/configure.ac +++ b/configure.ac @@ -35,18 +35,60 @@ if type -p stow > /dev/null && test -d /usr/local/stow ; then ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" fi -# Checks for programs. +#### Checks for programs. #### + +# CC + AC_PROG_CC +AC_PROG_GCC_TRADITIONAL + +# If using GCC specify some additional parameters +if test "x$GCC" = "xyes" ; then + CFLAGS="$CFLAGS -pipe -W -Wall -pedantic" + + AC_LANG_CONFTEST([int main() {}]) + $CC -c conftest.c -std=gnu9x -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -std=gnu9x -Wno-unused-parameter" + rm -f conftest.o +fi + +# M4 + +AC_PATH_PROG([M4], [m4 gm4], [no]) +if test "x$M4" = xno ; then + AC_MSG_ERROR([m4 missing]) +fi + +# LYNX documentation generation +AC_ARG_ENABLE(lynx, + AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), +[case "${enableval}" in + yes) lynx=yes ;; + no) lynx=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; +esac],[lynx=yes]) + +if test x$lynx = xyes ; then + AC_CHECK_PROG(have_lynx, lynx, yes, no) + + if test x$have_lynx = xno ; then + AC_MSG_WARN([*** lynx not found, plain text README will not be built ***]) + fi +fi -# libtool stuff +AM_CONDITIONAL([USE_LYNX], [test "x$have_lynx" = xyes]) + +#### libtool stuff #### + +AC_LTDL_ENABLE_INSTALL AC_LIBLTDL_INSTALLABLE AC_SUBST(LTDLINCL) AC_SUBST(LIBLTDL) AC_LIBTOOL_DLOPEN +AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_CONFIG_SUBDIRS(libltdl) -if test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then +if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then AC_MSG_ERROR([[ *** Cannot find the libltdl development files. @@ -54,93 +96,211 @@ if test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then ]]) fi -# Checks for header files. +#### Determine build environment #### + +os_is_win32=0 + +case "$host_os" in + mingw*) + AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.]) + os_is_win32=1 + ;; + esac + +AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1") + +################################### +# Basic environment checks # +################################### + +#### Checks for header files. #### + +# ISO AC_HEADER_STDC -AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h syslog.h]) -ACX_PTHREAD -AC_PATH_XTRA +# POSIX +AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \ + netinet/in_systm.h netinet/ip.h netinet/tcp.h pwd.h sched.h \ + sys/resource.h sys/select.h sys/socket.h sys/wait.h \ + syslog.h]) +AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0]) +AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0]) -HAVE_X11=0 -test "x$no_x" != "xyes" && HAVE_X11=1 -AC_SUBST(HAVE_X11) -AM_CONDITIONAL(HAVE_X11, test "x$no_x" != "xyes") -if test "x$no_x" != "xyes" ; then - AC_DEFINE([HAVE_X11], 1, [Have X11]) -fi +AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1") +AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1") + +# XPG4-UNIX +AC_CHECK_HEADERS([sys/poll.h]) + +# Linux +AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0]) + +AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"]) + +# Windows +AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h]) + +# Other +AC_CHECK_HEADERS([sys/ioctl.h]) + +#### Typdefs, structures, etc. #### -# Checks for typedefs, structures, and compiler characteristics. AC_C_CONST +AC_C_BIGENDIAN AC_TYPE_PID_T AC_TYPE_SIZE_T +AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long], + [Define ssize_t if it is not done by the standard libs.])]) AC_TYPE_OFF_T -AC_HEADER_TIME - -# Checks for library functions. -AC_FUNC_FORK -AC_PROG_GCC_TRADITIONAL -AC_FUNC_LSTAT -AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK -AC_FUNC_MALLOC -AC_FUNC_MEMCMP -AC_FUNC_MMAP -AC_FUNC_REALLOC -AC_FUNC_SETPGRP -AC_FUNC_VPRINTF -AC_FUNC_CLOSEDIR_VOID -AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_TYPE_UID_T -AC_CHECK_FUNCS([gethostname gettimeofday memchr memmove memset mkdir mkfifo munmap rmdir socket strcspn strerror strrchr strspn strstr strtol strtoul strcasecmp putenv strchr strpbrk strdup getgrgid_r getpwuid_r regcomp ftruncate select]) -AC_CHECK_LIB(m, pow) -AC_CHECK_FUNCS(pow) -AC_FUNC_STAT -AC_HEADER_SYS_WAIT -AC_HEADER_DIRENT -AC_C_BIGENDIAN +AC_CHECK_DEFINE([SIGXCPU], [signal.h], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0]) +AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1") + +# Solaris lacks this +AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [], + [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in ])]) + +#### Check for libs #### + +# ISO +AC_CHECK_LIB([m], [pow]) + +# POSIX +AC_CHECK_LIB([rt], [sched_setscheduler]) + +# BSD +AC_CHECK_LIB([socket], [connect]) + +# Non-standard + +# This magic is needed so we do not needlessly add static libs to the win32 +# build, disabling its ability to make dlls. +AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])]) + +#### Check for functions #### + +# POSIX +AC_FUNC_FORK AC_FUNC_GETGROUPS +AC_FUNC_SELECT_ARGTYPES +AC_CHECK_FUNCS([getaddrinfo getgrgid_r getpwuid_r gettimeofday getuid \ + inet_ntop nanosleep setpgid setsid sigaction sleep]) +AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0]) -AC_CHECK_LIB(cap, cap_init, [CAP_LIBS='-lcap'], [CAP_LIBS='']) -AC_SUBST(CAP_LIBS) +AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1") + +# X/OPEN +AC_CHECK_FUNCS([readlink]) + +# SUSv2 +AC_CHECK_FUNCS([ctime_r usleep]) -AC_CHECK_HEADERS(sys/capability.h) +# BSD +AC_CHECK_FUNCS([lstat]) + +# Non-standard AC_CHECK_FUNCS(setresuid) AC_CHECK_FUNCS(setreuid) +#### POSIX threads #### + +ACX_PTHREAD + +################################### +# External libraries # +################################### + +#### X11 (optional) #### + +HAVE_X11=0 + +# The macro tests the host, not the build target +if test "x$os_is_win32" != "x1" ; then + AC_PATH_XTRA + test "x$no_x" != "xyes" && HAVE_X11=1 +fi + +AC_SUBST(HAVE_X11) +AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "x1") +if test "x$HAVE_X11" = "x1" ; then + AC_DEFINE([HAVE_X11], 1, [Have X11]) +fi + +#### Capabilities (optional) #### + +CAP_LIBS='' + +AC_ARG_WITH( + [caps], + AC_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.])) + +if test "x${with_caps}" != "xno"; then + AC_CHECK_LIB(cap, cap_init, [CAP_LIBS='-lcap'], [CAP_LIBS='']) + AC_CHECK_HEADERS([sys/capability.h]) +fi +AC_SUBST(CAP_LIBS) + +#### Sample rate conversion #### + PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ]) AC_SUBST(LIBSAMPLERATE_CFLAGS) AC_SUBST(LIBSAMPLERATE_LIBS) +#### Sound file #### + PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ]) AC_SUBST(LIBSNDFILE_CFLAGS) AC_SUBST(LIBSNDFILE_LIBS) +#### OSS support (optional) #### + +AC_CHECK_HEADERS([sys/soundcard.h], [HAVE_OSS=1], [HAVE_OSS=0]) +AC_SUBST(HAVE_OSS) +AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1]) + +#### ALSA support (optional) #### + PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.0 ], [HAVE_ALSA=1], [HAVE_ALSA=0]) AC_SUBST(ASOUNDLIB_CFLAGS) AC_SUBST(ASOUNDLIB_LIBS) AC_SUBST(HAVE_ALSA) AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1]) +#### Solaris audio support (optional) #### + +AC_CHECK_HEADERS([sys/audio.h], [HAVE_SOLARIS=1], [HAVE_SOLARIS=0]) +AC_SUBST(HAVE_SOLARIS) +AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1]) + +#### GLib 2 support (optional) #### + PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0) AC_SUBST(GLIB20_CFLAGS) AC_SUBST(GLIB20_LIBS) AC_SUBST(HAVE_GLIB20) AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1]) +#### GLib 1 support (optional) #### + PKG_CHECK_MODULES(GLIB12, [ glib >= 1.2.0 ], HAVE_GLIB12=1, HAVE_GLIB12=0) AC_SUBST(GLIB12_CFLAGS) AC_SUBST(GLIB12_LIBS) AC_SUBST(HAVE_GLIB12) AM_CONDITIONAL([HAVE_GLIB12], [test "x$HAVE_GLIB12" = x1]) +#### Howl support (optional) #### + PKG_CHECK_MODULES(HOWL, [ howl >= 0.9.8 ], HAVE_HOWL=1, HAVE_HOWL=0) AC_SUBST(HOWL_CFLAGS) AC_SUBST(HOWL_LIBS) AC_SUBST(HAVE_HOWL) AM_CONDITIONAL([HAVE_HOWL], [test "x$HAVE_HOWL" = x1]) +#### Async DNS support (optional) #### + PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0) AC_SUBST(LIBASYNCNS_CFLAGS) AC_SUBST(LIBASYNCNS_LIBS) @@ -151,70 +311,60 @@ if test "x$HAVE_LIBASYNCNS" != "x0" ; then AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]) fi -AC_PATH_PROG([M4], [m4 gm4], [no]) -if test "x$M4" = xno ; then - AC_MSG_ERROR([m4 missing]) -fi +#### TCP wrappers (optional) #### -AC_MSG_CHECKING([for tcpwrap library and headers]) -LIBWRAP_LIBS= -saved_LIBS="$LIBS" -LIBS="$LIBS -lwrap" -AC_LINK_IFELSE( -AC_LANG_PROGRAM( -[#include -#include -int allow_severity = LOG_INFO; -int deny_severity = LOG_WARNING;], -[struct request_info *req; -return hosts_access (req);]), -[AC_DEFINE(HAVE_LIBWRAP, [], [Have tcpwrap?]) -LIBWRAP_LIBS="-lwrap" -AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) +ACX_LIBWRAP AC_SUBST(LIBWRAP_LIBS) -LIBS="$saved_LIBS" -LIRC_CFLAGS= -LIRC_LIBS= -AC_CHECK_HEADER(lirc/lirc_client.h,[AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=1 -LIRC_LIBS=-llirc_client],HAVE_LIRC=0)],HAVE_LIRC=0) +#### LIRC support (optional) #### + +ACX_LIRC AC_SUBST(LIRC_CFLAGS) AC_SUBST(LIRC_LIBS) AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1]) -AC_CHECK_HEADER(linux/input.h,HAVE_EVDEV=1,HAVE_EVDEV=0) -AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = x1]) - -# If using GCC specify some additional parameters -if test "x$GCC" = "xyes" ; then - CFLAGS="$CFLAGS -pipe -W -Wall -pedantic" - - AC_LANG_CONFTEST([int main() {}]) - $CC -c conftest.c -std=c99 -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -std=c99 -Wno-unused-parameter" - rm -f conftest.o +################################### +# Output # +################################### + +AC_ARG_ENABLE( + [static-bins], + AC_HELP_STRING([--enable-static-bins],[Statically link executables.]), + [STATIC_BINS=1], [STATIC_BINS=0]) +AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"]) + +AC_ARG_WITH( + [preopen-mods], + AC_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]), + [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"]) +AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"]) +if test "x$PREOPEN_MODS" != "xall" ; then + tmpLIBS="" + for mod in $PREOPEN_MODS; do + tmpLIBS="$tmpLIBS module-$mod.la" + done + PREOPEN_MODS="$tmpLIBS" + AC_SUBST(PREOPEN_MODS) fi -# LYNX documentation generation -AC_ARG_ENABLE(lynx, - AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), -[case "${enableval}" in - yes) lynx=yes ;; - no) lynx=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; -esac],[lynx=yes]) - -if test x$lynx = xyes ; then - AC_CHECK_PROG(have_lynx, lynx, yes, no) - - if test x$have_lynx = xno ; then - AC_MSG_WARN([*** lynx not found, plain text README will not be built ***]) - fi -fi - -AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) - -AM_CONDITIONAL(BUILD_LIBPOLYPCORE, false) - -AC_CONFIG_FILES([Makefile polyp/Makefile polyplib.pc polyplib-simple.pc polyplib-mainloop.pc polyplib-browse.pc polyplib-error.pc polyplib-glib-mainloop.pc polyplib-glib12-mainloop.pc doc/Makefile doc/README.html doc/cli.html doc/daemon.html doc/modules.html doxygen/Makefile doxygen/doxygen.conf polyp/polyplib-version.h doc/FAQ.html]) +AC_CONFIG_FILES([ +Makefile +polyp/Makefile +polyplib.pc +polyplib-simple.pc +polyplib-mainloop.pc +polyplib-browse.pc +polyplib-error.pc +polyplib-glib-mainloop.pc +polyplib-glib12-mainloop.pc +doc/Makefile +doc/README.html +doc/cli.html +doc/daemon.html +doc/modules.html +doxygen/Makefile +doxygen/doxygen.conf +polyp/polyplib-version.h +doc/FAQ.html +]) AC_OUTPUT -- cgit