comparison doc/lib-symbol-visibility.texi @ 40179:6823a10c9418

Add script for determining the set of symbols to export from a library. * build-aux/declared.sh: New file, from GNU libunistring. * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries): Mention it.
author Bruno Haible <bruno@clisp.org>
date Sun, 03 Feb 2019 21:44:16 +0100
parents b06060465f09
children
comparison
equal deleted inserted replaced
40178:a8eeb883e377 40179:6823a10c9418
83 This is perfect: It burdens the maintainer only for exported API, not 83 This is perfect: It burdens the maintainer only for exported API, not
84 for library-internal API. And it keeps the annotations in the source code. 84 for library-internal API. And it keeps the annotations in the source code.
85 @end itemize 85 @end itemize
86 86
87 GNU libtool's @option{-export-symbols} option implements the first approach. 87 GNU libtool's @option{-export-symbols} option implements the first approach.
88 The script @code{declared.sh} from Gnulib can help to produce the list of
89 symbols.
88 90
89 This gnulib module implements the third approach. For this it relies on 91 This gnulib module implements the third approach. For this it relies on
90 GNU GCC 4.0 or newer, namely on its @samp{-fvisibility=hidden} command-line 92 GNU GCC 4.0 or newer, namely on its @samp{-fvisibility=hidden} command-line
91 option and the ``visibility'' attribute. (The ``visibility'' attribute 93 option and the ``visibility'' attribute. (The ``visibility'' attribute
92 was already supported in GCC 3.4, but without the command line option, 94 was already supported in GCC 3.4, but without the command line option,