build: Do not use headers on library building

Headers are not necessary to be passed to the library compilation
function because the compiler will find them. On the other hand
they are necessary for the proper GIR generation.

This patch splits headers and sources, uses only sources for the
library building and uses both for GIR generation. It also allows
getting both separately.

https://bugzilla.gnome.org/show_bug.cgi?id=792948
This commit is contained in:
Iñigo Martínez 2018-01-27 08:50:05 +01:00
parent 68b7fccda8
commit f764bb68e0

View File

@ -18,27 +18,30 @@ cdata.set_quoted('PACKAGE_VERSION', get_option('package_version'))
libgvc_inc = include_directories('.') libgvc_inc = include_directories('.')
libgvc_gir_sources = [ libgvc_gir_headers = [
'gvc-mixer-card.h',
'gvc-mixer-card.c',
'gvc-mixer-stream.h',
'gvc-mixer-stream.c',
'gvc-channel-map.h', 'gvc-channel-map.h',
'gvc-channel-map.c', 'gvc-mixer-card.h',
'gvc-mixer-ui-device.h',
'gvc-mixer-ui-device.c',
'gvc-mixer-sink.h',
'gvc-mixer-sink.c',
'gvc-mixer-source.h',
'gvc-mixer-source.c',
'gvc-mixer-sink-input.h',
'gvc-mixer-sink-input.c',
'gvc-mixer-source-output.h',
'gvc-mixer-source-output.c',
'gvc-mixer-event-role.h',
'gvc-mixer-event-role.c',
'gvc-mixer-control.h', 'gvc-mixer-control.h',
'gvc-mixer-control.c' 'gvc-mixer-event-role.h',
'gvc-mixer-sink.h',
'gvc-mixer-sink-input.h',
'gvc-mixer-source.h',
'gvc-mixer-source-output.h',
'gvc-mixer-stream.h',
'gvc-mixer-ui-device.h'
]
libgvc_gir_sources = [
'gvc-channel-map.c',
'gvc-mixer-card.c',
'gvc-mixer-control.c',
'gvc-mixer-event-role.c',
'gvc-mixer-sink.c',
'gvc-mixer-sink-input.c',
'gvc-mixer-source.c',
'gvc-mixer-source-output.c',
'gvc-mixer-stream.c',
'gvc-mixer-ui-device.c'
] ]
libgvc_no_gir_sources = [ libgvc_no_gir_sources = [
@ -110,7 +113,7 @@ if enable_introspection
endif endif
libgvc_gir = gnome.generate_gir(libgvc, libgvc_gir = gnome.generate_gir(libgvc,
sources: libgvc_gir_sources, sources: libgvc_gir_sources + libgvc_gir_headers,
nsversion: '1.0', nsversion: '1.0',
namespace: 'Gvc', namespace: 'Gvc',
includes: ['Gio-2.0', 'GObject-2.0'], includes: ['Gio-2.0', 'GObject-2.0'],