gtkmm r1128 - in trunk: . build_shared demos demos/gtk-demo scripts tests tools/extra_defs_gen



Author: daniel
Date: Thu Mar 26 14:09:00 2009
New Revision: 1128
URL: http://svn.gnome.org/viewvc/gtkmm?rev=1128&view=rev

Log:
Use DK_ARG_ENABLE_WARNINGS() to replace custom M4 macro

* scripts/dk-warn.m4: New file defining DK_ARG_ENABLE_WARNINGS().
* scripts/macros.m4: Remove the old GTKMM_ARG_ENABLE_WARNINGS().
* configure.in: Use new macro DK_ARG_ENABLE_WARNINGS() to set the
Makefile variable $(GLIBMM_WXXFLAGS).
* build_shared/Makefile_build.am_fragment (all_includes): Insert
$(GLIBMM_WXXFLAGS).  Also move deprecation flags here.
* tools/extra_defs_gen/Makefile.am (INCLUDES): Insert
$(GLIBMM_WXXFLAGS).
* demos/Makefile.am (all_includes): ditto,
* demos/gtk-demo/Makefile.am (all_includes): ditto,
* tests/Makefile.am_fragment (INCLUDES): ditto.


Added:
   trunk/scripts/dk-warn.m4
Modified:
   trunk/ChangeLog
   trunk/build_shared/Makefile_build.am_fragment
   trunk/configure.in
   trunk/demos/Makefile.am
   trunk/demos/gtk-demo/Makefile.am
   trunk/scripts/macros.m4
   trunk/tests/Makefile.am_fragment
   trunk/tools/extra_defs_gen/Makefile.am

Modified: trunk/build_shared/Makefile_build.am_fragment
==============================================================================
--- trunk/build_shared/Makefile_build.am_fragment	(original)
+++ trunk/build_shared/Makefile_build.am_fragment	Thu Mar 26 14:09:00 2009
@@ -26,27 +26,25 @@
 
 # All modules can include all other modules,
 # for instance, so that gdkmm can use headers in pangomm.
-all_includes	= -I$(top_builddir)/$(sublib_topdir)		-I$(top_srcdir)/$(sublib_topdir)	\
-		  -I$(top_builddir)/pango	-I$(top_srcdir)/pango	\
+all_includes	= -I$(top_builddir)/$(sublib_topdir) -I$(top_srcdir)/$(sublib_topdir) \
 		  -I$(top_builddir)/atk		-I$(top_srcdir)/atk	\
 		  -I$(top_builddir)/gdk		-I$(top_srcdir)/gdk	\
 		  -I$(top_builddir)/gtk		-I$(top_srcdir)/gtk	\
-		  $(sublib_cflags) $(GTHREAD_CFLAGS)
+		  $(GTKMM_WXXFLAGS) $(sublib_cflags) $(GTHREAD_CFLAGS)	\
+		  $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
 
 dist_sources	= $(files_all_built_cc) $(files_all_extra_cc) $(files_all_built_h) $(files_all_extra_h)
 DISTFILES	= $(DIST_COMMON) $(dist_sources) $(TEXINFOS) $(EXTRA_DIST)
 
-
 DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines)
-DEFAULT_INCLUDES	=
+DEFAULT_INCLUDES =
 
-# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty unless the appropriate --enable-*=no options are specified to configure:
-INCLUDES = $(strip $(all_includes)) $(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
+# DISABLE_DEPRECATED_CFLAGS and DISABLE_DEPRECATED_API_CFLAGS are empty
+# unless the appropriate --enable-*=no options are specified to configure:
+INCLUDES = $(strip $(all_includes))
 
 sublib_includedir	= $(includedir)/$(sublib_libname)/$(sublib_name)
 sublib_include_HEADERS	= $(files_all_built_h) $(files_all_extra_h)
 
 maintainer-clean-local:
-	(cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h))
-
-
+	cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h)

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Thu Mar 26 14:09:00 2009
@@ -281,31 +281,35 @@
   fi
 fi
 
-AC_LANG_CPLUSPLUS
-
+AC_LANG([C++])
 
 # Create a list of input directories for Doxygen.
 GTKMM_DOXYGEN_INPUT_SUBDIRS([atk gdk gtk])
 
 # Evaluate the --enable-warnings=level option.
-GTKMM_ARG_ENABLE_WARNINGS()
+DK_ARG_ENABLE_WARNINGS([GTKMM_WXXFLAGS],
+                       [-Wall],
+                       [-pedantic -Wall -Wextra])
 
 # Add an --enable-use-deprecations configure option:
 AC_ARG_ENABLE(deprecations,
               [AC_HELP_STRING([--enable-use-deprecations],
                               [warn about deprecated usages [default=no]])],,
               [enable_deprecations=no])
-              
-if test "x$enable_use_deprecations" = "xyes"; then
-   DISABLE_DEPRECATED_CFLAGS="\
+
+AS_IF([test "x$enable_use_deprecations" = xyes],
+[
+DISABLE_DEPRECATED_CFLAGS="\
 -DG_DISABLE_DEPRECATED \
 -DGDK_DISABLE_DEPRECATED \
 -DGTK_DISABLE_DEPRECATED \
 -DGDK_PIXBUF_DISABLE_DEPRECATED \
 -DGNOME_DISABLE_DEPRECATED"
-   AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
-fi
-	
+],[
+DISABLE_DEPRECATED_CFLAGS=
+])
+AC_SUBST([DISABLE_DEPRECATED_CFLAGS])
+
 # Add an --enable-deprecated-api option:
 AC_ARG_ENABLE(deprecated-api, [AC_HELP_STRING([--enable-deprecated-api],
                                         [include (build) deprecated API in the libraries [default=yes]])],,

Modified: trunk/demos/Makefile.am
==============================================================================
--- trunk/demos/Makefile.am	(original)
+++ trunk/demos/Makefile.am	Thu Mar 26 14:09:00 2009
@@ -16,10 +16,12 @@
 endif
 
 #Where to find the header files needed by the source files:
-INCLUDES = -I$(top_builddir)/gtk   -I$(top_srcdir)/gtk   \
-           -I$(top_builddir)/gdk   -I$(top_srcdir)/gdk   \
-           $(ATKMMINC) \
-           $(GTKMM_CFLAGS)
+all_includes = -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+               -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+               $(ATKMMINC) \
+               $(GTKMM_WXXFLAGS) $(GTKMM_CFLAGS)
+
+INCLUDES = $(strip $(all_includes))
 
 if GTKMM_ATKMM_ENABLED
 ATKMMLIB = $(local_atkmm_lib)

Modified: trunk/demos/gtk-demo/Makefile.am
==============================================================================
--- trunk/demos/gtk-demo/Makefile.am	(original)
+++ trunk/demos/gtk-demo/Makefile.am	Thu Mar 26 14:09:00 2009
@@ -48,11 +48,13 @@
 endif
 
 #Where to find the header files needed by the source files:
-INCLUDES = -DDEMOCODEDIR="\"$(democodedir)\"" \
-           -I$(top_builddir)/gtk   -I$(top_srcdir)/gtk   \
-           -I$(top_builddir)/gdk   -I$(top_srcdir)/gdk   \
-           $(ATKMMINC) \
-           $(GTKMM_CFLAGS)
+all_includes = -DDEMOCODEDIR="\"$(democodedir)\"" \
+               -I$(top_builddir)/gtk -I$(top_srcdir)/gtk \
+               -I$(top_builddir)/gdk -I$(top_srcdir)/gdk \
+               $(ATKMMINC) \
+               $(GTKMM_WXXFLAGS) $(GTKMM_CFLAGS)
+
+INCLUDES = $(strip $(all_includes))
 
 if GTKMM_ATKMM_ENABLED
 ATKMMLIB = $(local_atkmm_lib)

Added: trunk/scripts/dk-warn.m4
==============================================================================
--- (empty file)
+++ trunk/scripts/dk-warn.m4	Thu Mar 26 14:09:00 2009
@@ -0,0 +1,114 @@
+## Copyright (c) 2004-2007  Daniel Elstner  <daniel kitta gmail com>
+##
+## This file is part of danielk's Autostuff.
+##
+## danielk's Autostuff is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License as published
+## by the Free Software Foundation; either version 2 of the License, or (at
+## your option) any later version.
+##
+## danielk's Autostuff is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+## for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with danielk's Autostuff; if not, write to the Free Software Foundation,
+## Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#serial 20070116
+
+## DK_ARG_ENABLE_WARNINGS(variable, min-flags, max-flags, [deprecation-prefixes])
+##
+## Provide the --enable-warnings configure argument, set to "min" by default.
+## <min-flags> and <max-flags> should be space-separated lists of compiler
+## warning flags to use with --enable-warnings=min or --enable-warnings=max,
+## respectively.  Warning level "fatal" is the same as "max" but in addition
+## enables -Werror mode.
+##
+## If not empty, <deprecation-prefixes> should be a list of module prefixes
+## which is expanded to -D<module>_DISABLE_DEPRECATED flags if fatal warnings
+## are enabled, too.
+##
+AC_DEFUN([DK_ARG_ENABLE_WARNINGS],
+[dnl
+m4_if([$3],, [AC_FATAL([3 arguments expected])])[]dnl
+dnl
+AC_ARG_ENABLE([warnings], [AS_HELP_STRING(
+  [--enable-warnings=@<:@min|max|fatal|no@:>@],
+  [control compiler pickyness @<:@min@:>@])],
+  [dk_enable_warnings=$enableval],
+  [dk_enable_warnings=min])[]dnl
+
+dk_lang=
+case $ac_compile in
+  *'$CXXFLAGS '*)
+    dk_lang='C++'
+    dk_cc=$CXX
+    dk_conftest=conftest.${ac_ext-cc}
+    ;;
+  *'$CFLAGS '*)
+    dk_lang=C
+    dk_cc=$CC
+    dk_conftest=conftest.${ac_ext-c}
+    ;;
+esac
+
+AS_IF([test "x$dk_lang" != x],
+[
+  AC_MSG_CHECKING([which $dk_lang compiler warning flags to use])
+
+  case $dk_enable_warnings in
+    no)     dk_warning_flags=;;
+    max)    dk_warning_flags="$3";;
+    fatal)  dk_warning_flags="$3 -Werror";;
+    *)      dk_warning_flags="$2";;
+  esac
+
+  dk_deprecation_flags=
+m4_if([$4],,, [
+  AS_IF([test "x$dk_enable_warnings" = xfatal],
+  [
+    dk_deprecation_prefixes="$4"
+    for dk_prefix in $dk_deprecation_prefixes
+    do
+      dk_deprecation_flags="${dk_deprecation_flags}-D${dk_prefix}_DISABLE_DEPRECATED "
+    done
+  ])
+])[]dnl
+  dk_tested_flags=
+
+  AS_IF([test "x$dk_warning_flags" != x],
+  [
+    # Keep in mind that the dummy source must be devoid of any
+    # problems that might cause diagnostics.
+    AC_LANG_CONFTEST([AC_LANG_SOURCE(
+      [[int main(int argc, char** argv) { return (argv != 0) ? argc : 0; }]])])
+
+    for dk_flag in $dk_warning_flags
+    do
+      # Test whether the compiler accepts the flag.  GCC doesn't bail
+      # out when given an unsupported flag but prints a warning, so
+      # check the compiler output instead.
+      dk_cc_out=`$dk_cc $dk_tested_flags $dk_flag -c "$dk_conftest" 2>&1 || echo failed`
+      rm -f "conftest.${OBJEXT-o}"
+
+      AS_IF([test "x$dk_cc_out" = x],
+      [
+        AS_IF([test "x$dk_tested_flags" = x],
+              [dk_tested_flags=$dk_flag],
+              [dk_tested_flags="$dk_tested_flags $dk_flag"])
+      ], [
+        echo "$dk_cc_out" >&AS_MESSAGE_LOG_FD
+      ])
+    done
+
+    rm -f "$dk_conftest"
+  ])
+  dk_all_flags=$dk_deprecation_flags$dk_tested_flags
+  AC_SUBST([$1], [$dk_all_flags])
+
+  test "x$dk_all_flags" != x || dk_all_flags=none
+  AC_MSG_RESULT([$dk_all_flags])
+])
+])

Modified: trunk/scripts/macros.m4
==============================================================================
--- trunk/scripts/macros.m4	(original)
+++ trunk/scripts/macros.m4	Thu Mar 26 14:09:00 2009
@@ -49,65 +49,3 @@
     ACLOCAL="$ACLOCAL -I $srcdir/$dir"
   done
 ])
-
-
-## GTKMM_ARG_ENABLE_WARNINGS()
-##
-## Provide the --enable-warnings configure argument, set to 'minimum'
-## by default.
-##
-AC_DEFUN([GTKMM_ARG_ENABLE_WARNINGS],
-[
-  AC_ARG_ENABLE([warnings],
-      [  --enable-warnings=[[none|minimum|maximum|hardcore]]
-                          Control compiler pickyness.  [[default=minimum]]],
-      [gtkmm_enable_warnings="$enableval"],
-      [gtkmm_enable_warnings='minimum'])
-
-  AC_MSG_CHECKING([for compiler warning flags to use])
-
-  gtkmm_warning_flags=''
-
-  case "$gtkmm_enable_warnings" in
-    minimum|yes) gtkmm_warning_flags='-Wall';;
-    maximum)     gtkmm_warning_flags='-pedantic -W -Wall';;
-    hardcore)    gtkmm_warning_flags='-pedantic -W -Wall -Werror';;
-  esac
-
-  gtkmm_use_flags=''
-
-  if test "x$gtkmm_warning_flags" != "x"
-  then
-    echo 'int foo() { return 0; }' > conftest.cc
-
-    for flag in $gtkmm_warning_flags
-    do
-      # Test whether the compiler accepts the flag.  GCC doesn't bail
-      # out when given an unsupported flag but prints a warning, so
-      # check the compiler output instead.
-      gtkmm_cxx_out="`$CXX $flag -c conftest.cc 2>&1`"
-      rm -f conftest.$OBJEXT
-      test "x${gtkmm_cxx_out}" = "x" && \
-        gtkmm_use_flags="${gtkmm_use_flags:+$gtkmm_use_flags }$flag"
-    done
-
-    rm -f conftest.cc
-    gtkmm_cxx_out=''
-  fi
-
-  if test "x$gtkmm_use_flags" != "x"
-  then
-    for flag in $gtkmm_use_flags
-    do
-      case " $CXXFLAGS " in
-        *" $flag "*) ;; # don't add flags twice
-        *)           CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }$flag";;
-      esac
-    done
-  else
-    gtkmm_use_flags='none'
-  fi
-
-  AC_MSG_RESULT([$gtkmm_use_flags])
-])
-

Modified: trunk/tests/Makefile.am_fragment
==============================================================================
--- trunk/tests/Makefile.am_fragment	(original)
+++ trunk/tests/Makefile.am_fragment	Thu Mar 26 14:09:00 2009
@@ -6,7 +6,7 @@
 	$(ATKMMINC)	\
 	-I$(top_builddir)/gdk	-I$(top_srcdir)/gdk	\
 	-I$(top_builddir)/gtk	-I$(top_srcdir)/gtk	\
-	$(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
+	$(GTKMM_WXXFLAGS) $(GTKMM_CFLAGS) $(GTHREAD_CFLAGS)
 
 if GTKMM_ATKMM_ENABLED
 ATKMMLIB = $(local_atkmm_lib)

Modified: trunk/tools/extra_defs_gen/Makefile.am
==============================================================================
--- trunk/tools/extra_defs_gen/Makefile.am	(original)
+++ trunk/tools/extra_defs_gen/Makefile.am	Thu Mar 26 14:09:00 2009
@@ -1,7 +1,7 @@
 # Build the generate_properties_defs utility executable.
 # This is not used to build the rest of gtkmm.
 
-INCLUDES = $(GTKMM_CFLAGS)
+INCLUDES = $(GTKMM_WXXFLAGS) $(GTKMM_CFLAGS)
 LIBS = $(GTKMM_LIBS) -lglibmm_generate_extra_defs-2.4
 
 noinst_PROGRAMS = generate_extra_defs



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]