[pangomm] Convert tools/ and pango/ to new infrastructure



commit 210cb8267fef2cfb7f4ba770293f0ddaea6585f2
Author: Daniel Elstner <danielk openismus com>
Date:   Tue Aug 11 15:34:31 2009 +0200

    Convert tools/ and pango/ to new infrastructure
    
    * Makefile.am (SUBDIRS): Skip the pango/ subdirectory and recurse
    directly into pango/src/ and pango/pangomm/.
    (EXTRA_DIST): Remove the old build_shared/ include files.
    * configure.ac (AC_CONFIG_FILES): Remove files pango/Makefile.am,
    pango/pangomm/private/Makefile.am and tools/m4/Makefile.am from
    the list of output files.
    * pango/src/filelist.am: Rename Makefile_list_of_hg.am_fragment
    and adapt to new mm-common Automake include files.
    * pango/pangomm/filelist.am: New file, defining the list of source
    code files to compile.
    * pango/pangomm/private/Makefile.am: Delete obsolete file.
    * pango/src/Makefile.am: Rewrite to use new mm-common build
    infrastructure.
    * pango/pangomm/Makefile.am: ditto,
    * tools/Makefile.am: ditto.
    * tools/m4/filelist.am: Rename Makefile_list_of_sources.am_fragment
    and adapt to new mm-common Automake include files.
    * tools/m4/Makefile.am: Delete obsolete file.
    * build_shared/*.am_fragment: Delete obsolete build support files.

 ChangeLog                                      |   24 +++++++
 Makefile.am                                    |   89 +++---------------------
 build_shared/Makefile_build.am_fragment        |   49 -------------
 build_shared/Makefile_build_gensrc.am_fragment |   86 -----------------------
 build_shared/Makefile_gensrc.am_fragment       |   67 ------------------
 configure.ac                                   |    9 ---
 pango/pangomm/Makefile.am                      |   52 +++++++-------
 pango/pangomm/filelist.am                      |    8 ++
 pango/pangomm/private/Makefile.am              |   11 ---
 pango/src/Makefile.am                          |   40 +++++++----
 pango/src/Makefile_list_of_hg.am_fragment      |   15 ----
 pango/src/filelist.am                          |   38 ++++++++++
 tools/Makefile.am                              |   31 ++++++++-
 tools/m4/Makefile.am                           |   10 ---
 tools/m4/Makefile_list_of_sources.am_fragment  |    2 -
 tools/m4/filelist.am                           |    3 +
 16 files changed, 160 insertions(+), 374 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index a2d5c90..4c691c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,29 @@
 2009-08-11  Daniel Elstner  <danielk openismus com>
 
+	Convert tools/ and pango/ to new infrastructure
+
+	* Makefile.am (SUBDIRS): Skip the pango/ subdirectory and recurse
+	directly into pango/src/ and pango/pangomm/.
+	(EXTRA_DIST): Remove the old build_shared/ include files.
+	* configure.ac (AC_CONFIG_FILES): Remove files pango/Makefile.am,
+	pango/pangomm/private/Makefile.am and tools/m4/Makefile.am from
+	the list of output files.
+	* pango/src/filelist.am: Rename Makefile_list_of_hg.am_fragment
+	and adapt to new mm-common Automake include files.
+	* pango/pangomm/filelist.am: New file, defining the list of source
+	code files to compile.
+	* pango/pangomm/private/Makefile.am: Delete obsolete file.
+	* pango/src/Makefile.am: Rewrite to use new mm-common build
+	infrastructure.
+	* pango/pangomm/Makefile.am: ditto,
+	* tools/Makefile.am: ditto.
+	* tools/m4/filelist.am: Rename Makefile_list_of_sources.am_fragment
+	and adapt to new mm-common Automake include files.
+	* tools/m4/Makefile.am: Delete obsolete file.
+	* build_shared/*.am_fragment: Delete obsolete build support files.
+
+2009-08-11  Daniel Elstner  <danielk openismus com>
+
 	Begin transition to mm-common build system
 
 	* autogen.sh: Replace with minimal version using mm-common-prepare
diff --git a/Makefile.am b/Makefile.am
index 8f09687..6b47673 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,82 +18,13 @@
 ACLOCAL_AMFLAGS = -I scripts ${ACLOCAL_FLAGS}
 DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
 
-SUBDIRS = tools pango
-DIST_SUBDIRS = tools pango tests docs scripts MSVC_Net2005 MSVC_Net2008
-
-EXTRA_DIST	= build_shared/Makefile_build.am_fragment \
-		  build_shared/Makefile_build_gensrc.am_fragment \
-		  build_shared/Makefile_gensrc.am_fragment \
-		  build_shared/Makefile_conditional.am_fragment \
-		  README.win32 README.SUN \
-		  autogen.sh \
-                  COPYING COPYING.tools
-
-
-all-local:
-	@echo "*** Everything completed ***"
-
-dist-hook:
-	@echo; echo; \
-	echo "**********************************************************"; \
-	echo "* IMPORTANT NOTICE:                                      *"; \
-	echo "*                                                        *"; \
-	echo "* Be sure you have done a complete build before running  *"; \
-	echo "* 'make dist' or 'make distcheck', because otherwise     *"; \
-	echo "* the tarball will _not_ contain the dependency rules    *"; \
-	echo "* generated by the compiler.                             *"; \
-	echo "**********************************************************"; \
-	echo; echo
-
-
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-doc_tarball_files = \
-	docs/index.html docs/FAQ/html docs/images/*.gif \
-	docs/reference/html \
-	docs/tutorial/figures/*.png docs/tutorial/html
-
-# This doesn't work very well in a $(srcdir) != $(builddir) setup,
-# but this target is for maintainer use only anyway.
-
-pangomm-1-4-docs.tar.gz:
-	tar cf - --files-from - $(doc_tarball_files) | gzip -c --best >$@
-
-# Upload documentation:
-
-post-html-recursive:
-	list='docs'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
-	done
-
-post-html-local: pangomm-1-4-docs.tar.gz
-	rsync $(rsync_args) pangomm-1-4-docs.tar.gz $$USER $(web_host):$(web_path_pangomm)
-
-post-html: post-html-recursive post-html-local
-
-doc-clean-recursive:
-	(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild:
-	(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
-
-SVN_REV=`svnversion -n`
-URL_KEY=URL:
-SVN_PATH=`svn info |grep "$(URL_KEY)" |sed -e "s/$(URL_KEY)\s*//"`
-ROOT_KEY=Repository Root:
-SVN_ROOT=`svn info |grep "$(ROOT_KEY)" |sed -e "s/$(ROOT_KEY)\s*//"`
-
-tag-release: distcheck
-	@svn cp -r$(SVN_REV) -m "tag $(PACKAGE) $(VERSION)" $(SVN_PATH) $(SVN_ROOT)/tags/$(PACKAGE)-$(VERSION) \
-		|| (echo "Tagging failed.  Do you have local changes that are not committed?" \
-		&& echo "Try running `svn update`." && false)
-	@echo "Release Tagged."
-
-release: tag-release
-	scp $(DIST_ARCHIVES) master.gnome.org:
-	@echo "Tarball uploaded.  Now run install-module on master.gnome.org"
-
-.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild release tag-release
-
+if MAINTAINER_MODE
+src_subdirs = tools pango/src
+else
+src_subdirs =
+endif
+SUBDIRS = $(src_subdirs) pango/pangomm
+DIST_SUBDIRS = tools pango/src pango/pangomm docs scripts MSVC_Net2005 MSVC_Net2008
+
+dist_noinst_DATA = COPYING.tools README.SUN README.win32
+dist_noinst_SCRIPTS = autogen.sh
diff --git a/configure.ac b/configure.ac
index b64294f..313d9e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,23 +67,14 @@ Do not use this option for distribution packages.]])
 ])
 AC_SUBST([DISABLE_DEPRECATED_API_CFLAGS])
 
-# TODO: Remove dummies
-AC_SUBST([GMMPROC], ['${GMMPROC_DIR}/gmmproc'])
-AM_CONDITIONAL([OS_WIN32], [false])
-AM_CONDITIONAL([PLATFORM_WIN32], [false])
-
 AC_CONFIG_FILES([
   Makefile
 
-  pango/Makefile
   pango/pangomm-1.4.pc
     pango/src/Makefile
     pango/pangomm/Makefile
-      pango/pangomm/private/Makefile
 
   tools/Makefile
-    tools/m4/Makefile
-    tools/extra_defs_gen/Makefile
 
   MSVC_Net2005/Makefile
     MSVC_Net2005/gendef/Makefile
diff --git a/pango/pangomm/Makefile.am b/pango/pangomm/Makefile.am
index 60d95fd..1b52a5c 100644
--- a/pango/pangomm/Makefile.am
+++ b/pango/pangomm/Makefile.am
@@ -1,31 +1,29 @@
-## Copyright (c) 2001
-## The pangomm development team.
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of pangomm.
+##
+## pangomm 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.
+##
+## pangomm 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		= pangomm
-sublib_libname		= pangomm-1.4
-sublib_libversion = $(LIBPANGOMM_SO_VERSION)
-sublib_namespace	= Pango
-sublib_cflags		= $(PANGOMM_CFLAGS)
-sublib_topdir = pango
-sublib_win32_dlls_libs	= 
-
-
-sublib_files_extra_posix_cc =
-sublib_files_extra_win32_cc =
-sublib_files_extra_general_cc = init.cc
-sublib_files_extra_general_deprecated_cc =
-
-sublib_files_extra_posix_h =
-sublib_files_extra_win32_h =
-sublib_files_extra_general_h = init.h types.h
-sublib_files_extra_general_deprecated_h = 
+lib_LTLIBRARIES = libpangomm-1.4.la
 
-include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/scripts/compile-binding.am
 
-lib_LTLIBRARIES = libpangomm-1.4.la
-libpangomm_1_4_la_SOURCES	= $(files_built_cc) $(files_extra_cc)
-libpangomm_1_4_la_LDFLAGS	= $(common_ldflags)
-libpangomm_1_4_la_LIBADD	= $(win32_dlls_extra_libs) $(PANGOMM_LIBS)
+AM_CPPFLAGS = $(binding_includes) $(binding_cppflags) $(GTHREAD_CFLAGS) $(PANGOMM_CFLAGS)
+AM_CXXFLAGS = $(PANGOMM_WXXFLAGS)
 
+libpangomm_1_4_la_SOURCES = $(binding_sources)
+libpangomm_1_4_la_LDFLAGS = -no-undefined -version-info $(LIBPANGOMM_SO_VERSION)
+libpangomm_1_4_la_LIBADD  = $(PANGOMM_LIBS)
diff --git a/pango/pangomm/filelist.am b/pango/pangomm/filelist.am
new file mode 100644
index 0000000..1520f53
--- /dev/null
+++ b/pango/pangomm/filelist.am
@@ -0,0 +1,8 @@
+## This file is part of pangomm.
+
+files_built_cc	= $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h	= $(files_hg:.hg=.h)
+files_built_ph	= $(patsubst %.hg,private/%_p.h,$(files_hg))
+files_extra_cc	= init.cc
+files_extra_h	= init.h types.h wrap_init.h
+files_extra_ph	=
diff --git a/pango/src/Makefile.am b/pango/src/Makefile.am
index ee9435c..75f8819 100644
--- a/pango/src/Makefile.am
+++ b/pango/src/Makefile.am
@@ -1,16 +1,24 @@
-## Copyright (c) 2001
-## The pangomm development team.
-
-sublib_name = pangomm
-sublib_namespace = Pango
-sublib_parentdir = pangomm
-files_defs = pango.defs pango_methods.defs pango_enums.defs pango_vfuncs.defs \
-             pango_docs.xml pango_docs_override.xml
-
-include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
-
-
-
-
-
-
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of pangomm.
+##
+## pangomm 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.
+##
+## pangomm 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/>.
+
+binding_name    = pangomm
+wrap_init_flags = --namespace=Pango --parent_dir=pangomm
+codegen_srcdir  = $(top_srcdir)/tools
+
+include $(srcdir)/filelist.am
+include $(top_srcdir)/tools/m4/filelist.am
+include $(top_srcdir)/scripts/generate-binding.am
diff --git a/pango/src/filelist.am b/pango/src/filelist.am
new file mode 100644
index 0000000..061c344
--- /dev/null
+++ b/pango/src/filelist.am
@@ -0,0 +1,38 @@
+## This file is part of pangomm.
+
+files_defs =			\
+	pango.defs		\
+	pango_methods.defs	\
+	pango_enums.defs	\
+	pango_vfuncs.defs	\
+	pango_docs.xml		\
+	pango_docs_override.xml
+
+files_hg =			\
+	attributes.hg		\
+	attriter.hg		\
+	attrlist.hg		\
+	cairofontmap.hg		\
+	color.hg		\
+	context.hg		\
+	coverage.hg		\
+	font.hg			\
+	fontdescription.hg	\
+	fontface.hg		\
+	fontfamily.hg		\
+	fontmap.hg		\
+	fontmetrics.hg		\
+	fontset.hg		\
+	glyph.hg		\
+	glyphstring.hg		\
+	item.hg			\
+	language.hg		\
+	layout.hg		\
+	layoutiter.hg		\
+	layoutline.hg		\
+	layoutrun.hg		\
+	rectangle.hg		\
+	renderer.hg		\
+	tabarray.hg
+
+files_ccg = $(files_hg:.hg=.ccg)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index cab6f1a..a7aa237 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,9 +1,34 @@
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of pangomm.
+##
+## pangomm 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.
+##
+## pangomm 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/>.
 
-include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+AUTOMAKE_OPTIONS = subdir-objects
 
-SUBDIRS = m4 extra_defs_gen
+include $(srcdir)/m4/filelist.am
 
-EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
+dist_noinst_DATA = $(addprefix m4/,$(files_codegen_m4))
+noinst_PROGRAMS  = extra_defs_gen/generate_extra_defs
 
+extra_defs_gen_generate_extra_defs_SOURCES = extra_defs_gen/generate_defs_pango.cc
+extra_defs_gen_generate_extra_defs_LDADD   = $(PANGOMM_LIBS) -lglibmm_generate_extra_defs-2.4
+extra_defs_gen_generate_extra_defs_LDFLAGS = -no-undefined -avoid-version
 
+AM_CPPFLAGS = -I$(top_builddir) $(GTHREAD_CFLAGS) $(PANGOMM_CFLAGS)
+AM_CXXFLAGS = $(PANGOMM_WXXFLAGS)
 
+# Instruct GNU make to delete the targets of a rule after it failed, in
+# order to avoid the complication of handling that situation manually.
+.DELETE_ON_ERROR:
diff --git a/tools/m4/filelist.am b/tools/m4/filelist.am
new file mode 100644
index 0000000..7538d17
--- /dev/null
+++ b/tools/m4/filelist.am
@@ -0,0 +1,3 @@
+## This file is part of pangomm.
+
+files_codegen_m4 = convert.m4 convert_pango.m4



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