[pangomm] Convert tools/ and pango/ to new infrastructure
- From: Daniel Elstner <daniel src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [pangomm] Convert tools/ and pango/ to new infrastructure
- Date: Tue, 11 Aug 2009 15:54:12 +0000 (UTC)
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]