summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2018-04-30 19:25:36 +0200
committerLubomir Rintel <lkundrak@v3.sk>2019-09-20 15:22:38 +0200
commit5615656384bb1b68db547af756ce3f53ebce6ee0 (patch)
tree53692fba4e25711cfdd4becd3e37b47e054183d9 /Makefile.am
parent2ded57d949db06816d9f8a59cf34bc91ff69c3d6 (diff)
downloadnetwork-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.am260
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 \