From: Gary V. Vaughan Date: Tue, 5 Dec 2000 18:33:07 +0000 (+0000) Subject: Oh My! Cygwin support has bitrotted while I was looking the other X-Git-Tag: release-1-3d~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1a75923bb44268d31e05a28d093cb0a2a746d1e;p=thirdparty%2Flibtool.git Oh My! Cygwin support has bitrotted while I was looking the other way. This should fix it some: * libtool.m4 (extract_expsyms_cmds): There is a quoting problem with autoconf-2.13 that prevents [$]0 from expanding. Use shell quotes instead to delay eval of $0. (impgen.c) The '# ' sequence stripped by sed works again. --- diff --git a/ChangeLog b/ChangeLog index 8c0032acc..a3dbd883c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-12-05 Gary V. Vaughan + + Oh My! Cygwin support has bitrotted while I was looking the other + way. This should fix it some: + * libtool.m4 (extract_expsyms_cmds): There is a quoting problem + with autoconf-2.13 that prevents [$]0 from expanding. Use shell + quotes instead to delay eval of $0. + (impgen.c) The '# ' sequence stripped by sed works again. + 2000-12-01 Gary V. Vaughan * doc/libtool.texi (Libltdl interface): Add documentation. diff --git a/libtool.m4 b/libtool.m4 index d54e98101..4da84ee10 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -1219,7 +1219,7 @@ EOF always_export_symbols=yes extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/impgen.c~ + sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ test -f $output_objdir/impgen.exe || (cd $output_objdir && \ if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ else $CC -o impgen impgen.c ; fi)~ @@ -2513,120 +2513,120 @@ EOF # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # */ -# -# #include /* for printf() */ -# #include /* for open(), lseek(), read() */ -# #include /* for O_RDONLY, O_BINARY */ -# #include /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# [unsigned char b[2];] -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# [return b[0] + (b[1]<<8);] -# } -# -# static unsigned int -# pe_get32 (fd, offset) +# +# #include /* for printf() */ +# #include /* for open(), lseek(), read() */ +# #include /* for O_RDONLY, O_BINARY */ +# #include /* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) # int fd; # int offset; -# { -# [unsigned char b[4];] -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# [return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);] -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# [return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);] -# } -# -# int -# main (argc, argv) -# int argc; -# [char *argv[];] -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# [filename = argv[1];] -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (!dll) -# return 1; -# -# dll_name = filename; -# -# [for (i=0; filename[i]; i++)] -# [if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')] -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# [char sname[8];] -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i export_rva) +# { +# expptr = fptr + (export_rva - vaddr); +# if (export_rva + export_size > vaddr + vsize) +# export_size = vsize - (export_rva - vaddr); +# break; +# } +# } +# +# expdata = (unsigned char*)malloc(export_size); +# lseek (dll, expptr, SEEK_SET); +# read (dll, expdata, export_size); +# erva = expdata - export_rva; +# +# nexp = pe_as32 (expdata+24); +# name_rvas = pe_as32 (expdata+32); +# +# printf ("EXPORTS\n"); +# for (i = 0; i