diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-08-09 23:40:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-08-09 23:40:11 +0200 |
commit | 9af080f7206dccffb91409529fff74e6554f2385 (patch) | |
tree | 03ad76c93e5f305b6482d4535e58da36bba4dcd2 | |
parent | 25361e4b2564623f57a5b338912b2f656bfc8d94 (diff) |
Use a linker version script for libguile.
* libguile/Makefile.am (libguile_la_LDFLAGS)[HAVE_LD_VERSION_SCRIPT]:
Use `libguile.map'.
(EXTRA_DIST): Add `libguile.map'.
* libguile/libguile.map: New file.
-rw-r--r-- | libguile/Makefile.am | 9 | ||||
-rw-r--r-- | libguile/libguile.map | 44 |
2 files changed, 52 insertions, 1 deletions
diff --git a/libguile/Makefile.am b/libguile/Makefile.am index dfaa65a8f..09be8785f 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -223,6 +223,13 @@ libguile_la_DEPENDENCIES = @LIBLOBJS@ libguile_la_LIBADD = @LIBLOBJS@ $(gnulib_library) $(LTLIBGMP) $(LTLIBUNISTRING) libguile_la_LDFLAGS = @LTLIBINTL@ -version-info @LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@ -export-dynamic -no-undefined +if HAVE_LD_VERSION_SCRIPT + +libguile_la_LDFLAGS += -Wl,--version-script="$(srcdir)/libguile.map" + +endif HAVE_LD_VERSION_SCRIPT + + # These are headers visible as <guile/mumble.h> pkginclude_HEADERS = @@ -264,7 +271,7 @@ EXTRA_DIST = ChangeLog-scm ChangeLog-threads \ cpp_errno.c cpp_err_symbols.in cpp_err_symbols.c \ cpp_sig_symbols.c cpp_sig_symbols.in cpp_cnvt.awk \ c-tokenize.lex version.h.in \ - scmconfig.h.top libgettext.h + scmconfig.h.top libgettext.h libguile.map # $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \ # guile-procedures.txt guile.texi diff --git a/libguile/libguile.map b/libguile/libguile.map new file mode 100644 index 000000000..2586e0abf --- /dev/null +++ b/libguile/libguile.map @@ -0,0 +1,44 @@ +# Linker version script for libguile. -*- ld-script -*- +# +# Copyright (C) 2009 Free Software Foundation, Inc. +# +# This file is part of GUILE. +# +# GUILE is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 3, or +# (at your option) any later version. +# +# GUILE is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with GUILE; see the file COPYING.LESSER. If not, +# write to the Free Software Foundation, Inc., 51 Franklin Street, +# Fifth Floor, Boston, MA 02110-1301 USA + +GUILE_2.0 +{ + global: + # Note: This includes `scm_i_' symbols declared as `SCM_API' (e.g., + # symbols from `deprecated.c' or symbols used by public inline + # functions or macros). + scm_*; + + # GDB interface. + gdb_options; + gdb_language; + gdb_result; + gdb_output; + gdb_output_length; + gdb_maybe_valid_type_p; + gdb_read; + gdb_eval; + gdb_print; + gdb_binding; + + local: + *; +}; |