From 715a10bbf5d34654a40b0622b4a2cff155f974d7 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Fri, 22 Jun 2018 00:29:30 +0100 Subject: [PATCH 1/2] Revert "Revert "build: Look for copied Objective-C files in builddir again"" This reverts commit 04c86912083b6755731d398277dd777f3ccca5c8. --- gio/Makefile.am | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gio/Makefile.am b/gio/Makefile.am index 9dccb68298..e8f8fffa3b 100644 --- a/gio/Makefile.am +++ b/gio/Makefile.am @@ -627,13 +627,13 @@ libgio_objc_2_0_la_CFLAGS = $(libgio_2_0_la_CFLAGS) -xobjective-c libgio_objc_2_0_la_CPPFLAGS = $(libgio_2_0_la_CPPFLAGS) libgio_objc_2_0_la_LDFLAGS = $(libgio_2_0_la_LDFLAGS) -Wl,-framework,Foundation -Wl,-framework,AppKit libgio_objc_2_0_la_SOURCES = \ - gnextstepsettingsbackend.c \ - gosxcontenttype.c \ - gosxappinfo.c \ - gosxappinfo.h + $(builddir)/gnextstepsettingsbackend.c \ + $(builddir)/gosxcontenttype.c \ + $(builddir)/gosxappinfo.c \ + $(builddir)/gosxappinfo.h if MAC_OS_X_9 libgio_objc_2_0_la_SOURCES += \ - gcocoanotificationbackend.c + $(builddir)/gcocoanotificationbackend.c endif noinst_LTLIBRARIES += libgio-objc-2.0.la -- GitLab From 464ec09d1faa086fa0c4595eb1dca8de65f1014b Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Fri, 22 Jun 2018 00:43:09 +0100 Subject: [PATCH 2/2] build: Attempt at delaying the build of ObjC files Let's try keeping the dependency straight, and only copy the .m files into .c files when we actually need them, instead of unconditionally. --- gio/Makefile.am | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/gio/Makefile.am b/gio/Makefile.am index e8f8fffa3b..7dd8a520e4 100644 --- a/gio/Makefile.am +++ b/gio/Makefile.am @@ -609,32 +609,28 @@ libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \ # files to .c directly in the source tree because Meson needs the .m extension. # This must be done outside of "if OS_COCOA" block otherwise distcheck fails. # See https://bugzilla.gnome.org/show_bug.cgi?id=672777. -OBJC_FILES = \ +ALL_OBJC_FILES = \ gnextstepsettingsbackend.m \ gosxcontenttype.m \ gosxappinfo.m \ gcocoanotificationbackend.m \ $(NULL) +EXTRA_DIST += $(ALL_OBJC_FILES) + +if OS_COCOA +if !MAC_OS_X_9 +OBJC_FILES = $(filter-out gcocoanotificationbackend.m, $(ALL_OBJC_FILES)) +endif + OBJC_C_FILES = $(OBJC_FILES:.m=.c) -BUILT_SOURCES += $(OBJC_C_FILES) CLEANFILES += $(OBJC_C_FILES) -EXTRA_DIST += $(OBJC_FILES) $(OBJC_C_FILES): %.c: %.m Makefile - cp $< $@ + $(AM_V_GEN)cp $< $@ -if OS_COCOA libgio_objc_2_0_la_CFLAGS = $(libgio_2_0_la_CFLAGS) -xobjective-c libgio_objc_2_0_la_CPPFLAGS = $(libgio_2_0_la_CPPFLAGS) libgio_objc_2_0_la_LDFLAGS = $(libgio_2_0_la_LDFLAGS) -Wl,-framework,Foundation -Wl,-framework,AppKit -libgio_objc_2_0_la_SOURCES = \ - $(builddir)/gnextstepsettingsbackend.c \ - $(builddir)/gosxcontenttype.c \ - $(builddir)/gosxappinfo.c \ - $(builddir)/gosxappinfo.h -if MAC_OS_X_9 -libgio_objc_2_0_la_SOURCES += \ - $(builddir)/gcocoanotificationbackend.c -endif +libgio_objc_2_0_la_SOURCES = $(OBJC_C_FILES) noinst_LTLIBRARIES += libgio-objc-2.0.la libgio_2_0_la_LIBADD += libgio-objc-2.0.la -- GitLab