From 7caaca4a5c16fa98d99d4e94744feee95e3530d0 Mon Sep 17 00:00:00 2001 From: "Gary V. Vaughan" Date: Tue, 13 Apr 2004 21:25:34 +0000 Subject: [PATCH] * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove half-assed pre-c89 support entirely. * libltdl/lt__private.h: Don't refer to lt__pre89.h. * libltdl/Makefile.am (ltdldata_DATA): Remove references to deleted files. * NEWS: Mention it. --- ChangeLog | 8 ++++ NEWS | 3 ++ libltdl/Makefile.am | 5 +-- libltdl/loader-dlopen.c | 2 +- libltdl/lt__pre89.h | 85 ----------------------------------------- libltdl/lt__private.h | 1 - libltdl/memcpy.c | 50 ------------------------ libltdl/memmove.c | 58 ---------------------------- libltdl/strchr.c | 41 -------------------- libltdl/strcmp.c | 49 ------------------------ libltdl/strrchr.c | 46 ---------------------- m4/ltdl.m4 | 16 -------- 12 files changed, 14 insertions(+), 350 deletions(-) delete mode 100644 libltdl/lt__pre89.h delete mode 100644 libltdl/memcpy.c delete mode 100644 libltdl/memmove.c delete mode 100644 libltdl/strchr.c delete mode 100644 libltdl/strcmp.c delete mode 100644 libltdl/strrchr.c diff --git a/ChangeLog b/ChangeLog index 234f93b6..c6c8a907 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2004-04-13 Gary V. Vaughan + * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, + libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove + half-assed pre-c89 support entirely. + * libltdl/lt__private.h: Don't refer to lt__pre89.h. + * libltdl/Makefile.am (ltdldata_DATA): Remove references to + deleted files. + * NEWS: Mention it. + * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, diff --git a/NEWS b/NEWS index 4793eb4c..851aefc0 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,9 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team: up the stack; it is also not recommended practice. * libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols are still exported for backwards compatibility. +* libltdl no longer supports pre-c89 compilers. Some of the pre89 portability + functions had compile time bugs in them anyway, so you guys can't have been + using it :-) * make install now deletes preexisting $prefix/share/libtool before installing latest files. * Extracting symbols from an import library on cygwin and win32 now works. diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am index 3a87848e..5773bb26 100644 --- a/libltdl/Makefile.am +++ b/libltdl/Makefile.am @@ -42,7 +42,7 @@ libltdl_la_SOURCES = ltdl.h ltdl.c \ loader-preopen.c \ lt_error.h lt_error.c lt_mutex.h lt_mutex.c \ lt__private.h lt__alloc.h lt__alloc.c \ - lt__pre89.h lt__glibc.h argz.h lt__dirent.h \ + lt__glibc.h argz.h lt__dirent.h \ lt_system.h libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2 libltdl_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS) @@ -53,5 +53,4 @@ libltdlc_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS) ## These are installed as a subdirectory of pkgdatadir so that ## libtoolize --ltdl can find them later: ltdldatadir = $(pkgdatadir)/libltdl -ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES) \ - memcpy.c memmove.c strchr.c strcmp.c strrchr.c +ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES) diff --git a/libltdl/loader-dlopen.c b/libltdl/loader-dlopen.c index 2f4c2d56..38766f8b 100644 --- a/libltdl/loader-dlopen.c +++ b/libltdl/loader-dlopen.c @@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # endif /* !RTLD_LAZY */ #endif #if !defined(LT_LAZY_OR_NOW) -# ifd efined(RTLD_NOW) +# if defined(RTLD_NOW) # define LT_LAZY_OR_NOW RTLD_NOW # else # if defined(DL_NOW) diff --git a/libltdl/lt__pre89.h b/libltdl/lt__pre89.h deleted file mode 100644 index c184e501..00000000 --- a/libltdl/lt__pre89.h +++ /dev/null @@ -1,85 +0,0 @@ -/* lt__pre89.h -- support for pre-c89 libc implementations - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#if !defined(LT__PREC89_H) -#define LT__PREC89_H 1 - -#if defined(HAVE_CONFIG_H) -# include HAVE_CONFIG_H -#endif - -#include "lt_system.h" - -LT_BEGIN_C_DECLS - -#if !defined(HAVE_STRCMP) -# undef strcmp -# define strcmp lt__strcmp -int strcmp (const char *str1, const char *str2); -#endif - -#if !defined(HAVE_STRCHR) -# if defined(HAVE_INDEX) -# define strchr index -# else -# undef strchr -# define strchr lt__strchr -const char *strchr (const char *str, int ch); -# endif -#endif - -#if !defined(HAVE_STRRCHR) -# if defined(HAVE_RINDEX) -# define strrchr rindex -# else -# undef strcmp -# define strcmp lt__strcmp -const char *strrchr (const char *str, int ch); -# endif -#endif - -#if !defined(HAVE_MEMCPY) -# if defined(HAVE_BCOPY) -# define memcpy(dest, src, size) bcopy((src), (dest), (size)) -# else -# undef memcpy -# define memcpy lt__memcpy -void *memcpy (void *dest, const void *src, size_t size); -# endif -#endif - -#if !defined(HAVE_MEMMOVE) -# undef memmove -# define memmove lt__memmove -void *memmove (void *dest, const void *src, size_t size); -#endif - -LT_END_C_DECLS - -#endif /*!defined(LT__PREC89)*/ diff --git a/libltdl/lt__private.h b/libltdl/lt__private.h index 61cdd67d..dcf404ca 100644 --- a/libltdl/lt__private.h +++ b/libltdl/lt__private.h @@ -58,7 +58,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA #include "lt__alloc.h" #include "lt__dirent.h" #include "lt__glibc.h" -#include "lt__pre89.h" /* ...and all exported interfaces. */ #include "ltdl.h" diff --git a/libltdl/memcpy.c b/libltdl/memcpy.c deleted file mode 100644 index 91887120..00000000 --- a/libltdl/memcpy.c +++ /dev/null @@ -1,50 +0,0 @@ -/* memcpy.c -- copy a block of memory for pre-c89 libc - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#include "lt__pre89.h" - -#include -#include - -/* NOTE: memcpy does not reliably handle copying in overlapping areas - of memory. Use memmove if you need that behaviour. */ - -void * -memcpy (void *dest, const void *src, size_t size) -{ - char *d = dest; - const char *s = src; - - while (size-- > 0) - { - *d++ = *s++; - } - - return dest; -} diff --git a/libltdl/memmove.c b/libltdl/memmove.c deleted file mode 100644 index 6060c43f..00000000 --- a/libltdl/memmove.c +++ /dev/null @@ -1,58 +0,0 @@ -/* memmove.c -- move to a possibly overlapping block of memory for pre-c89 libc - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#include "lt__pre89.h" - -#include -#include - -void * -memmove (void * dest, void * src, size_t size) -{ - char *d = dest; - char *s = src; - size_t i; - - if (dest < src) - while (size-- > 0) - { - *d++ = *s++; - } - else if (dest > src) - { - d += size; - s += size; - while (size-- > 0) - { - *--d = *--s; - } - } - - return dest; -} diff --git a/libltdl/strchr.c b/libltdl/strchr.c deleted file mode 100644 index c450f0a0..00000000 --- a/libltdl/strchr.c +++ /dev/null @@ -1,41 +0,0 @@ -/* strchr.c -- scan for a char in a string for pre-c89 libc - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#include "lt__pre89.h" - -const char * -strchr (const char *str, int ch) -{ - const char *p; - - for (p = str; *p != (char)ch && *p != '\0'; ++p) - /*NOWORK*/; - - return (*p == (char)ch) ? p : 0; -} diff --git a/libltdl/strcmp.c b/libltdl/strcmp.c deleted file mode 100644 index b726b09b..00000000 --- a/libltdl/strcmp.c +++ /dev/null @@ -1,49 +0,0 @@ -/* strcmp.c -- compare strings for pre-c89 libc - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#include "lt__pre89.h" - -int -strcmp (const char *str1, const char *str2) -{ - if (str1 == str2) - return 0; - if (str1 == 0) - return -1; - if (str2 == 0) - return 1; - - for (;*str1 && *str2; ++str1, ++str2) - { - if (*str1 != *str2) - break; - } - - return (int)(*str1 - *str2); -} diff --git a/libltdl/strrchr.c b/libltdl/strrchr.c deleted file mode 100644 index c04f1542..00000000 --- a/libltdl/strrchr.c +++ /dev/null @@ -1,46 +0,0 @@ -/* strrchr.c -- reverse scan for a char in a string for pre-c89 libc - Copyright (C) 2004 Free Software Foundation, Inc. - Originally by Gary V. Vaughan - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library 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 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include it under the same -distribution terms that you use for the rest of that program. - -This library 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 this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA - -*/ - -#include "lt__pre89.h" - -const char * -strrchr (const char *str, int ch) -{ - const char *p, *q = 0; - - for (p = str; *p != '\0'; ++p) - { - if (*p == (char) ch) - { - q = p; - } - } - - return q; -} diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index 8cf93526..493f6f31 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -109,22 +109,6 @@ AC_CHECK_HEADERS([memory.h unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h], [], [], [AC_INCLUDES_DEFAULT]) AC_CHECK_HEADERS([string.h strings.h], [break], [], [AC_INCLUDES_DEFAULT]) -AC_FOREACH([LTDL_Func], [strchr index strrchr rindex memcpy bcopy], - [AH_TEMPLATE(AS_TR_CPP(HAVE_[]LTDL_Func), - [Define to 1 if you have the `]LTDL_Func[' function.])]) - -AC_CHECK_FUNC([strchr], [AC_DEFINE([HAVE_STRCHR])], - [AC_CHECK_FUNC([index], [AC_DEFINE([HAVE_INDEX])], - [AC_LIBOBJ([strchr])])]) - -AC_CHECK_FUNC([strrchr], [AC_DEFINE([HAVE_STRRCHR])], - [AC_CHECK_FUNC([rindex], [AC_DEFINE([HAVE_RINDEX])], - [AC_LIBOBJ([strrchr])])]) - -AC_CHECK_FUNC([memcpy], [AC_DEFINE([HAVE_MEMCPY])], - [AC_CHECK_FUNC([bcopy], [AC_DEFINE([HAVE_BCOPY])], - [AC_LIBOBJ([memcpy])])]) - AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) AC_REPLACE_FUNCS([memmove strcmp])