[glibmm] Convert glib/ sub-tree to new build system



commit 3a21463704dea82887bb896e2246fe11d2c6aa7d
Author: Daniel Elstner <daniel kitta gmail com>
Date:   Sun Aug 9 08:06:00 2009 +0200

    Convert glib/ sub-tree to new build system
    
    * glib/src/filelist.am: New file for defining the lists of
    gmmproc input files and M4 template files.
    * glib/src/Makefile.am: Clean up and modernize.  Integrate
    with the new generate-binding.am build file from mm-common.
    * glib/glibmm/filelist.am: New file for the lists of source
    code files, both generated and static.  Also list files from
    the private/ subdirectory here.
    * glib/glibmm/Makefile.am: Clean up and modernize.  Integrate
    with the new compile-binding.am build file from mm-common.
    * configure.ac (AC_CONFIG_FILES): Remove the output file
    glib/glibmm/private/Makefile from the list.
    * glib/glibmm/private/Makefile.am: Delete file.
    * glib/src/Makefile_list_of_hg.am_fragment: Delete file.

 ChangeLog                                |   18 ++++
 configure.ac                             |    1 -
 glib/glibmm/Makefile.am                  |  125 ++++++------------------------
 glib/glibmm/filelist.am                  |   86 ++++++++++++++++++++
 glib/glibmm/private/Makefile.am          |   19 -----
 glib/src/Makefile.am                     |   56 ++++++++-----
 glib/src/Makefile_list_of_hg.am_fragment |   31 --------
 glib/src/filelist.am                     |   39 +++++++++
 8 files changed, 203 insertions(+), 172 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 5796f8b..fc0241f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2009-08-09  Daniel Elstner  <danielk openismus com>
 
+	Convert glib/ sub-tree to new build system
+
+	* glib/src/filelist.am: New file for defining the lists of
+	gmmproc input files and M4 template files.
+	* glib/src/Makefile.am: Clean up and modernize.  Integrate
+	with the new generate-binding.am build file from mm-common.
+	* glib/glibmm/filelist.am: New file for the lists of source
+	code files, both generated and static.  Also list files from
+	the private/ subdirectory here.
+	* glib/glibmm/Makefile.am: Clean up and modernize.  Integrate
+	with the new compile-binding.am build file from mm-common.
+	* configure.ac (AC_CONFIG_FILES): Remove the output file
+	glib/glibmm/private/Makefile from the list.
+	* glib/glibmm/private/Makefile.am: Delete file.
+	* glib/src/Makefile_list_of_hg.am_fragment: Delete file.
+
+2009-08-09  Daniel Elstner  <danielk openismus com>
+
 	Do not recurse into scripts/ subdirectory
 
 	* Makefile.am: Install scripts/glibmm_check_perl.m4 from here.
diff --git a/configure.ac b/configure.ac
index 64fe5b1..a7cc580 100644
--- a/configure.ac
+++ b/configure.ac
@@ -159,7 +159,6 @@ AC_CONFIG_FILES([
   glib/glibmm-2.4.pc
     glib/src/Makefile
     glib/glibmm/Makefile
-      glib/glibmm/private/Makefile
   
   gio/giomm-2.4.pc
     gio/src/Makefile
diff --git a/glib/glibmm/Makefile.am b/glib/glibmm/Makefile.am
index b6b3d46..8aea19f 100644
--- a/glib/glibmm/Makefile.am
+++ b/glib/glibmm/Makefile.am
@@ -1,104 +1,29 @@
-## Copyright (c) 2001
-## The gtkmm development team.
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of glibmm.
+##
+## glibmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## glibmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
-SUBDIRS = private
-
-sublib_name = glibmm
-sublib_libname = glibmm-2.4
-sublib_libversion = $(LIBGLIBMM_SO_VERSION)
-sublib_namespace = Glib
-sublib_cflags = $(GLIBMM_CFLAGS)
-sublib_topdir = glib
-sublib_win32_dlls_libs	=
-
-sublib_files_extra_posix_cc =
-sublib_files_extra_win32_cc =
-
-sublib_files_extra_general_cc = \
-  class.cc \
-  containers.cc \
-  debug.cc \
-  dispatcher.cc \
-  error.cc \
-  exception.cc \
-  exceptionhandler.cc \
-  init.cc \
-  interface.cc \
-  main.cc \
-  miscutils.cc \
-  object.cc \
-  objectbase.cc \
-  pattern.cc \
-  property.cc \
-  propertyproxy.cc \
-  propertyproxy_base.cc \
-  quark.cc \
-  random.cc \
-  signalproxy.cc \
-  signalproxy_connectionnode.cc  \
-  streamiochannel.cc \
-  stringutils.cc \
-  threadpool.cc \
-  timer.cc \
-  timeval.cc \
-  ustring.cc \
-  utility.cc \
-  value.cc \
-  value_custom.cc \
-  wrap.cc
-
-sublib_files_extra_posix_h =
-sublib_files_extra_win32_h =
-
-sublib_files_extra_general_h = \
-  arrayhandle.h \
-  class.h \
-  containerhandle_shared.h  \
-  containers.h \
-  debug.h \
-  dispatcher.h \
-  error.h \
-  exception.h \
-  exceptionhandler.h \
-  helperlist.h \
-  init.h \
-  i18n-lib.h \
-  i18n.h \
-  interface.h \
-  listhandle.h \
-  main.h \
-  miscutils.h \
-  object.h \
-  objectbase.h \
-  pattern.h \
-  priorities.h \
-  property.h \
-  propertyproxy.h \
-  propertyproxy_base.h \
-  quark.h \
-  random.h \
-  refptr.h \
-  sarray.h \
-  signalproxy_connectionnode.h  \
-  slisthandle.h \
-  streamiochannel.h \
-  stringutils.h \
-  threadpool.h \
-  timer.h \
-  timeval.h \
-  ustring.h \
-  utility.h \
-  value.h \
-  value_custom.h \
-  wrap.h
-
-include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+lib_LTLIBRARIES = libglibmm-2.4.la
 
-sublib_files_extra_general_cc += value_basictypes.cc
-sublib_files_extra_general_h += signalproxy.h value_basictypes.h
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/build/compile-binding.am
 
-lib_LTLIBRARIES = libglibmm-2.4.la
-libglibmm_2_4_la_SOURCES = $(files_built_cc) $(files_extra_cc)
-libglibmm_2_4_la_LDFLAGS = $(common_ldflags)
-libglibmm_2_4_la_LIBADD = $(GLIBMM_LIBS)
+AM_CPPFLAGS = $(binding_includes) $(binding_cppflags) $(GTHREAD_CFLAGS) $(GLIBMM_CFLAGS)
+AM_CXXFLAGS = $(GLIBMM_WXXFLAGS)
 
+libglibmm_2_4_la_SOURCES = $(binding_sources)
+libglibmm_2_4_la_LDFLAGS = -no-undefined -version-info $(LIBGLIBMM_SO_VERSION)
+libglibmm_2_4_la_LIBADD  = $(GLIBMM_LIBS)
diff --git a/glib/glibmm/filelist.am b/glib/glibmm/filelist.am
new file mode 100644
index 0000000..eca250b
--- /dev/null
+++ b/glib/glibmm/filelist.am
@@ -0,0 +1,86 @@
+## This file is part of glibmm.
+
+files_built_cc = $(files_hg:.hg=.cc) $(files_cc_m4:.m4=) wrap_init.cc
+files_built_h  = $(files_hg:.hg=.h) $(files_h_m4:.m4=)
+files_built_ph = $(files_hg:%.hg=private/%_p.h)
+
+files_extra_cc =			\
+	class.cc			\
+	containers.cc			\
+	debug.cc			\
+	dispatcher.cc			\
+	error.cc			\
+	exception.cc			\
+	exceptionhandler.cc		\
+	init.cc				\
+	interface.cc			\
+	main.cc				\
+	miscutils.cc			\
+	object.cc			\
+	objectbase.cc			\
+	pattern.cc			\
+	property.cc			\
+	propertyproxy.cc		\
+	propertyproxy_base.cc		\
+	quark.cc			\
+	random.cc			\
+	sarray.cc			\
+	signalproxy.cc			\
+	signalproxy_connectionnode.cc	\
+	streamiochannel.cc		\
+	stringutils.cc			\
+	threadpool.cc			\
+	timer.cc			\
+	timeval.cc			\
+	ustring.cc			\
+	utility.cc			\
+	value.cc			\
+	value_custom.cc			\
+	wrap.cc
+
+files_extra_h =				\
+	arrayhandle.h			\
+	class.h				\
+	containerhandle_shared.h	\
+	containers.h			\
+	debug.h				\
+	dispatcher.h			\
+	error.h				\
+	exception.h			\
+	exceptionhandler.h		\
+	helperlist.h			\
+	i18n-lib.h			\
+	i18n.h				\
+	init.h				\
+	interface.h			\
+	listhandle.h			\
+	main.h				\
+	miscutils.h			\
+	object.h			\
+	objectbase.h			\
+	pattern.h			\
+	priorities.h			\
+	property.h			\
+	propertyproxy.h			\
+	propertyproxy_base.h		\
+	quark.h				\
+	random.h			\
+	refptr.h			\
+	sarray.h			\
+	signalproxy_connectionnode.h	\
+	slisthandle.h			\
+	streamiochannel.h		\
+	stringutils.h			\
+	threadpool.h			\
+	timer.h				\
+	timeval.h			\
+	ustring.h			\
+	utility.h			\
+	value.h				\
+	value_custom.h			\
+	wrap.h				\
+	wrap_init.h
+
+files_extra_ph =			\
+	private/interface_p.h		\
+	private/object_p.h
diff --git a/glib/src/Makefile.am b/glib/src/Makefile.am
index 13dc496..76ffe28 100644
--- a/glib/src/Makefile.am
+++ b/glib/src/Makefile.am
@@ -1,22 +1,36 @@
-## Copyright (c) 2002
-## The gtkmm development team.
-
-sublib_name = glibmm
-sublib_namespace = Glib
-sublib_parentdir = glibmm
-files_defs = glib.defs glib_enums.defs glib_functions.defs gobject.defs gobject_enums.defs gobject_functions.defs  gmodule_enums.defs gmodule_functions.defs glib_docs.xml glib_docs_override.xml
-
-include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
-
-glibmm_files_m4 = signalproxy.h.m4 value_basictypes.cc.m4 value_basictypes.h.m4
-
-files_stamp	+= $(glibmm_files_m4:%.m4=$(gensrc_destdir)/%)
-EXTRA_DIST	+= $(glibmm_files_m4) template.macros.m4
-
-
-$(gensrc_destdir)/%.cc: %.cc.m4 template.macros.m4
-	$(M4) -I$(srcdir) $< >$@
-
-$(gensrc_destdir)/%.h: %.h.m4 template.macros.m4
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of glibmm.
+##
+## glibmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## glibmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library.  If not, see <http://www.gnu.org/licenses/>.
+
+# Override code generator commands to use the uninstalled tools.
+gmmproc       = $(PERL) -- $(top_builddir)/tools/gmmproc
+gen_wrap_init = $(PERL) -- $(top_builddir)/tools/generate_wrap_init.pl
+
+binding_name    = glibmm
+wrap_init_flags = --namespace=Glib --parent_dir=glibmm
+codegen_srcdir  = $(top_srcdir)/tools
+
+include $(srcdir)/filelist.am
+include $(top_srcdir)/tools/m4/filelist.am
+include $(top_srcdir)/build/generate-binding.am
+
+files_src_m4 = $(files_cc_m4) $(files_h_m4)
+
+other_built_sources += $(files_src_m4:%.m4=$(binding_outputdir)/%)
+dist_noinst_DATA    += $(files_src_m4) template.macros.m4
+
+$(binding_outputdir)/%: %.m4 template.macros.m4
 	$(M4) -I$(srcdir) $< >$@
-
diff --git a/glib/src/filelist.am b/glib/src/filelist.am
new file mode 100644
index 0000000..3d061c1
--- /dev/null
+++ b/glib/src/filelist.am
@@ -0,0 +1,39 @@
+## This file is part of glibmm.
+
+files_defs =			\
+	glib.defs		\
+	glib_enums.defs		\
+	glib_functions.defs	\
+	gmodule_enums.defs	\
+	gmodule_functions.defs	\
+	gobject.defs		\
+	gobject_enums.defs	\
+	gobject_functions.defs	\
+	glib_docs.xml		\
+	glib_docs_override.xml
+
+files_hg =			\
+	checksum.hg		\
+	convert.hg		\
+	date.hg			\
+	fileutils.hg		\
+	iochannel.hg		\
+	keyfile.hg		\
+	markup.hg		\
+	module.hg		\
+	nodetree.hg		\
+	optioncontext.hg	\
+	optionentry.hg		\
+	optiongroup.hg		\
+	regex.hg		\
+	shell.hg		\
+	spawn.hg		\
+	thread.hg		\
+	unicode.hg		\
+	uriutils.hg		\
+	valuearray.hg
+
+files_ccg = $(files_hg:%.hg=%.ccg)
+
+files_cc_m4 = value_basictypes.cc.m4
+files_h_m4  = signalproxy.h.m4 value_basictypes.h.m4



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