[Telepathy-commits] [telepathy-sofiasip/master] Use compiler.m4 to control coverage/optimization options
Mikhail Zabaluev
mikhail.zabaluev at nokia.com
Fri Jan 30 08:19:56 PST 2009
The macros are from Aranha via telepathy-gabble.
---
configure.ac | 13 ++--------
m4/Makefile.am | 3 +-
m4/compiler.m4 | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/Makefile.am | 12 +++++----
tests/Makefile.am | 2 +-
5 files changed, 80 insertions(+), 17 deletions(-)
create mode 100644 m4/compiler.m4
diff --git a/configure.ac b/configure.ac
index 3ffe04f..9c536b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,6 +27,9 @@ AC_PROG_CC
AC_PROG_CC_STDC
AM_PROG_MKDIR_P
+COMPILER_OPTIMISATIONS
+COMPILER_COVERAGE
+
dnl decide on error flags
AS_COMPILER_FLAG(-Wall, WALL="yes", WALL="no")
@@ -59,16 +62,6 @@ if test x$enable_syslog = xyes; then
AC_DEFINE(ENABLE_SYSLOG, [], [Enable syslog handler for Sofia log messages])
fi
-AC_ARG_ENABLE(coverage,
- AC_HELP_STRING([--enable-coverage],[compile with coverage info]),
- [enable_coverage=$enableval],
- [enable_coverage=no]
-)
-if test x$enable_coverage = xyes; then
- COVERAGE_CFLAGS="-g -fprofile-arcs -ftest-coverage"
-fi
-AC_SUBST(COVERAGE_CFLAGS)
-
dnl GTK docs
GTK_DOC_CHECK
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 482257a..fa6047c 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,3 +1,4 @@
EXTRA_DIST = \
as-compiler-flag.m4 \
-as-version.m4
+as-version.m4 \
+compiler.m4
diff --git a/m4/compiler.m4 b/m4/compiler.m4
new file mode 100644
index 0000000..5aff5d8
--- /dev/null
+++ b/m4/compiler.m4
@@ -0,0 +1,67 @@
+# compiler.m4 - autoconf macros for compiler settings
+#
+# Copyright © 2005 Scott James Remnant <scott at netsplit.com>.
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+# COMPILER_WARNINGS
+# ----------------------
+# Add configure option to enable additional compiler warnings and treat
+# them as errors.
+AC_DEFUN([COMPILER_WARNINGS],
+[AC_ARG_ENABLE(compiler-warnings,
+ AS_HELP_STRING([--enable-compiler-warnings],
+ [Enable additional compiler warnings]),
+[if test "x$enable_compiler_warnings" = "xyes"; then
+ if test "x$GCC" = "xyes"; then
+ CFLAGS="-Wall -Werror $CFLAGS"
+ fi
+ if test "x$GXX" = "xyes"; then
+ CXXFLAGS="-Wall -Werror $CXXFLAGS"
+ fi
+fi])dnl
+])# COMPILER_WARNINGS
+
+# COMPILER_OPTIMISATIONS
+# ---------------------------
+# Add configure option to disable optimisations.
+AC_DEFUN([COMPILER_OPTIMISATIONS],
+[AC_ARG_ENABLE(compiler-optimisations,
+ AS_HELP_STRING([--disable-compiler-optimisations],
+ [Disable compiler optimisations]),
+[if test "x$enable_compiler_optimisations" = "xno"; then
+ [CFLAGS=`echo "$CFLAGS" | sed -e "s/ -O[1-9]*\b/ -O0/g"`]
+fi])dnl
+])# COMPILER_OPTIMISATIONS
+
+# COMPILER_COVERAGE
+# ----------------------
+# Add configure option to enable coverage data.
+AC_DEFUN([COMPILER_COVERAGE],
+[AC_ARG_ENABLE(compiler-coverage,
+ AS_HELP_STRING([--enable-compiler-coverage],
+ [Enable generation of coverage data]),
+[if test "x$enable_compiler_coverage" = "xyes"; then
+ if test "x$GCC" = "xyes"; then
+ CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
+ fi
+fi])dnl
+])# COMPILER_COVERAGE
diff --git a/src/Makefile.am b/src/Makefile.am
index cb08c61..c4ea234 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,7 @@
#
# Makefile.am for telepathy-sofiasip/src
#
-# Copyright (C) 2006-2008 Nokia Corporation
+# Copyright (C) 2006-2009 Nokia Corporation
# Contact: Mikhail Zabaluev <mikhail.zabaluev at nokia.com>
# Licensed under LGPL. See file COPYING.
#
@@ -14,10 +14,12 @@ managerdir = $(datadir)/telepathy/managers
# ----------------------------------------------------------------------
# Headers and libraries
-AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ @SOFIA_SIP_UA_CFLAGS@ \
- @TELEPATHY_GLIB_CFLAGS@ @COVERAGE_CFLAGS@ \
- -I$(top_builddir) -I$(top_srcdir)
-ALL_LIBS = @DBUS_LIBS@ @GLIB_LIBS@ @SOFIA_SIP_UA_LIBS@ @TELEPATHY_GLIB_LIBS@
+AM_CPPFLAGS = $(DBUS_CFLAGS) $(GLIB_CFLAGS) \
+ $(SOFIA_SIP_UA_CFLAGS) $(TELEPATHY_GLIB_CFLAGS) \
+ -I$(top_builddir) -I$(top_srcdir)
+AM_CFLAGS = $(ERROR_CFLAGS)
+ALL_LIBS = $(DBUS_LIBS) $(GLIB_LIBS) $(SOFIA_SIP_UA_LIBS) \
+ $(TELEPATHY_GLIB_LIBS)
# ----------------------------------------------------------------------
# Build targets
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d13d7a3..b09c74f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -6,7 +6,7 @@ SUBDIRS = $(CHECKTWISTED)
# noinst_PROGRAMS = \
# tp_caller
-# AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ @COVERAGE_CFLAGS@ \
+# AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
# -I $(top_srcdir)/src -I $(top_builddir)/src
# ALL_LIBS = @DBUS_LIBS@ @GLIB_LIBS@
--
1.5.6.5
More information about the telepathy-commits
mailing list