]> code.delx.au - pulseaudio/commitdiff
build system updates, including support for some newer GCC options
authorLennart Poettering <lennart@poettering.net>
Tue, 10 Jan 2006 18:04:54 +0000 (18:04 +0000)
committerLennart Poettering <lennart@poettering.net>
Tue, 10 Jan 2006 18:04:54 +0000 (18:04 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@446 fefdeb5f-60dc-0310-8127-8f9354f1896f

bootstrap.sh
configure.ac

index 4b9032b646303f0886db9d34f867d238595d6b5c..7fa1dc9afd363951601096cd2a46528730a62386 100755 (executable)
 # 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
index e5e03d0419153a24287046a5c67d2c6827951b15..f69eb636f5b0e254ffaceee05da9b0309e4fe23f 100644 (file)
@@ -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 ])