[babl] babl: limit exported symbols



commit ab20ab569a88c230e8d6931c8f4544f115fc2a60
Author: Øyvind Kolås <pippin gimp org>
Date:   Mon Sep 25 19:53:52 2017 +0200

    babl: limit exported symbols
    
    For now, also including symbols needed for internal tools and tests, that are
    not part of the public API; the API promised by babl remains the public
    headers, but this reduces the public dynamic loaders namespace a little.

 Makefile.am            |    3 +-
 babl/Makefile.am       |   10 +++++--
 export-symbols         |   68 ++++++++++++++++++++++++++++++++++++++++++++++++
 extensions/Makefile.am |    3 +-
 4 files changed, 78 insertions(+), 6 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index e46014c..ffa9645 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,7 +23,8 @@ EXTRA_DIST = \
        NEWS                    \
        TODO                    \
        autogen.sh              \
-       babl.pc.in
+       babl.pc.in              \
+       export-symbols
 
 DISTCLEANFILES = \
        $(built_dist_files)     \
diff --git a/babl/Makefile.am b/babl/Makefile.am
index c902325..6caa929 100644
--- a/babl/Makefile.am
+++ b/babl/Makefile.am
@@ -91,18 +91,22 @@ AM_CPPFLAGS =                               \
 
 lib_LTLIBRARIES= libbabl-@BABL_API_VERSION@.la
 
+libbabl_@BABL_API_VERSION@_la_SOURCES= $(h_sources) $(c_sources)
 libbabl_@BABL_API_VERSION@_la_CFLAGS= $(SSE2_EXTRA_CFLAGS)
 
-libbabl_@BABL_API_VERSION@_la_SOURCES= $(h_sources) $(c_sources)
 libbabl_@BABL_API_VERSION@_la_LIBADD=  \
        base/libbase.la                 \
        @LTLIBOBJS@
 
+libbabl_la_LDFLAGS=                    \
+       $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB)
+
 libbabl_@BABL_API_VERSION@_la_LDFLAGS=                 \
-       ${no_undefined} $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB) \
+       $(MATH_LIB) $(THREAD_LIB) $(LOG_LIB)            \
+       -export-symbols $(top_srcdir)/export-symbols    \
        -version-info $(BABL_LIBRARY_VERSION)
 
-EXTRA_DIST = babl-ref-pixels.inc
+EXTRA_DIST = babl-ref-pixels.inc 
 
 
 # If git is available, always check if git-version.h should be
diff --git a/export-symbols b/export-symbols
new file mode 100644
index 0000000..a0b28c4
--- /dev/null
+++ b/export-symbols
@@ -0,0 +1,68 @@
+babl_component
+babl_component_new
+babl_conversion_get_destination_space
+babl_conversion_get_source_space
+babl_conversion_new
+babl_cpu_accel_get_support
+babl_exit
+babl_fast_fish
+babl_fish
+babl_format
+babl_format_get_bytes_per_pixel
+babl_format_get_model
+babl_format_get_n_components
+babl_format_get_space
+babl_format_get_type
+babl_format_has_alpha
+babl_format_is_format_n
+babl_format_is_palette
+babl_format_n
+babl_format_new
+babl_format_with_space
+babl_free
+babl_get_name
+babl_get_name
+babl_get_user_data
+babl_get_version
+babl_icc_get_key
+babl_init
+babl_introspect
+babl_malloc
+babl_model
+babl_model_new
+babl_new_palette
+babl_palette_reset
+babl_palette_set_palette
+babl_process
+babl_process
+babl_sampling
+babl_set_user_data
+babl_space
+babl_space_from_icc
+babl_space_from_xyz
+babl_space_get_rgbtoxyz
+babl_space_to_xyz
+babl_ticks
+babl_type
+babl_type_new
+babl_space_to_icc
+babl_db_exist_by_name
+babl_db_find
+babl_db_init
+babl_db_exist_by_id
+babl_db_each
+babl_formats_count
+babl_format_class_for_each
+babl_model_class_for_each
+babl_type_class_for_each
+babl_conversion_class_for_each
+babl_set_extender
+babl_extension_quiet_log
+babl_fish_path
+babl_extender
+babl_class_name
+babl_sanity
+babl_type_is_symmetric
+babl_model_is_symmetric
+babl_fish_db
+babl_polynomial_approximate_gamma
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index f09ec87..ee97919 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -66,8 +66,7 @@ ycbcr_la_SOURCES = ycbcr.c
 float_la_SOURCES = float.c
 fast_float_la_SOURCES = fast-float.c
 
-LIBS = $(top_builddir)/babl/libbabl-@BABL_API_VERSION@.la $(MATH_LIB) \
-       $(THREAD_LIB)
+LIBS = $(MATH_LIB) $(THREAD_LIB) -lbabl-0.1
 
 sse2_float_la_CFLAGS = $(SSE2_EXTRA_CFLAGS)
 sse2_int8_la_CFLAGS = $(SSE2_EXTRA_CFLAGS)


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