summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-01-10 18:04:54 +0000
committerLennart Poettering <lennart@poettering.net>2006-01-10 18:04:54 +0000
commit6c512fb5a3fdb578179be79672c5096de1a1d25b (patch)
tree15cde4e046df8d3857b4e8915a96500fb02a53bb
parentf7a99e90470526bb28cc0c225f96490110094aed (diff)
build system updates, including support for some newer GCC options
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@446 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rwxr-xr-xbootstrap.sh38
-rw-r--r--configure.ac63
2 files changed, 90 insertions, 11 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 4b9032b6..7fa1dc9a 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -17,17 +17,32 @@
# along with polypaudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+VERSION=1.9
+
run_versioned() {
local P
- type -p "$1-$2" &> /dev/null && P="$1-$2" || local P="$1"
+ local V
+
+ V=$(echo "$2" | sed -e 's,\.,,g')
+
+ if [ -e "`which $1$V`" ] ; then
+ P="$1$V"
+ else
+ if [ -e "`which $1-$2`" ] ; then
+ P="$1-$2"
+ else
+ P="$1"
+ fi
+ fi
shift 2
"$P" "$@"
}
+set -ex
+
if [ "x$1" = "xam" ] ; then
- set -ex
- run_versioned automake 1.7 -a -c --foreign
+ run_versioned automake "$VERSION" -a -c --foreign
./config.status
else
set -ex
@@ -35,13 +50,16 @@ else
rm -rf autom4te.cache
rm -f config.cache
- run_versioned aclocal 1.7
- libtoolize -c --force --ltdl
- autoheader
- run_versioned automake 1.7 -a -c --foreign
- autoconf -Wall
+ test "x$LIBTOOLIZE" = "x" && LIBTOOLIZE=libtoolize
- CFLAGS="-g -O0" ./configure --sysconfdir=/etc "$@"
+ "$LIBTOOLIZE" -c --force
+ run_versioned aclocal "$VERSION"
+ run_versioned autoconf 2.59 -Wall
+ run_versioned autoheader 2.59
+ run_versioned automake "$VERSION" -a -c --foreign
- make clean
+ if test "x$NOCONFIGURE" = "x"; then
+ CFLAGS="-g -O0" ./configure --sysconfdir=/etc "$@"
+ make clean
+ fi
fi
diff --git a/configure.ac b/configure.ac
index e5e03d04..f69eb636 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ AC_PREREQ(2.57)
AC_INIT([polypaudio],[0.8],[mzcbylcnhqvb (at) 0pointer (dot) de])
AC_CONFIG_SRCDIR([polyp/main.c])
AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([foreign -Wall])
+AM_INIT_AUTOMAKE([foreign 1.9 -Wall])
AC_SUBST(PA_MAJORMINOR, "$PACKAGE_VERSION")
AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/polypaudio/])
@@ -41,6 +41,7 @@ fi
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
+AC_GNU_SOURCE
# If using GCC specify some additional parameters
if test "x$GCC" = "xyes" ; then
@@ -58,6 +59,54 @@ if test "x$M4" = xno ; then
AC_MSG_ERROR([m4 missing])
fi
+# GCC flags
+
+test_gcc_flag() {
+ AC_LANG_CONFTEST([int main() {}])
+ $CC -c conftest.c $CFLAGS $@ > /dev/null 2> /dev/null
+ ret=$?
+ rm -f conftest.o
+ return $ret
+}
+
+# If using GCC specify some additional parameters
+if test "x$GCC" = "xyes" ; then
+
+ DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline"
+
+ if test "x$HAVE_NETLINK" = "xyes" ; then
+ # Test whether rtnetlink.h can be included when compiled with -std=c99
+ # some distributions (e.g. archlinux) have broken headers that dont
+ # define __u64 with -std=c99
+ AC_MSG_CHECKING([checking whether rtnetlink.h can be included with -std=c99])
+ OLDCFLAGS="$CFLAGS"
+ CFLAGS="-std=c99"
+ AC_TRY_COMPILE([#include <linux/rtnetlink.h>], [],
+ use_stdc99=yes, use_stdc99=no)
+
+ if test x"$use_stdc99" = xyes; then
+ DESIRED_FLAGS="-std=c99 $DESIRED_FLAGS"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+ CFLAGS="$OLDCFLAGS"
+ else
+ DESIRED_FLAGS="-std=c99 $DESIRED_FLAGS"
+ fi
+
+ for flag in $DESIRED_FLAGS ; do
+ AC_MSG_CHECKING([whether $CC accepts $flag])
+ if test_gcc_flag $flag ; then
+ CFLAGS="$CFLAGS $flag"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ done
+fi
+
# LYNX documentation generation
AC_ARG_ENABLE(lynx,
AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
@@ -243,6 +292,18 @@ if test "x${with_caps}" != "xno"; then
fi
AC_SUBST(CAP_LIBS)
+#### pkg-config ####
+
+# Check for pkg-config manually first, as if its not installed the
+# PKG_PROG_PKG_CONFIG macro won't be defined.
+AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
+
+if test x"$have_pkg_config" = "xno"; then
+ AC_MSG_ERROR(pkg-config is required to install this program)
+fi
+
+PKG_PROG_PKG_CONFIG
+
#### Sample rate conversion ####
PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ])