[libgepub] build: Fixed invalid linker flags



commit a5f9fec6324e3452bbd62447eef190c0d683ea0f
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Thu Jun 22 17:40:02 2017 +0200

    build: Fixed invalid linker flags
    
    A symbol visibility map file has been created for ld and the invalid
    libtool flag has been removed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=784097

 libgepub/gepub.map   |   63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 libgepub/meson.build |    4 +++
 2 files changed, 67 insertions(+), 0 deletions(-)
---
diff --git a/libgepub/gepub.map b/libgepub/gepub.map
new file mode 100644
index 0000000..3cc5fd9
--- /dev/null
+++ b/libgepub/gepub.map
@@ -0,0 +1,63 @@
+LIBGEPUB_0 {
+global:
+       gepub_archive_get_type;
+       gepub_archive_new;
+       gepub_archive_list_files;
+       gepub_archive_read_entry;
+       gepub_archive_get_root_file;
+
+       gepub_text_chunk_get_type;
+       gepub_text_chunk_new;
+       gepub_text_chunk_type_str;
+       gepub_text_chunk_text;
+       gepub_text_chunk_type;
+
+       gepub_doc_get_type;
+       gepub_doc_new;
+       gepub_doc_get_content;
+       gepub_doc_get_metadata;
+       gepub_doc_get_resource;
+       gepub_doc_get_resource_by_id;
+       gepub_doc_get_resources;
+       gepub_doc_get_resource_mime;
+       gepub_doc_get_resource_mime_by_id;
+       gepub_doc_get_current_mime;
+       gepub_doc_get_text;
+       gepub_doc_get_text_by_id;
+       gepub_doc_get_current;
+       gepub_doc_get_current_with_epub_uris;
+       gepub_doc_get_cover;
+       gepub_doc_get_resource_path;
+       gepub_doc_get_current_path;
+       gepub_doc_get_current_id;
+       gepub_doc_go_next;
+       gepub_doc_go_prev;
+       gepub_doc_get_n_pages;
+       gepub_doc_get_page;
+       gepub_doc_set_page;
+
+       gepub_widget_get_type;
+       gepub_widget_new;
+       gepub_widget_get_doc;
+       gepub_widget_set_doc;
+       gepub_widget_get_paginate;
+       gepub_widget_set_paginate;
+       gepub_widget_get_n_chapters;
+       gepub_widget_get_chapter;
+       gepub_widget_get_chapter_length;
+       gepub_widget_set_chapter;
+       gepub_widget_chapter_next;
+       gepub_widget_chapter_prev;
+       gepub_widget_get_pos;
+       gepub_widget_set_pos;
+       gepub_widget_page_next;
+       gepub_widget_page_prev;
+       gepub_widget_get_margin;
+       gepub_widget_set_margin;
+       gepub_widget_get_fontsize;
+       gepub_widget_set_fontsize;
+       gepub_widget_get_lineheight;
+       gepub_widget_set_lineheight;
+local:
+       *;
+};
diff --git a/libgepub/meson.build b/libgepub/meson.build
index 1824403..e2bcf84 100644
--- a/libgepub/meson.build
+++ b/libgepub/meson.build
@@ -23,8 +23,11 @@ sources = files(
   'gepub-widget.c'
 )
 
+symbol_map = 'gepub.map'
+
 ldflags = [
   '-no-undefined',
+  '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbol_map)
 ]
 
 gepub_ldflags = []
@@ -45,6 +48,7 @@ libgepub = library(
   include_directories: top_inc,
   dependencies: gepub_deps,
   link_args: gepub_ldflags,
+  link_depends: symbol_map,
   install: true,
   install_dir: gepub_libdir
 )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]