[gtkmm] Make libgdkmm-4.0 a noninstalled helper library



commit c645bd1ad95d334a875a34383e05015ba7d76d5c
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sun May 12 16:54:24 2019 +0200

    Make libgdkmm-4.0 a noninstalled helper library
    
    This merges libgdkmm-4.0 and libgtkmm-4.0 into one library.
    It installs gdkmm's header files in $(includedir)/gtkmm-4.0/.
    MSVC_NMake/ has not been fixed.
    
    Gtk has made a similar modification.
    See https://bugzilla.gnome.org/show_bug.cgi?id=773100
    
    Fixes #48

 Makefile.am                 |  6 +++---
 configure.ac                |  5 +++--
 demos/Makefile.am           |  2 +-
 gdk/gdkmm-uninstalled.pc.in | 10 ----------
 gdk/gdkmm.pc.in             | 19 -------------------
 gdk/gdkmm/Makefile.am       |  7 +++++--
 gtk/gtkmm-uninstalled.pc.in |  2 +-
 gtk/gtkmm.pc.in             |  2 +-
 tests/Makefile.am           |  2 +-
 9 files changed, 15 insertions(+), 40 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index c4f9c02f..713e2b91 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,9 +30,9 @@ doc_subdirs =
 endif
 SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests demos $(doc_subdirs)
 
-gdkmm_includedir = $(includedir)/$(GDKMM_MODULE_NAME)
+gdkmm_includedir = $(includedir)/$(GTKMM_MODULE_NAME)
 gdkmm_include_HEADERS = gdk/gdkmm.h
-gdkmm_libincludedir = $(libdir)/$(GDKMM_MODULE_NAME)/include
+gdkmm_libincludedir = $(libdir)/$(GTKMM_MODULE_NAME)/include
 nodist_gdkmm_libinclude_HEADERS = gdk/gdkmmconfig.h
 
 gtkmm_includedir = $(includedir)/$(GTKMM_MODULE_NAME)
@@ -41,7 +41,7 @@ gtkmm_libincludedir = $(libdir)/$(GTKMM_MODULE_NAME)/include
 nodist_gtkmm_libinclude_HEADERS = gtk/gtkmmconfig.h
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = gdk/$(GDKMM_MODULE_NAME).pc gtk/$(GTKMM_MODULE_NAME).pc
+pkgconfig_DATA = gtk/$(GTKMM_MODULE_NAME).pc
 
 include $(srcdir)/MSVC_NMake/filelist.am
 include $(srcdir)/win32_installer/filelist.am
diff --git a/configure.ac b/configure.ac
index 20706049..19d731ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,9 @@ AS_IF([test "x$gtkmm_enable_api_atkmm" != xno],
       [GTKMM_MODULES="atkmm-2.30 >= 2.29.1 $GTKMM_MODULES"])
 AC_SUBST([GTKMM_MODULES])
 
+# gtkmm.pc.in can assume that GDKMM_MODULES is a subset of GTKMM_MODULES,
+# not listing GDKMM_MODULES as required modules.
+
 AC_SUBST([GTKMM_DEMOS_EXTRA_MODULES], ['epoxy >= 1.2'])
 
 PKG_CHECK_MODULES([GDKMM], [$GDKMM_MODULES])
@@ -146,8 +149,6 @@ MM_ARG_ENABLE_WARNINGS([GTKMM_WXXFLAGS],
 
 AC_CONFIG_FILES([Makefile
                  tools/Makefile
-                 gdk/${GDKMM_MODULE_NAME}.pc:gdk/gdkmm.pc.in
-                 gdk/${GDKMM_MODULE_NAME}-uninstalled.pc:gdk/gdkmm-uninstalled.pc.in
                  gdk/src/Makefile
                  gdk/gdkmm/Makefile
                  gtk/${GTKMM_MODULE_NAME}.pc:gtk/gtkmm.pc.in
diff --git a/demos/Makefile.am b/demos/Makefile.am
index a25e8da7..ba3b8939 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -93,7 +93,7 @@ gtk-demo/demo_resources.c: gtk-demo/demo.gresource.xml $(GTK_DEMO_RESOURCES) $(G
        $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(dir $<) --generate-source $<
 
 gdkmm_includes = -I$(top_builddir)/gdk $(if $(srcdir:.=),-I$(top_srcdir)/gdk)
-gdkmm_ldadd    = $(top_builddir)/gdk/gdkmm/libgdkmm-$(GDKMM_API_VERSION).la
+gdkmm_ldadd    =
 
 gtkmm_includes = -I$(top_builddir)/gtk $(if $(srcdir:.=),-I$(top_srcdir)/gtk)
 gtkmm_ldadd    = $(top_builddir)/gtk/gtkmm/libgtkmm-$(GTKMM_API_VERSION).la
diff --git a/gdk/gdkmm/Makefile.am b/gdk/gdkmm/Makefile.am
index babffb71..2ee00863 100644
--- a/gdk/gdkmm/Makefile.am
+++ b/gdk/gdkmm/Makefile.am
@@ -15,7 +15,7 @@
 ## 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/>.
 
-lib_LTLIBRARIES = libgdkmm-@GDKMM_API_VERSION@.la
+noinst_LTLIBRARIES = libgdkmm-@GDKMM_API_VERSION@.la
 
 include $(srcdir)/../src/filelist.gmake.am
 include $(srcdir)/filelist.gmake.am
@@ -27,6 +27,9 @@ files_extra_cc = $(gdkmm_files_extra_cc)
 files_extra_h  = $(gdkmm_files_extra_h)
 files_extra_ph = $(gdkmm_files_extra_ph)
 
+# Install header files in $(includedir)/gtkmm-@GTKMM_API_VERSION@/gdkmm
+binding_modulename = gtkmm-@GTKMM_API_VERSION@
+
 include $(top_srcdir)/build/compile-binding.am
 
 local_cppflags = $(binding_includes) $(binding_cppflags) -DGDKMM_BUILD=1
@@ -35,5 +38,5 @@ AM_CPPFLAGS = $(local_cppflags) $(GTHREAD_CFLAGS) $(GDKMM_CFLAGS)
 AM_CXXFLAGS = $(GTKMM_WXXFLAGS)
 
 libgdkmm_@GDKMM_API_VERSION@_la_SOURCES = $(binding_sources)
-libgdkmm_@GDKMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(LIBGTKMM_SO_VERSION)
+libgdkmm_@GDKMM_API_VERSION@_la_LDFLAGS = -no-undefined
 libgdkmm_@GDKMM_API_VERSION@_la_LIBADD  = $(GDKMM_LIBS)
diff --git a/gtk/gtkmm-uninstalled.pc.in b/gtk/gtkmm-uninstalled.pc.in
index 2a569d6b..ed85dd48 100644
--- a/gtk/gtkmm-uninstalled.pc.in
+++ b/gtk/gtkmm-uninstalled.pc.in
@@ -5,6 +5,6 @@ Name: gtkmm
 Description: C++ binding for the GTK+ toolkit, not installed
 Version: @PACKAGE_VERSION@
 URL: http://www.gtkmm.org/
-Requires: @GTKMM_MODULES@ @GDKMM_MODULE_NAME@-uninstalled
+Requires: @GTKMM_MODULES@
 Libs: ${pc_top_builddir}/${pcfiledir}/gtkmm/libgtkmm-@GTKMM_API_VERSION@.la
 Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
diff --git a/gtk/gtkmm.pc.in b/gtk/gtkmm.pc.in
index 33bcf5cf..89eb542e 100644
--- a/gtk/gtkmm.pc.in
+++ b/gtk/gtkmm.pc.in
@@ -16,6 +16,6 @@ Name: gtkmm
 Description: C++ binding for the GTK+ toolkit
 Version: @PACKAGE_VERSION@
 URL: http://www.gtkmm.org/
-Requires: @GTKMM_MODULES@ @GDKMM_MODULE_NAME@
+Requires: @GTKMM_MODULES@
 Libs: -L${libdir} -lgtkmm-@GTKMM_API_VERSION@
 Cflags: -I${includedir}/@GTKMM_MODULE_NAME@ -I${libdir}/@GTKMM_MODULE_NAME@/include
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 01e3466c..f4139278 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -57,7 +57,7 @@ tree_model_iterator_test_SOURCES   = tree_model_iterator/main.cc
 wrap_existing_test_SOURCES         = wrap_existing/main.cc
 
 gdkmm_includes = -I$(top_builddir)/gdk $(if $(srcdir:.=),-I$(top_srcdir)/gdk)
-gdkmm_ldadd    = $(top_builddir)/gdk/gdkmm/libgdkmm-$(GDKMM_API_VERSION).la
+gdkmm_ldadd    =
 
 gtkmm_includes = -I$(top_builddir)/gtk $(if $(srcdir:.=),-I$(top_srcdir)/gtk)
 gtkmm_ldadd    = $(top_builddir)/gtk/gtkmm/libgtkmm-$(GTKMM_API_VERSION).la


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