[augeas-devel] augeas: master - libfa: use linker script to only export public symbols

David Lutterkort lutter at fedoraproject.org
Fri Jun 12 00:34:45 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=65434dca22c1bd4d580a5ed2944e8df63efd8140
Commit:        65434dca22c1bd4d580a5ed2944e8df63efd8140
Parent:        86522768bcd5981ade7e4744a13fd91d1b537079
Author:        David Lutterkort <lutter at redhat.com>
AuthorDate:    Thu Jun 11 17:33:34 2009 -0700
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Thu Jun 11 17:33:34 2009 -0700

libfa: use linker script to only export public symbols

libfa was exporting all kinds of symbols that were meant to be internal;
now it only exports what's in fa.h
---
 src/Makefile.am    |   11 +++++++----
 src/fa_sym.version |   23 +++++++++++++++++++++++
 tests/Makefile.am  |    2 +-
 3 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 2cc4bb8..e7a472b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -26,12 +26,15 @@ libaugeas_la_SOURCES = augeas.h augeas.c pathx.c \
 	transform.h transform.c ast.c get.c put.c list.h
 
 if USE_VERSION_SCRIPT
-  VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/augeas_sym.version
+  AUGEAS_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/augeas_sym.version
+  FA_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/fa_sym.version
 else
-  VERSION_SCRIPT =
+  AUGEAS_VERSION_SCRIPT =
+  FA_VERSION_SCRIPT =
 endif
 
-libaugeas_la_LDFLAGS = $(VERSION_SCRIPT) -version-info $(LIBAUGEAS_VERSION_INFO)
+libaugeas_la_LDFLAGS = $(AUGEAS_VERSION_SCRIPT) \
+    -version-info $(LIBAUGEAS_VERSION_INFO)
 libaugeas_la_LIBADD = liblexer.la libfa.la $(LIB_SELINUX) $(GNULIB)
 
 augtool_SOURCES = augtool.c
@@ -41,7 +44,7 @@ augparse_SOURCES = augparse.c
 augparse_LDADD = libaugeas.la $(GNULIB)
 
 libfa_la_SOURCES = fa.c fa.h hash.c hash.h memory.c memory.h ref.h
-libfa_la_LDFLAGS = -version-info $(LIBFA_VERSION_INFO)
+libfa_la_LDFLAGS = $(FA_VERSION_SCRIPT) -version-info $(LIBFA_VERSION_INFO)
 
 liblexer_la_SOURCES = lexer.l
 liblexer_la_CFLAGS = $(AM_CFLAGS) -Wno-error
diff --git a/src/fa_sym.version b/src/fa_sym.version
new file mode 100644
index 0000000..ab81e8e
--- /dev/null
+++ b/src/fa_sym.version
@@ -0,0 +1,23 @@
+FA_1.0.0 {
+    global:
+      fa_minimization_algorithm;
+      fa_compile;
+      fa_make_basic;
+      fa_is_basic;
+      fa_minimize;
+      fa_concat;
+      fa_union;
+      fa_intersect;
+      fa_complement;
+      fa_minus;
+      fa_iter;
+      fa_contains;
+      fa_equals;
+      fa_free;
+      fa_dot;
+      fa_overlap;
+      fa_example;
+      fa_ambig_example;
+      fa_as_regexp;
+    local: *;
+};
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4b36713..1f5d1ef 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -33,7 +33,7 @@ INCLUDES = -I$(top_srcdir)/src
 fatest_SOURCES = fatest.c cutest.c cutest.h
 fatest_LDADD = $(top_builddir)/src/libaugeas.la $(GNULIB)
 
-test_xpath_SOURCES = test-xpath.c
+test_xpath_SOURCES = test-xpath.c $(top_srcdir)/src/memory.c
 test_xpath_LDADD = $(top_builddir)/src/libaugeas.la $(GNULIB)
 
 test_load_SOURCES = test-load.c cutest.c cutest.h




More information about the augeas-devel mailing list