diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-04-30 19:25:36 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2019-09-20 15:22:38 +0200 |
commit | 5615656384bb1b68db547af756ce3f53ebce6ee0 (patch) | |
tree | 53692fba4e25711cfdd4becd3e37b47e054183d9 /Makefile.am | |
parent | 2ded57d949db06816d9f8a59cf34bc91ff69c3d6 (diff) | |
download | network-manager-applet-5615656384bb1b68db547af756ce3f53ebce6ee0.tar.gz |
build: allow building a GTK4 flavor of libnma
This is EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL. GTK4 is not released yet
and things will change in incompatible ways.
A new library called "libnma-gtk4" is added. The non-libnma parts
(applet, editor) are not ported.
There are few reasons for merging this early and none of them is
shipping the library to the users at this point:
* To allow bringup of GTK4-enabled VPN plugins
* Do not block GTK4 enablement of GNOME Control Center
* Help avoid using features that will be difficult to port from GTK3
All the test programs work, they emit a fair amount of warnings about
properties that were removed in GTK4. To deal with those, we'd need to
build different GResources for GTK3 and GTK4. The differencies seem
small enough to the point the conversion could be automated. TODO,
doesn't block testing.
Tested to build with gtk+-4.0 = 3.94.0, but even the pkg-config name
changed since in GTK4 git master. Did I say this is EXPERIMENTAL and
there will be incompatible changes?
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index 863dbc69..1f969d74 100644 --- a/Makefile.am +++ b/Makefile.am @@ -216,6 +216,26 @@ src_utils_libutils_libnm_glib_la_LIBADD = \ endif +if WITH_LIBNMA_GTK4 + +noinst_LTLIBRARIES += src/utils/libutils-libnm-gtk4.la + +src_utils_libutils_libnm_gtk4_la_CPPFLAGS = \ + "-I$(srcdir)/shared" \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) + +src_utils_libutils_libnm_gtk4_la_SOURCES = \ + $(shared_files) \ + src/utils/utils.c \ + src/utils/utils.h + +src_utils_libutils_libnm_gtk4_la_LIBADD = \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) + +endif + check_programs += src/utils/tests/test-utils src_utils_tests_test_utils_SOURCES = src/utils/tests/test-utils.c @@ -336,6 +356,33 @@ $(src_wireless_security_libwireless_security_libnm_glib_la_OBJECTS): $(wireless_ endif +if WITH_LIBNMA_GTK4 + +noinst_LTLIBRARIES += src/wireless-security/libwireless-security-libnm-gtk4.la + +src_wireless_security_libwireless_security_libnm_gtk4_la_SOURCES = \ + $(wireless_security_c_real) + +nodist_src_wireless_security_libwireless_security_libnm_gtk4_la_SOURCES = \ + $(wireless_security_c_gen) + +src_wireless_security_libwireless_security_libnm_gtk4_la_CPPFLAGS = \ + "-I$(srcdir)/shared" \ + "-I$(srcdir)/src/utils" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) + +src_wireless_security_libwireless_security_libnm_gtk4_la_LIBADD = \ + src/utils/libutils-libnm-gtk4.la \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) + +$(src_wireless_security_libwireless_security_libnm_gtk4_la_OBJECTS): $(wireless_security_h_gen) + +endif + EXTRA_DIST += \ src/wireless-security/eap-method-fast.ui \ src/wireless-security/eap-method-leap.ui \ @@ -743,9 +790,222 @@ src_libnma_tests_bar_code_LDADD = \ $(LIBNM_LIBS) \ src/libnma/libnma.la +if WITH_LIBNMA_GTK4 + +lib_LTLIBRARIES += src/libnma/libnma-gtk4.la + +src_libnma_libnma_gtk4_la_SOURCES = \ + $(libnma_h_priv_real) \ + $(libnma_c_real) + +if WITH_GCR_GTK4 +src_libnma_libnma_gtk4_la_SOURCES += \ + $(libnma_h_priv_gcr) \ + $(libnma_c_gcr) +endif + +nodist_src_libnma_libnma_gtk4_la_SOURCES = \ + $(libnma_h_priv_gen) \ + $(libnma_c_gen) + +src_libnma_libnma_gtk4_la_CFLAGS = \ + -DICONDIR=\""$(datadir)/icons"\" \ + -DBINDIR=\""$(bindir)"\" \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DLIBEXECDIR=\""$(libexecdir)"\" \ + -DDATADIR=\""$(datadir)"\" \ + -DAUTOSTARTDIR=\""$(sysconfdir)/xdg/autostart"\" \ + -DNMALOCALEDIR=\"$(datadir)/locale\" \ + -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \ + "-I$(srcdir)/shared" \ + "-I$(srcdir)/src/utils" \ + "-I$(srcdir)/src/wireless-security" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + $(GUDEV_CFLAGS) \ + $(GCR_GCR4_CFLAGS) + +src_libnma_libnma_gtk4_la_LIBADD = \ + src/wireless-security/libwireless-security-libnm-gtk4.la \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + $(GUDEV_LIBS) \ + $(GCR_GCR4_LIBS) + +EXTRA_src_libnma_libnma_gtk4_la_DEPENDENCIES = src/libnma/libnma.ver + +src_libnma_libnma_gtk4_la_LDFLAGS = \ + -Wl,-no-undefined \ + -Wl,--version-script=$(srcdir)/src/libnma/libnma.ver + + +pkgconfig_DATA += src/libnma/libnma-gtk4.pc + +if HAVE_INTROSPECTION +src/libnma/NMA4-1.0.gir: src/libnma/libnma-gtk4.la +src_libnma_NMA4_1_0_gir_INCLUDES = NM-1.0 Gtk-4.0 +src_libnma_NMA4_1_0_gir_EXPORT_PACKAGES = libnma-gtk4 +src_libnma_NMA4_1_0_gir_CFLAGS = $(src_libnma_libnma_gtk4_la_CFLAGS) +src_libnma_NMA4_1_0_gir_LIBS = src/libnma/libnma-gtk4.la +src_libnma_NMA4_1_0_gir_FILES = \ + $(libnma_h_pub) \ + $(libnma_c_real) +if WITH_GCR_GTK4 +src_libnma_NMA4_1_0_gir_FILES += \ + $(libnma_c_gcr) +endif +src_libnma_NMA4_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=NMA --symbol-prefix=nma +INTROSPECTION_GIRS += src/libnma/NMA4-1.0.gir +endif + +check_PROGRAMS_norun += src/libnma/tests/mobile-wizard-gtk4 + +src_libnma_tests_mobile_wizard_gtk4_SOURCES = \ + src/libnma/tests/mobile-wizard.c + +src_libnma_tests_mobile_wizard_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_mobile_wizard_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/vpn-password-dialog-gtk4 + +src_libnma_tests_vpn_password_dialog_gtk4_SOURCES = \ + src/libnma/tests/vpn-password-dialog.c + +src_libnma_tests_vpn_password_dialog_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_vpn_password_dialog_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/wifi-dialog-gtk4 + +src_libnma_tests_wifi_dialog_gtk4_SOURCES = \ + src/libnma/tests/wifi-dialog.c + +src_libnma_tests_wifi_dialog_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_wifi_dialog_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/wifi-dialog-secrets-gtk4 + +src_libnma_tests_wifi_dialog_secrets_gtk4_SOURCES = \ + src/libnma/tests/wifi-dialog-secrets.c + +src_libnma_tests_wifi_dialog_secrets_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_wifi_dialog_secrets_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/run-vpn-gtk4 + +src_libnma_tests_run_vpn_gtk4_SOURCES = \ + src/libnma/tests/run-vpn.c + +src_libnma_tests_run_vpn_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_run_vpn_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/cert-chooser-gtk4 + +src_libnma_tests_cert_chooser_gtk4_SOURCES = \ + src/libnma/tests/cert-chooser.c + +src_libnma_tests_cert_chooser_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_cert_chooser_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +check_PROGRAMS_norun += src/libnma/tests/bar-code-gtk4 + +src_libnma_tests_bar_code_gtk4_SOURCES = \ + src/libnma/tests/bar-code.c + +src_libnma_tests_bar_code_gtk4_CPPFLAGS = \ + $(dflt_cppflags) \ + $(GLIB_CFLAGS) \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ + "-I$(srcdir)/shared/" \ + "-I$(srcdir)/src/libnma" \ + -Isrc/libnma + +src_libnma_tests_bar_code_gtk4_LDADD = \ + $(GLIB_LIBS) \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ + src/libnma/libnma-gtk4.la + +endif + EXTRA_DIST += \ src/libnma/nma-version.h.in \ src/libnma/libnma.pc.in \ + src/libnma/libnma-gtk4.pc.in \ src/libnma/libnma.ver \ src/libnma/wifi.ui \ src/libnma/nma-mobile-wizard.ui \ |