[libchamplain] Modernize build process a bit
- From: Jiří Techet <jiritechet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libchamplain] Modernize build process a bit
- Date: Fri, 20 Aug 2010 22:00:36 +0000 (UTC)
commit a582205f3849123a4fba67ff47cce69be22dd317
Author: JiÅ?Ã Techet <techet gmail com>
Date: Fri Aug 20 01:11:17 2010 +0200
Modernize build process a bit
Signed-off-by: JiÅ?Ã Techet <techet gmail com>
configure.ac | 19 ++++--
m4/acinclude.m4 | 66 --------------------
m4/gnome-common.m4 | 50 ++++++++++++++++
m4/gnome-compiler-flags.m4 | 141 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 204 insertions(+), 72 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index cc4a1a0..af8770c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,20 +7,25 @@ m4_define([champlain_version],
[champlain_major_version.champlain_minor_version.champlain_micro_version])
m4_define([champlain_api_version],
[champlain_major_version.champlain_minor_version])
-AC_PREREQ(2.61)
+AC_PREREQ([2.64])
AC_INIT([libchamplain],
[champlain_version],
- [http://bugzilla.gnome.org/simple-bug-guide.cgi?product=libchamplain])
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=libchamplain],
+ [libchamplain],
+ [http://projects.gnome.org/libchamplain/])
AC_CONFIG_SRCDIR([champlain/champlain.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([-Wno-portability])
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
+
+LT_PREREQ([2.2.6])
+LT_INIT([dlopen])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+
# Checks for programs.
AC_PROG_CC
AM_PROG_CC_C_O
@@ -69,7 +74,9 @@ AM_PATH_GLIB_2_0(2.16.0,,gobject gthread gio)
# check for gtk-doc
GTK_DOC_CHECK(1.9)
-IDT_COMPILE_WARNINGS
+
+GNOME_COMPILE_WARNINGS([maximum])
+GNOME_MAINTAINER_MODE_DEFINES
# -----------------------------------------------------------
# Check for libsoup, use libsoup-gnome if available
@@ -200,7 +207,7 @@ AC_PATH_PROG(VAPIGEN, vapigen, vapigen)
AC_SUBST(VAPIGEN)
AC_ARG_ENABLE(vala-demos,
- AC_HELP_STRING([--enable-vala-demos],[Build vala bindings demos]),
+ AS_HELP_STRING([--enable-vala-demos],[Build vala bindings demos]),
enable_vala_demos=$enableval, enable_vala_demos=no )
if test "x$enable_vala_demos" = "xyes"; then
diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
index cdb4937..3bd4555 100644
--- a/m4/acinclude.m4
+++ b/m4/acinclude.m4
@@ -1,69 +1,3 @@
-dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
-
-AC_DEFUN([IDT_COMPILE_WARNINGS],[
- if test -f $srcdir/autogen.sh; then
- default_compile_warnings="error"
- else
- default_compile_warnings="no"
- fi
-
- AC_ARG_WITH(compile-warnings,
- AS_HELP_STRING([--with-compile-warnings=@<:@no/yes/error@:>@],
- [Compiler warnings]),
- [enable_compile_warnings="$withval"],
- [enable_compile_warnings="$default_compile_warnings"])
-
- warnCFLAGS=
- if test "x$GCC" != xyes; then
- enable_compile_warnings=no
- fi
-
- warning_flags=
- realsave_CFLAGS="$CFLAGS"
-
- case "$enable_compile_warnings" in
- no)
- warning_flags=
- ;;
- yes)
- warning_flags="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations"
- ;;
- maximum|error)
- warning_flags="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wnested-externs -Wpointer-arith"
- CFLAGS="$warning_flags $CFLAGS"
- for option in -Wno-sign-compare -Wno-pointer-sign -Wformat; do
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $option"
- AC_MSG_CHECKING([whether gcc understands $option])
- AC_TRY_COMPILE([], [],
- has_option=yes,
- has_option=no,)
- CFLAGS="$SAVE_CFLAGS"
- AC_MSG_RESULT($has_option)
- if test $has_option = yes; then
- warning_flags="$warning_flags $option"
- fi
- unset has_option
- unset SAVE_CFLAGS
- done
- unset option
- if test "$enable_compile_warnings" = "error" ; then
- warning_flags="$warning_flags -Werror"
- fi
- ;;
- *)
- AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
- ;;
- esac
- CFLAGS="$realsave_CFLAGS"
- AC_MSG_CHECKING(what warning flags to pass to the C compiler)
- AC_MSG_RESULT($warning_flags)
-
- WARN_CFLAGS="$warning_flags"
- AC_SUBST(WARN_CFLAGS)
-])
-
-
dnl CHAMPLAIN_CONFIG_COMMANDS is like AC_CONFIG_COMMANDS, except that:
dnl
diff --git a/m4/gnome-common.m4 b/m4/gnome-common.m4
new file mode 100644
index 0000000..a5a0ead
--- /dev/null
+++ b/m4/gnome-common.m4
@@ -0,0 +1,50 @@
+# gnome-common.m4
+#
+
+dnl GNOME_COMMON_INIT
+
+AC_DEFUN([GNOME_COMMON_INIT],
+[
+ dnl this macro should come after AC_CONFIG_MACRO_DIR
+ AC_BEFORE([AC_CONFIG_MACRO_DIR], [$0])
+
+ dnl ensure that when the Automake generated makefile calls aclocal,
+ dnl it honours the $ACLOCAL_FLAGS environment variable
+ ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
+ if test -n "$ac_macro_dir"; then
+ ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS"
+ fi
+
+ AC_SUBST([ACLOCAL_AMFLAGS])
+])
+
+AC_DEFUN([GNOME_DEBUG_CHECK],
+[
+ AC_ARG_ENABLE([debug],
+ AC_HELP_STRING([--enable-debug],
+ [turn on debugging]),,
+ [enable_debug=no])
+
+ if test x$enable_debug = xyes ; then
+ AC_DEFINE(GNOME_ENABLE_DEBUG, 1,
+ [Enable additional debugging at the expense of performance and size])
+ fi
+])
+
+dnl GNOME_MAINTAINER_MODE_DEFINES ()
+dnl define DISABLE_DEPRECATED
+dnl
+AC_DEFUN([GNOME_MAINTAINER_MODE_DEFINES],
+[
+ AC_REQUIRE([AM_MAINTAINER_MODE])
+
+ DISABLE_DEPRECATED=""
+ if test $USE_MAINTAINER_MODE = yes; then
+ DOMAINS="G ATK PANGO GDK GDK_PIXBUF GTK GCONF BONOBO BONOBO_UI GNOME LIBGLADE VTE GNOME_VFS WNCK LIBSOUP"
+ for DOMAIN in $DOMAINS; do
+ DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES"
+ done
+ fi
+
+ AC_SUBST(DISABLE_DEPRECATED)
+])
diff --git a/m4/gnome-compiler-flags.m4 b/m4/gnome-compiler-flags.m4
new file mode 100644
index 0000000..b9db2fd
--- /dev/null
+++ b/m4/gnome-compiler-flags.m4
@@ -0,0 +1,141 @@
+dnl GNOME_COMPILE_WARNINGS
+dnl Turn on many useful compiler warnings
+dnl For now, only works on GCC
+AC_DEFUN([GNOME_COMPILE_WARNINGS],[
+ dnl ******************************
+ dnl More compiler warnings
+ dnl ******************************
+
+ AC_ARG_ENABLE(compile-warnings,
+ AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+ [Turn on compiler warnings]),,
+ [enable_compile_warnings="m4_default([$1],[yes])"])
+
+ warnCFLAGS=
+ if test "x$GCC" != xyes; then
+ enable_compile_warnings=no
+ fi
+
+ warning_flags=
+ realsave_CFLAGS="$CFLAGS"
+
+ case "$enable_compile_warnings" in
+ no)
+ warning_flags=
+ ;;
+ minimum)
+ warning_flags="-Wall"
+ ;;
+ yes)
+ warning_flags="-Wall -Wmissing-prototypes"
+ ;;
+ maximum|error)
+ warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
+ CFLAGS="$warning_flags $CFLAGS"
+ for option in -Wno-sign-compare; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ AC_MSG_CHECKING([whether gcc understands $option])
+ AC_TRY_COMPILE([], [],
+ has_option=yes,
+ has_option=no,)
+ CFLAGS="$SAVE_CFLAGS"
+ AC_MSG_RESULT($has_option)
+ if test $has_option = yes; then
+ warning_flags="$warning_flags $option"
+ fi
+ unset has_option
+ unset SAVE_CFLAGS
+ done
+ unset option
+ if test "$enable_compile_warnings" = "error" ; then
+ warning_flags="$warning_flags -Werror"
+ fi
+ ;;
+ *)
+ AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
+ ;;
+ esac
+ CFLAGS="$realsave_CFLAGS"
+ AC_MSG_CHECKING(what warning flags to pass to the C compiler)
+ AC_MSG_RESULT($warning_flags)
+
+ AC_ARG_ENABLE(iso-c,
+ AC_HELP_STRING([--enable-iso-c],
+ [Try to warn if code is not ISO C ]),,
+ [enable_iso_c=no])
+
+ AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
+ complCFLAGS=
+ if test "x$enable_iso_c" != "xno"; then
+ if test "x$GCC" = "xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-ansi[\ \ ]*) ;;
+ *) complCFLAGS="$complCFLAGS -ansi" ;;
+ esac
+ case " $CFLAGS " in
+ *[\ \ ]-pedantic[\ \ ]*) ;;
+ *) complCFLAGS="$complCFLAGS -pedantic" ;;
+ esac
+ fi
+ fi
+ AC_MSG_RESULT($complCFLAGS)
+
+ WARN_CFLAGS="$warning_flags $complCFLAGS"
+ AC_SUBST(WARN_CFLAGS)
+])
+
+dnl For C++, do basically the same thing.
+
+AC_DEFUN([GNOME_CXX_WARNINGS],[
+ AC_ARG_ENABLE(cxx-warnings,
+ AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
+ [Turn on compiler warnings.]),,
+ [enable_cxx_warnings="m4_default([$1],[minimum])"])
+
+ AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
+ warnCXXFLAGS=
+ if test "x$GXX" != xyes; then
+ enable_cxx_warnings=no
+ fi
+ if test "x$enable_cxx_warnings" != "xno"; then
+ if test "x$GXX" = "xyes"; then
+ case " $CXXFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+ *) warnCXXFLAGS="-Wall -Wno-unused" ;;
+ esac
+
+ ## -W is not all that useful. And it cannot be controlled
+ ## with individual -Wno-xxx flags, unlike -Wall
+ if test "x$enable_cxx_warnings" = "xyes"; then
+ warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual"
+ fi
+ fi
+ fi
+ AC_MSG_RESULT($warnCXXFLAGS)
+
+ AC_ARG_ENABLE(iso-cxx,
+ AC_HELP_STRING([--enable-iso-cxx],
+ [Try to warn if code is not ISO C++ ]),,
+ [enable_iso_cxx=no])
+
+ AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler)
+ complCXXFLAGS=
+ if test "x$enable_iso_cxx" != "xno"; then
+ if test "x$GXX" = "xyes"; then
+ case " $CXXFLAGS " in
+ *[\ \ ]-ansi[\ \ ]*) ;;
+ *) complCXXFLAGS="$complCXXFLAGS -ansi" ;;
+ esac
+
+ case " $CXXFLAGS " in
+ *[\ \ ]-pedantic[\ \ ]*) ;;
+ *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;;
+ esac
+ fi
+ fi
+ AC_MSG_RESULT($complCXXFLAGS)
+
+ WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS"
+ AC_SUBST(WARN_CXXFLAGS)
+])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]