mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
Rename objective-c files from .c to .m
Those files got renamed to .c to work around an automake issue, but Meson needs them to have .m extension. Better rename them at build time in Makefile.am since that's where the workaround is needed. https://bugzilla.gnome.org/show_bug.cgi?id=672777
This commit is contained in:
@@ -602,10 +602,25 @@ libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
|
||||
-export-dynamic $(no_undefined)
|
||||
|
||||
if OS_COCOA
|
||||
# Let's avoid polluting the CFLAGS of libgio with -xobjective-c
|
||||
# We cannot simply rename the ObjC files to .m because it plays
|
||||
# tricks with Automake. For further reference, see:
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=672777
|
||||
# We cannot build .m files because it would require adding AC_PROG_OBJC in
|
||||
# configure.ac, and it cannot be added conditionally. That means we would always
|
||||
# depend on an objective-c compiler even when not needed. To work around that
|
||||
# limitation we rename .m files to .c and compile them separately with
|
||||
# -xobjective-c into an intermediary library. Note that we cannot rename those
|
||||
# files to .c directly in the source tree because Meson needs the .m extension.
|
||||
# See https://bugzilla.gnome.org/show_bug.cgi?id=672777.
|
||||
OBJC_FILES = \
|
||||
gnextstepsettingsbackend.m \
|
||||
gosxcontenttype.m \
|
||||
gosxappinfo.m \
|
||||
gcocoanotificationbackend.m \
|
||||
$(NULL)
|
||||
OBJC_C_FILES = $(OBJC_FILES:.m=.c)
|
||||
BUILT_SOURCES += $(OBJC_C_FILES)
|
||||
CLEANFILES += $(OBJC_C_FILES)
|
||||
$(OBJC_C_FILES): %.c: %.m Makefile
|
||||
cp $< $@
|
||||
|
||||
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
|
||||
|
@@ -292,11 +292,6 @@ if host_system == 'windows'
|
||||
settings_sources += files('gregistrysettingsbackend.c')
|
||||
endif
|
||||
|
||||
# FIXME:
|
||||
#if OS_COCOA
|
||||
#settings_sources += files('gnextstepsettingsbackend.c')
|
||||
#endif
|
||||
|
||||
application_headers = files(
|
||||
'gapplication.h',
|
||||
'gapplicationcommandline.h',
|
||||
@@ -412,10 +407,11 @@ if host_system != 'windows'
|
||||
)
|
||||
|
||||
if glib_have_cocoa
|
||||
contenttype_sources += files('gosxcontenttype.c')
|
||||
appinfo_sources += files('gosxappinfo.c')
|
||||
settings_sources += files('gnextstepsettingsbackend.m')
|
||||
contenttype_sources += files('gosxcontenttype.m')
|
||||
appinfo_sources += files('gosxappinfo.m')
|
||||
if glib_have_os_x_9_or_later
|
||||
unix_sources += files('gcocoanotificationbackend.c')
|
||||
unix_sources += files('gcocoanotificationbackend.m')
|
||||
endif
|
||||
else
|
||||
contenttype_sources += files('gcontenttype.c')
|
||||
|
Reference in New Issue
Block a user