]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* libltdl/ltdl.c: minor bugfixes, append a "/" the search
authorThomas Tanner <tanner@gmx.de>
Sun, 24 Jan 1999 20:43:52 +0000 (20:43 +0000)
committerThomas Tanner <tanner@gmx.de>
Sun, 24 Jan 1999 20:43:52 +0000 (20:43 +0000)
  directory only if necessary
* ltconfig.in: added support for FreeBSD >= 3.0
  (patch from Kurt D. Zeilenga)
* THANKS: added Kurt D. Zeilenga

ChangeLog
THANKS
libltdl/ltdl.c
ltconfig.in

index 22120726c8521b17baff6a0d826d92ee3d8bac36..97ab861c51ac156afa8411e8be7293b32ceb0279 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,
diff --git a/THANKS b/THANKS
index d21d953ddcada1d5f2dd19c9a34c8cca437c693c..24ab807b3482c01d4f92b0db488c39796da6b628 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -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>
index 522bac7b57360a28468940df3f595e1262cdc431..cc8884d73e911bc223a0614fab6f5412015558be 100644 (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;
 }
 
index 14a6447d1ab2b5207000ccd345722f98d5fb4fe8..f303bf9a6d06a60f5dd1983b114b9deefd3df757 100755 (executable)
@@ -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