summaryrefslogtreecommitdiff
path: root/gio/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'gio/meson.build')
-rw-r--r--gio/meson.build60
1 files changed, 36 insertions, 24 deletions
diff --git a/gio/meson.build b/gio/meson.build
index 42f67715d..a6af822b5 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -164,12 +164,6 @@ if host_system != 'windows'
endif
-network_args_string = ''
-foreach arg : network_args
- network_args_string += arg + ' '
-endforeach
-glib_conf.set('NETWORK_LIBS', network_args_string)
-
gnetworking_h_conf.set('WSPIAPI_INCLUDE', gnetworking_h_wspiapi_include)
gnetworking_h_conf.set('NAMESER_COMPAT_INCLUDE', gnetworking_h_nameser_compat_include)
@@ -240,7 +234,6 @@ subdir('gdbus-2.0/codegen')
xdp_dbus_generated = custom_target('xdp-dbus',
input : ['org.freedesktop.portal.Documents.xml',
'org.freedesktop.portal.OpenURI.xml',
- 'org.freedesktop.portal.NetworkMonitor.xml',
'org.freedesktop.portal.ProxyResolver.xml'],
output : ['xdp-dbus.h', 'xdp-dbus.c'],
depend_files : gdbus_codegen_built_files,
@@ -292,11 +285,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,19 +400,27 @@ 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')
appinfo_sources += files('gdesktopappinfo.c')
gio_unix_include_headers += files('gdesktopappinfo.h')
- subdir('xdgmime')
- internal_deps += [xdgmime_lib]
+
+ executable('gio-launch-desktop', 'gio-launch-desktop.c',
+ install : true,
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+ link_args : noseh_link_args)
endif
+ subdir('xdgmime')
+ internal_deps += [xdgmime_lib]
+
install_headers(gio_unix_include_headers, subdir : 'gio-unix-2.0/gio')
if glib_conf.has('HAVE_NETLINK')
@@ -762,15 +758,11 @@ if host_system == 'windows'
internal_deps += [ giowin32_lib ]
endif
-# FIXME: FAM support
-#if HAVE_FAM
-# subdir('fam')
-#endif
-
if have_bash
install_data([
'completion/gapplication',
'completion/gdbus',
+ 'completion/gio',
'completion/gsettings',
'completion/gresource'
],
@@ -798,6 +790,7 @@ libgio = library('gio-2.0',
libgobject_dep, libgmodule_dep, selinux_dep, xattr_dep,
platform_deps, network_libs],
c_args : gio_c_args,
+ objc_args : gio_c_args,
# intl.lib is not compatible with SAFESEH
link_args : [noseh_link_args, glib_link_flags],
)
@@ -857,9 +850,26 @@ else
endif
# Dependencies used by executables below
+have_libelf = false
libelf = dependency('libelf', version : '>= 0.8.12', required : false)
if libelf.found()
+ have_libelf = true
+else
+ # This fallback is necessary on *BSD. elfutils isn't the only libelf
+ # implementation, and *BSD usually includes their own libelf as a system
+ # library which doesn't have a corresponding .pc file.
+ libelf = cc.find_library('elf', required : false)
+ have_libelf = libelf.found()
+ have_libelf = have_libelf and cc.has_function('elf_begin', dependencies : libelf)
+ have_libelf = have_libelf and cc.has_function('elf_getshdrstrndx', dependencies : libelf)
+ have_libelf = have_libelf and cc.has_function('elf_getshdrnum', dependencies : libelf)
+ have_libelf = have_libelf and cc.has_header('libelf.h')
+endif
+
+if have_libelf
glib_conf.set('HAVE_LIBELF', 1)
+else
+ libelf = []
endif
gconstructor_as_data_h = custom_target('gconstructor_as_data.h',
@@ -902,7 +912,7 @@ executable('gresource', 'gresource-tool.c',
link_args : noseh_link_args,
dependencies : [libelf, libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
-executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
+gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
install : true,
c_args : gio_c_args,
# intl.lib is not compatible with SAFESEH
@@ -943,7 +953,7 @@ executable('gdbus', 'gdbus-tool.c',
link_args : noseh_link_args,
dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
-if host_system != 'windows'
+if host_system != 'windows' and not glib_have_cocoa
executable('gapplication', 'gapplication-tool.c',
install : true,
c_args : gio_c_args,
@@ -960,6 +970,8 @@ if enable_systemtap
install : true)
endif
+subdir('fam')
+
if host_system != 'windows'
subdir('tests')
endif