aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-06-22 06:00:04 -0400
committerGitHub <noreply@github.com>2017-06-22 06:00:04 -0400
commita48a9217e4efa2dddfd8338fad858933b3cf573b (patch)
tree1e75eff07c1da6612a4b649627895ed8d4b908ee
parent624709bfc10b8bbdddd70fe814b00313facdc789 (diff)
parent70776cda98b65803eac7f847041ec3768bc37267 (diff)
downloadmeson-a48a9217e4efa2dddfd8338fad858933b3cf573b.zip
meson-a48a9217e4efa2dddfd8338fad858933b3cf573b.tar.gz
meson-a48a9217e4efa2dddfd8338fad858933b3cf573b.tar.bz2
Merge pull request #1966 from QuLogic/gtkdoc-libraries
Small gtkdoc improvements
-rw-r--r--mesonbuild/modules/gnome.py6
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/foobar-docs.sgml1
-rw-r--r--test cases/frameworks/10 gtk-doc/include/foo-version.h.in29
-rw-r--r--test cases/frameworks/10 gtk-doc/include/meson.build10
-rw-r--r--test cases/frameworks/10 gtk-doc/meson.build4
5 files changed, 48 insertions, 2 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 6c22976..fe85aa0 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -294,7 +294,7 @@ class GnomeModule(ExtensionModule):
else:
link_command = ['-l' + lib.name]
if isinstance(lib, build.SharedLibrary):
- libdir = state.backend.get_target_dir(lib)
+ libdir = os.path.join(state.environment.get_build_dir(), state.backend.get_target_dir(lib))
link_command.append('-L' + libdir)
# Needed for the following binutils bug:
# https://github.com/mesonbuild/meson/issues/1911
@@ -303,6 +303,8 @@ class GnomeModule(ExtensionModule):
for d in state.backend.determine_rpath_dirs(lib):
d = os.path.join(state.environment.get_build_dir(), d)
link_command.append('-L' + d)
+ if include_rpath:
+ link_command.append('-Wl,-rpath,' + d)
if include_rpath:
link_command.append('-Wl,-rpath,' + libdir)
if depends:
@@ -700,6 +702,8 @@ class GnomeModule(ExtensionModule):
for inc_dir in src_dir.get_incdirs():
header_dirs.append(os.path.join(state.environment.get_source_dir(),
src_dir.get_curdir(), inc_dir))
+ header_dirs.append(os.path.join(state.environment.get_build_dir(),
+ src_dir.get_curdir(), inc_dir))
else:
header_dirs.append(src_dir)
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar-docs.sgml
index d23b22f..028b808 100644
--- a/test cases/frameworks/10 gtk-doc/doc/foobar-docs.sgml
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar-docs.sgml
@@ -34,6 +34,7 @@
</para>
</partintro>
<xi:include href="xml/foo.xml"/>
+ <xi:include href="xml/foo-version.xml"/>
</reference>
</book>
diff --git a/test cases/frameworks/10 gtk-doc/include/foo-version.h.in b/test cases/frameworks/10 gtk-doc/include/foo-version.h.in
new file mode 100644
index 0000000..30751cd
--- /dev/null
+++ b/test cases/frameworks/10 gtk-doc/include/foo-version.h.in
@@ -0,0 +1,29 @@
+#pragma once
+
+/**
+ * SECTION:version
+ * @section_id: foo-version
+ * @short_description: <filename>foo-version.h</filename>
+ * @title: Foo Versioning
+ */
+
+/**
+ * FOO_MAJOR_VERSION:
+ *
+ * The major version of foo.
+ */
+#define FOO_MAJOR_VERSION (@FOO_MAJOR_VERSION@)
+
+/**
+ * FOO_MINOR_VERSION:
+ *
+ * The minor version of foo.
+ */
+#define FOO_MINOR_VERSION (@FOO_MINOR_VERSION@)
+
+/**
+ * FOO_MICRO_VERSION:
+ *
+ * The micro version of foo.
+ */
+#define FOO_MICRO_VERSION (@FOO_MICRO_VERSION@)
diff --git a/test cases/frameworks/10 gtk-doc/include/meson.build b/test cases/frameworks/10 gtk-doc/include/meson.build
new file mode 100644
index 0000000..4c85b80
--- /dev/null
+++ b/test cases/frameworks/10 gtk-doc/include/meson.build
@@ -0,0 +1,10 @@
+cdata = configuration_data()
+parts = meson.project_version().split('.')
+cdata.set('FOO_MAJOR_VERSION', parts[0])
+cdata.set('FOO_MINOR_VERSION', parts[1])
+cdata.set('FOO_MICRO_VERSION', parts[2])
+configure_file(input : 'foo-version.h.in',
+ output : 'foo-version.h',
+ configuration : cdata,
+ install : true,
+ install_dir : get_option('includedir'))
diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build
index 95eeefa..4cfcca1 100644
--- a/test cases/frameworks/10 gtk-doc/meson.build
+++ b/test cases/frameworks/10 gtk-doc/meson.build
@@ -1,4 +1,4 @@
-project('gtkdoctest', 'c')
+project('gtkdoctest', 'c', version : '1.0.0')
gnome = import('gnome')
@@ -6,6 +6,8 @@ assert(gnome.gtkdoc_html_dir('foobar') == 'share/gtkdoc/html/foobar', 'Gtkdoc in
inc = include_directories('include')
+subdir('include')
+
# We have to disable this test until this bug fix has landed to
# distros https://bugzilla.gnome.org/show_bug.cgi?id=753145
error('MESON_SKIP_TEST can not enable gtk-doc test until upstream fixes have landed.')