mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-18 14:16:00 +08:00
* 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:
parent
3431a0ab96
commit
7caaca4a5c
@ -1,5 +1,13 @@
|
||||
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/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
|
||||
libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,
|
||||
|
3
NEWS
3
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.
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)*/
|
@ -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"
|
||||
|
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
@ -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);
|
||||
}
|
@ -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;
|
||||
}
|
16
m4/ltdl.m4
16
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])
|
||||
|
Loading…
Reference in New Issue
Block a user