* 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.
This commit is contained in:
Gary V. Vaughan 2004-04-13 21:25:34 +00:00
parent 3431a0ab96
commit 7caaca4a5c
12 changed files with 14 additions and 350 deletions

View File

@ -1,5 +1,13 @@
2004-04-13 Gary V. Vaughan <gary@gnu.org> 2004-04-13 Gary V. Vaughan <gary@gnu.org>
* 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/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c,
libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,

3
NEWS
View File

@ -42,6 +42,9 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team:
up the stack; it is also not recommended practice. up the stack; it is also not recommended practice.
* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols * libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols
are still exported for backwards compatibility. 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 * make install now deletes preexisting $prefix/share/libtool before installing
latest files. latest files.
* Extracting symbols from an import library on cygwin and win32 now works. * Extracting symbols from an import library on cygwin and win32 now works.

View File

@ -42,7 +42,7 @@ libltdl_la_SOURCES = ltdl.h ltdl.c \
loader-preopen.c \ loader-preopen.c \
lt_error.h lt_error.c lt_mutex.h lt_mutex.c \ lt_error.h lt_error.c lt_mutex.h lt_mutex.c \
lt__private.h lt__alloc.h lt__alloc.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 lt_system.h
libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2 libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2
libltdl_la_LIBADD = $(LIBADD_DL) $(LTLIBOBJS) 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 ## These are installed as a subdirectory of pkgdatadir so that
## libtoolize --ltdl can find them later: ## libtoolize --ltdl can find them later:
ltdldatadir = $(pkgdatadir)/libltdl ltdldatadir = $(pkgdatadir)/libltdl
ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES) \ ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES)
memcpy.c memmove.c strchr.c strcmp.c strrchr.c

View File

@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# endif /* !RTLD_LAZY */ # endif /* !RTLD_LAZY */
#endif #endif
#if !defined(LT_LAZY_OR_NOW) #if !defined(LT_LAZY_OR_NOW)
# ifd efined(RTLD_NOW) # if defined(RTLD_NOW)
# define LT_LAZY_OR_NOW RTLD_NOW # define LT_LAZY_OR_NOW RTLD_NOW
# else # else
# if defined(DL_NOW) # if defined(DL_NOW)

View File

@ -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 <gary@gnu.org>
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)*/

View File

@ -58,7 +58,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
#include "lt__alloc.h" #include "lt__alloc.h"
#include "lt__dirent.h" #include "lt__dirent.h"
#include "lt__glibc.h" #include "lt__glibc.h"
#include "lt__pre89.h"
/* ...and all exported interfaces. */ /* ...and all exported interfaces. */
#include "ltdl.h" #include "ltdl.h"

View File

@ -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 <gary@gnu.org>
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 <stddef.h>
#include <sys/types.h>
/* 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;
}

View File

@ -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 <gary@gnu.org>
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 <stddef.h>
#include <sys/types.h>
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;
}

View File

@ -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 <gary@gnu.org>
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;
}

View File

@ -1,49 +0,0 @@
/* strcmp.c -- compare strings for pre-c89 libc
Copyright (C) 2004 Free Software Foundation, Inc.
Originally by Gary V. Vaughan <gary@gnu.org>
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);
}

View File

@ -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 <gary@gnu.org>
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;
}

View File

@ -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_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([string.h strings.h], [break], [], [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_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
AC_REPLACE_FUNCS([memmove strcmp]) AC_REPLACE_FUNCS([memmove strcmp])