* libltdl/ltdl.c: minor bugfixes, append a "/" the search

directory only if necessary
* ltconfig.in: added support for FreeBSD >= 3.0
  (patch from Kurt D. Zeilenga)
* THANKS: added Kurt D. Zeilenga
This commit is contained in:
Thomas Tanner 1999-01-24 20:43:52 +00:00
parent 05ba011011
commit d045d768ee
4 changed files with 29 additions and 7 deletions

View File

@ -1,3 +1,11 @@
1999-01-24 Thomas Tanner <tanner@gmx.de>
* libltdl/ltdl.c: minor bugfixes, append a "/" the search
directory only if necessary
* ltconfig.in: added support for FreeBSD >= 3.0
(patch from Kurt D. Zeilenga)
* THANKS: added Kurt D. Zeilenga
1999-01-24 Thomas Tanner <tanner@gmx.de>
* doc/libtool.texi (libltdl): list supported dlopen mechanisms,

1
THANKS
View File

@ -26,6 +26,7 @@ Joel N. Weber II <devnull@gnu.org>
Joseph Beckenbach III <jrb3@best.com>
Karl Berry <kb@cs.umb.edu>
Kenneth Albanowski <kjahds@kjahds.com>
Kurt D. Zeilenga <Kurt@OpenLDAP.Org>
Manfred Weichel <Manfred.Weichel@pdb.siemens.de>
Marc J. Fraioli <fraioli@dg-rtp.dg.com>
Mark Elbrecht <snowball3@usa.net>

View File

@ -897,8 +897,11 @@ find_file (basename, search_path, pdir, handle)
}
if (!*filename)
continue;
strcat(filename, "/");
lendir = strlen(filename);
if (filename[lendir-1] != '/') {
strcat(filename, "/");
lendir++;
}
if (lendir+strlen(basename) < LTDL_FILENAME_MAX) {
strcat(filename, basename);
if (handle) {
@ -907,7 +910,7 @@ find_file (basename, search_path, pdir, handle)
} else {
file = fopen(filename, LTDL_READTEXT_MODE);
if (file) {
filename[lendir+1] = '\0';
filename[lendir] = '\0';
strcpy(pdir, filename);
return (lt_ptr_t) file;
}
@ -1071,7 +1074,7 @@ lt_dlopen (filename)
return 0;
}
handle->usage = 0;
if (tryall_dlopen(&handle, filename) && (*dir
if (tryall_dlopen(&handle, filename) && (!*dir
|| (find_file(basename, user_search_path, 0, &handle)
&& find_file(basename, getenv("LTDL_LIBRARY_PATH"),
0, &handle)
@ -1130,7 +1133,7 @@ lt_dlopenext (filename)
}
#ifdef LTDL_SHLIB_EXT
/* try "filename.EXT" */
tmp[len-1] = '\0';
tmp[len] = '\0';
if (len+strlen(shlib_ext) >= sizeof(tmp)) {
last_error = buffer_overflow_error;
return 0;
@ -1142,6 +1145,7 @@ lt_dlopenext (filename)
return handle;
}
#endif
last_error = file_not_found_error;
return 0;
}

View File

@ -1215,6 +1215,11 @@ else
fi
;;
freebsd1*)
ld_shlibs=no
can_build_shared=no
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@ -1235,8 +1240,8 @@ else
hardcode_shlibpath_var=no
;;
# FreeBSD 3, at last, uses gcc -shared to do shared libraries.
freebsd3*)
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd*)
archive_cmds='$CC -shared -o $lib $libobjs $deplibs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
@ -1664,7 +1669,11 @@ cygwin32* | mingw32*)
shlibpath_var=PATH
;;
freebsd2* | freebsd3*)
freebsd1*)
dynamic_linker=no
;;
freebsd*)
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
version_type=freebsd-$objformat
case "$version_type" in