Commit Graph

327 Commits

Author SHA1 Message Date
Ralf Wildenhues
c0f72e1d8d Update all mention of FDL to 1.2. 2007-07-23 22:35:29 +00:00
Ralf Wildenhues
0a0134c0fc * doc/fdl.texi: Update to GFDL 1.2.
* doc/libtool.texi: Adjust.  Put License in Appendix.
2007-07-23 22:33:12 +00:00
Gary V. Vaughan
c823c708c8 Without this patch, lt_dlopen always opens modules with symbol
visibility set according to the underlying implementation.
Here, we add lt_dlopenadvise() to allow callers to request,
among other things, local or global symbol visibility from the
underlying dlloader:

* libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed.
(LT_DLIS_RESIDENT): Use public is_resident info field.
(LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for
module symbol visibility status.
(tryall_dlopen): If vtable->module_open() was able to act on
either is_symlocal or is_symglobal hints, store that in
the handle flags.
(lt_dlopenadvise): New function that works like lt_dlopen(),
but accepts an advise type to determine whether to ask
dlloaders to change default symbol visibility.
(lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with
the correct parameters.
(lt_dladvise_init, lt_dladvise_destroy): New functions to
initialize and destroy an advise type hint.
(lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local)
(lt_dladvise_global): Set hints on an advise type.
(openadvise): Factored out of lt_dlopenadvise.
(has_library_ext): Factored out of lt_dlopenadvise.
* libltdl/ltdl.h: Declare all of the above.
(lt_dlinfo): New fields for advise hints.
* libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new
advise parameter.  Adjust all callers.
(lt_dladvise): New opaque type for advise hints.
* libltdl/libltdl/lt__private.h (lt__advise): Declare
contents of opaque lt_dladvise type.
* libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error
for attempts to have local and global symbol visibility at the
same time.
* libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust.
* libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to
define these symbols if the system has equivalents.
(vmopen): If unable to act on a caller request to set symbol
visibility, then unset the relevant hints in the advise type.
* tests/lt_dladvise.at: New tests for the above.
* doc/libtool.texi (Libltdl Interface): Updated.
* NEWS: Updated.
2007-05-08 14:38:50 +00:00
Reuben Thomas
3399dea117 * doc/libtool.texi (Libltdl interface): Fix typo. 2007-05-03 18:02:25 +00:00
Ralf Wildenhues
5d9eaf09a4 * doc/libtool.texi (Link mode) <-no-install>: Mention that this
still generates a wrapper script on systems without hardcoding.
* tests/stresstest.at: Test `-no-install'.
* THANKS: Update.
Report by Simon Josefsson.
2007-04-03 19:09:39 +00:00
Ralf Wildenhues
2c25fb4d3c * README: Document the need for GNU make to build Libtool.
Point the user to the doc/notes.txt file.  In the examples, use
`gmake' throughout to make it more obvious.  Explain simpler way
to run both testsuites and either one.  Referring to individual
tests needs the `tests/' prefix.
* README.alpha: Likewise.
* doc/notes.texi: Likewise, document need for GNU make.
Comment out the FreeBSD make issue for now.
2007-02-25 15:33:24 +00:00
Ralf Wildenhues
e34d7507d6 * doc/libtool.texi (Install mode, libtool script contents):
Describe current and system-specific DESTDIR limitations.
* tests/destdir.at: XFAIL if `fast_install' is no.
2007-02-24 16:11:21 +00:00
Ralf Wildenhues
2c878695fd * doc/libtool.texi (LT_INIT): Fix typo. 2007-02-24 16:08:57 +00:00
Ralf Wildenhues
dc746dbea4 * doc/libtool.texi (Libtool test suite): Mention the new
testsuite.  Point to README rather than INSTALL for testing
instructions.
(Test descriptions): Fix more file names.  Also mention
cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test,
mdemo2-make.test, objectlist.test, pdemo-conf.test,
pdemo-exec.test, pdemo-inst.test, pdemo-make.test,
tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test,
tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test,
f77demo-conf.test, f77demo-exec.test, f77demo-make.test,
f77demo-static.test, f77demo-shared.test, fcdemo-conf.test,
fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test,
fcdemo-shared.test.  Describe what they do.
(When tests fail, Troubleshooting): Mention how to pass options
to the new test suite.
* tests/tagdemo/README: Fix description.
2007-02-24 16:06:50 +00:00
Ralf Wildenhues
bb04acdad8 * doc/libtool.texi (Test descriptions): Track the grand test
suite renaming from 2003-10-14 in the tests documentation.
assign.test is merged into sh.test.  Fix description of sh.test.
* tests/sh.test: Likewise.
2007-02-24 14:49:53 +00:00
Ralf Wildenhues
a0cd232cc1 * doc/libtool.texi (LT_INIT): Fix wording of intro a bit.
<shared, static>: Also describe these default LT_INIT options.
<AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL>
<AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names,
including the respective LT_INIT replacement.
<AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED>
<AC_ENABLE_STATIC>: Document, un-deprecate.  Suggest the
respective LT_INIT replacement.
<AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED>
<AM_ENABLE_STATIC>: Document deprecated aliases.
(Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE>
<AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases.
* libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED)
(AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of
the respective AC_* macros, so we do not recommend LT_INIT(*) in
this case.
(AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC)
(AC_DISABLE_STATIC): Un-deprecate these.  Remove now-superfluous
aclocal-1.4 backwards compatibility comments.
2007-02-24 08:52:13 +00:00
Ralf Wildenhues
40c41e79e6 * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue.
* tests/template.at: Only skip those tests failing on Darwin
if `-flat_namespace' is used by libtool.  In that case, SKIP
at the end.  Analysis by Peter O'Gorman.
2007-02-24 08:46:19 +00:00
Ralf Wildenhues
b3709c2f9d * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
<compiler_needs_object>: New tag variable.  Default to `no'.
(_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9.
(_LT_LANG_CXX_CONFIG): Also default it to `no'.
[ linux ]: Set it to `yes' for Sun C++ 5.9.
* libltdl/config/ltmain.m4sh (func_mode_link): If we link
no objects but only convenience archives into a library,
force expansion if `compiler_needs_object' is yes.
For creating a linker input filelist due to long cmdline,
extract the first object if `compiler_needs_object' is yes.
* doc/libtool.texi (libtool script contents): Document it.
Fixes test failures of Sun compilers on GNU/Linux.
Report by Terry D. Dontje.
2007-02-23 21:11:25 +00:00
Ralf Wildenhues
b3b2bcfb74 * doc/libtool.texi: Update copyright years. 2007-02-11 11:11:05 +00:00
Reuben Thomas
a4e7c8d41b * doc/libtool.texi (Inter-library dependencies): Fix typo. 2007-01-23 23:48:55 +00:00
Ralf Wildenhues
0a6649d9e1 * doc/libtool.texi: Typo fixes.
* TODO: Likewise.
2007-01-21 14:34:01 +00:00
Paul Eggert
a68608ef1f * doc/libtool.texi (Distributing libltdl): In recursive and
nonrecursive mode, a config header is now required.
* libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform
to gnulib's policy of including config.h unconditionally.
2006-10-24 20:33:38 +00:00
Ralf Wildenhues
7dd3afb52a * .cvsignore, doc/.cvsignore, libltdl/.cvsignore,
libltdl/loaders/.cvsignore, tests/.cvsignore: Update.
2006-06-13 18:36:56 +00:00
Gary V. Vaughan
33f72b2ff5 * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG), tests/link-order.at
[ aix4*, aix5*, hpux10*, hpux11* ]: rename
hardcode_direct_static to hardcode_direct_absolute.
* doc/libtool.texi (libtool script contents): Adjust.
2006-05-18 00:10:37 +00:00
Gary V. Vaughan
a7ae4fab9e * doc/libtool.texi (libtool script contents): Document new
hardcode_direct_static variable.
2006-05-17 17:59:47 +00:00
Ralf Wildenhues
c95b003861 * libltdl/config/ltmain.m4sh (func_mode_link)
< -static-libtool-libs >: New option.
* doc/libtool.texi (Link mode, Distributing libltdl):
Document it.
Suggested by Gary Kumfert <kumfert@llnl.gov>.
2006-03-20 20:40:07 +00:00
Ralf Wildenhues
d410b50580 * doc/libtool.texi (Tags): Mention `FC'.
(libtool script contents) <CC>: Specify more precisely as the
compiler of the current tag.
<LTCC, LTCFLAGS, build, build_alias, build_os, host_alias,
host_os, macro_version, macro_revision, max_cmd_len>:
Document these variables.
2006-02-20 19:39:16 +00:00
Ralf Wildenhues
166f706417 * doc/libtool.texi: Update copyright years. 2006-02-15 19:14:49 +00:00
Ralf Wildenhues
977f953b82 * doc/libtool.texi (Implementation issues): Note that both
prefix and suffix of a library may differ.
(Using libtool, Creating object files, Linking libraries):
Remove last documentation traces of the age when `foo.lo' was
the PIC object file and not the `libtool object' text file.
(libtool script contents) <compiler_o_lo>: Remove description
of this variable.  It was removed from libtool in 1.5 times.
2006-02-15 07:02:38 +00:00
Ralf Wildenhues
1bd2f6bb3f * doc/libtool.texi (titlepage): Remove superfluous word. 2006-01-30 20:24:37 +00:00
Ralf Wildenhues
a21d04b3d4 * doc/libtool.texi (References): Do not use `@/' for the benefit
of older `makeinfo', break lines instead.
2005-12-04 17:57:46 +00:00
Ralf Wildenhues
a3d6011b61 * doc/libtool.texi (Invoking libtoolize): Remove mention of
the nonrecursive restriction to name the directory `libltdl'.
2005-12-03 08:56:57 +00:00
Eric Blake
a0d0a9adc0 * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New
function.
* doc/libtool.texi (User defined module data): Document it.
2005-11-25 18:42:28 +00:00
Ralf Wildenhues
7ddbaa343a * Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL):
For nonrecursive mode, add to include_HEADERS as well.
* doc/libtool.texi (Invoking libtoolize, Distributing libltdl),
tests/nonrecursive.at: Adjusted, and removed TABS from .texi.
2005-11-14 20:39:27 +00:00
Gary V. Vaughan
b61ef459cb * doc/libtool.texi (Distributing libltdl): Document correct use of
LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake.
2005-11-07 14:35:35 +00:00
Gary V. Vaughan
e1454ec7b4 * libltdl/Makefile.inc: New file, factored out of Makefile.am for
use in non-recursive libltdl installations.
* bootstrap: Adjust.
* Makefile.am: include it.
(libltdl/Makefile.am): Adjust to build from the new
libltdl/Makefile.inc.
(SUBDIR_LIBOBJS): Renamed from this...
(LTDL_SUBDIR_LIBOBJS): ...to this.
* configure.ac: Adjust.
* doc/libtool.texi (Invoking libtoolize): Document the new modes
and libtoolize option to select them.
* libtoolize.m4sh: Parse new options, --nonrecursive, --recursive
and --subproject.  Install the appropriate files with --ltdl
according to the selected mode.
(func_scan_files): If --subproject, --recursive or --nonrecursive
options were not given, use the value from LT_CONFIG_LTDL_DIR; if
a mode was given, and there is also an argument to
LT_CONFIG_LTDL_DIR, ensure they are the same.
* NEWS: Updated.
2005-10-26 10:42:05 +00:00
Gary V. Vaughan
04edc7871c * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed.
* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next)
(lt_dlhandle_find, lt_dlforeach): Removed...
(lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar
functions that are multi-loader safe, and require a registered
interface validator argument.
* doc/libtool.texi: Updated.
* NEWS: Updated.
2005-10-26 10:26:48 +00:00
Gary V. Vaughan
9f6099490a * libltdl/m4/ltdl.m4: Bump serial as we are changing the
interface.
(LT_CONFIG_LTDL_DIR): New macro to centralise setting the
subdirectory used for libltdl.
(LTDL_CONVENIENCE): Continue backwards compatibility support for
declaring the libltdl source subdirectory with an argument, but
defer to LT_CONFIG_LTDL_DIR.
(AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style.
(LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto.
(LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and
even `./' needs trailing slashes trimming!  If the user didn't
upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them.
* libtoolize.m4sh (func_scan_files): If --ltdl option is given
without a directory argument, use the value from
LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a
value in LT_CONFIG_LTDL_DIR, ensure they are the same.
* libltdl/configure.ac: Use it.
* NEWS: Updated.
2005-10-03 15:45:47 +00:00
Gary V. Vaughan
6db2a8ba58 * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock)
(lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror)
(lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs.
* doc/libtool.tex: Updated.
* NEWS: Updated.
2005-09-27 10:41:07 +00:00
Gary V. Vaughan
9d4089fbbb * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems
with module visibilty when linked with programs written for the
old API.
(lt_dlinterface_register): New name.
* Makefile.am (VERSION_INFO): Bumped.
* doc/libtool.texi (User defined module data): Updated.
2005-09-27 10:03:51 +00:00
Peter Ekberg
aa7580d941 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]:
Symbols in "pick any" sections are not global. Use
awk, not sed, in the global_symbol_pipe so that keeping
track of sections is easier.
* doc/libtool.texi (libtool script contents): Update to hint
at new findings concerning "pick any" sections.
2005-09-08 08:25:35 +00:00
Gary V. Vaughan
8bf8d96f87 * doc/libtool.texi (LT_INIT): Fix a logical error with
documentation of --with-pic vs --without-pic.
2005-09-01 11:54:50 +00:00
Peter Ekberg
2d16b5d703 * doc/libtool.texi: Shorten the lines describing the
output from MS dumpbin, and align the columns.
2005-08-22 11:12:26 +00:00
Peter Ekberg
66b4886f72 * m4/libtool.m4: Bump serial number.
(LT_PATH_NM): If nm is not found on the path, look for
dumpbin. Then check if $NM responds as dumpbin would
and if not, assume the name lister is BSD nm compatible.
(_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the
dumpbin interface, adjust the test to find a working
global_symbol_pipe.
* doc/libtool.texi: Document $NM to possibly be MS
dumpbin compatible, and also document the format of the
relevant output from MS dumpbin.
2005-08-22 11:07:00 +00:00
Ralf Wildenhues
2222a9d9aa * m4/libtool.m4 (LT_OUTPUT): New macro to generate
libtool before config.status.
(_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then
generate code in config.status to call config.lt instead of
generating libtool directly.
* doc/libtool.texi (LT_INIT): Document LT_OUTPUT.
* tests/early-libtool.at: New test.
* Makefile.am (TESTSUITE_AT): Updated.
* tests/testsuite.at: Updated.  Define defaults for $ACLOCAL,
$AUTOCONF.
2005-08-18 17:07:17 +00:00
Jeremie LE HEN
2a3e848d16 * doc/libtool.texi (Creating object files, Linking libraries):
Update description of library object (.lo) and libtoo library
(.la) files.
(all over): Replace MODE with --mode=MODE in examples.
2005-08-12 22:52:30 +00:00
Gary V. Vaughan
ef4442da9b Revert the parallel installation changes from November last year:
* libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from
configure.
(func_copy_all_from_path): Removed.  No longer used.
(func_copy_some_files): Simplify now that nothing is copied from a
list of possible directories now.
(func_scan_files): Remove directory readability check...
(func_nonemptydir_p): ...in favour of a dedicated sanity check
function called from the main body.
(_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if
this is in the environment.
* configure.ac: Tests for `ln' removed.
(APIVERSION): Removed.
* Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA)
(nobase_pkgvdata_DATA): Renamed to...
(pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these
respectively.
(edit): Adjust for new variable names.
(install-data-local): Don't bother to remove old macro files that
will be overwritten by the installation, and perform a manual
installation of $(aclocalfiles) to preserve timestamps.
(install-exec-hook): Removed.  No need to make versioned links.
(uninstall-hook): No need to remove versioned links, but now we
need to manually remove the manually installed $(aclocalfiles).
* doc/libtool.texi: Remove bogus notes about setting
ACLOCAL_AMFLAGS for versioned libtool installations.
* NEWS: Remove parallel installation item.
2005-04-30 09:30:14 +00:00
Gary V. Vaughan
94cc58be06 The FSF are moving offices today. Changed their contact address
in all files from `59 Temple Place, Suite 330, MA 02111-1307' to
`51 Franklin Street, Fifth Floor, MA 02110-1301'.
2005-04-22 10:10:31 +00:00
Gary V. Vaughan
6c1e70c04a Since the bootstrap process requires that several of the rules for
files generated in doc and tests already lived in
$top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles,
this changeset consolidates almost everything into the top
Makefile.am, simplifying things considerably:

* doc/Makefile.am, tests/Makefile.am: Removed.  All rules moved...
* Makefile.am: ...to here and adjusted to run from $top_builddir.
Some reformatting to group rules and declarations by purpose, and
simplify with respect to removing much of the make recursion.
Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'.
`defs.in' and `defs.m4sh' are in directory `tests'.
(uninstall-hook): Don't forget to uninstall libtoolize's libltdl
source tree.
* bootstrap: Simplified dirty makefile management, and bootstrap
file creation in light of having only a single pertinent
Makefile.
* configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to
compensate.
(DIST_MAKEFILE_LIST): Adjust.
(AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile.
* tests/defs.m4sh (LIBTOOL, scripts): Adjust paths.
* tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/f77demo-conf.test,
tests/f77demo-exec.test, tests/f77demo-make.test,
tests/f77demo-shared.test, tests/f77demo-static.test,
tests/link-2.test, tests/link.test, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test,
tests/objectlist.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagdemo-undef.test, tests/tagtrace.test (func_cd,
func_require): Adjust paths..
2005-04-13 12:24:35 +00:00
Ralf Wildenhues
4d1452a659 * notes.texi: Platform-specific configuration notes.
* doc/libtool.texi: Include as section.
* bootstrap, doc/Makefile.am: build also as notes.txt and distribute.
2005-04-04 17:38:31 +00:00
Ralf Wildenhues
82c1a1c274 * doc/libtool.texi: Minor formatting cleanups. 2005-03-28 09:15:09 +00:00
Ralf Wildenhues
65204d702d * doc/libtool.texi: Replace wicked whiches by thats or other
better-sounding constructs.
2005-03-12 08:14:44 +00:00
Ralf Wildenhues
1cb1fdb666 * config/ltmain.m4sh: New option --verbose'/-v' to enable
override of `--silent'.  Verbose is the default behavior.
* doc/libtool.texi (Invoking libtool): Document it.
2005-01-12 16:35:55 +00:00
Ralf Wildenhues
d39c2d120d * doc/libtool.texi (all over): Use @option and @command.
Some more minor formatting updates, typos.
2004-12-28 13:13:14 +00:00
Ralf Wildenhues
d471094f21 * libtoolize.m4sh: Install `install-sh' as well, needed for configure ..
* Makefile.am, Makefile.maint: .. install, update it.
* NEWS, doc/libtool.texi (Distributing): .. document it.
Reported by Ross Boylan <ross@biostat.ucsf.edu>.
2004-12-20 13:08:35 +00:00