diff options
author | Andrew Pollock <apollock@debian.org> | 2004-10-22 13:53:32 +0200 |
---|---|---|
committer | Andrew Pollock <apollock@debian.org> | 2004-10-22 13:53:32 +0200 |
commit | 337ea4581657020f6e9ae93e30cb4a7ddd993903 (patch) | |
tree | 867ccfcfc202d077594ab57ea5c3305a13425f09 /debian | |
parent | 5464e8d9900fd098f197e58df4a5d99c1217d20c (diff) | |
download | ltrace-337ea4581657020f6e9ae93e30cb4a7ddd993903.tar.gz |
Version 0.3.35.1
* Non-maintainer upload
* Applied patch from Jakub Jelinek <jakub@redhat.com> to fix problems
* with
binaries built with recent binutils (closes: #274955)
* Applied patch from Jakub Jelinek to add long/ulong types to
* ltrace.conf
for amd64
* Applied patch from Jakub Jelinek to fix -C
* Applied patch from Jakub Jelinek to update syscallent.h
* debian/control: build-depend on dpatch and libelfg0-dev
* debian/rules: add dpatch support
* debian/changelog: convert to utf-8
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 17 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rwxr-xr-x | debian/patches/0064bit.dpatch | 781 | ||||
-rw-r--r-- | debian/patches/00list | 4 | ||||
-rwxr-xr-x | debian/patches/01elf-rewrite.dpatch | 2742 | ||||
-rwxr-xr-x | debian/patches/02demangle.dpatch | 5779 | ||||
-rwxr-xr-x | debian/patches/03syscallent-update.dpatch | 615 | ||||
-rwxr-xr-x | debian/rules | 7 |
8 files changed, 9943 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog index f5f6fd8..c5a9122 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +ltrace (0.3.35.1) unstable; urgency=low + + * Non-maintainer upload + * Applied patch from Jakub Jelinek <jakub@redhat.com> to fix problems with + binaries built with recent binutils (closes: #274955) + * Applied patch from Jakub Jelinek to add long/ulong types to ltrace.conf + for amd64 + * Applied patch from Jakub Jelinek to fix -C + * Applied patch from Jakub Jelinek to update syscallent.h + * debian/control: build-depend on dpatch and libelfg0-dev + * debian/rules: add dpatch support + * debian/changelog: convert to utf-8 + + -- Andrew Pollock <apollock@debian.org> Fri, 22 Oct 2004 21:43:16 +1000 + ltrace (0.3.35) unstable; urgency=low * Fixed include line in m68k, caused build problems @@ -207,7 +222,7 @@ ltrace (0.3.12) unstable; urgency=low * Re-wrote of "elf.c" (Silvio Cesare <silvio@big.net.au>) * Added "--library" option (Silvio) * Updated list of syscalls and signals to Linux 2.4.5 - * Compile cleanly with gcc-3.0 (thanks to Frédéric L. W. Meunier) + * Compile cleanly with gcc-3.0 (thanks to Frédéric L. W. Meunier) -- Juan Cespedes <cespedes@debian.org> Tue, 3 Jul 2001 00:43:25 +0200 diff --git a/debian/control b/debian/control index d814620..bb99211 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: utils Priority: optional Maintainer: Juan Cespedes <cespedes@debian.org> Standards-Version: 3.5.6 -Build-Depends: binutils-dev +Build-Depends: binutils-dev, dpatch, libelfg0-dev Package: ltrace Architecture: i386 arm m68k s390 powerpc sparc alpha amd64 diff --git a/debian/patches/0064bit.dpatch b/debian/patches/0064bit.dpatch new file mode 100755 index 0000000..ceee406 --- /dev/null +++ b/debian/patches/0064bit.dpatch @@ -0,0 +1,781 @@ +#! /bin/sh -e +## 0064bit.dpatch by <apollock@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/dict.c ltrace-0.3.35/dict.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/dict.c 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/dict.c 2004-10-22 16:34:24.000000000 +1000 +@@ -152,7 +152,7 @@ + + unsigned int + dict_key2hash_int(void * key) { +- return (unsigned int)key; ++ return (unsigned long)key; + } + + int +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/display_args.c ltrace-0.3.35/display_args.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/display_args.c 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/display_args.c 2004-10-22 16:34:24.000000000 +1000 +@@ -4,6 +4,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <string.h> + #include <limits.h> + + #include "ltrace.h" +@@ -27,6 +28,10 @@ + return fprintf(output, "%d", (int)gimme_arg(type, proc, arg_num)); + case ARGTYPE_UINT: + return fprintf(output, "%u", (unsigned)gimme_arg(type, proc, arg_num)); ++ case ARGTYPE_LONG: ++ return fprintf(output, "%ld", gimme_arg(type, proc, arg_num)); ++ case ARGTYPE_ULONG: ++ return fprintf(output, "%lu", (unsigned long)gimme_arg(type, proc, arg_num)); + case ARGTYPE_OCTAL: + return fprintf(output, "0%o", (unsigned)gimme_arg(type, proc, arg_num)); + case ARGTYPE_CHAR: +@@ -53,6 +58,10 @@ + return display_stringN(2, type, proc, arg_num); + case ARGTYPE_STRING3: + return display_stringN(3, type, proc, arg_num); ++ case ARGTYPE_STRING4: ++ return display_stringN(4, type, proc, arg_num); ++ case ARGTYPE_STRING5: ++ return display_stringN(5, type, proc, arg_num); + case ARGTYPE_UNKNOWN: + default: + return display_unknown(type, proc, arg_num); +@@ -169,23 +178,50 @@ + } + for(i=0; str1[i]; i++) { + if (str1[i]=='%') { ++ int is_long = 0; + while(1) { + unsigned char c = str1[++i]; + if (c == '%') { + break; + } else if (!c) { + break; +- } else if ((c=='d') || (c=='i')) { +- len += fprintf(output, ", %d", (int)gimme_arg(type, proc, ++arg_num)); ++ } else if (strchr ("lzZtj", c)) { ++ is_long++; ++ if (c == 'j') ++ is_long++; ++ if (is_long > 1 && sizeof (long) < sizeof (long long)) { ++ len += fprintf(output, ", ..."); ++ str1[i+1]='\0'; ++ break; ++ } ++ } else if (c=='d' || c=='i') { ++ if (is_long) ++ len += fprintf(output, ", %d", (int)gimme_arg(type, proc, ++arg_num)); ++ else ++ len += fprintf(output, ", %ld", gimme_arg(type, proc, ++arg_num)); + break; + } else if (c=='u') { +- len += fprintf(output, ", %u", (int)gimme_arg(type, proc, ++arg_num)); ++ if (is_long) ++ len += fprintf(output, ", %u", (int)gimme_arg(type, proc, ++arg_num)); ++ else ++ len += fprintf(output, ", %lu", gimme_arg(type, proc, ++arg_num)); + break; + } else if (c=='o') { +- len += fprintf(output, ", 0%o", (int)gimme_arg(type, proc, ++arg_num)); ++ if (is_long) ++ len += fprintf(output, ", 0%o", (int)gimme_arg(type, proc, ++arg_num)); ++ else ++ len += fprintf(output, ", 0%lo", gimme_arg(type, proc, ++arg_num)); + break; +- } else if ((c=='x') || (c=='X')) { +- len += fprintf(output, ", %#x", (int)gimme_arg(type, proc, ++arg_num)); ++ } else if (c=='x' || c=='X') { ++ if (is_long) ++ len += fprintf(output, ", %#x", (int)gimme_arg(type, proc, ++arg_num)); ++ else ++ len += fprintf(output, ", %#lx", gimme_arg(type, proc, ++arg_num)); ++ break; ++ } else if (strchr("eEfFgGaACS", c) ++ || (is_long && (c=='c' || c=='s'))) { ++ len += fprintf(output, ", ..."); ++ str1[i+1]='\0'; + break; + } else if (c=='c') { + len += fprintf(output, ", '"); +@@ -196,9 +232,8 @@ + len += fprintf(output, ", "); + len += display_string(type, proc, ++arg_num); + break; +- } else if ((c=='e') || (c=='E') || (c=='f') || (c=='g')) { +- len += fprintf(output, ", ..."); +- str1[i+1]='\0'; ++ } else if (c=='p' || c=='n') { ++ len += fprintf(output, ", %p", (void *)gimme_arg(type, proc, ++arg_num)); + break; + } else if (c=='*') { + len += fprintf(output, ", %d", (int)gimme_arg(type, proc, ++arg_num)); +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/etc/ltrace.conf ltrace-0.3.35/etc/ltrace.conf +--- /home/apollock/debian/ltrace/ltrace-0.3.35/etc/ltrace.conf 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/etc/ltrace.conf 2004-10-22 16:34:24.000000000 +1000 +@@ -5,6 +5,8 @@ + ; void + ; int + ; uint == (unsigned int) ++; long ++; ulong == (unsigned long) + ; octal == (unsigned) [written in octal] + ; char + ; addr == (void *) [unsigned, written in hexa] +@@ -28,6 +30,9 @@ + ; ctype.h + char tolower(char); + char toupper(char); ++addr __ctype_b_loc(void); ++addr __ctype_tolower_loc(void); ++addr __ctype_toupper_loc(void); + + ; curses.h + int waddch(addr, char); +@@ -80,11 +85,27 @@ + ; locale.h + string setlocale(int, string); + ++; mcheck.h ++void mtrace(void); ++void muntrace(void); ++ + ; mntent.h + int endmntent(file); + file setmntent(string,string); + addr getmntent(addr); + ++; mqueue.h ++int mq_open(string, int, octal, addr); ; WARNING: 3rd and 4th arguments may not be there ++int mq_close(int); ++int mq_unlink(string); ++int mq_getattr(int, addr); ++int mq_setattr(int, addr, addr); ++int mq_notify(int, addr); ++int mq_send(int, string3, ulong, uint); ++int mq_timedsend(int, string3, ulong, uint, addr); ++long mq_receive(int, +string0, ulong, addr); ++long mq_timedreceive(int, +string0, ulong, addr, addr); ++ + ; netdb.h + void endhostent(void); + void endnetent(void); +@@ -97,7 +118,7 @@ + addr gethostbyaddr(string, uint, int); + addr gethostbyname(string); + addr gethostent(void); +-int getnameinfo(addr, int, string, int, string, int, int); ++int getnameinfo(addr, uint, string, uint, string, uint, uint); + addr getnetbyaddr(uint, int); + addr getnetbyname(string); + addr getnetent(void); +@@ -162,78 +183,78 @@ + int ferror(file); + int fflush(file); + char fgetc(file); +-addr fgets(+string, uint, file); ++addr fgets(+string, int, file); + int fileno(file); + file fopen(string,string); + file fopen64(string,string); + int fprintf(file,format); + int fputc(char,file); + int fputs(string,file); +-uint fread(addr,uint,uint,file); +-uint fread_unlocked(addr,uint,uint,file); +-uint fwrite(string,uint,uint,file); +-uint fwrite_unlocked(string,uint,uint,file); ++ulong fread(addr,ulong,ulong,file); ++ulong fread_unlocked(addr,ulong,ulong,file); ++ulong fwrite(string,ulong,ulong,file); ++ulong fwrite_unlocked(string,ulong,ulong,file); + int pclose(addr); + void perror(string); + addr popen(string, string); + int printf(format); + int puts(string); + int remove(string); +-int snprintf(+string2,int,format); ++int snprintf(+string2,ulong,format); + int sprintf(+string,format); + string tempnam(string,string); + int vfprintf(file,string,addr); +-int vsnprintf(+string2,int,string,addr); +-int setvbuf(file,addr,int,uint); ++int vsnprintf(+string2,ulong,string,addr); ++int setvbuf(file,addr,int,ulong); + void setbuf(file,addr); +-void setbuffer(file,addr,uint); ++void setbuffer(file,addr,ulong); + void setlinebuf(file); + int rename(string,string); + + ; stdlib.h +-int __strtol_internal(string,addr,int); +-uint __strtoul_internal(string,addr,int); ++long __strtol_internal(string,addr,int); ++ulong __strtoul_internal(string,addr,int); + int atexit(addr); +-addr bsearch(string, addr, uint, uint, addr); +-addr calloc(uint, uint); ++addr bsearch(string, addr, ulong, ulong, addr); ++addr calloc(ulong, ulong); + void exit(int); + void free(addr); + string getenv(string); + int putsenv(string); + int setenv(string,string,int); + void unsetenv(string); +-addr malloc(int); +-void qsort(addr,uint,uint,addr); ++addr malloc(ulong); ++void qsort(addr,ulong,ulong,addr); + int random(void); +-addr realloc(addr,uint); ++addr realloc(addr,ulong); + void srandom(uint); + int system(string); + + ; string.h +-void bcopy(addr,addr,int); +-void bzero(addr,int); ++void bcopy(addr,addr,ulong); ++void bzero(addr,ulong); + string basename(string); + string index(string,char); +-addr memchr(string,char,uint); +-addr memcpy(addr,string3,uint); +-addr memset(addr,char,int); ++addr memchr(string,char,ulong); ++addr memcpy(addr,string3,ulong); ++addr memset(addr,char,long); + string rindex(string,char); + addr stpcpy(addr,string); + int strcasecmp(string, string); + string strcat(string, string); + string strchr(string,char); + int strcoll(string,string); +-uint strlen(string); ++ulong strlen(string); + int strcmp(string,string); + addr strcpy(addr,string); + addr strdup(string); + string strerror(int); +-int strncmp(string,string,int); +-addr strncpy(addr,string3,uint); ++int strncmp(string,string,ulong); ++addr strncpy(addr,string3,ulong); + string strrchr(string,char); + string strsep(addr,string); +-uint strspn(string,string); +-uint strcspn(string,string); ++ulong strspn(string,string); ++ulong strcspn(string,string); + string strstr(string,string); + string strtok(string, string); + +@@ -278,8 +299,8 @@ + int gettimeofday(addr, addr); + addr gmtime(addr); + addr localtime(addr); +-uint strftime(+string2,uint,string,addr); +-int time(addr); ++ulong strftime(+string2,ulong,string,addr); ++long time(addr); + + ; unistd.h + void _exit(int); +@@ -294,13 +315,13 @@ + int execv(string,addr); + int fchdir(int); + int fork(void); +-int ftruncate(int,uint); +-string2 getcwd(addr,uint); +-int getdomainname(+string2,int); ++int ftruncate(int,ulong); ++string2 getcwd(addr,ulong); ++int getdomainname(+string2,ulong); + int geteuid(void); + int getegid(void); + int getgid(void); +-int gethostname(+string2,int); ++int gethostname(+string2,ulong); + string getlogin(void); + int getopt(int,addr,string); + int getpid(void); +@@ -312,25 +333,25 @@ + int isatty(int); + int link(string,string); + int mkdir(string,octal); +-int read(int, +string0, uint); ++long read(int, +string0, ulong); + int rmdir(string); + int seteuid(uint); + int setgid(int); +-int sethostname(+string2,int); ++int sethostname(+string2,ulong); + int setpgid(int,int); + int setreuid(uint, uint); + int setuid(int); + uint sleep(uint); + int symlink(string,string); + int sync(void); +-int truncate(string,uint); ++int truncate(string,ulong); + string ttyname(int); + int unlink(string); + void usleep(uint); +-int write(int, string3, uint); +-addr sbrk(int); ++long write(int, string3, ulong); ++addr sbrk(long); + int getpagesize(void); +-int lseek(int,int,int); ++long lseek(int,long,int); + int pipe(addr); + + ; utmp.h +@@ -338,6 +359,9 @@ + addr getutent(void); + void setutent(void); + ++; wchar.h ++int fwide(addr, int); ++ + ; sys/wait.h + int wait(addr); + int waitpid(int,addr,int); +@@ -396,17 +420,17 @@ + void SYS_exit(int); + void SYS_exit_group(int); + int SYS_fork(void); +-int SYS_getcwd(+string2,uint); ++int SYS_getcwd(+string2,ulong); + int SYS_getpid(void); +-;addr SYS_mmap(addr,int,int,int,int,int); +-int SYS_munmap(addr,uint); ++;addr SYS_mmap(addr,ulong,int,int,int,long); ++int SYS_munmap(addr,ulong); + int SYS_open(string,int,octal); + int SYS_personality(uint); +-int SYS_read(int,+string0,uint); ++long SYS_read(int,+string0,ulong); + int SYS_stat(string,addr); + octal SYS_umask(octal); + int SYS_uname(addr); +-int SYS_write(int,string3,uint); ++long SYS_write(int,string3,ulong); + int SYS_sync(void); + int SYS_setxattr(string,string,addr,uint,int); + int SYS_lsetxattr(string,string,addr,uint,int); +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/ltrace.h ltrace-0.3.35/ltrace.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/ltrace.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/ltrace.h 2004-10-22 16:34:24.000000000 +1000 +@@ -28,6 +28,8 @@ + ARGTYPE_VOID, + ARGTYPE_INT, + ARGTYPE_UINT, ++ ARGTYPE_LONG, ++ ARGTYPE_ULONG, + ARGTYPE_OCTAL, + ARGTYPE_CHAR, + ARGTYPE_ADDR, +@@ -37,7 +39,9 @@ + ARGTYPE_STRING0, /* stringN: string up to (arg N) bytes */ + ARGTYPE_STRING1, + ARGTYPE_STRING2, +- ARGTYPE_STRING3 ++ ARGTYPE_STRING3, ++ ARGTYPE_STRING4, ++ ARGTYPE_STRING5 + }; + + enum tof { +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/read_config_file.c ltrace-0.3.35/read_config_file.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/read_config_file.c 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/read_config_file.c 2004-10-22 16:34:24.000000000 +1000 +@@ -15,6 +15,8 @@ + * "void" ARGTYPE_VOID + * "int" ARGTYPE_INT + * "uint" ARGTYPE_UINT ++ * "long" ARGTYPE_LONG ++ * "ulong" ARGTYPE_ULONG + * "octal" ARGTYPE_OCTAL + * "char" ARGTYPE_CHAR + * "string" ARGTYPE_STRING +@@ -31,6 +33,8 @@ + { "void", ARGTYPE_VOID }, + { "int", ARGTYPE_INT }, + { "uint", ARGTYPE_UINT }, ++ { "long", ARGTYPE_LONG }, ++ { "ulong", ARGTYPE_ULONG }, + { "octal", ARGTYPE_OCTAL }, + { "char", ARGTYPE_CHAR }, + { "addr", ARGTYPE_ADDR }, +@@ -41,6 +45,8 @@ + { "string1",ARGTYPE_STRING1 }, + { "string2",ARGTYPE_STRING2 }, + { "string3",ARGTYPE_STRING3 }, ++ { "string4",ARGTYPE_STRING4 }, ++ { "string5",ARGTYPE_STRING5 }, + { NULL, ARGTYPE_UNKNOWN } /* Must finish with NULL */ + }; + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/Makefile ltrace-0.3.35/sysdeps/linux-gnu/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -16,10 +16,10 @@ + cp $(ARCH)/syscallent.h syscallent.h + + ../sysdep.o: os.o $(ARCH)/arch.o +- $(LD) -r -o ../sysdep.o os.o $(ARCH)/arch.o ++ $(CC) -nostdlib -r -o ../sysdep.o os.o $(ARCH)/arch.o + + os.o: $(OBJ) +- $(LD) -r -o os.o $(OBJ) ++ $(CC) -nostdlib -r -o os.o $(OBJ) + + $(ARCH)/arch.o: dummy + $(MAKE) -C $(ARCH) +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) arch.h +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h 2004-10-22 16:34:24.000000000 +1000 +@@ -1,4 +1,4 @@ +- "0", /* 0 */ ++ "restart_syscall", /* 0 */ + "exit", /* 1 */ + "fork", /* 2 */ + "read", /* 3 */ +@@ -178,8 +178,8 @@ + "rt_sigtimedwait", /* 177 */ + "rt_sigqueueinfo", /* 178 */ + "rt_sigsuspend", /* 179 */ +- "pread", /* 180 */ +- "pwrite", /* 181 */ ++ "pread64", /* 180 */ ++ "pwrite64", /* 181 */ + "chown", /* 182 */ + "getcwd", /* 183 */ + "capget", /* 184 */ +@@ -221,7 +221,7 @@ + "getdents64", /* 220 */ + "fcntl64", /* 221 */ + "222", /* 222 */ +- "security", /* 223 */ ++ "223", /* 223 */ + "gettid", /* 224 */ + "readahead", /* 225 */ + "setxattr", /* 226 */ +@@ -248,6 +248,36 @@ + "io_getevents", /* 247 */ + "io_submit", /* 248 */ + "io_cancel", /* 249 */ +- "alloc_hugepages", /* 250 */ +- "free_hugepages", /* 251 */ ++ "fadvise64", /* 250 */ ++ "251", /* 251 */ + "exit_group", /* 252 */ ++ "lookup_dcookie", /* 253 */ ++ "epoll_create", /* 254 */ ++ "epoll_ctl", /* 255 */ ++ "epoll_wait", /* 256 */ ++ "remap_file_pages", /* 257 */ ++ "set_tid_address", /* 258 */ ++ "timer_create", /* 259 */ ++ "timer_settime", /* 260 */ ++ "timer_gettime", /* 261 */ ++ "timer_getoverrun", /* 262 */ ++ "timer_delete", /* 263 */ ++ "clock_settime", /* 264 */ ++ "clock_gettime", /* 265 */ ++ "clock_getres", /* 266 */ ++ "clock_nanosleep", /* 267 */ ++ "statfs64", /* 268 */ ++ "fstatfs64", /* 269 */ ++ "tgkill", /* 270 */ ++ "utimes", /* 271 */ ++ "fadvise64_64", /* 272 */ ++ "vserver", /* 273 */ ++ "mbind", /* 274 */ ++ "get_mempolicy", /* 275 */ ++ "set_mempolicy", /* 276 */ ++ "mq_open", /* 277 */ ++ "mq_unlink", /* 278 */ ++ "mq_timedsend", /* 279 */ ++ "mq_timedreceive", /* 280 */ ++ "mq_notify", /* 281 */ ++ "mq_getsetattr", /* 282 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h 2004-10-22 16:34:24.000000000 +1000 +@@ -222,7 +222,7 @@ + "futex", /* 221 */ + "sched_setaffinity", /* 222 */ + "sched_getaffinity", /* 223 */ +- "security", /* 224 */ ++ "224", /* 224 */ + "tuxcall", /* 225 */ + "sendfile64", /* 226 */ + "io_setup", /* 227 */ +@@ -230,3 +230,33 @@ + "io_getevents", /* 229 */ + "io_submit", /* 230 */ + "io_cancel", /* 231 */ ++ "set_tid_address", /* 232 */ ++ "fadvise64", /* 233 */ ++ "exit_group", /* 234 */ ++ "lookup_dcookie", /* 235 */ ++ "epoll_create", /* 236 */ ++ "epoll_ctl", /* 237 */ ++ "epoll_wait", /* 238 */ ++ "remap_file_pages", /* 239 */ ++ "timer_create", /* 240 */ ++ "timer_settime", /* 241 */ ++ "timer_gettime", /* 242 */ ++ "timer_getoverrun", /* 243 */ ++ "timer_delete", /* 244 */ ++ "clock_settime", /* 245 */ ++ "clock_gettime", /* 246 */ ++ "clock_getres", /* 247 */ ++ "clock_nanosleep", /* 248 */ ++ "swapcontext", /* 249 */ ++ "tgkill", /* 250 */ ++ "utimes", /* 251 */ ++ "statfs64", /* 252 */ ++ "fstatfs64", /* 253 */ ++ "fadvise64_64", /* 254 */ ++ "rtas", /* 255 */ ++ "mq_open", /* 262 */ ++ "mq_unlink", /* 263 */ ++ "mq_timedsend", /* 264 */ ++ "mq_timedreceive", /* 265 */ ++ "mq_notify", /* 266 */ ++ "mq_getsetattr", /* 267 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -7,7 +7,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/s390/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/syscallent.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/s390/syscallent.h 2004-10-22 16:34:24.000000000 +1000 +@@ -221,7 +221,7 @@ + "getdents64", /* 220 */ + "fcntl64", /* 221 */ + "readahead", /* 222 */ +- "223", /* 223 */ ++ "sendfile64", /* 223 */ + "setxattr", /* 224 */ + "lsetxattr", /* 225 */ + "fsetxattr", /* 226 */ +@@ -236,3 +236,42 @@ + "fremovexattr", /* 235 */ + "gettid", /* 236 */ + "tkill", /* 237 */ ++ "futex", /* 238 */ ++ "sched_setaffinity", /* 239 */ ++ "sched_getaffinity", /* 240 */ ++ "241", /* 241 */ ++ "242", /* 242 */ ++ "io_setup", /* 243 */ ++ "io_destroy", /* 244 */ ++ "io_getevents", /* 245 */ ++ "io_submit", /* 246 */ ++ "io_cancel", /* 247 */ ++ "exit_group", /* 248 */ ++ "epoll_create", /* 249 */ ++ "epoll_ctl", /* 250 */ ++ "epoll_wait", /* 251 */ ++ "set_tid_address", /* 252 */ ++ "fadvise64", /* 253 */ ++ "timer_create", /* 254 */ ++ "timer_settime", /* 255 */ ++ "timer_gettime", /* 256 */ ++ "timer_getoverrun", /* 257 */ ++ "timer_delete", /* 258 */ ++ "clock_settime", /* 259 */ ++ "clock_gettime", /* 260 */ ++ "clock_getres", /* 261 */ ++ "clock_nanosleep", /* 262 */ ++ "263", /* 263 */ ++ "fadvise64_64", /* 264 */ ++ "statfs64", /* 265 */ ++ "fstatfs64", /* 266 */ ++ "267", /* 267 */ ++ "268", /* 268 */ ++ "269", /* 269 */ ++ "270", /* 270 */ ++ "mq_open", /* 271 */ ++ "mq_unlink", /* 272 */ ++ "mq_timedsend", /* 273 */ ++ "mq_timedreceive", /* 274 */ ++ "mq_notify", /* 275 */ ++ "mq_getsetattr", /* 276 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile 2004-10-22 16:34:24.000000000 +1000 +@@ -3,7 +3,7 @@ + all: arch.o + + arch.o: $(OBJ) +- $(LD) -r -o arch.o $(OBJ) ++ $(CC) -nostdlib -r -o arch.o $(OBJ) + + clean: + $(RM) $(OBJ) arch.o +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h 2004-10-22 16:34:24.000000000 +1000 +@@ -201,3 +201,46 @@ + "tkill", /* 200 */ + "time", /* 201 */ + "futex", /* 202 */ ++ "sched_setaffinity", /* 203 */ ++ "sched_getaffinity", /* 204 */ ++ "set_thread_area", /* 205 */ ++ "io_setup", /* 206 */ ++ "io_destroy", /* 207 */ ++ "io_getevents", /* 208 */ ++ "io_submit", /* 209 */ ++ "io_cancel", /* 210 */ ++ "get_thread_area", /* 211 */ ++ "lookup_dcookie", /* 212 */ ++ "epoll_create", /* 213 */ ++ "epoll_ctl", /* 214 */ ++ "epoll_wait", /* 215 */ ++ "remap_file_pages", /* 216 */ ++ "getdents64", /* 217 */ ++ "set_tid_address", /* 218 */ ++ "restart_syscall", /* 219 */ ++ "semtimedop", /* 220 */ ++ "fadvise64", /* 221 */ ++ "timer_create", /* 222 */ ++ "timer_settime", /* 223 */ ++ "timer_gettime", /* 224 */ ++ "timer_getoverrun", /* 225 */ ++ "timer_delete", /* 226 */ ++ "clock_settime", /* 227 */ ++ "clock_gettime", /* 228 */ ++ "clock_getres", /* 229 */ ++ "clock_nanosleep", /* 230 */ ++ "exit_group", /* 231 */ ++ "epoll_wait", /* 232 */ ++ "epoll_ctl", /* 233 */ ++ "tgkill", /* 234 */ ++ "utimes", /* 235 */ ++ "vserver", /* 236 */ ++ "mbind", /* 237 */ ++ "set_mempolicy", /* 238 */ ++ "get_mempolicy", /* 239 */ ++ "mq_open", /* 240 */ ++ "mq_unlink", /* 241 */ ++ "mq_timedsend", /* 242 */ ++ "mq_timedreceive", /* 243 */ ++ "mq_notify", /* 244 */ ++ "mq_getsetattr", /* 245 */ diff --git a/debian/patches/00list b/debian/patches/00list new file mode 100644 index 0000000..018f0f7 --- /dev/null +++ b/debian/patches/00list @@ -0,0 +1,4 @@ +0064bit +01elf-rewrite +02demangle +03syscallent-update diff --git a/debian/patches/01elf-rewrite.dpatch b/debian/patches/01elf-rewrite.dpatch new file mode 100755 index 0000000..51315f0 --- /dev/null +++ b/debian/patches/01elf-rewrite.dpatch @@ -0,0 +1,2742 @@ +#! /bin/sh -e +## 01elf-rewrite.dpatch by <apollock@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/aclocal.m4 ltrace-0.3.35/aclocal.m4 +--- /home/apollock/debian/ltrace/ltrace-0.3.35/aclocal.m4 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/aclocal.m4 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,833 @@ ++dnl aclocal.m4t generated automatically by aclocal 1.4-p6 ++ ++dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++dnl This program is distributed in the hope that it will be useful, ++dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++dnl PARTICULAR PURPOSE. ++ ++# lib-prefix.m4 serial 3 (gettext-0.13) ++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. ++dnl This file is free software, distributed under the terms of the GNU ++dnl General Public License. As a special exception to the GNU General ++dnl Public License, this file may be distributed as part of a program ++dnl that contains a configuration script generated by Autoconf, under ++dnl the same distribution terms as the rest of that program. ++ ++dnl From Bruno Haible. ++ ++dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and ++dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't ++dnl require excessive bracketing. ++ifdef([AC_HELP_STRING], ++[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], ++[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) ++ ++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed ++dnl to access previously installed libraries. The basic assumption is that ++dnl a user will want packages to use other packages he previously installed ++dnl with the same --prefix option. ++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate ++dnl libraries, but is otherwise very convenient. ++AC_DEFUN([AC_LIB_PREFIX], ++[ ++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) ++ AC_REQUIRE([AC_PROG_CC]) ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) ++ dnl By default, look in $includedir and $libdir. ++ use_additional=yes ++ AC_LIB_WITH_FINAL_PREFIX([ ++ eval additional_includedir=\"$includedir\" ++ eval additional_libdir=\"$libdir\" ++ ]) ++ AC_LIB_ARG_WITH([lib-prefix], ++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib ++ --without-lib-prefix don't search for libraries in includedir and libdir], ++[ ++ if test "X$withval" = "Xno"; then ++ use_additional=no ++ else ++ if test "X$withval" = "X"; then ++ AC_LIB_WITH_FINAL_PREFIX([ ++ eval additional_includedir=\"$includedir\" ++ eval additional_libdir=\"$libdir\" ++ ]) ++ else ++ additional_includedir="$withval/include" ++ additional_libdir="$withval/lib" ++ fi ++ fi ++]) ++ if test $use_additional = yes; then ++ dnl Potentially add $additional_includedir to $CPPFLAGS. ++ dnl But don't add it ++ dnl 1. if it's the standard /usr/include, ++ dnl 2. if it's already present in $CPPFLAGS, ++ dnl 3. if it's /usr/local/include and we are using GCC on Linux, ++ dnl 4. if it doesn't exist as a directory. ++ if test "X$additional_includedir" != "X/usr/include"; then ++ haveit= ++ for x in $CPPFLAGS; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-I$additional_includedir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ if test "X$additional_includedir" = "X/usr/local/include"; then ++ if test -n "$GCC"; then ++ case $host_os in ++ linux*) haveit=yes;; ++ esac ++ fi ++ fi ++ if test -z "$haveit"; then ++ if test -d "$additional_includedir"; then ++ dnl Really add $additional_includedir to $CPPFLAGS. ++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" ++ fi ++ fi ++ fi ++ fi ++ dnl Potentially add $additional_libdir to $LDFLAGS. ++ dnl But don't add it ++ dnl 1. if it's the standard /usr/lib, ++ dnl 2. if it's already present in $LDFLAGS, ++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux, ++ dnl 4. if it doesn't exist as a directory. ++ if test "X$additional_libdir" != "X/usr/lib"; then ++ haveit= ++ for x in $LDFLAGS; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-L$additional_libdir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ if test "X$additional_libdir" = "X/usr/local/lib"; then ++ if test -n "$GCC"; then ++ case $host_os in ++ linux*) haveit=yes;; ++ esac ++ fi ++ fi ++ if test -z "$haveit"; then ++ if test -d "$additional_libdir"; then ++ dnl Really add $additional_libdir to $LDFLAGS. ++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" ++ fi ++ fi ++ fi ++ fi ++ fi ++]) ++ ++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, ++dnl acl_final_exec_prefix, containing the values to which $prefix and ++dnl $exec_prefix will expand at the end of the configure script. ++AC_DEFUN([AC_LIB_PREPARE_PREFIX], ++[ ++ dnl Unfortunately, prefix and exec_prefix get only finally determined ++ dnl at the end of configure. ++ if test "X$prefix" = "XNONE"; then ++ acl_final_prefix="$ac_default_prefix" ++ else ++ acl_final_prefix="$prefix" ++ fi ++ if test "X$exec_prefix" = "XNONE"; then ++ acl_final_exec_prefix='${prefix}' ++ else ++ acl_final_exec_prefix="$exec_prefix" ++ fi ++ acl_save_prefix="$prefix" ++ prefix="$acl_final_prefix" ++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" ++ prefix="$acl_save_prefix" ++]) ++ ++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the ++dnl variables prefix and exec_prefix bound to the values they will have ++dnl at the end of the configure script. ++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], ++[ ++ acl_save_prefix="$prefix" ++ prefix="$acl_final_prefix" ++ acl_save_exec_prefix="$exec_prefix" ++ exec_prefix="$acl_final_exec_prefix" ++ $1 ++ exec_prefix="$acl_save_exec_prefix" ++ prefix="$acl_save_prefix" ++]) ++ ++# lib-link.m4 serial 4 (gettext-0.12) ++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. ++dnl This file is free software, distributed under the terms of the GNU ++dnl General Public License. As a special exception to the GNU General ++dnl Public License, this file may be distributed as part of a program ++dnl that contains a configuration script generated by Autoconf, under ++dnl the same distribution terms as the rest of that program. ++ ++dnl From Bruno Haible. ++ ++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and ++dnl the libraries corresponding to explicit and implicit dependencies. ++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and ++dnl augments the CPPFLAGS variable. ++AC_DEFUN([AC_LIB_LINKFLAGS], ++[ ++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) ++ AC_REQUIRE([AC_LIB_RPATH]) ++ define([Name],[translit([$1],[./-], [___])]) ++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], ++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) ++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ ++ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ++ ac_cv_lib[]Name[]_libs="$LIB[]NAME" ++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ++ ]) ++ LIB[]NAME="$ac_cv_lib[]Name[]_libs" ++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" ++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags" ++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) ++ AC_SUBST([LIB]NAME) ++ AC_SUBST([LTLIB]NAME) ++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the ++ dnl results of this search when this library appears as a dependency. ++ HAVE_LIB[]NAME=yes ++ undefine([Name]) ++ undefine([NAME]) ++]) ++ ++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) ++dnl searches for libname and the libraries corresponding to explicit and ++dnl implicit dependencies, together with the specified include files and ++dnl the ability to compile and link the specified testcode. If found, it ++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and ++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and ++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs ++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. ++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], ++[ ++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) ++ AC_REQUIRE([AC_LIB_RPATH]) ++ define([Name],[translit([$1],[./-], [___])]) ++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], ++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) ++ ++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME ++ dnl accordingly. ++ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ++ ++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, ++ dnl because if the user has installed lib[]Name and not disabled its use ++ dnl via --without-lib[]Name-prefix, he wants to use it. ++ ac_save_CPPFLAGS="$CPPFLAGS" ++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) ++ ++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ++ ac_save_LIBS="$LIBS" ++ LIBS="$LIBS $LIB[]NAME" ++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) ++ LIBS="$ac_save_LIBS" ++ ]) ++ if test "$ac_cv_lib[]Name" = yes; then ++ HAVE_LIB[]NAME=yes ++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) ++ AC_MSG_CHECKING([how to link with lib[]$1]) ++ AC_MSG_RESULT([$LIB[]NAME]) ++ else ++ HAVE_LIB[]NAME=no ++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need ++ dnl $INC[]NAME either. ++ CPPFLAGS="$ac_save_CPPFLAGS" ++ LIB[]NAME= ++ LTLIB[]NAME= ++ fi ++ AC_SUBST([HAVE_LIB]NAME) ++ AC_SUBST([LIB]NAME) ++ AC_SUBST([LTLIB]NAME) ++ undefine([Name]) ++ undefine([NAME]) ++]) ++ ++dnl Determine the platform dependent parameters needed to use rpath: ++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, ++dnl hardcode_direct, hardcode_minus_L. ++AC_DEFUN([AC_LIB_RPATH], ++[ ++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS ++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld ++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host ++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir ++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ ++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh ++ . ./conftest.sh ++ rm -f ./conftest.sh ++ acl_cv_rpath=done ++ ]) ++ wl="$acl_cv_wl" ++ libext="$acl_cv_libext" ++ shlibext="$acl_cv_shlibext" ++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" ++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" ++ hardcode_direct="$acl_cv_hardcode_direct" ++ hardcode_minus_L="$acl_cv_hardcode_minus_L" ++ dnl Determine whether the user wants rpath handling at all. ++ AC_ARG_ENABLE(rpath, ++ [ --disable-rpath do not hardcode runtime library paths], ++ :, enable_rpath=yes) ++]) ++ ++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and ++dnl the libraries corresponding to explicit and implicit dependencies. ++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. ++AC_DEFUN([AC_LIB_LINKFLAGS_BODY], ++[ ++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], ++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) ++ dnl By default, look in $includedir and $libdir. ++ use_additional=yes ++ AC_LIB_WITH_FINAL_PREFIX([ ++ eval additional_includedir=\"$includedir\" ++ eval additional_libdir=\"$libdir\" ++ ]) ++ AC_LIB_ARG_WITH([lib$1-prefix], ++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib ++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir], ++[ ++ if test "X$withval" = "Xno"; then ++ use_additional=no ++ else ++ if test "X$withval" = "X"; then ++ AC_LIB_WITH_FINAL_PREFIX([ ++ eval additional_includedir=\"$includedir\" ++ eval additional_libdir=\"$libdir\" ++ ]) ++ else ++ additional_includedir="$withval/include" ++ additional_libdir="$withval/lib" ++ fi ++ fi ++]) ++ dnl Search the library and its dependencies in $additional_libdir and ++ dnl $LDFLAGS. Using breadth-first-seach. ++ LIB[]NAME= ++ LTLIB[]NAME= ++ INC[]NAME= ++ rpathdirs= ++ ltrpathdirs= ++ names_already_handled= ++ names_next_round='$1 $2' ++ while test -n "$names_next_round"; do ++ names_this_round="$names_next_round" ++ names_next_round= ++ for name in $names_this_round; do ++ already_handled= ++ for n in $names_already_handled; do ++ if test "$n" = "$name"; then ++ already_handled=yes ++ break ++ fi ++ done ++ if test -z "$already_handled"; then ++ names_already_handled="$names_already_handled $name" ++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS ++ dnl or AC_LIB_HAVE_LINKFLAGS call. ++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` ++ eval value=\"\$HAVE_LIB$uppername\" ++ if test -n "$value"; then ++ if test "$value" = yes; then ++ eval value=\"\$LIB$uppername\" ++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" ++ eval value=\"\$LTLIB$uppername\" ++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" ++ else ++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined ++ dnl that this library doesn't exist. So just drop it. ++ : ++ fi ++ else ++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS ++ dnl and the already constructed $LIBNAME/$LTLIBNAME. ++ found_dir= ++ found_la= ++ found_so= ++ found_a= ++ if test $use_additional = yes; then ++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then ++ found_dir="$additional_libdir" ++ found_so="$additional_libdir/lib$name.$shlibext" ++ if test -f "$additional_libdir/lib$name.la"; then ++ found_la="$additional_libdir/lib$name.la" ++ fi ++ else ++ if test -f "$additional_libdir/lib$name.$libext"; then ++ found_dir="$additional_libdir" ++ found_a="$additional_libdir/lib$name.$libext" ++ if test -f "$additional_libdir/lib$name.la"; then ++ found_la="$additional_libdir/lib$name.la" ++ fi ++ fi ++ fi ++ fi ++ if test "X$found_dir" = "X"; then ++ for x in $LDFLAGS $LTLIB[]NAME; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ case "$x" in ++ -L*) ++ dir=`echo "X$x" | sed -e 's/^X-L//'` ++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then ++ found_dir="$dir" ++ found_so="$dir/lib$name.$shlibext" ++ if test -f "$dir/lib$name.la"; then ++ found_la="$dir/lib$name.la" ++ fi ++ else ++ if test -f "$dir/lib$name.$libext"; then ++ found_dir="$dir" ++ found_a="$dir/lib$name.$libext" ++ if test -f "$dir/lib$name.la"; then ++ found_la="$dir/lib$name.la" ++ fi ++ fi ++ fi ++ ;; ++ esac ++ if test "X$found_dir" != "X"; then ++ break ++ fi ++ done ++ fi ++ if test "X$found_dir" != "X"; then ++ dnl Found the library. ++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" ++ if test "X$found_so" != "X"; then ++ dnl Linking with a shared library. We attempt to hardcode its ++ dnl directory into the executable's runpath, unless it's the ++ dnl standard /usr/lib. ++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then ++ dnl No hardcoding is needed. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" ++ else ++ dnl Use an explicit option to hardcode DIR into the resulting ++ dnl binary. ++ dnl Potentially add DIR to ltrpathdirs. ++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. ++ haveit= ++ for x in $ltrpathdirs; do ++ if test "X$x" = "X$found_dir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ ltrpathdirs="$ltrpathdirs $found_dir" ++ fi ++ dnl The hardcoding into $LIBNAME is system dependent. ++ if test "$hardcode_direct" = yes; then ++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the ++ dnl resulting binary. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" ++ else ++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then ++ dnl Use an explicit option to hardcode DIR into the resulting ++ dnl binary. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" ++ dnl Potentially add DIR to rpathdirs. ++ dnl The rpathdirs will be appended to $LIBNAME at the end. ++ haveit= ++ for x in $rpathdirs; do ++ if test "X$x" = "X$found_dir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ rpathdirs="$rpathdirs $found_dir" ++ fi ++ else ++ dnl Rely on "-L$found_dir". ++ dnl But don't add it if it's already contained in the LDFLAGS ++ dnl or the already constructed $LIBNAME ++ haveit= ++ for x in $LDFLAGS $LIB[]NAME; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-L$found_dir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" ++ fi ++ if test "$hardcode_minus_L" != no; then ++ dnl FIXME: Not sure whether we should use ++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" ++ dnl here. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" ++ else ++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH ++ dnl here, because this doesn't fit in flags passed to the ++ dnl compiler. So give up. No hardcoding. This affects only ++ dnl very old systems. ++ dnl FIXME: Not sure whether we should use ++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" ++ dnl here. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" ++ fi ++ fi ++ fi ++ fi ++ else ++ if test "X$found_a" != "X"; then ++ dnl Linking with a static library. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" ++ else ++ dnl We shouldn't come here, but anyway it's good to have a ++ dnl fallback. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" ++ fi ++ fi ++ dnl Assume the include files are nearby. ++ additional_includedir= ++ case "$found_dir" in ++ */lib | */lib/) ++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` ++ additional_includedir="$basedir/include" ++ ;; ++ esac ++ if test "X$additional_includedir" != "X"; then ++ dnl Potentially add $additional_includedir to $INCNAME. ++ dnl But don't add it ++ dnl 1. if it's the standard /usr/include, ++ dnl 2. if it's /usr/local/include and we are using GCC on Linux, ++ dnl 3. if it's already present in $CPPFLAGS or the already ++ dnl constructed $INCNAME, ++ dnl 4. if it doesn't exist as a directory. ++ if test "X$additional_includedir" != "X/usr/include"; then ++ haveit= ++ if test "X$additional_includedir" = "X/usr/local/include"; then ++ if test -n "$GCC"; then ++ case $host_os in ++ linux*) haveit=yes;; ++ esac ++ fi ++ fi ++ if test -z "$haveit"; then ++ for x in $CPPFLAGS $INC[]NAME; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-I$additional_includedir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ if test -d "$additional_includedir"; then ++ dnl Really add $additional_includedir to $INCNAME. ++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" ++ fi ++ fi ++ fi ++ fi ++ fi ++ dnl Look for dependencies. ++ if test -n "$found_la"; then ++ dnl Read the .la file. It defines the variables ++ dnl dlname, library_names, old_library, dependency_libs, current, ++ dnl age, revision, installed, dlopen, dlpreopen, libdir. ++ save_libdir="$libdir" ++ case "$found_la" in ++ */* | *\\*) . "$found_la" ;; ++ *) . "./$found_la" ;; ++ esac ++ libdir="$save_libdir" ++ dnl We use only dependency_libs. ++ for dep in $dependency_libs; do ++ case "$dep" in ++ -L*) ++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` ++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. ++ dnl But don't add it ++ dnl 1. if it's the standard /usr/lib, ++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux, ++ dnl 3. if it's already present in $LDFLAGS or the already ++ dnl constructed $LIBNAME, ++ dnl 4. if it doesn't exist as a directory. ++ if test "X$additional_libdir" != "X/usr/lib"; then ++ haveit= ++ if test "X$additional_libdir" = "X/usr/local/lib"; then ++ if test -n "$GCC"; then ++ case $host_os in ++ linux*) haveit=yes;; ++ esac ++ fi ++ fi ++ if test -z "$haveit"; then ++ haveit= ++ for x in $LDFLAGS $LIB[]NAME; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-L$additional_libdir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ if test -d "$additional_libdir"; then ++ dnl Really add $additional_libdir to $LIBNAME. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" ++ fi ++ fi ++ haveit= ++ for x in $LDFLAGS $LTLIB[]NAME; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X-L$additional_libdir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ if test -d "$additional_libdir"; then ++ dnl Really add $additional_libdir to $LTLIBNAME. ++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" ++ fi ++ fi ++ fi ++ fi ++ ;; ++ -R*) ++ dir=`echo "X$dep" | sed -e 's/^X-R//'` ++ if test "$enable_rpath" != no; then ++ dnl Potentially add DIR to rpathdirs. ++ dnl The rpathdirs will be appended to $LIBNAME at the end. ++ haveit= ++ for x in $rpathdirs; do ++ if test "X$x" = "X$dir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ rpathdirs="$rpathdirs $dir" ++ fi ++ dnl Potentially add DIR to ltrpathdirs. ++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. ++ haveit= ++ for x in $ltrpathdirs; do ++ if test "X$x" = "X$dir"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ ltrpathdirs="$ltrpathdirs $dir" ++ fi ++ fi ++ ;; ++ -l*) ++ dnl Handle this in the next round. ++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ++ ;; ++ *.la) ++ dnl Handle this in the next round. Throw away the .la's ++ dnl directory; it is already contained in a preceding -L ++ dnl option. ++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ++ ;; ++ *) ++ dnl Most likely an immediate library name. ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" ++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ++ ;; ++ esac ++ done ++ fi ++ else ++ dnl Didn't find the library; assume it is in the system directories ++ dnl known to the linker and runtime loader. (All the system ++ dnl directories known to the linker should also be known to the ++ dnl runtime loader, otherwise the system is severely misconfigured.) ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" ++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" ++ fi ++ fi ++ fi ++ done ++ done ++ if test "X$rpathdirs" != "X"; then ++ if test -n "$hardcode_libdir_separator"; then ++ dnl Weird platform: only the last -rpath option counts, the user must ++ dnl pass all path elements in one option. We can arrange that for a ++ dnl single library, but not when more than one $LIBNAMEs are used. ++ alldirs= ++ for found_dir in $rpathdirs; do ++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" ++ done ++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. ++ acl_save_libdir="$libdir" ++ libdir="$alldirs" ++ eval flag=\"$hardcode_libdir_flag_spec\" ++ libdir="$acl_save_libdir" ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" ++ else ++ dnl The -rpath options are cumulative. ++ for found_dir in $rpathdirs; do ++ acl_save_libdir="$libdir" ++ libdir="$found_dir" ++ eval flag=\"$hardcode_libdir_flag_spec\" ++ libdir="$acl_save_libdir" ++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" ++ done ++ fi ++ fi ++ if test "X$ltrpathdirs" != "X"; then ++ dnl When using libtool, the option that works for both libraries and ++ dnl executables is -R. The -R options are cumulative. ++ for found_dir in $ltrpathdirs; do ++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" ++ done ++ fi ++]) ++ ++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, ++dnl unless already present in VAR. ++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes ++dnl contains two or three consecutive elements that belong together. ++AC_DEFUN([AC_LIB_APPENDTOVAR], ++[ ++ for element in [$2]; do ++ haveit= ++ for x in $[$1]; do ++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) ++ if test "X$x" = "X$element"; then ++ haveit=yes ++ break ++ fi ++ done ++ if test -z "$haveit"; then ++ [$1]="${[$1]}${[$1]:+ }$element" ++ fi ++ done ++]) ++ ++# lib-ld.m4 serial 3 (gettext-0.13) ++dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. ++dnl This file is free software, distributed under the terms of the GNU ++dnl General Public License. As a special exception to the GNU General ++dnl Public License, this file may be distributed as part of a program ++dnl that contains a configuration script generated by Autoconf, under ++dnl the same distribution terms as the rest of that program. ++ ++dnl Subroutines of libtool.m4, ++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision ++dnl with libtool.m4. ++ ++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. ++AC_DEFUN([AC_LIB_PROG_LD_GNU], ++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, ++[# I'd rather use --version here, but apparently some GNU ld's only accept -v. ++case `$LD -v 2>&1 </dev/null` in ++*GNU* | *'with BFD'*) ++ acl_cv_prog_gnu_ld=yes ;; ++*) ++ acl_cv_prog_gnu_ld=no ;; ++esac]) ++with_gnu_ld=$acl_cv_prog_gnu_ld ++]) ++ ++dnl From libtool-1.4. Sets the variable LD. ++AC_DEFUN([AC_LIB_PROG_LD], ++[AC_ARG_WITH(gnu-ld, ++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], ++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) ++AC_REQUIRE([AC_PROG_CC])dnl ++AC_REQUIRE([AC_CANONICAL_HOST])dnl ++# Prepare PATH_SEPARATOR. ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ac_prog=ld ++if test "$GCC" = yes; then ++ # Check if gcc -print-prog-name=ld gives a path. ++ AC_MSG_CHECKING([for ld used by GCC]) ++ case $host in ++ *-*-mingw*) ++ # gcc leaves a trailing carriage return which upsets mingw ++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ++ *) ++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ++ esac ++ case $ac_prog in ++ # Accept absolute paths. ++ [[\\/]* | [A-Za-z]:[\\/]*)] ++ [re_direlt='/[^/][^/]*/\.\./'] ++ # Canonicalize the path of ld ++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` ++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` ++ done ++ test -z "$LD" && LD="$ac_prog" ++ ;; ++ "") ++ # If it fails, then pretend we aren't using GCC. ++ ac_prog=ld ++ ;; ++ *) ++ # If it is relative, then search for the first ld in PATH. ++ with_gnu_ld=unknown ++ ;; ++ esac ++elif test "$with_gnu_ld" = yes; then ++ AC_MSG_CHECKING([for GNU ld]) ++else ++ AC_MSG_CHECKING([for non-GNU ld]) ++fi ++AC_CACHE_VAL(acl_cv_path_LD, ++[if test -z "$LD"; then ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" ++ for ac_dir in $PATH; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ++ acl_cv_path_LD="$ac_dir/$ac_prog" ++ # Check to see if the program is GNU ld. I'd rather use --version, ++ # but apparently some GNU ld's only accept -v. ++ # Break only if it was the GNU/non-GNU ld that we prefer. ++ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in ++ *GNU* | *'with BFD'*) ++ test "$with_gnu_ld" != no && break ;; ++ *) ++ test "$with_gnu_ld" != yes && break ;; ++ esac ++ fi ++ done ++ IFS="$ac_save_ifs" ++else ++ acl_cv_path_LD="$LD" # Let the user override the test with a path. ++fi]) ++LD="$acl_cv_path_LD" ++if test -n "$LD"; then ++ AC_MSG_RESULT($LD) ++else ++ AC_MSG_RESULT(no) ++fi ++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) ++AC_LIB_PROG_LD_GNU ++]) ++ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in ltrace-0.3.35/config.h.in +--- /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in 2004-10-22 21:16:09.000000000 +1000 ++++ ltrace-0.3.35/config.h.in 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,7 @@ +-/* config.h.in. Generated from configure.in by autoheader. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Defined if ELF_C_READ_MMAP is valid argument for elf_begin */ ++#undef HAVE_ELF_C_READ_MMAP + + /* Define to 1 if you have the `getopt' function. */ + #undef HAVE_GETOPT +@@ -12,6 +15,9 @@ + /* Define to 1 if you have the <inttypes.h> header file. */ + #undef HAVE_INTTYPES_H + ++/* Define to 1 if you have the `elf' library (-lelf). */ ++#undef HAVE_LIBELF ++ + /* Define to 1 if you have the `iberty' library (-liberty). */ + #undef HAVE_LIBIBERTY + +@@ -57,6 +63,12 @@ + /* Define to 1 if you have the ANSI C header files. */ + #undef STDC_HEADERS + ++/* Number of bits in a file offset, on hosts where this is settable. */ ++#undef _FILE_OFFSET_BITS ++ ++/* Define for large files, on AIX-style hosts. */ ++#undef _LARGE_FILES ++ + /* Define to empty if `const' does not conform to ANSI C. */ + #undef const + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in.orig ltrace-0.3.35/config.h.in.orig +--- /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in.orig 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/config.h.in.orig 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,70 @@ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define to 1 if you have the `getopt' function. */ ++#undef HAVE_GETOPT ++ ++/* Define to 1 if you have the <getopt.h> header file. */ ++#undef HAVE_GETOPT_H ++ ++/* Define to 1 if you have the `getopt_long' function. */ ++#undef HAVE_GETOPT_LONG ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the `iberty' library (-liberty). */ ++#undef HAVE_LIBIBERTY ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++#undef const ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#undef gid_t ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++#undef pid_t ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#undef uid_t +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in~ ltrace-0.3.35/config.h.in~ +--- /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in~ 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/config.h.in~ 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,70 @@ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define to 1 if you have the `getopt' function. */ ++#undef HAVE_GETOPT ++ ++/* Define to 1 if you have the <getopt.h> header file. */ ++#undef HAVE_GETOPT_H ++ ++/* Define to 1 if you have the `getopt_long' function. */ ++#undef HAVE_GETOPT_LONG ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the `iberty' library (-liberty). */ ++#undef HAVE_LIBIBERTY ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++#undef const ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#undef gid_t ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++#undef pid_t ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#undef uid_t +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure ltrace-0.3.35/configure +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure 2004-10-22 21:16:07.000000000 +1000 ++++ ltrace-0.3.35/configure 2004-10-22 21:28:41.000000000 +1000 +@@ -841,6 +841,11 @@ + + cat <<\_ACEOF + ++Optional Features: ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-largefile omit support for large files ++ + Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags +@@ -1291,6 +1296,7 @@ + ac_config_headers="$ac_config_headers config.h" + + ++ + ac_aux_dir= + for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then +@@ -3410,6 +3416,649 @@ + done + + ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo "$as_me:$LINENO: checking for gelf.h" >&5 ++echo $ECHO_N "checking for gelf.h... $ECHO_C" >&6 ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_gelf_h" >&5 ++echo "${ECHO_T}$ac_cv_header_gelf_h" >&6 ++else ++ # Is the header compilable? ++echo "$as_me:$LINENO: checking gelf.h usability" >&5 ++echo $ECHO_N "checking gelf.h usability... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include <gelf.h> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_header_compiler=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6 ++ ++# Is the header present? ++echo "$as_me:$LINENO: checking gelf.h presence" >&5 ++echo $ECHO_N "checking gelf.h presence... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <gelf.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++rm -f conftest.err conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6 ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: gelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: gelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: gelf.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: gelf.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: gelf.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: gelf.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: gelf.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: gelf.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: gelf.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: gelf.h: in the future, the compiler will take precedence" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------------ ## ++## Report this to the AC_PACKAGE_NAME lists. ## ++## ------------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++echo "$as_me:$LINENO: checking for gelf.h" >&5 ++echo $ECHO_N "checking for gelf.h... $ECHO_C" >&6 ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_gelf_h=$ac_header_preproc ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_gelf_h" >&5 ++echo "${ECHO_T}$ac_cv_header_gelf_h" >&6 ++ ++fi ++if test $ac_cv_header_gelf_h = yes; then ++ : ++else ++ ++ if test -f /usr/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/elfutils" ++ elif test -f /usr/local/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/elfutils" ++ elif test -f /usr/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/libelf" ++ elif test -f /usr/local/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/libelf" ++ else ++ { { echo "$as_me:$LINENO: error: gelf.h not found" >&5 ++echo "$as_me: error: gelf.h not found" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++fi ++ ++ ++ ++echo "$as_me:$LINENO: checking for gelf_getdyn in -lelf" >&5 ++echo $ECHO_N "checking for gelf_getdyn in -lelf... $ECHO_C" >&6 ++if test "${ac_cv_lib_elf_gelf_getdyn+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lelf $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char gelf_getdyn (); ++int ++main () ++{ ++gelf_getdyn (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_elf_gelf_getdyn=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_lib_elf_gelf_getdyn=no ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:$LINENO: result: $ac_cv_lib_elf_gelf_getdyn" >&5 ++echo "${ECHO_T}$ac_cv_lib_elf_gelf_getdyn" >&6 ++if test $ac_cv_lib_elf_gelf_getdyn = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBELF 1 ++_ACEOF ++ ++ LIBS="-lelf $LIBS" ++ ++fi ++ ++ ++ac_cv_have_elf_c_read_mmap=no ++echo "$as_me:$LINENO: checking elf_begin accepts ELF_C_READ_MMAP" >&5 ++echo $ECHO_N "checking elf_begin accepts ELF_C_READ_MMAP... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <gelf.h> ++int ++main () ++{ ++Elf *elf = elf_begin (4, ELF_C_READ_MMAP, 0); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_have_elf_c_read_mmap=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_cv_have_elf_c_read_mmap" >&5 ++echo "${ECHO_T}$ac_cv_have_elf_c_read_mmap" >&6 ++if test $ac_cv_have_elf_c_read_mmap = yes; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_ELF_C_READ_MMAP 1 ++_ACEOF ++ ++# Check whether --enable-largefile or --disable-largefile was given. ++if test "${enable_largefile+set}" = set; then ++ enableval="$enable_largefile" ++ ++fi; ++if test "$enable_largefile" != no; then ++ ++ echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 ++echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_largefile_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_sys_largefile_CC=no ++ if test "$GCC" != yes; then ++ ac_save_CC=$CC ++ while :; do ++ # IRIX 6.2 and later do not support large files by default, ++ # so use the C compiler's -n32 option if that helps. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext ++ CC="$CC -n32" ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_largefile_CC=' -n32'; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext ++ break ++ done ++ CC=$ac_save_CC ++ rm -f conftest.$ac_ext ++ fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 ++echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 ++ if test "$ac_cv_sys_largefile_CC" != no; then ++ CC=$CC$ac_cv_sys_largefile_CC ++ fi ++ ++ echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 ++echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_file_offset_bits+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ while :; do ++ ac_cv_sys_file_offset_bits=no ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _FILE_OFFSET_BITS 64 ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_file_offset_bits=64; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ break ++done ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 ++echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 ++if test "$ac_cv_sys_file_offset_bits" != no; then ++ ++cat >>confdefs.h <<_ACEOF ++#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits ++_ACEOF ++ ++fi ++rm -f conftest* ++ echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 ++echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_large_files+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ while :; do ++ ac_cv_sys_large_files=no ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _LARGE_FILES 1 ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_large_files=1; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ break ++done ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 ++echo "${ECHO_T}$ac_cv_sys_large_files" >&6 ++if test "$ac_cv_sys_large_files" != no; then ++ ++cat >>confdefs.h <<_ACEOF ++#define _LARGE_FILES $ac_cv_sys_large_files ++_ACEOF ++ ++fi ++rm -f conftest* ++fi ++ ++fi + ac_config_files="$ac_config_files Makefile" + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure.ac ltrace-0.3.35/configure.ac +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure.ac 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/configure.ac 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,80 @@ ++dnl Process this file with autoconf to produce a configure script. ++AC_INIT(ltrace.c) ++AC_CONFIG_HEADER(config.h) ++AC_PREREQ(2.50) ++ ++dnl Check host system type ++AC_CANONICAL_HOST ++HOST_OS="$host_os" ++AC_SUBST(HOST_OS) ++ ++dnl Checks for programs. ++AC_PROG_CC ++AC_PROG_INSTALL ++ ++dnl Checks for libraries. ++AC_CHECK_LIB(iberty, cplus_demangle,,,) ++ ++AC_MSG_CHECKING(ltrace version) ++changequote(<<, >>) ++ltrace_version=`sed -n '1s/ltrace (\([0-9.]\+\)).*/\1/p' ${srcdir}/debian/changelog` ++sed -e "s/@VERSION@/${ltrace_version}/g" \ ++ < ${srcdir}/ltrace.spec.in > ${srcdir}/ltrace.spec ++changequote([, ]) ++dnl AC_DEFINE_UNQUOTED(VERSION,"$ltrace_version") ++AC_MSG_RESULT($ltrace_version) ++ ++dnl ++dnl The following stuff may be useful, but I don't use it now. ++dnl ++ ++dnl dnl Checks for header files. ++AC_HEADER_STDC ++dnl AC_HEADER_SYS_WAIT ++dnl AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h) ++AC_CHECK_HEADERS(getopt.h) ++dnl ++dnl dnl Checks for typedefs, structures, and compiler characteristics. ++AC_C_CONST ++AC_TYPE_UID_T ++AC_TYPE_PID_T ++dnl AC_HEADER_TIME ++dnl AC_STRUCT_TM ++dnl ++dnl dnl Checks for library functions. ++dnl AC_FUNC_MMAP ++dnl AC_TYPE_SIGNAL ++dnl AC_FUNC_VPRINTF ++dnl AC_CHECK_FUNCS(gettimeofday strdup strerror strspn) ++AC_CHECK_FUNCS(getopt getopt_long) ++ ++AC_CHECK_HEADER(gelf.h,,[ ++ if test -f /usr/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/elfutils" ++ elif test -f /usr/local/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/elfutils" ++ elif test -f /usr/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/libelf" ++ elif test -f /usr/local/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/libelf" ++ else ++ AC_MSG_ERROR(gelf.h not found) ++ fi]) ++AC_CHECK_LIB(elf,gelf_getdyn) ++ ++ac_cv_have_elf_c_read_mmap=no ++AC_MSG_CHECKING(elf_begin accepts ELF_C_READ_MMAP) ++AC_TRY_COMPILE([#include <gelf.h>], ++ [Elf *elf = elf_begin (4, ELF_C_READ_MMAP, 0);], ++ [ac_cv_have_elf_c_read_mmap=yes]) ++AC_MSG_RESULT($ac_cv_have_elf_c_read_mmap) ++if test $ac_cv_have_elf_c_read_mmap = yes; then ++AC_DEFINE(HAVE_ELF_C_READ_MMAP, 1, ++ [Defined if ELF_C_READ_MMAP is valid argument for elf_begin]) ++dnl This is not 100% correct, but all elfutils installations ++dnl are built with LFS, while AFAIK all Michael Riepe's libelfs ++dnl are built without LFS. It is important that LFS setting ++dnl of libelf and ltrace matches. ++AC_SYS_LARGEFILE ++fi ++AC_OUTPUT(Makefile) +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure.in ltrace-0.3.35/configure.in +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure.in 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/configure.in 2004-10-22 21:28:41.000000000 +1000 +@@ -1,50 +0,0 @@ +-dnl Process this file with autoconf to produce a configure script. +-AC_INIT(ltrace.c) +-AC_CONFIG_HEADER(config.h) +- +-dnl Check host system type +-AC_CANONICAL_HOST +-HOST_OS="$host_os" +-AC_SUBST(HOST_OS) +- +-dnl Checks for programs. +-AC_PROG_CC +-AC_PROG_INSTALL +- +-dnl Checks for libraries. +-AC_CHECK_LIB(iberty, cplus_demangle,,,) +- +-AC_MSG_CHECKING(ltrace version) +-changequote(<<, >>) +-ltrace_version=`sed -n '1s/ltrace (\([0-9.]\+\)).*/\1/p' ${srcdir}/debian/changelog` +-sed -e "s/@VERSION@/${ltrace_version}/g" \ +- < ${srcdir}/ltrace.spec.in > ${srcdir}/ltrace.spec +-changequote([, ]) +-dnl AC_DEFINE_UNQUOTED(VERSION,"$ltrace_version") +-AC_MSG_RESULT($ltrace_version) +- +-dnl +-dnl The following stuff may be useful, but I don't use it now. +-dnl +- +-dnl dnl Checks for header files. +-AC_HEADER_STDC +-dnl AC_HEADER_SYS_WAIT +-dnl AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h) +-AC_CHECK_HEADERS(getopt.h) +-dnl +-dnl dnl Checks for typedefs, structures, and compiler characteristics. +-AC_C_CONST +-AC_TYPE_UID_T +-AC_TYPE_PID_T +-dnl AC_HEADER_TIME +-dnl AC_STRUCT_TM +-dnl +-dnl dnl Checks for library functions. +-dnl AC_FUNC_MMAP +-dnl AC_TYPE_SIGNAL +-dnl AC_FUNC_VPRINTF +-dnl AC_CHECK_FUNCS(gettimeofday strdup strerror strspn) +-AC_CHECK_FUNCS(getopt getopt_long) +- +-AC_OUTPUT(Makefile) +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/elf.c ltrace-0.3.35/elf.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/elf.c 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/elf.c 2004-10-22 21:28:41.000000000 +1000 +@@ -1,21 +1,14 @@ + #if HAVE_CONFIG_H +-#include "config.h" ++# include "config.h" + #endif + +-/* +- * This file contains functions specific to ELF binaries +- * +- * Silvio Cesare <silvio@big.net.au> +- * +- */ +- +-#include <stdio.h> ++#include <endian.h> + #include <errno.h> +-#include <stdlib.h> +-#include <sys/types.h> +-#include <sys/stat.h> ++#include <error.h> + #include <fcntl.h> +-#include <sys/mman.h> ++#include <gelf.h> ++#include <stdint.h> ++#include <stdlib.h> + #include <string.h> + #include <unistd.h> + +@@ -23,241 +16,322 @@ + #include "elf.h" + #include "debug.h" + +-static void do_init_elf(struct ltelf *lte, const char *filename); +-static void do_close_elf(struct ltelf *lte); +-static void do_load_elf_symtab(struct ltelf *lte); +-static void do_init_load_libraries(void); +-static void do_close_load_libraries(void); +-static int in_load_libraries(const char *func); +-static void add_library_symbol( +- struct ltelf *lte, +- int i, +- struct library_symbol **library_symbolspp +-); +- +-static struct ltelf library_lte[MAX_LIBRARY]; ++static void do_init_elf (struct ltelf *lte, const char *filename); ++static void do_close_elf (struct ltelf *lte); ++static void add_library_symbol (GElf_Addr addr, const char *name, ++ struct library_symbol **library_symbolspp); ++static int in_load_libraries (const char *name, struct ltelf *lte); + + static void +-do_init_elf(struct ltelf *lte, const char *filename) { +- struct stat sbuf; ++do_init_elf (struct ltelf *lte, const char *filename) ++{ ++ int i; ++ GElf_Addr relplt_addr = 0; ++ size_t relplt_size = 0; + +- debug(1, "Reading ELF from %s...", filename); ++ debug (1, "Reading ELF from %s...", filename); + +- lte->fd = open(filename, O_RDONLY); +- if (lte->fd == -1) { +- fprintf( +- stderr, +- "Can't open \"%s\": %s\n", +- filename, +- strerror(errno) +- ); +- exit(1); +- } +- if (fstat(lte->fd, &sbuf) == -1) { +- fprintf( +- stderr, +- "Can't stat \"%s\": %s\n", +- filename, +- strerror(errno) +- ); +- exit(1); +- } +- if (sbuf.st_size < sizeof(Elf_Ehdr)) { +- fprintf( +- stderr, +- "\"%s\" is not an ELF binary object\n", +- filename +- ); +- exit(1); +- } +- lte->maddr = mmap( +- NULL, sbuf.st_size, PROT_READ, MAP_SHARED, lte->fd, 0 +- ); +- if (lte->maddr == (void*)-1) { +- fprintf( +- stderr, +- "Can't mmap \"%s\": %s\n", +- filename, +- strerror(errno) +- ); +- exit(1); +- } ++ memset (lte, 0, sizeof (*lte)); ++ lte->fd = open (filename, O_RDONLY); ++ if (lte->fd == -1) ++ error (EXIT_FAILURE, errno, "Can't open \"%s\"", filename); + +-#if defined(FILEFORMAT_CHECK) +- if (! ffcheck(lte->maddr)) { +- fprintf( +- stderr, +- "%s: wrong architecture or ELF format\n", +- filename +- ); +- exit(1); +- } ++#ifdef HAVE_ELF_C_READ_MMAP ++ lte->elf = elf_begin (lte->fd, ELF_C_READ_MMAP, NULL); ++#else ++ lte->elf = elf_begin (lte->fd, ELF_C_READ, NULL); + #endif + +- lte->ehdr = lte->maddr; ++ if (lte->elf == NULL || elf_kind (lte->elf) != ELF_K_ELF) ++ error (EXIT_FAILURE, 0, "Can't open ELF file \"%s\"", filename); + +- if (strncmp(lte->ehdr->e_ident, ELFMAG, SELFMAG)) { +- fprintf( +- stderr, +- "\"%s\" is not an ELF binary object\n", +- filename +- ); +- exit(1); +- } ++ if (gelf_getehdr (lte->elf, <e->ehdr) == NULL) ++ error (EXIT_FAILURE, 0, "Can't read ELF header of \"%s\"", filename); + +-/* +- more ELF checks should go here - the e_arch/e_machine fields in the +- ELF header are specific to each architecture. perhaps move some code +- into sysdeps (have check_ehdr_arch) - silvio +-*/ ++ if (lte->ehdr.e_type != ET_EXEC && lte->ehdr.e_type != ET_DYN) ++ error (EXIT_FAILURE, 0, "\"%s\" is not an ELF executable nor shared library", ++ filename); + +- lte->strtab = NULL; ++ if (lte->ehdr.e_ident[EI_CLASS] != LT_ELFCLASS ++ || (lte->ehdr.e_machine != LT_ELF_MACHINE ++#ifdef LT_ELF_MACHINE2 ++ && lte->ehdr.e_machine != LT_ELF_MACHINE2 ++#endif ++#ifdef LT_ELF_MACHINE3 ++ && lte->ehdr.e_machine != LT_ELF_MACHINE3 ++#endif ++ )) ++ error (EXIT_FAILURE, 0, "\"%s\" is ELF from incompatible architecture", ++ filename); + +- lte->symtab = NULL; +- lte->symtab_len = 0; +-} ++ for (i = 1; i < lte->ehdr.e_shnum; ++i) ++ { ++ Elf_Scn *scn; ++ GElf_Shdr shdr; ++ const char *name; + +-static void +-do_close_elf(struct ltelf *lte) { +- close(lte->fd); +-} ++ scn = elf_getscn (lte->elf, i); ++ if (scn == NULL || gelf_getshdr (scn, &shdr) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get section header from \"%s\"", ++ filename); + +-static void +-do_load_elf_symtab(struct ltelf *lte) { +- void *maddr = lte->maddr; +- Elf_Ehdr *ehdr = lte->ehdr; +- Elf_Shdr *shdr = (Elf_Shdr *)(maddr + ehdr->e_shoff); +- int i; ++ name = elf_strptr (lte->elf, lte->ehdr.e_shstrndx, shdr.sh_name); ++ if (name == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get section header from \"%s\"", ++ filename); + +-/* +- an ELF object should only ever one dynamic symbol section (DYNSYM), but +- can have multiple string tables. the sh_link entry from DYNSYM points +- to the correct STRTAB section - silvio +-*/ ++ if (shdr.sh_type == SHT_DYNSYM) ++ { ++ Elf_Data *data; + +- for(i = 0; i < ehdr->e_shnum; i++) { +- if (shdr[i].sh_type == SHT_DYNSYM) { +- lte->symtab = (Elf_Sym *)(maddr + shdr[i].sh_offset); +- lte->symtab_len = shdr[i].sh_size; +- lte->strtab = (char *)( +- maddr + shdr[shdr[i].sh_link].sh_offset +- ); +- } ++ lte->dynsym = elf_getdata (scn, NULL); ++ lte->dynsym_count = shdr.sh_size / shdr.sh_entsize; ++ if (lte->dynsym == NULL || elf_getdata (scn, lte->dynsym) != NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get .dynsym data from \"%s\"", ++ filename); ++ ++ scn = elf_getscn (lte->elf, shdr.sh_link); ++ if (scn == NULL || gelf_getshdr (scn, &shdr) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get section header from \"%s\"", ++ filename); ++ ++ data = elf_getdata (scn, NULL); ++ if (data == NULL || elf_getdata (scn, data) != NULL ++ || shdr.sh_size != data->d_size || data->d_off) ++ error (EXIT_FAILURE, 0, "Couldn't get .dynstr data from \"%s\"", ++ filename); ++ ++ lte->dynstr = data->d_buf; + } ++ else if (shdr.sh_type == SHT_DYNAMIC) ++ { ++ Elf_Data *data; ++ size_t j; + +- debug(2, "symtab: %p", lte->symtab); +- debug(2, "symtab_len: %lu", lte->symtab_len); +- debug(2, "strtab: %p", lte->strtab); +-} ++ data = elf_getdata (scn, NULL); ++ if (data == NULL || elf_getdata (scn, data) != NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get .dynamic data from \"%s\"", ++ filename); + +-static void +-add_library_symbol( +- struct ltelf *lte, +- int i, +- struct library_symbol **library_symbolspp) { +- struct library_symbol *tmp = *library_symbolspp; +- struct library_symbol *library_symbols; ++ for (j = 0; j < shdr.sh_size / shdr.sh_entsize; ++j) ++ { ++ GElf_Dyn dyn; + +- *library_symbolspp = (struct library_symbol *)malloc( +- sizeof(struct library_symbol) +- ); +- library_symbols = *library_symbolspp; +- if (library_symbols == NULL) { +- perror("ltrace: malloc"); +- exit(1); ++ if (gelf_getdyn (data, j, &dyn) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get .dynamic data from \"%s\"", ++ filename); ++ ++ if (dyn.d_tag == DT_JMPREL) ++ relplt_addr = dyn.d_un.d_ptr; ++ else if (dyn.d_tag == DT_PLTRELSZ) ++ relplt_size = dyn.d_un.d_val; ++ } + } ++ else if (shdr.sh_type == SHT_HASH) ++ { ++ Elf_Data *data; ++ size_t j; + +-#ifdef __sparc__ +- library_symbols->enter_addr = (void *)(lte->symtab[i].st_value + 4 /* plt(?) */); +-#else +- library_symbols->enter_addr = (void *)lte->symtab[i].st_value; +-#endif +- library_symbols->name = <e->strtab[lte->symtab[i].st_name]; +- library_symbols->next = tmp; ++ data = elf_getdata (scn, NULL); ++ if (data == NULL || elf_getdata (scn, data) != NULL ++ || data->d_off || data->d_size != shdr.sh_size) ++ error (EXIT_FAILURE, 0, "Couldn't get .hash data from \"%s\"", ++ filename); + +- debug(2, "addr: %p, symbol: \"%s\"", +- lte->symtab[i].st_value, +- <e->strtab[lte->symtab[i].st_name]); +-} ++ if (shdr.sh_entsize == 4) ++ { ++ /* Standard conforming ELF. */ ++ if (data->d_type != ELF_T_WORD) ++ error (EXIT_FAILURE, 0, "Couldn't get .hash data from \"%s\"", ++ filename); ++ lte->hash = (Elf32_Word *) data->d_buf; ++ } ++ else if (shdr.sh_entsize == 8) ++ { ++ /* Alpha or s390x. */ ++ Elf32_Word *dst, *src; ++ size_t hash_count = data->d_size / 8; + +-/* +- this is all pretty slow. perhaps using .hash would be faster, or +- even just a custum built hash table. its all initialization though, +- so its not that bad - silvio +-*/ ++ lte->hash = (Elf32_Word *) ++ malloc (hash_count * sizeof (Elf32_Word)); ++ if (lte->hash == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't convert .hash section from \"%s\"", ++ filename); ++ lte->hash_malloced = 1; ++ dst = lte->hash; ++ src = (Elf32_Word *) data->d_buf; ++ if ((data->d_type == ELF_T_WORD && __BYTE_ORDER == __BIG_ENDIAN) ++ || (data->d_type == ELF_T_XWORD ++ && lte->ehdr.e_ident[EI_DATA] == ELFDATA2MSB)) ++ ++src; ++ for (j = 0; j < hash_count; ++j, src += 2) ++ *dst++ = *src; ++ } ++ else ++ error (EXIT_FAILURE, 0, "Unknown .hash sh_entsize in \"%s\"", ++ filename); ++ } ++ else if ((shdr.sh_type == SHT_PROGBITS || shdr.sh_type == SHT_NOBITS) ++ && strcmp (name, ".plt") == 0) ++ lte->plt_addr = shdr.sh_addr; ++ } + +-static void +-do_init_load_libraries(void) { +- int i; ++ if (lte->dynsym == NULL || lte->dynstr == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't find .dynsym or .dynstr in \"%s\"", ++ filename); + +- for (i = 0; i < library_num; i++) { +- do_init_elf(&library_lte[i], library[i]); +- do_load_elf_symtab(&library_lte[i]); ++ if (!relplt_addr || !lte->plt_addr) ++ { ++ debug (1, "%s has no PLT relocations", filename); ++ lte->relplt = NULL; ++ lte->relplt_count = 0; ++ } ++ else ++ { ++ for (i = 1; i < lte->ehdr.e_shnum; ++i) ++ { ++ Elf_Scn *scn; ++ GElf_Shdr shdr; ++ ++ scn = elf_getscn (lte->elf, i); ++ if (scn == NULL || gelf_getshdr (scn, &shdr) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get section header from \"%s\"", ++ filename); ++ if (shdr.sh_addr == relplt_addr && shdr.sh_size == relplt_size) ++ { ++ lte->relplt = elf_getdata (scn, NULL); ++ lte->relplt_count = shdr.sh_size / shdr.sh_entsize; ++ if (lte->relplt == NULL ++ || elf_getdata (scn, lte->relplt) != NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get .rel*.plt data from \"%s\"", ++ filename); ++ break; ++ } + } ++ ++ if (i == lte->ehdr.e_shnum) ++ error (EXIT_FAILURE, 0, "Couldn't find .rel*.plt section in \"%s\"", ++ filename); ++ ++ debug (1, "%s %zd PLT relocations", filename, lte->relplt_count); ++ } + } + + static void +-do_close_load_libraries(void) { +- int i; ++do_close_elf (struct ltelf *lte) ++{ ++ if (lte->hash_malloced) ++ free ((char *) lte->hash); ++ elf_end (lte->elf); ++ close (lte->fd); ++} + +- for (i = 0; i < library_num; i++) { +- do_close_elf(&library_lte[i]); +- } ++static void ++add_library_symbol (GElf_Addr addr, const char *name, ++ struct library_symbol **library_symbolspp) ++{ ++ struct library_symbol *s; ++ s = malloc (sizeof (struct library_symbol) + strlen (name) + 1); ++ if (s == NULL) ++ error (EXIT_FAILURE, errno, "add_library_symbol failed"); ++ ++ s->next = *library_symbolspp; ++ s->enter_addr = (void *) (uintptr_t) addr; ++ s->name = (char *) (s + 1); ++ strcpy (s->name, name); ++ *library_symbolspp = s; ++ ++ debug (2, "addr: %p, symbol: \"%s\"", (void *) (uintptr_t) addr, name); + } + + static int +-in_load_libraries(const char *func) { +- int i, j; +-/* +- if no libraries are specified, assume we want all +-*/ +- if (library_num == 0) return 1; ++in_load_libraries (const char *name, struct ltelf *lte) ++{ ++ size_t i; ++ unsigned long hash; + +- for (i = 0; i < library_num; i++) { +- Elf_Sym *symtab = library_lte[i].symtab; +- char *strtab = library_lte[i].strtab; ++ if (!library_num) ++ return 1; + +- for( +- j = 0; +- j < library_lte[i].symtab_len / sizeof(Elf_Sym); +- j++ +- ) { +- if ( +- symtab[j].st_value && +- !strcmp(func, &strtab[symtab[j].st_name]) +- ) return 1; +- } ++ hash = elf_hash (name); ++ for (i = 1; i <= library_num; ++i) ++ { ++ Elf32_Word nbuckets, symndx; ++ Elf32_Word *buckets, *chain; ++ ++ if (lte[i].hash == NULL) ++ continue; ++ ++ nbuckets = lte[i].hash[0]; ++ buckets = <e[i].hash[2]; ++ chain = <e[i].hash[2 + nbuckets]; ++ for (symndx = buckets[hash % nbuckets]; ++ symndx != STN_UNDEF; ++ symndx = chain[symndx]) ++ { ++ GElf_Sym sym; ++ ++ if (gelf_getsym (lte[i].dynsym, symndx, &sym) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get symbol from .dynsym"); ++ ++ if (sym.st_value != 0 ++ && sym.st_shndx != SHN_UNDEF ++ && strcmp (name, lte[i].dynstr + sym.st_name) == 0) ++ return 1; + } +- return 0; ++ } ++ return 0; + } + +-/* +- this is the main function +-*/ +- + struct library_symbol * +-read_elf(const char *filename) { +- struct library_symbol *library_symbols = NULL; +- struct ltelf lte; +- int i; ++read_elf (const char *filename) ++{ ++ struct library_symbol *library_symbols = NULL; ++ struct ltelf lte[MAX_LIBRARY + 1]; ++ size_t i; + +- do_init_elf(<e, filename); +- do_load_elf_symtab(<e); +- do_init_load_libraries(); ++ elf_version (EV_CURRENT); + +- for(i = 0; i < lte.symtab_len / sizeof(Elf_Sym); i++) { +- Elf_Sym *symtab = lte.symtab; +- char *strtab = lte.strtab; ++ do_init_elf (lte, filename); ++ for (i = 0; i < library_num; ++i) ++ do_init_elf (<e[i + 1], library[i]); + +- if (!symtab[i].st_shndx && symtab[i].st_value) { +- if (in_load_libraries(&strtab[symtab[i].st_name])) { +- add_library_symbol(<e, i, &library_symbols); +- } +- } ++ for (i = 0; i < lte->relplt_count; ++i) ++ { ++ GElf_Rel rel; ++ GElf_Rela rela; ++ GElf_Sym sym; ++ GElf_Addr addr; ++ void *ret; ++ const char *name; ++ ++ if (lte->relplt->d_type == ELF_T_REL) ++ { ++ ret = gelf_getrel (lte->relplt, i, &rel); ++ rela.r_offset = rel.r_offset; ++ rela.r_info = rel.r_info; ++ rela.r_addend = 0; + } ++ else ++ ret = gelf_getrela (lte->relplt, i, &rela); + +- do_close_load_libraries(); +- do_close_elf(<e); ++ if (ret == NULL ++ || ELF64_R_SYM (rela.r_info) >= lte->dynsym_count ++ || gelf_getsym (lte->dynsym, ELF64_R_SYM (rela.r_info), &sym) == NULL) ++ error (EXIT_FAILURE, 0, "Couldn't get relocation from \"%s\"", ++ filename); + +- return library_symbols; ++ name = lte->dynstr + sym.st_name; ++ if (in_load_libraries (name, lte)) ++ { ++ addr = arch_plt_sym_val (lte, i, &rela); ++ if (addr != 0) ++ add_library_symbol (addr, name, &library_symbols); ++ } ++ } ++ ++ for (i = 0; i < library_num + 1; ++i) ++ do_close_elf (<e[i]); ++ ++ return library_symbols; + } +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/elf.h ltrace-0.3.35/elf.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/elf.h 2004-10-22 16:32:57.000000000 +1000 ++++ ltrace-0.3.35/elf.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,32 +1,31 @@ + #ifndef LTRACE_ELF_H + #define LTRACE_ELF_H + +-#include <elf.h> +-#include "ltrace.h" ++#include <gelf.h> ++#include <stdlib.h> + +-#if ELFSIZE == 64 +-#define Elf_Sym Elf64_Sym +-#define Elf_Ehdr Elf64_Ehdr +-#define Elf_Shdr Elf64_Shdr +-#else +-#define Elf_Sym Elf32_Sym +-#define Elf_Ehdr Elf32_Ehdr +-#define Elf_Shdr Elf32_Shdr +-#endif ++#include "ltrace.h" + +-struct ltelf { +- int fd; +- void* maddr; +- Elf_Ehdr* ehdr; +- char* strtab; +- Elf_Sym* symtab; +- int symtab_len; ++struct ltelf ++{ ++ int fd; ++ Elf *elf; ++ GElf_Ehdr ehdr; ++ Elf_Data *dynsym; ++ size_t dynsym_count; ++ const char *dynstr; ++ GElf_Addr plt_addr; ++ Elf_Data *relplt; ++ size_t relplt_count; ++ Elf32_Word *hash; ++ int hash_malloced; + }; + + extern int library_num; + extern char *library[MAX_LIBRARY]; +-extern struct ltelf library_lte[MAX_LIBRARY]; + +-extern struct library_symbol * read_elf(const char *); ++extern struct library_symbol *read_elf (const char *); ++ ++extern GElf_Addr arch_plt_sym_val (struct ltelf *, size_t, GElf_Rela *); + + #endif +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/alpha/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/arch.h ltrace-0.3.35/sysdeps/linux-gnu/alpha/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/alpha/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,7 @@ + #define BREAKPOINT_VALUE { 0x80, 0x00, 0x00, 0x00 } + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 4 +-#define ELFSIZE 64 ++ ++#define LT_ELFCLASS ELFCLASS64 ++#define LT_ELF_MACHINE EM_ALPHA ++#define LT_ELF_MACHINE2 EM_FAKE_ALPHA +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/plt.c ltrace-0.3.35/sysdeps/linux-gnu/alpha/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/alpha/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + ndx * 12 + 32; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/arm/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/arch.h ltrace-0.3.35/sysdeps/linux-gnu/arm/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/arm/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,3 +1,6 @@ + #define BREAKPOINT_VALUE { 0x01, 0x00, 0x9f, 0xef } + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 0 ++ ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_ARM +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/plt.c ltrace-0.3.35/sysdeps/linux-gnu/arm/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/arm/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/arm/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + 20 + ndx * 12; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/arch.h ltrace-0.3.35/sysdeps/linux-gnu/i386/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,3 +1,6 @@ + #define BREAKPOINT_VALUE {0xcc} + #define BREAKPOINT_LENGTH 1 + #define DECR_PC_AFTER_BREAK 1 ++ ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_386 +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/plt.c ltrace-0.3.35/sysdeps/linux-gnu/i386/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + (ndx + 1) * 16; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/m68k/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/arch.h ltrace-0.3.35/sysdeps/linux-gnu/m68k/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/m68k/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,3 +1,6 @@ + #define BREAKPOINT_VALUE { 0x4e, 0x4f } + #define BREAKPOINT_LENGTH 2 + #define DECR_PC_AFTER_BREAK 2 ++ ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_68K +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/plt.c ltrace-0.3.35/sysdeps/linux-gnu/m68k/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/m68k/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/m68k/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,10 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + (ndx + 1) ++ * ((lte->ehdr.e_flags & EF_CPU32) ? 24 : 12); ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/arch.h ltrace-0.3.35/sysdeps/linux-gnu/ppc/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -1,3 +1,6 @@ + #define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 } + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 0 ++ ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_PPC +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/plt.c ltrace-0.3.35/sysdeps/linux-gnu/ppc/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return rela->r_offset; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/s390/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -2,7 +2,7 @@ + # S/390 version + # Copyright (C) 2001 IBM Poughkeepsie, IBM Corporation + # +-OBJ = trace.o regs.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/arch.h ltrace-0.3.35/sysdeps/linux-gnu/s390/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/s390/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -6,3 +6,6 @@ + #define BREAKPOINT_VALUE { 0x00, 0x01 } + #define BREAKPOINT_LENGTH 2 + #define DECR_PC_AFTER_BREAK 2 ++ ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_S390 +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/plt.c ltrace-0.3.35/sysdeps/linux-gnu/s390/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/s390/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/s390/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + (ndx + 1) * 32; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/sparc/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = regs.o trace.o ++OBJ = regs.o trace.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/arch.h ltrace-0.3.35/sysdeps/linux-gnu/sparc/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/sparc/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -2,3 +2,6 @@ + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 0 + ++#define LT_ELFCLASS ELFCLASS32 ++#define LT_ELF_MACHINE EM_SPARC ++#define LT_ELF_MACHINE2 EM_SPARC32PLUS +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/plt.c ltrace-0.3.35/sysdeps/linux-gnu/sparc/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/sparc/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return rela->r_offset + 4; ++} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile 2004-10-22 21:28:40.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/Makefile 2004-10-22 21:28:41.000000000 +1000 +@@ -1,4 +1,4 @@ +-OBJ = trace.o regs.o ffcheck.o ++OBJ = trace.o regs.o plt.o + + all: arch.o + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/arch.h ltrace-0.3.35/sysdeps/linux-gnu/x86_64/arch.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/arch.h 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/arch.h 2004-10-22 21:28:41.000000000 +1000 +@@ -2,5 +2,5 @@ + #define BREAKPOINT_LENGTH 1 + #define DECR_PC_AFTER_BREAK 1 + +-#define FILEFORMAT_CHECK 1 +-#define ELFSIZE 64 ++#define LT_ELFCLASS ELFCLASS64 ++#define LT_ELF_MACHINE EM_X86_64 +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/ffcheck.c ltrace-0.3.35/sysdeps/linux-gnu/x86_64/ffcheck.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/ffcheck.c 2004-10-22 21:16:02.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/ffcheck.c 2004-10-22 21:28:41.000000000 +1000 +@@ -1,18 +0,0 @@ +-#include <elf.h> +- +-int +-ffcheck (void *maddr) +-{ +- Elf64_Ehdr *ehdr=maddr; +- +- if (! ehdr) +- return 0; +- if ( +- ehdr->e_type == 2 && +- ehdr->e_machine == 0x3e && +- ehdr->e_version == 1 +- ) +- return 1; +- +- return 0; +-} +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/plt.c ltrace-0.3.35/sysdeps/linux-gnu/x86_64/plt.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/plt.c 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/plt.c 2004-10-22 21:28:41.000000000 +1000 +@@ -0,0 +1,9 @@ ++#include <gelf.h> ++#include "ltrace.h" ++#include "elf.h" ++ ++GElf_Addr ++arch_plt_sym_val (struct ltelf *lte, size_t ndx, GElf_Rela *rela) ++{ ++ return lte->plt_addr + (ndx + 1) * 16; ++} diff --git a/debian/patches/02demangle.dpatch b/debian/patches/02demangle.dpatch new file mode 100755 index 0000000..b218389 --- /dev/null +++ b/debian/patches/02demangle.dpatch @@ -0,0 +1,5779 @@ +#! /bin/sh -e +## 02demangle.dpatch by <apollock@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in ltrace-0.3.35/config.h.in +--- /home/apollock/debian/ltrace/ltrace-0.3.35/config.h.in 2004-10-22 20:12:56.000000000 +1000 ++++ ltrace-0.3.35/config.h.in 2004-10-22 20:13:14.000000000 +1000 +@@ -21,6 +21,9 @@ + /* Define to 1 if you have the `iberty' library (-liberty). */ + #undef HAVE_LIBIBERTY + ++/* Define to 1 if you have the `supc++' library (-lsupc++). */ ++#undef HAVE_LIBSUPC__ ++ + /* Define to 1 if you have the <memory.h> header file. */ + #undef HAVE_MEMORY_H + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure ltrace-0.3.35/configure +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure 2004-10-22 20:12:57.000000000 +1000 ++++ ltrace-0.3.35/configure 2004-10-22 20:13:14.000000000 +1000 +@@ -2458,6 +2458,80 @@ + fi + + ++echo "$as_me:$LINENO: checking for __cxa_demangle in -lsupc++" >&5 ++echo $ECHO_N "checking for __cxa_demangle in -lsupc++... $ECHO_C" >&6 ++if test "${ac_cv_lib_supcpp___cxa_demangle+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lsupc++ $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char __cxa_demangle (); ++int ++main () ++{ ++__cxa_demangle (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" ++ || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_supcpp___cxa_demangle=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_lib_supcpp___cxa_demangle=no ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:$LINENO: result: $ac_cv_lib_supcpp___cxa_demangle" >&5 ++echo "${ECHO_T}$ac_cv_lib_supcpp___cxa_demangle" >&6 ++if test $ac_cv_lib_supcpp___cxa_demangle = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBSUPC__ 1 ++_ACEOF ++ ++ LIBS="-lsupc++ $LIBS" ++ ++fi ++ ++ + echo "$as_me:$LINENO: checking ltrace version" >&5 + echo $ECHO_N "checking ltrace version... $ECHO_C" >&6 + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure.ac ltrace-0.3.35/configure.ac +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure.ac 2004-10-22 20:12:57.000000000 +1000 ++++ ltrace-0.3.35/configure.ac 2004-10-22 20:13:14.000000000 +1000 +@@ -14,6 +14,7 @@ + + dnl Checks for libraries. + AC_CHECK_LIB(iberty, cplus_demangle,,,) ++AC_CHECK_LIB(supc++, __cxa_demangle,,,) + + AC_MSG_CHECKING(ltrace version) + changequote(<<, >>) +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/configure.orig ltrace-0.3.35/configure.orig +--- /home/apollock/debian/ltrace/ltrace-0.3.35/configure.orig 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/configure.orig 2004-10-22 20:12:57.000000000 +1000 +@@ -0,0 +1,5188 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.59. ++# ++# Copyright (C) 2003 Free Software Foundation, Inc. ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++DUALCASE=1; export DUALCASE # for MKS sh ++ ++# Support unset when possible. ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ ++ LC_TELEPHONE LC_TIME ++do ++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_executable_p="test -f" ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH ++ ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++exec 6>&1 ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_config_libobj_dir=. ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++SHELL=${CONFIG_SHELL-/bin/sh} ++ ++# Maximum number of lines to put in a shell here document. ++# This variable seems obsolete. It should probably be removed, and ++# only ac_max_sed_lines should be used. ++: ${ac_max_here_lines=38} ++ ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= ++ ++ac_unique_file="ltrace.c" ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include <stdio.h> ++#if HAVE_SYS_TYPES_H ++# include <sys/types.h> ++#endif ++#if HAVE_SYS_STAT_H ++# include <sys/stat.h> ++#endif ++#if STDC_HEADERS ++# include <stdlib.h> ++# include <stddef.h> ++#else ++# if HAVE_STDLIB_H ++# include <stdlib.h> ++# endif ++#endif ++#if HAVE_STRING_H ++# if !STDC_HEADERS && HAVE_MEMORY_H ++# include <memory.h> ++# endif ++# include <string.h> ++#endif ++#if HAVE_STRINGS_H ++# include <strings.h> ++#endif ++#if HAVE_INTTYPES_H ++# include <inttypes.h> ++#else ++# if HAVE_STDINT_H ++# include <stdint.h> ++# endif ++#endif ++#if HAVE_UNISTD_H ++# include <unistd.h> ++#endif" ++ ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os HOST_OS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CPP EGREP LIBOBJS LTLIBOBJS' ++ac_subst_files='' ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datadir='${prefix}/share' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++libdir='${exec_prefix}/lib' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++infodir='${prefix}/info' ++mandir='${prefix}/man' ++ ++ac_prev= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval "$ac_prev=\$ac_option" ++ ac_prev= ++ continue ++ fi ++ ++ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_option in ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ ++ | --da=*) ++ datadir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ eval "enable_$ac_feature=no" ;; ++ ++ -enable-* | --enable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "enable_$ac_feature='$ac_optarg'" ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst \ ++ | --locals | --local | --loca | --loc | --lo) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ ++ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package| sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "with_$ac_package='$ac_optarg'" ;; ++ ++ -without-* | --without-*) ++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package | sed 's/-/_/g'` ++ eval "with_$ac_package=no" ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) { echo "$as_me: error: unrecognized option: $ac_option ++Try \`$0 --help' for more information." >&2 ++ { (exit 1); exit 1; }; } ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 ++ { (exit 1); exit 1; }; } ++ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ++ eval "$ac_envvar='$ac_optarg'" ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ { echo "$as_me: error: missing argument to $ac_option" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ ++# Be sure to have absolute paths. ++for ac_var in exec_prefix prefix ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# Be sure to have absolute paths. ++for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ ++ localstatedir libdir includedir oldincludedir infodir mandir ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) ;; ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. ++ If a cross compiler is detected then cross compile mode will be used." >&2 ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then its parent. ++ ac_confdir=`(dirname "$0") 2>/dev/null || ++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$0" : 'X\(//\)[^/]' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$0" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r $srcdir/$ac_unique_file; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r $srcdir/$ac_unique_file; then ++ if test "$ac_srcdir_defaulted" = yes; then ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 ++ { (exit 1); exit 1; }; } ++ else ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++fi ++(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || ++ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 ++ { (exit 1); exit 1; }; } ++srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ++ac_env_build_alias_set=${build_alias+set} ++ac_env_build_alias_value=$build_alias ++ac_cv_env_build_alias_set=${build_alias+set} ++ac_cv_env_build_alias_value=$build_alias ++ac_env_host_alias_set=${host_alias+set} ++ac_env_host_alias_value=$host_alias ++ac_cv_env_host_alias_set=${host_alias+set} ++ac_cv_env_host_alias_value=$host_alias ++ac_env_target_alias_set=${target_alias+set} ++ac_env_target_alias_value=$target_alias ++ac_cv_env_target_alias_set=${target_alias+set} ++ac_cv_env_target_alias_value=$target_alias ++ac_env_CC_set=${CC+set} ++ac_env_CC_value=$CC ++ac_cv_env_CC_set=${CC+set} ++ac_cv_env_CC_value=$CC ++ac_env_CFLAGS_set=${CFLAGS+set} ++ac_env_CFLAGS_value=$CFLAGS ++ac_cv_env_CFLAGS_set=${CFLAGS+set} ++ac_cv_env_CFLAGS_value=$CFLAGS ++ac_env_LDFLAGS_set=${LDFLAGS+set} ++ac_env_LDFLAGS_value=$LDFLAGS ++ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ++ac_cv_env_LDFLAGS_value=$LDFLAGS ++ac_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_env_CPPFLAGS_value=$CPPFLAGS ++ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_cv_env_CPPFLAGS_value=$CPPFLAGS ++ac_env_CPP_set=${CPP+set} ++ac_env_CPP_value=$CPP ++ac_cv_env_CPP_set=${CPP+set} ++ac_cv_env_CPP_value=$CPP ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures this package to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++_ACEOF ++ ++ cat <<_ACEOF ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --datadir=DIR read-only architecture-independent data [PREFIX/share] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --infodir=DIR info documentation [PREFIX/info] ++ --mandir=DIR man documentation [PREFIX/man] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-largefile omit support for large files ++ ++Some influential environment variables: ++ CC C compiler command ++ CFLAGS C compiler flags ++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a ++ nonstandard directory <lib dir> ++ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have ++ headers in a nonstandard directory <include dir> ++ CPP C preprocessor ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++_ACEOF ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ ac_popdir=`pwd` ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d $ac_dir || continue ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_builddir$srcdir ;; ++esac ++ ++# Do not use `cd foo && pwd` to compute absolute paths, because ++# the directories may not exist. ++case `pwd` in ++.) ac_abs_builddir="$ac_dir";; ++*) ++ case "$ac_dir" in ++ .) ac_abs_builddir=`pwd`;; ++ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; ++ *) ac_abs_builddir=`pwd`/"$ac_dir";; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_top_builddir=${ac_top_builddir}.;; ++*) ++ case ${ac_top_builddir}. in ++ .) ac_abs_top_builddir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; ++ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_srcdir=$ac_srcdir;; ++*) ++ case $ac_srcdir in ++ .) ac_abs_srcdir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; ++ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_top_srcdir=$ac_top_srcdir;; ++*) ++ case $ac_top_srcdir in ++ .) ac_abs_top_srcdir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; ++ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; ++ esac;; ++esac ++ ++ cd $ac_dir ++ # Check for guested configure; otherwise get Cygnus style configure. ++ if test -f $ac_srcdir/configure.gnu; then ++ echo ++ $SHELL $ac_srcdir/configure.gnu --help=recursive ++ elif test -f $ac_srcdir/configure; then ++ echo ++ $SHELL $ac_srcdir/configure --help=recursive ++ elif test -f $ac_srcdir/configure.ac || ++ test -f $ac_srcdir/configure.in; then ++ echo ++ $ac_configure --help ++ else ++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi ++ cd "$ac_popdir" ++ done ++fi ++ ++test -n "$ac_init_help" && exit 0 ++if $ac_init_version; then ++ cat <<\_ACEOF ++ ++Copyright (C) 2003 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit 0 ++fi ++exec 5>config.log ++cat >&5 <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by $as_me, which was ++generated by GNU Autoconf 2.59. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++hostinfo = `(hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ echo "PATH: $as_dir" ++done ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_sep= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; ++ 2) ++ ac_configure_args1="$ac_configure_args1 '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ++ # Get rid of the leading space. ++ ac_sep=" " ++ ;; ++ esac ++ done ++done ++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } ++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Be sure not to use single quotes in there, as some shells, ++# such as our DU 5.0 friend, will then `close' the trap. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ cat <<\_ASBOX ++## ---------------- ## ++## Cache variables. ## ++## ---------------- ## ++_ASBOX ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++{ ++ (set) 2>&1 | ++ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ sed -n \ ++ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ++ ;; ++ *) ++ sed -n \ ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ ;; ++ esac; ++} ++ echo ++ ++ cat <<\_ASBOX ++## ----------------- ## ++## Output variables. ## ++## ----------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ cat <<\_ASBOX ++## ------------- ## ++## Output files. ## ++## ------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ cat <<\_ASBOX ++## ----------- ## ++## confdefs.h. ## ++## ----------- ## ++_ASBOX ++ echo ++ sed "/^$/d" confdefs.h | sort ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ echo "$as_me: caught signal $ac_signal" ++ echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core && ++ rm -rf conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++ ' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -rf conftest* confdefs.h ++# AIX cpp loses on an empty file, so make sure it contains at least a newline. ++echo >confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer explicitly selected file to automatically selected ones. ++if test -z "$CONFIG_SITE"; then ++ if test "x$prefix" != xNONE; then ++ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ++ else ++ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ++ fi ++fi ++for ac_site_file in $CONFIG_SITE; do ++ if test -r "$ac_site_file"; then ++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 ++echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special ++ # files actually), so we avoid doing that. ++ if test -f "$cache_file"; then ++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 ++echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . $cache_file;; ++ *) . ./$cache_file;; ++ esac ++ fi ++else ++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5 ++echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in `(set) 2>&1 | ++ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val="\$ac_cv_env_${ac_var}_value" ++ eval ac_new_val="\$ac_env_${ac_var}_value" ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 ++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 ++echo "$as_me: former value: $ac_old_val" >&2;} ++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 ++echo "$as_me: current value: $ac_new_val" >&2;} ++ ac_cache_corrupted=: ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 ++echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 ++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ac_config_headers="$ac_config_headers config.h" ++ ++ ++ ++ac_aux_dir= ++for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do ++ if test -f $ac_dir/install-sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f $ac_dir/install.sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f $ac_dir/shtool; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" ++ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. ++ ++# Make sure we can run config.sub. ++$ac_config_sub sun4 >/dev/null 2>&1 || ++ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 ++echo "$as_me: error: cannot run $ac_config_sub" >&2;} ++ { (exit 1); exit 1; }; } ++ ++echo "$as_me:$LINENO: checking build system type" >&5 ++echo $ECHO_N "checking build system type... $ECHO_C" >&6 ++if test "${ac_cv_build+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_build_alias=$build_alias ++test -z "$ac_cv_build_alias" && ++ ac_cv_build_alias=`$ac_config_guess` ++test -z "$ac_cv_build_alias" && ++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 ++echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ++ { (exit 1); exit 1; }; } ++ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_build" >&5 ++echo "${ECHO_T}$ac_cv_build" >&6 ++build=$ac_cv_build ++build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++ ++echo "$as_me:$LINENO: checking host system type" >&5 ++echo $ECHO_N "checking host system type... $ECHO_C" >&6 ++if test "${ac_cv_host+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_host_alias=$host_alias ++test -z "$ac_cv_host_alias" && ++ ac_cv_host_alias=$ac_cv_build_alias ++ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_host" >&5 ++echo "${ECHO_T}$ac_cv_host" >&6 ++host=$ac_cv_host ++host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++ ++HOST_OS="$host_os" ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}gcc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++fi ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in cl ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CC" && break ++ done ++fi ++if test -z "$CC"; then ++ ac_ct_CC=$CC ++ for ac_prog in cl ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$ac_ct_CC" && break ++done ++ ++ CC=$ac_ct_CC ++fi ++ ++fi ++ ++ ++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&5 ++echo "$as_me: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++ ++# Provide some information about the compiler. ++echo "$as_me:$LINENO:" \ ++ "checking for C compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 ++ (eval $ac_compiler --version </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 ++ (eval $ac_compiler -v </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 ++ (eval $ac_compiler -V </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files a.out a.exe b.out" ++# Try to create an executable without -o first, disregard a.out. ++# It will help us diagnose broken compilers, and finding out an intuition ++# of exeext. ++echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 ++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ++if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 ++ (eval $ac_link_default) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ # Find the output, starting from the most likely. This scheme is ++# not robust to junk in `.', hence go to wildcards (a.*) only as a last ++# resort. ++ ++# Be careful to initialize this variable, since it used to be cached. ++# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ++ac_cv_exeext= ++# b.out is created by i960 compilers. ++for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out ++do ++ test -f "$ac_file" || continue ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ++ ;; ++ conftest.$ac_ext ) ++ # This is the source file. ++ ;; ++ [ab].out ) ++ # We found the default executable, but exeext='' is most ++ # certainly right. ++ break;; ++ *.* ) ++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ++ # FIXME: I believe we export ac_cv_exeext for Libtool, ++ # but it would be cool to find out if it's true. Does anybody ++ # maintain Libtool? --akim. ++ export ac_cv_exeext ++ break;; ++ * ) ++ break;; ++ esac ++done ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C compiler cannot create executables ++See \`config.log' for more details." >&2;} ++ { (exit 77); exit 77; }; } ++fi ++ ++ac_exeext=$ac_cv_exeext ++echo "$as_me:$LINENO: result: $ac_file" >&5 ++echo "${ECHO_T}$ac_file" >&6 ++ ++# Check the compiler produces executables we can run. If not, either ++# the compiler is broken, or we cross compile. ++echo "$as_me:$LINENO: checking whether the C compiler works" >&5 ++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 ++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 ++# If not cross compiling, check that we can run a simple program. ++if test "$cross_compiling" != yes; then ++ if { ac_try='./$ac_file' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ cross_compiling=no ++ else ++ if test "$cross_compiling" = maybe; then ++ cross_compiling=yes ++ else ++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs. ++If you meant to cross compile, use \`--host'. ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot run C compiled programs. ++If you meant to cross compile, use \`--host'. ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ fi ++fi ++echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++ ++rm -f a.out a.exe conftest$ac_cv_exeext b.out ++ac_clean_files=$ac_clean_files_save ++# Check the compiler produces executables we can run. If not, either ++# the compiler is broken, or we cross compile. ++echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 ++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ++echo "$as_me:$LINENO: result: $cross_compiling" >&5 ++echo "${ECHO_T}$cross_compiling" >&6 ++ ++echo "$as_me:$LINENO: checking for suffix of executables" >&5 ++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ # If both `conftest.exe' and `conftest' are `present' (well, observable) ++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will ++# work properly (i.e., refer to `conftest.exe'), while it won't with ++# `rm'. ++for ac_file in conftest.exe conftest conftest.*; do ++ test -f "$ac_file" || continue ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; ++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ++ export ac_cv_exeext ++ break;; ++ * ) break;; ++ esac ++done ++else ++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++rm -f conftest$ac_cv_exeext ++echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 ++echo "${ECHO_T}$ac_cv_exeext" >&6 ++ ++rm -f conftest.$ac_ext ++EXEEXT=$ac_cv_exeext ++ac_exeext=$EXEEXT ++echo "$as_me:$LINENO: checking for suffix of object files" >&5 ++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 ++if test "${ac_cv_objext+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.o conftest.obj ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; ++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` ++ break;; ++ esac ++done ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++rm -f conftest.$ac_cv_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 ++echo "${ECHO_T}$ac_cv_objext" >&6 ++OBJEXT=$ac_cv_objext ++ac_objext=$OBJEXT ++echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 ++if test "${ac_cv_c_compiler_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_compiler_gnu=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_compiler_gnu=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ac_cv_c_compiler_gnu=$ac_compiler_gnu ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 ++GCC=`test $ac_compiler_gnu = yes && echo yes` ++ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++CFLAGS="-g" ++echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 ++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_g+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_prog_cc_g=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 ++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_prog_cc_stdc=no ++ac_save_CC=$CC ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdarg.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ ++struct buf { int x; }; ++FILE * (*rcsopen) (struct buf *, struct stat *, int); ++static char *e (p, i) ++ char **p; ++ int i; ++{ ++ return p[i]; ++} ++static char *f (char * (*g) (char **, int), char **p, ...) ++{ ++ char *s; ++ va_list v; ++ va_start (v,p); ++ s = g (p, va_arg (v,int)); ++ va_end (v); ++ return s; ++} ++ ++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has ++ function prototypes and stuff, but not '\xHH' hex character constants. ++ These don't provoke an error unfortunately, instead are silently treated ++ as 'x'. The following induces an error, until -std1 is added to get ++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an ++ array size at least. It's necessary to write '\x00'==0 to get something ++ that's true only with -std1. */ ++int osf4_cc_array ['\x00' == 0 ? 1 : -1]; ++ ++int test (int i, double x); ++struct s1 {int (*f) (int a);}; ++struct s2 {int (*f) (double a);}; ++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); ++int argc; ++char **argv; ++int ++main () ++{ ++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ++ ; ++ return 0; ++} ++_ACEOF ++# Don't try gcc -ansi; that turns off useful extensions and ++# breaks some systems' header files. ++# AIX -qlanglvl=ansi ++# Ultrix and OSF/1 -std1 ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE ++# SVR4 -Xc -D__EXTENSIONS__ ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++do ++ CC="$ac_save_CC $ac_arg" ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_stdc=$ac_arg ++break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext ++done ++rm -f conftest.$ac_ext conftest.$ac_objext ++CC=$ac_save_CC ++ ++fi ++ ++case "x$ac_cv_prog_cc_stdc" in ++ x|xno) ++ echo "$as_me:$LINENO: result: none needed" >&5 ++echo "${ECHO_T}none needed" >&6 ;; ++ *) ++ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 ++ CC="$CC $ac_cv_prog_cc_stdc" ;; ++esac ++ ++# Some people use a C++ compiler to compile C. Since we use `exit', ++# in C++ we need to declare it. In case someone uses the same compiler ++# for both compiling C and C++ we need to have the C++ compiler decide ++# the declaration of exit, since it's the most demanding environment. ++cat >conftest.$ac_ext <<_ACEOF ++#ifndef __cplusplus ++ choke me ++#endif ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ for ac_declaration in \ ++ '' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++#include <stdlib.h> ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++continue ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++done ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++ ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 ++if test -z "$INSTALL"; then ++if test "${ac_cv_path_install+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in ++ ./ | .// | /cC/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++done ++ ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. We don't cache a ++ # path for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the path is relative. ++ INSTALL=$ac_install_sh ++ fi ++fi ++echo "$as_me:$LINENO: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6 ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++ ++ ++ ++echo "$as_me:$LINENO: checking for cplus_demangle in -liberty" >&5 ++echo $ECHO_N "checking for cplus_demangle in -liberty... $ECHO_C" >&6 ++if test "${ac_cv_lib_iberty_cplus_demangle+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-liberty $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char cplus_demangle (); ++int ++main () ++{ ++cplus_demangle (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_iberty_cplus_demangle=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_lib_iberty_cplus_demangle=no ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:$LINENO: result: $ac_cv_lib_iberty_cplus_demangle" >&5 ++echo "${ECHO_T}$ac_cv_lib_iberty_cplus_demangle" >&6 ++if test $ac_cv_lib_iberty_cplus_demangle = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBIBERTY 1 ++_ACEOF ++ ++ LIBS="-liberty $LIBS" ++ ++fi ++ ++ ++echo "$as_me:$LINENO: checking ltrace version" >&5 ++echo $ECHO_N "checking ltrace version... $ECHO_C" >&6 ++ ++ltrace_version=`sed -n '1s/ltrace (\([0-9.]\+\)).*/\1/p' ${srcdir}/debian/changelog` ++sed -e "s/@VERSION@/${ltrace_version}/g" \ ++ < ${srcdir}/ltrace.spec.in > ${srcdir}/ltrace.spec ++ ++echo "$as_me:$LINENO: result: $ltrace_version" >&5 ++echo "${ECHO_T}$ltrace_version" >&6 ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 ++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 ++# On Suns, sometimes $CPP names a directory. ++if test -n "$CPP" && test -d "$CPP"; then ++ CPP= ++fi ++if test -z "$CPP"; then ++ if test "${ac_cv_prog_CPP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Double quotes because CPP needs to be expanded ++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" ++ do ++ ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <ac_nonexistent.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ break ++fi ++ ++ done ++ ac_cv_prog_CPP=$CPP ++ ++fi ++ CPP=$ac_cv_prog_CPP ++else ++ ac_cv_prog_CPP=$CPP ++fi ++echo "$as_me:$LINENO: result: $CPP" >&5 ++echo "${ECHO_T}$CPP" >&6 ++ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <ac_nonexistent.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ : ++else ++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++echo "$as_me:$LINENO: checking for egrep" >&5 ++echo $ECHO_N "checking for egrep... $ECHO_C" >&6 ++if test "${ac_cv_prog_egrep+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ++ then ac_cv_prog_egrep='grep -E' ++ else ac_cv_prog_egrep='egrep' ++ fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 ++echo "${ECHO_T}$ac_cv_prog_egrep" >&6 ++ EGREP=$ac_cv_prog_egrep ++ ++ ++echo "$as_me:$LINENO: checking for ANSI C header files" >&5 ++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ++if test "${ac_cv_header_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdlib.h> ++#include <stdarg.h> ++#include <string.h> ++#include <float.h> ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_header_stdc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_header_stdc=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++if test $ac_cv_header_stdc = yes; then ++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <string.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "memchr" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdlib.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "free" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ++ if test "$cross_compiling" = yes; then ++ : ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <ctype.h> ++#if ((' ' & 0x0FF) == 0x020) ++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ++#else ++# define ISLOWER(c) \ ++ (('a' <= (c) && (c) <= 'i') \ ++ || ('j' <= (c) && (c) <= 'r') \ ++ || ('s' <= (c) && (c) <= 'z')) ++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++#endif ++ ++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++int ++main () ++{ ++ int i; ++ for (i = 0; i < 256; i++) ++ if (XOR (islower (i), ISLOWER (i)) ++ || toupper (i) != TOUPPER (i)) ++ exit(2); ++ exit (0); ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++( exit $ac_status ) ++ac_cv_header_stdc=no ++fi ++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 ++echo "${ECHO_T}$ac_cv_header_stdc" >&6 ++if test $ac_cv_header_stdc = yes; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define STDC_HEADERS 1 ++_ACEOF ++ ++fi ++ ++# On IRIX 5.3, sys/types and inttypes.h are conflicting. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ++ inttypes.h stdint.h unistd.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++ ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_Header=no" ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++ ++for ac_header in getopt.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++else ++ # Is the header compilable? ++echo "$as_me:$LINENO: checking $ac_header usability" >&5 ++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_header_compiler=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6 ++ ++# Is the header present? ++echo "$as_me:$LINENO: checking $ac_header presence" >&5 ++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <$ac_header> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++rm -f conftest.err conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6 ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------------ ## ++## Report this to the AC_PACKAGE_NAME lists. ## ++## ------------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ eval "$as_ac_Header=\$ac_header_preproc" ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++ ++fi ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 ++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 ++if test "${ac_cv_c_const+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++/* FIXME: Include the comments suggested by Paul. */ ++#ifndef __cplusplus ++ /* Ultrix mips cc rejects this. */ ++ typedef int charset[2]; ++ const charset x; ++ /* SunOS 4.1.1 cc rejects this. */ ++ char const *const *ccp; ++ char **p; ++ /* NEC SVR4.0.2 mips cc rejects this. */ ++ struct point {int x, y;}; ++ static struct point const zero = {0,0}; ++ /* AIX XL C 1.02.0.0 rejects this. ++ It does not let you subtract one const X* pointer from another in ++ an arm of an if-expression whose if-part is not a constant ++ expression */ ++ const char *g = "string"; ++ ccp = &g + (g ? g-g : 0); ++ /* HPUX 7.0 cc rejects these. */ ++ ++ccp; ++ p = (char**) ccp; ++ ccp = (char const *const *) p; ++ { /* SCO 3.2v4 cc rejects this. */ ++ char *t; ++ char const *s = 0 ? (char *) 0 : (char const *) 0; ++ ++ *t++ = 0; ++ } ++ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ ++ int x[] = {25, 17}; ++ const int *foo = &x[0]; ++ ++foo; ++ } ++ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ ++ typedef const int *iptr; ++ iptr p = 0; ++ ++p; ++ } ++ { /* AIX XL C 1.02.0.0 rejects this saying ++ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ ++ struct s { int j; const int *ap[3]; }; ++ struct s *b; b->j = 5; ++ } ++ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ ++ const int foo = 10; ++ } ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_c_const=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_c_const=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 ++echo "${ECHO_T}$ac_cv_c_const" >&6 ++if test $ac_cv_c_const = no; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define const ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 ++echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 ++if test "${ac_cv_type_uid_t+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "uid_t" >/dev/null 2>&1; then ++ ac_cv_type_uid_t=yes ++else ++ ac_cv_type_uid_t=no ++fi ++rm -f conftest* ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 ++echo "${ECHO_T}$ac_cv_type_uid_t" >&6 ++if test $ac_cv_type_uid_t = no; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define uid_t int ++_ACEOF ++ ++ ++cat >>confdefs.h <<\_ACEOF ++#define gid_t int ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for pid_t" >&5 ++echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 ++if test "${ac_cv_type_pid_t+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++if ((pid_t *) 0) ++ return 0; ++if (sizeof (pid_t)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_pid_t=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_type_pid_t=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 ++echo "${ECHO_T}$ac_cv_type_pid_t" >&6 ++if test $ac_cv_type_pid_t = yes; then ++ : ++else ++ ++cat >>confdefs.h <<_ACEOF ++#define pid_t int ++_ACEOF ++ ++fi ++ ++ ++ ++for ac_func in getopt getopt_long ++do ++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_func" >&5 ++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_var+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. ++ For example, HP-UX 11i <limits.h> declares gettimeofday. */ ++#define $ac_func innocuous_$ac_func ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $ac_func (); below. ++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ <limits.h> exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif ++ ++#undef $ac_func ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++{ ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char $ac_func (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_$ac_func) || defined (__stub___$ac_func) ++choke me ++#else ++char (*f) () = $ac_func; ++#endif ++#ifdef __cplusplus ++} ++#endif ++ ++int ++main () ++{ ++return f != $ac_func; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_var=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_var=no" ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++done ++ ++ ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo "$as_me:$LINENO: checking for gelf.h" >&5 ++echo $ECHO_N "checking for gelf.h... $ECHO_C" >&6 ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_gelf_h" >&5 ++echo "${ECHO_T}$ac_cv_header_gelf_h" >&6 ++else ++ # Is the header compilable? ++echo "$as_me:$LINENO: checking gelf.h usability" >&5 ++echo $ECHO_N "checking gelf.h usability... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include <gelf.h> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_header_compiler=no ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6 ++ ++# Is the header present? ++echo "$as_me:$LINENO: checking gelf.h presence" >&5 ++echo $ECHO_N "checking gelf.h presence... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <gelf.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++rm -f conftest.err conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6 ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: gelf.h: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: gelf.h: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: gelf.h: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: gelf.h: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: gelf.h: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: gelf.h: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: gelf.h: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: gelf.h: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: gelf.h: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: gelf.h: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: gelf.h: in the future, the compiler will take precedence" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------------ ## ++## Report this to the AC_PACKAGE_NAME lists. ## ++## ------------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++echo "$as_me:$LINENO: checking for gelf.h" >&5 ++echo $ECHO_N "checking for gelf.h... $ECHO_C" >&6 ++if test "${ac_cv_header_gelf_h+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_header_gelf_h=$ac_header_preproc ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_gelf_h" >&5 ++echo "${ECHO_T}$ac_cv_header_gelf_h" >&6 ++ ++fi ++if test $ac_cv_header_gelf_h = yes; then ++ : ++else ++ ++ if test -f /usr/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/elfutils" ++ elif test -f /usr/local/include/elfutils/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/elfutils" ++ elif test -f /usr/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/include/libelf" ++ elif test -f /usr/local/include/libelf/gelf.h; then ++ CPPFLAGS="$CPPFLAGS -I /usr/local/include/libelf" ++ else ++ { { echo "$as_me:$LINENO: error: gelf.h not found" >&5 ++echo "$as_me: error: gelf.h not found" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++fi ++ ++ ++ ++echo "$as_me:$LINENO: checking for gelf_getdyn in -lelf" >&5 ++echo $ECHO_N "checking for gelf_getdyn in -lelf... $ECHO_C" >&6 ++if test "${ac_cv_lib_elf_gelf_getdyn+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lelf $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char gelf_getdyn (); ++int ++main () ++{ ++gelf_getdyn (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_lib_elf_gelf_getdyn=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_lib_elf_gelf_getdyn=no ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++echo "$as_me:$LINENO: result: $ac_cv_lib_elf_gelf_getdyn" >&5 ++echo "${ECHO_T}$ac_cv_lib_elf_gelf_getdyn" >&6 ++if test $ac_cv_lib_elf_gelf_getdyn = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBELF 1 ++_ACEOF ++ ++ LIBS="-lelf $LIBS" ++ ++fi ++ ++ ++ac_cv_have_elf_c_read_mmap=no ++echo "$as_me:$LINENO: checking elf_begin accepts ELF_C_READ_MMAP" >&5 ++echo $ECHO_N "checking elf_begin accepts ELF_C_READ_MMAP... $ECHO_C" >&6 ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <gelf.h> ++int ++main () ++{ ++Elf *elf = elf_begin (4, ELF_C_READ_MMAP, 0); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_have_elf_c_read_mmap=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_cv_have_elf_c_read_mmap" >&5 ++echo "${ECHO_T}$ac_cv_have_elf_c_read_mmap" >&6 ++if test $ac_cv_have_elf_c_read_mmap = yes; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_ELF_C_READ_MMAP 1 ++_ACEOF ++ ++# Check whether --enable-largefile or --disable-largefile was given. ++if test "${enable_largefile+set}" = set; then ++ enableval="$enable_largefile" ++ ++fi; ++if test "$enable_largefile" != no; then ++ ++ echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 ++echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_largefile_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_sys_largefile_CC=no ++ if test "$GCC" != yes; then ++ ac_save_CC=$CC ++ while :; do ++ # IRIX 6.2 and later do not support large files by default, ++ # so use the C compiler's -n32 option if that helps. ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext ++ CC="$CC -n32" ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_largefile_CC=' -n32'; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext ++ break ++ done ++ CC=$ac_save_CC ++ rm -f conftest.$ac_ext ++ fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 ++echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 ++ if test "$ac_cv_sys_largefile_CC" != no; then ++ CC=$CC$ac_cv_sys_largefile_CC ++ fi ++ ++ echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 ++echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_file_offset_bits+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ while :; do ++ ac_cv_sys_file_offset_bits=no ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _FILE_OFFSET_BITS 64 ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_file_offset_bits=64; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ break ++done ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 ++echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 ++if test "$ac_cv_sys_file_offset_bits" != no; then ++ ++cat >>confdefs.h <<_ACEOF ++#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits ++_ACEOF ++ ++fi ++rm -f conftest* ++ echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 ++echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 ++if test "${ac_cv_sys_large_files+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ while :; do ++ ac_cv_sys_large_files=no ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define _LARGE_FILES 1 ++#include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_sys_large_files=1; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ break ++done ++fi ++echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 ++echo "${ECHO_T}$ac_cv_sys_large_files" >&6 ++if test "$ac_cv_sys_large_files" != no; then ++ ++cat >>confdefs.h <<_ACEOF ++#define _LARGE_FILES $ac_cv_sys_large_files ++_ACEOF ++ ++fi ++rm -f conftest* ++fi ++ ++fi ++ ac_config_files="$ac_config_files Makefile" ++cat >confcache <<\_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, don't put newlines in cache variables' values. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++{ ++ (set) 2>&1 | ++ case `(ac_space=' '; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ # `set' does not quote correctly, so add quotes (double-quote ++ # substitution turns \\\\ into \\, and sed turns \\ into \). ++ sed -n \ ++ "s/'/'\\\\''/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ ;; ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n \ ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ ;; ++ esac; ++} | ++ sed ' ++ t clear ++ : clear ++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ ++ t end ++ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ ++ : end' >>confcache ++if diff $cache_file confcache >/dev/null 2>&1; then :; else ++ if test -w $cache_file; then ++ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" ++ cat confcache >$cache_file ++ else ++ echo "not updating unwritable cache $cache_file" ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++# VPATH may cause trouble with some makes, so we remove $(srcdir), ++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/; ++s/:*\${srcdir}:*/:/; ++s/:*@srcdir@:*/:/; ++s/^\([^=]*=[ ]*\):*/\1/; ++s/:*$//; ++s/^[^=]*=[ ]*$//; ++}' ++fi ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_i=`echo "$ac_i" | ++ sed 's/\$U\././;s/\.o$//;s/\.obj$//'` ++ # 2. Add them. ++ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ++ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++ ++: ${CONFIG_STATUS=./config.status} ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 ++echo "$as_me: creating $CONFIG_STATUS" >&6;} ++cat >$CONFIG_STATUS <<_ACEOF ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++SHELL=\${CONFIG_SHELL-$SHELL} ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++DUALCASE=1; export DUALCASE # for MKS sh ++ ++# Support unset when possible. ++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ ++ LC_TELEPHONE LC_TIME ++do ++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 ++echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 ++echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_executable_p="test -f" ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH ++ ++exec 6>&1 ++ ++# Open the log real soon, to keep \$[0] and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. Logging --version etc. is OK. ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++} >&5 ++cat >&5 <<_CSEOF ++ ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.59. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++_CSEOF ++echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 ++echo >&5 ++_ACEOF ++ ++# Files that config.status was made for. ++if test -n "$ac_config_files"; then ++ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_headers"; then ++ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_links"; then ++ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS ++fi ++ ++if test -n "$ac_config_commands"; then ++ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS ++fi ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++ ++ac_cs_usage="\ ++\`$as_me' instantiates files from templates according to the ++current configuration. ++ ++Usage: $0 [OPTIONS] [FILE]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number, then exit ++ -q, --quiet do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Report bugs to <bug-autoconf@gnu.org>." ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++ac_cs_version="\\ ++config.status ++configured by $0, generated by GNU Autoconf 2.59, ++ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ++ ++Copyright (C) 2003 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++srcdir=$srcdir ++INSTALL="$INSTALL" ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++# If no file are specified by the user, then we need to provide default ++# value. By we need to know if files were specified by the user. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=*) ++ ac_option=`expr "x$1" : 'x\([^=]*\)='` ++ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ -*) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ *) # This is not an option, so the user has probably given explicit ++ # arguments. ++ ac_option=$1 ++ ac_need_defaults=false;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --vers* | -V ) ++ echo "$ac_cs_version"; exit 0 ;; ++ --he | --h) ++ # Conflict between --help and --header ++ { { echo "$as_me:$LINENO: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; };; ++ --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit 0 ;; ++ --debug | --d* | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ CONFIG_FILES="$CONFIG_FILES $ac_optarg" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ++ ac_need_defaults=false;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; } ;; ++ ++ *) ac_config_targets="$ac_config_targets $1" ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++if \$ac_cs_recheck; then ++ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 ++ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++fi ++ ++_ACEOF ++ ++ ++ ++ ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++for ac_config_target in $ac_config_targets ++do ++ case "$ac_config_target" in ++ # Handling of arguments. ++ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 ++echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason to put it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Create a temporary directory, and hook for its removal unless debugging. ++$debug || ++{ ++ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ++ trap '{ (exit 1); exit 1; }' 1 2 13 15 ++} ++ ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && ++ test -n "$tmp" && test -d "$tmp" ++} || ++{ ++ tmp=./confstat$$-$RANDOM ++ (umask 077 && mkdir $tmp) ++} || ++{ ++ echo "$me: cannot create a temporary directory in ." >&2 ++ { (exit 1); exit 1; } ++} ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++ ++# ++# CONFIG_FILES section. ++# ++ ++# No need to generate the scripts if there are no CONFIG_FILES. ++# This happens for instance when ./config.status config.h ++if test -n "\$CONFIG_FILES"; then ++ # Protect against being on the right side of a sed subst in config.status. ++ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; ++ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF ++s,@SHELL@,$SHELL,;t t ++s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t ++s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t ++s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t ++s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t ++s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t ++s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t ++s,@exec_prefix@,$exec_prefix,;t t ++s,@prefix@,$prefix,;t t ++s,@program_transform_name@,$program_transform_name,;t t ++s,@bindir@,$bindir,;t t ++s,@sbindir@,$sbindir,;t t ++s,@libexecdir@,$libexecdir,;t t ++s,@datadir@,$datadir,;t t ++s,@sysconfdir@,$sysconfdir,;t t ++s,@sharedstatedir@,$sharedstatedir,;t t ++s,@localstatedir@,$localstatedir,;t t ++s,@libdir@,$libdir,;t t ++s,@includedir@,$includedir,;t t ++s,@oldincludedir@,$oldincludedir,;t t ++s,@infodir@,$infodir,;t t ++s,@mandir@,$mandir,;t t ++s,@build_alias@,$build_alias,;t t ++s,@host_alias@,$host_alias,;t t ++s,@target_alias@,$target_alias,;t t ++s,@DEFS@,$DEFS,;t t ++s,@ECHO_C@,$ECHO_C,;t t ++s,@ECHO_N@,$ECHO_N,;t t ++s,@ECHO_T@,$ECHO_T,;t t ++s,@LIBS@,$LIBS,;t t ++s,@build@,$build,;t t ++s,@build_cpu@,$build_cpu,;t t ++s,@build_vendor@,$build_vendor,;t t ++s,@build_os@,$build_os,;t t ++s,@host@,$host,;t t ++s,@host_cpu@,$host_cpu,;t t ++s,@host_vendor@,$host_vendor,;t t ++s,@host_os@,$host_os,;t t ++s,@HOST_OS@,$HOST_OS,;t t ++s,@CC@,$CC,;t t ++s,@CFLAGS@,$CFLAGS,;t t ++s,@LDFLAGS@,$LDFLAGS,;t t ++s,@CPPFLAGS@,$CPPFLAGS,;t t ++s,@ac_ct_CC@,$ac_ct_CC,;t t ++s,@EXEEXT@,$EXEEXT,;t t ++s,@OBJEXT@,$OBJEXT,;t t ++s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t ++s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t ++s,@INSTALL_DATA@,$INSTALL_DATA,;t t ++s,@CPP@,$CPP,;t t ++s,@EGREP@,$EGREP,;t t ++s,@LIBOBJS@,$LIBOBJS,;t t ++s,@LTLIBOBJS@,$LTLIBOBJS,;t t ++CEOF ++ ++_ACEOF ++ ++ cat >>$CONFIG_STATUS <<\_ACEOF ++ # Split the substitutions into bite-sized pieces for seds with ++ # small command number limits, like on Digital OSF/1 and HP-UX. ++ ac_max_sed_lines=48 ++ ac_sed_frag=1 # Number of current file. ++ ac_beg=1 # First line for current file. ++ ac_end=$ac_max_sed_lines # Line after last line for current file. ++ ac_more_lines=: ++ ac_sed_cmds= ++ while $ac_more_lines; do ++ if test $ac_beg -gt 1; then ++ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ else ++ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ fi ++ if test ! -s $tmp/subs.frag; then ++ ac_more_lines=false ++ else ++ # The purpose of the label and of the branching condition is to ++ # speed up the sed processing (if there are no `@' at all, there ++ # is no need to browse any of the substitutions). ++ # These are the two extra sed commands mentioned above. ++ (echo ':t ++ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" ++ else ++ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" ++ fi ++ ac_sed_frag=`expr $ac_sed_frag + 1` ++ ac_beg=$ac_end ++ ac_end=`expr $ac_end + $ac_max_sed_lines` ++ fi ++ done ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds=cat ++ fi ++fi # test -n "$CONFIG_FILES" ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case $ac_file in ++ - | *:- | *:-:* ) # input from stdin ++ cat >$tmp/stdin ++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ * ) ac_file_in=$ac_file.in ;; ++ esac ++ ++ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ++ ac_dir=`(dirname "$ac_file") 2>/dev/null || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" ++ else ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ as_dirs="$as_dir $as_dirs" ++ as_dir=`(dirname "$as_dir") 2>/dev/null || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_builddir$srcdir ;; ++esac ++ ++# Do not use `cd foo && pwd` to compute absolute paths, because ++# the directories may not exist. ++case `pwd` in ++.) ac_abs_builddir="$ac_dir";; ++*) ++ case "$ac_dir" in ++ .) ac_abs_builddir=`pwd`;; ++ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; ++ *) ac_abs_builddir=`pwd`/"$ac_dir";; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_top_builddir=${ac_top_builddir}.;; ++*) ++ case ${ac_top_builddir}. in ++ .) ac_abs_top_builddir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; ++ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_srcdir=$ac_srcdir;; ++*) ++ case $ac_srcdir in ++ .) ac_abs_srcdir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; ++ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; ++ esac;; ++esac ++case $ac_abs_builddir in ++.) ac_abs_top_srcdir=$ac_top_srcdir;; ++*) ++ case $ac_top_srcdir in ++ .) ac_abs_top_srcdir=$ac_abs_builddir;; ++ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; ++ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; ++ esac;; ++esac ++ ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_builddir$INSTALL ;; ++ esac ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ if test x"$ac_file" = x-; then ++ configure_input= ++ else ++ configure_input="$ac_file. " ++ fi ++ configure_input=$configure_input"Generated from `echo $ac_file_in | ++ sed 's,.*/,,'` by configure." ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ case $f in ++ -) echo $tmp/stdin ;; ++ [\\/$]*) ++ # Absolute (can't be DOS-style, as IFS=:) ++ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ echo "$f";; ++ *) # Relative ++ if test -f "$f"; then ++ # Build tree ++ echo "$f" ++ elif test -f "$srcdir/$f"; then ++ # Source tree ++ echo "$srcdir/$f" ++ else ++ # /dev/null tree ++ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++ ++ if test x"$ac_file" != x-; then ++ { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ rm -f "$ac_file" ++ fi ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++ sed "$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s,@configure_input@,$configure_input,;t t ++s,@srcdir@,$ac_srcdir,;t t ++s,@abs_srcdir@,$ac_abs_srcdir,;t t ++s,@top_srcdir@,$ac_top_srcdir,;t t ++s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t ++s,@builddir@,$ac_builddir,;t t ++s,@abs_builddir@,$ac_abs_builddir,;t t ++s,@top_builddir@,$ac_top_builddir,;t t ++s,@abs_top_builddir@,$ac_abs_top_builddir,;t t ++s,@INSTALL@,$ac_INSTALL,;t t ++" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out ++ rm -f $tmp/stdin ++ if test x"$ac_file" != x-; then ++ mv $tmp/out $ac_file ++ else ++ cat $tmp/out ++ rm -f $tmp/out ++ fi ++ ++done ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF ++ ++# ++# CONFIG_HEADER section. ++# ++ ++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where ++# NAME is the cpp macro being defined and VALUE is the value it is being given. ++# ++# ac_d sets the value in "#define NAME VALUE" lines. ++ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ++ac_dB='[ ].*$,\1#\2' ++ac_dC=' ' ++ac_dD=',;t' ++# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ++ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ++ac_uB='$,\1#\2define\3' ++ac_uC=' ' ++ac_uD=',;t' ++ ++for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue ++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". ++ case $ac_file in ++ - | *:- | *:-:* ) # input from stdin ++ cat >$tmp/stdin ++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ * ) ac_file_in=$ac_file.in ;; ++ esac ++ ++ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ case $f in ++ -) echo $tmp/stdin ;; ++ [\\/$]*) ++ # Absolute (can't be DOS-style, as IFS=:) ++ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ # Do quote $f, to prevent DOS paths from being IFS'd. ++ echo "$f";; ++ *) # Relative ++ if test -f "$f"; then ++ # Build tree ++ echo "$f" ++ elif test -f "$srcdir/$f"; then ++ # Source tree ++ echo "$srcdir/$f" ++ else ++ # /dev/null tree ++ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++ # Remove the trailing spaces. ++ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in ++ ++_ACEOF ++ ++# Transform confdefs.h into two sed scripts, `conftest.defines' and ++# `conftest.undefs', that substitutes the proper values into ++# config.h.in to produce config.h. The first handles `#define' ++# templates, and the second `#undef' templates. ++# And first: Protect against being on the right side of a sed subst in ++# config.status. Protect against being in an unquoted here document ++# in config.status. ++rm -f conftest.defines conftest.undefs ++# Using a here document instead of a string reduces the quoting nightmare. ++# Putting comments in sed scripts is not portable. ++# ++# `end' is used to avoid that the second main sed command (meant for ++# 0-ary CPP macros) applies to n-ary macro definitions. ++# See the Autoconf documentation for `clear'. ++cat >confdef2sed.sed <<\_ACEOF ++s/[\\&,]/\\&/g ++s,[\\$`],\\&,g ++t clear ++: clear ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp ++t end ++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp ++: end ++_ACEOF ++# If some macros were called several times there might be several times ++# the same #defines, which is useless. Nevertheless, we may not want to ++# sort them, since we want the *last* AC-DEFINE to be honored. ++uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines ++sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs ++rm -f confdef2sed.sed ++ ++# This sed command replaces #undef with comments. This is necessary, for ++# example, in the case of _POSIX_SOURCE, which is predefined and required ++# on some systems where configure will not decide to define it. ++cat >>conftest.undefs <<\_ACEOF ++s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, ++_ACEOF ++ ++# Break up conftest.defines because some shells have a limit on the size ++# of here documents, and old seds have small limits too (100 cmds). ++echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS ++echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS ++echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS ++echo ' :' >>$CONFIG_STATUS ++rm -f conftest.tail ++while grep . conftest.defines >/dev/null ++do ++ # Write a limited-size here document to $tmp/defines.sed. ++ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS ++ # Speed up: don't consider the non `#define' lines. ++ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS ++ # Work around the forget-to-reset-the-flag bug. ++ echo 't clr' >>$CONFIG_STATUS ++ echo ': clr' >>$CONFIG_STATUS ++ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS ++ echo 'CEOF ++ sed -f $tmp/defines.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++' >>$CONFIG_STATUS ++ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail ++ rm -f conftest.defines ++ mv conftest.tail conftest.defines ++done ++rm -f conftest.defines ++echo ' fi # grep' >>$CONFIG_STATUS ++echo >>$CONFIG_STATUS ++ ++# Break up conftest.undefs because some shells have a limit on the size ++# of here documents, and old seds have small limits too (100 cmds). ++echo ' # Handle all the #undef templates' >>$CONFIG_STATUS ++rm -f conftest.tail ++while grep . conftest.undefs >/dev/null ++do ++ # Write a limited-size here document to $tmp/undefs.sed. ++ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS ++ # Speed up: don't consider the non `#undef' ++ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS ++ # Work around the forget-to-reset-the-flag bug. ++ echo 't clr' >>$CONFIG_STATUS ++ echo ': clr' >>$CONFIG_STATUS ++ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS ++ echo 'CEOF ++ sed -f $tmp/undefs.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++' >>$CONFIG_STATUS ++ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail ++ rm -f conftest.undefs ++ mv conftest.tail conftest.undefs ++done ++rm -f conftest.undefs ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ if test x"$ac_file" = x-; then ++ echo "/* Generated by configure. */" >$tmp/config.h ++ else ++ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h ++ fi ++ cat $tmp/in >>$tmp/config.h ++ rm -f $tmp/in ++ if test x"$ac_file" != x-; then ++ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then ++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 ++echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ ac_dir=`(dirname "$ac_file") 2>/dev/null || ++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_file" : 'X\(//\)[^/]' \| \ ++ X"$ac_file" : 'X\(//\)$' \| \ ++ X"$ac_file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" ++ else ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ as_dirs="$as_dir $as_dirs" ++ as_dir=`(dirname "$as_dir") 2>/dev/null || ++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$as_dir" : 'X\(//\)[^/]' \| \ ++ X"$as_dir" : 'X\(//\)$' \| \ ++ X"$as_dir" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ rm -f $ac_file ++ mv $tmp/config.h $ac_file ++ fi ++ else ++ cat $tmp/config.h ++ rm -f $tmp/config.h ++ fi ++done ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++ ++{ (exit 0); exit 0; } ++_ACEOF ++chmod +x $CONFIG_STATUS ++ac_clean_files=$ac_clean_files_save ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || { (exit 1); exit 1; } ++fi ++ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/demangle.c ltrace-0.3.35/demangle.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/demangle.c 2003-01-31 01:52:57.000000000 +1100 ++++ ltrace-0.3.35/demangle.c 2004-10-22 20:13:14.000000000 +1000 +@@ -2,8 +2,6 @@ + #include "config.h" + #endif + +-#if HAVE_LIBIBERTY +- + #include <string.h> + #include <stdlib.h> + #include <stdio.h> +@@ -14,6 +12,8 @@ + + #include "dict.h" + ++#ifdef USE_DEMANGLE ++ + /*****************************************************************************/ + + static struct dict * d = NULL; +@@ -27,6 +27,10 @@ + const char * + my_demangle(const char * function_name) { + const char * tmp, * fn_copy; ++#if !defined HAVE_LIBIBERTY && defined HAVE_LIBSUPC__ ++ extern char *__cxa_demangle (const char *, char *, size_t *, int *); ++ int status = 0; ++#endif + + if (!d) { + d = dict_init(dict_key2hash_string, dict_key_cmp_string); +@@ -36,7 +40,11 @@ + tmp = dict_find_entry(d, (void *)function_name); + if (!tmp) { + fn_copy = strdup(function_name); +- tmp = cplus_demangle(function_name+strspn(function_name, "_"), DMGL_ANSI | DMGL_PARAMS); ++#ifdef HAVE_LIBIBERTY ++ tmp = cplus_demangle(function_name, DMGL_ANSI | DMGL_PARAMS); ++#elif defined HAVE_LIBSUPC__ ++ tmp = __cxa_demangle(function_name, NULL, NULL, &status); ++#endif + if (!tmp) tmp = fn_copy; + if (tmp) dict_enter(d, (void *)fn_copy, (void *)tmp); + } +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/ltrace.h ltrace-0.3.35/ltrace.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/ltrace.h 2004-10-22 20:12:56.000000000 +1000 ++++ ltrace-0.3.35/ltrace.h 2004-10-22 20:13:14.000000000 +1000 +@@ -13,6 +13,10 @@ + + #define MAX_LIBRARY 30 + ++#if defined HAVE_LIBIBERTY || defined HAVE_LIBSUPC__ ++# define USE_DEMANGLE ++#endif ++ + extern char * command; + + extern int exiting; /* =1 if we have to exit ASAP */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/options.c ltrace-0.3.35/options.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/options.c 2004-06-15 01:17:52.000000000 +1000 ++++ ltrace-0.3.35/options.c 2004-10-22 20:13:14.000000000 +1000 +@@ -37,7 +37,7 @@ + char * opt_u = NULL; /* username to run command as */ + int opt_r = 0; /* print relative timestamp */ + int opt_t = 0; /* print absolute timestamp */ +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + int opt_C = 0; /* Demangle low-level symbol names into user-level names */ + #endif + int opt_n = 0; /* indent trace output according to program flow */ +@@ -65,7 +65,7 @@ + " -a COLUMN align return values in a secific column.\n" + # endif + " -c count time and calls, and report a summary on exit.\n" +-# if HAVE_LIBIBERTY ++# ifdef USE_DEMANGLE + # if HAVE_GETOPT_LONG + " -C, --demangle decode low-level symbol names into user-level names.\n" + # else +@@ -163,7 +163,7 @@ + static struct option long_options[] = { + { "align", 1, 0, 'a'}, + { "debug", 0, 0, 'd'}, +-# if HAVE_LIBIBERTY ++# ifdef USE_DEMANGLE + { "demangle", 0, 0, 'C'}, + #endif + { "indent", 0, 0, 'n'}, +@@ -174,13 +174,13 @@ + { 0, 0, 0, 0} + }; + c = getopt_long(argc, argv, "+cdfhiLrStTV" +-# if HAVE_LIBIBERTY ++# ifdef USE_DEMANGLE + "C" + # endif + "a:e:l:n:o:p:s:u:", long_options, &option_index); + #else + c = getopt(argc, argv, "+cdfhiLrStTV" +-# if HAVE_LIBIBERTY ++# ifdef USE_DEMANGLE + "C" + # endif + "a:e:l:n:o:p:s:u:"); +@@ -193,7 +193,7 @@ + break; + case 'c': opt_c++; + break; +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + case 'C': opt_C++; + break; + #endif +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/options.h ltrace-0.3.35/options.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/options.h 2003-02-03 07:27:33.000000000 +1100 ++++ ltrace-0.3.35/options.h 2004-10-22 20:13:14.000000000 +1000 +@@ -17,9 +17,7 @@ + extern char * opt_u; /* username to run command as */ + extern int opt_r; /* print relative timestamp */ + extern int opt_t; /* print absolute timestamp */ +-#if HAVE_LIBIBERTY + extern int opt_C; /* Demanglelow-level symbol names into user-level names */ +-#endif + extern int opt_n; /* indent trace output according to program flow */ + extern int opt_T; /* show the time spent inside each call */ + +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/output.c ltrace-0.3.35/output.c +--- /home/apollock/debian/ltrace/ltrace-0.3.35/output.c 2004-06-15 01:36:33.000000000 +1000 ++++ ltrace-0.3.35/output.c 2004-10-22 20:13:14.000000000 +1000 +@@ -15,7 +15,7 @@ + #include "output.h" + #include "dict.h" + +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + #include "demangle.h" + #endif + +@@ -107,7 +107,7 @@ + + tmp = list_of_functions; + while(tmp) { +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + str1 = opt_C ? my_demangle(tmp->name) : tmp->name; + str2 = opt_C ? my_demangle(name) : name; + #else +@@ -169,7 +169,7 @@ + current_depth = proc->callstack_depth; + proc->type_being_displayed = type; + begin_of_line(type, proc); +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + current_column += fprintf(output, "%s(", opt_C ? my_demangle(function_name): function_name); + #else + current_column += fprintf(output, "%s(", function_name); +@@ -244,7 +244,7 @@ + } + if (current_pid != proc->pid) { + begin_of_line(type, proc); +-#if HAVE_LIBIBERTY ++#ifdef USE_DEMANGLE + current_column += fprintf(output, "<... %s resumed> ", opt_C ? my_demangle(function_name) : function_name); + #else + current_column += fprintf(output, "<... %s resumed> ", function_name); +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/output.c.orig ltrace-0.3.35/output.c.orig +--- /home/apollock/debian/ltrace/ltrace-0.3.35/output.c.orig 1970-01-01 10:00:00.000000000 +1000 ++++ ltrace-0.3.35/output.c.orig 2004-06-15 01:36:33.000000000 +1000 +@@ -0,0 +1,284 @@ ++#if HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <stdarg.h> ++#include <string.h> ++#include <time.h> ++#include <sys/time.h> ++#include <unistd.h> ++ ++#include "ltrace.h" ++#include "options.h" ++#include "output.h" ++#include "dict.h" ++ ++#if HAVE_LIBIBERTY ++#include "demangle.h" ++#endif ++ ++/* TODO FIXME XXX: include in ltrace.h: */ ++extern struct timeval current_time_spent; ++ ++struct dict * dict_opt_c = NULL; ++ ++static pid_t current_pid = 0; ++static int current_depth = 0; ++static int current_column = 0; ++ ++static void ++output_indent(struct process * proc) { ++ current_column += fprintf(output, "%*s", opt_n * proc->callstack_depth, ""); ++} ++ ++static void ++begin_of_line(enum tof type, struct process * proc) { ++ current_column = 0; ++ if (!proc) { ++ return; ++ } ++ if ((output!=stderr) && (opt_p || opt_f)) { ++ current_column += fprintf(output, "%u ", proc->pid); ++ } else if (list_of_processes->next) { ++ current_column += fprintf(output, "[pid %u] ", proc->pid); ++ } ++ if (opt_r) { ++ struct timeval tv; ++ struct timezone tz; ++ static struct timeval old_tv={0,0}; ++ struct timeval diff; ++ ++ gettimeofday(&tv, &tz); ++ ++ if (old_tv.tv_sec==0 && old_tv.tv_usec==0) { ++ old_tv.tv_sec=tv.tv_sec; ++ old_tv.tv_usec=tv.tv_usec; ++ } ++ diff.tv_sec = tv.tv_sec - old_tv.tv_sec; ++ if (tv.tv_usec >= old_tv.tv_usec) { ++ diff.tv_usec = tv.tv_usec - old_tv.tv_usec; ++ } else { ++ diff.tv_sec--; ++ diff.tv_usec = 1000000 + tv.tv_usec - old_tv.tv_usec; ++ } ++ old_tv.tv_sec = tv.tv_sec; ++ old_tv.tv_usec = tv.tv_usec; ++ current_column += fprintf(output, "%3lu.%06d ", ++ diff.tv_sec, (int)diff.tv_usec); ++ } ++ if (opt_t) { ++ struct timeval tv; ++ struct timezone tz; ++ ++ gettimeofday(&tv, &tz); ++ if (opt_t>2) { ++ current_column += fprintf(output, "%lu.%06d ", ++ tv.tv_sec, (int)tv.tv_usec); ++ } else if (opt_t>1) { ++ struct tm * tmp = localtime(&tv.tv_sec); ++ current_column += fprintf(output, "%02d:%02d:%02d.%06d ", ++ tmp->tm_hour, tmp->tm_min, tmp->tm_sec, (int)tv.tv_usec); ++ } else { ++ struct tm * tmp = localtime(&tv.tv_sec); ++ current_column += fprintf(output, "%02d:%02d:%02d ", ++ tmp->tm_hour, tmp->tm_min, tmp->tm_sec); ++ } ++ } ++ if (opt_i) { ++ if (type==LT_TOF_FUNCTION || type==LT_TOF_FUNCTIONR) { ++ current_column += fprintf(output, "[%p] ", ++ proc->return_addr); ++ } else { ++ current_column += fprintf(output, "[%p] ", ++ proc->instruction_pointer); ++ } ++ } ++ if (opt_n > 0 && type!=LT_TOF_NONE) { ++ output_indent(proc); ++ } ++} ++ ++static struct function * ++name2func(char * name) { ++ struct function * tmp; ++ const char * str1, * str2; ++ ++ tmp = list_of_functions; ++ while(tmp) { ++#if HAVE_LIBIBERTY ++ str1 = opt_C ? my_demangle(tmp->name) : tmp->name; ++ str2 = opt_C ? my_demangle(name) : name; ++#else ++ str1 = tmp->name; ++ str2 = name; ++#endif ++ if (!strcmp(str1, str2)) { ++ ++ return tmp; ++ } ++ tmp = tmp->next; ++ } ++ return NULL; ++} ++ ++void ++output_line(struct process * proc, char *fmt, ...) { ++ va_list args; ++ ++ if (opt_c) { ++ return; ++ } ++ if (current_pid) { ++ fprintf(output, " <unfinished ...>\n"); ++ } ++ current_pid=0; ++ if (!fmt) { ++ return; ++ } ++ begin_of_line(LT_TOF_NONE, proc); ++ ++ va_start(args, fmt); ++ vfprintf(output, fmt, args); ++ fprintf(output, "\n"); ++ va_end(args); ++ current_column=0; ++} ++ ++static void ++tabto(int col) { ++ if (current_column < col) { ++ fprintf(output, "%*s", col-current_column, ""); ++ } ++} ++ ++void ++output_left(enum tof type, struct process * proc, char * function_name) { ++ struct function * func; ++ ++ if (opt_c) { ++ return; ++ } ++ if (current_pid) { ++ fprintf(output, " <unfinished ...>\n"); ++ current_pid=0; ++ current_column=0; ++ } ++ current_pid = proc->pid; ++ current_depth = proc->callstack_depth; ++ proc->type_being_displayed = type; ++ begin_of_line(type, proc); ++#if HAVE_LIBIBERTY ++ current_column += fprintf(output, "%s(", opt_C ? my_demangle(function_name): function_name); ++#else ++ current_column += fprintf(output, "%s(", function_name); ++#endif ++ ++ func = name2func(function_name); ++ if (!func) { ++ int i; ++ for(i=0; i<4; i++) { ++ current_column += display_arg(type, proc, i, ARGTYPE_UNKNOWN); ++ current_column += fprintf(output, ", "); ++ } ++ current_column += display_arg(type, proc, 4, ARGTYPE_UNKNOWN); ++ return; ++ } else { ++ int i; ++ for(i=0; i< func->num_params - func->params_right - 1; i++) { ++ current_column += display_arg(type, proc, i, func->arg_types[i]); ++ current_column += fprintf(output, ", "); ++ } ++ if (func->num_params>func->params_right) { ++ current_column += display_arg(type, proc, i, func->arg_types[i]); ++ if (func->params_right) { ++ current_column += fprintf(output, ", "); ++ } ++ } ++ if (func->params_right) { ++ save_register_args(type, proc); ++ } ++ } ++} ++ ++void ++output_right(enum tof type, struct process * proc, char * function_name) { ++ struct function * func = name2func(function_name); ++ ++ if (opt_c) { ++ struct opt_c_struct * st; ++ if (!dict_opt_c) { ++ dict_opt_c = dict_init(dict_key2hash_string, dict_key_cmp_string); ++ } ++ st = dict_find_entry(dict_opt_c, function_name); ++ if (!st) { ++ char *na; ++ st = malloc(sizeof(struct opt_c_struct)); ++ na = strdup(function_name); ++ if (!st || !na) { ++ perror("malloc()"); ++ exit(1); ++ } ++ st->count = 0; ++ st->tv.tv_sec = st->tv.tv_usec = 0; ++ dict_enter(dict_opt_c, na, st); ++ } ++ if (st->tv.tv_usec + current_time_spent.tv_usec > 1000000) { ++ st->tv.tv_usec += current_time_spent.tv_usec - 1000000; ++ st->tv.tv_sec++; ++ } else { ++ st->tv.tv_usec += current_time_spent.tv_usec; ++ } ++ st->count++; ++ st->tv.tv_sec += current_time_spent.tv_sec; ++ ++// fprintf(output, "%s <%lu.%06d>\n", function_name, ++// current_time_spent.tv_sec, (int)current_time_spent.tv_usec); ++ return; ++ } ++ if (current_pid && (current_pid!=proc->pid || ++ current_depth != proc->callstack_depth)) { ++ fprintf(output, " <unfinished ...>\n"); ++ current_pid = 0; ++ } ++ if (current_pid != proc->pid) { ++ begin_of_line(type, proc); ++#if HAVE_LIBIBERTY ++ current_column += fprintf(output, "<... %s resumed> ", opt_C ? my_demangle(function_name) : function_name); ++#else ++ current_column += fprintf(output, "<... %s resumed> ", function_name); ++#endif ++ } ++ ++ if (!func) { ++ current_column += fprintf(output, ") "); ++ tabto(opt_a-1); ++ fprintf(output, "= "); ++ display_arg(type, proc, -1, ARGTYPE_UNKNOWN); ++ } else { ++ int i; ++ for(i=func->num_params-func->params_right; i<func->num_params-1; i++) { ++ current_column += display_arg(type, proc, i, func->arg_types[i]); ++ current_column += fprintf(output, ", "); ++ } ++ if (func->params_right) { ++ current_column += display_arg(type, proc, i, func->arg_types[i]); ++ } ++ current_column += fprintf(output, ") "); ++ tabto(opt_a-1); ++ fprintf(output, "= "); ++ if (func->return_type == ARGTYPE_VOID) { ++ fprintf(output, "<void>"); ++ } else { ++ display_arg(type, proc, -1, func->return_type); ++ } ++ } ++ if (opt_T) { ++ fprintf(output, " <%lu.%06d>", ++ current_time_spent.tv_sec, (int)current_time_spent.tv_usec); ++ } ++ fprintf(output, "\n"); ++ current_pid=0; ++ current_column=0; ++} diff --git a/debian/patches/03syscallent-update.dpatch b/debian/patches/03syscallent-update.dpatch new file mode 100755 index 0000000..95f12c0 --- /dev/null +++ b/debian/patches/03syscallent-update.dpatch @@ -0,0 +1,615 @@ +#! /bin/sh -e +## 03syscallent-update.dpatch by <apollock@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/alpha/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/alpha/syscallent.h 2004-06-15 01:57:35.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/alpha/syscallent.h 2004-10-22 20:14:06.000000000 +1000 +@@ -421,4 +421,19 @@ + "clock_gettime", /* 420 */ + "clock_getres", /* 421 */ + "clock_nanosleep", /* 422 */ +- "semtimedop" /* 423 */ ++ "semtimedop", /* 423 */ ++ "tgkill", /* 424 */ ++ "stat64", /* 425 */ ++ "lstat64", /* 426 */ ++ "fstat64", /* 427 */ ++ "vserver", /* 428 */ ++ "mbind", /* 429 */ ++ "get_mempolicy", /* 430 */ ++ "set_mempolicy", /* 431 */ ++ "mq_open", /* 432 */ ++ "mq_unlink", /* 433 */ ++ "mq_timedsend", /* 434 */ ++ "mq_timedreceive", /* 435 */ ++ "mq_notify", /* 436 */ ++ "mq_getsetattr", /* 437 */ ++ "waitid" /* 438 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h 2004-10-22 20:13:51.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/i386/syscallent.h 2004-10-22 20:14:06.000000000 +1000 +@@ -281,3 +281,5 @@ + "mq_timedreceive", /* 280 */ + "mq_notify", /* 281 */ + "mq_getsetattr", /* 282 */ ++ "kexec_load", /* 283 */ ++ "waitid", /* 284 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h 2004-10-22 20:13:51.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/ppc/syscallent.h 2004-10-22 20:14:06.000000000 +1000 +@@ -260,3 +260,4 @@ + "mq_timedreceive", /* 265 */ + "mq_notify", /* 266 */ + "mq_getsetattr", /* 267 */ ++ "kexec_load", /* 268 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/sparc/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/sparc/syscallent.h 2004-06-15 01:55:50.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/sparc/syscallent.h 2004-10-22 20:14:06.000000000 +1000 +@@ -1,256 +1,280 @@ +- "0", /* 0 */ +- "exit", /* 1 */ +- "fork", /* 2 */ +- "read", /* 3 */ +- "write", /* 4 */ +- "open", /* 5 */ +- "close", /* 6 */ +- "wait4", /* 7 */ +- "creat", /* 8 */ +- "link", /* 9 */ +- "unlink", /* 10 */ +- "execv", /* 11 */ +- "chdir", /* 12 */ +- "chown", /* 13 */ +- "mknod", /* 14 */ +- "chmod", /* 15 */ +- "lchown", /* 16 */ +- "brk", /* 17 */ +- "perfctr", /* 18 */ +- "lseek", /* 19 */ +- "getpid", /* 20 */ +- "capget", /* 21 */ +- "capset", /* 22 */ +- "setuid", /* 23 */ +- "getuid", /* 24 */ +- "25", /* 25 */ +- "ptrace", /* 26 */ +- "alarm", /* 27 */ +- "sigaltstack", /* 28 */ +- "pause", /* 29 */ +- "utime", /* 30 */ +- "31", /* 31 */ +- "32", /* 32 */ +- "access", /* 33 */ +- "nice", /* 34 */ +- "35", /* 35 */ +- "sync", /* 36 */ +- "kill", /* 37 */ +- "stat", /* 38 */ +- "sendfile", /* 39 */ +- "lstat", /* 40 */ +- "dup", /* 41 */ +- "pipe", /* 42 */ +- "times", /* 43 */ +- "44", /* 44 */ +- "umount2", /* 45 */ +- "setgid", /* 46 */ +- "getgid", /* 47 */ +- "signal", /* 48 */ +- "geteuid", /* 49 */ +- "getegid", /* 50 */ +- "acct", /* 51 */ +- "memory_ordering", /* 52 */ +- "53", /* 53 */ +- "ioctl", /* 54 */ +- "reboot", /* 55 */ +- "56", /* 56 */ +- "symlink", /* 57 */ +- "readlink", /* 58 */ +- "execve", /* 59 */ +- "umask", /* 60 */ +- "chroot", /* 61 */ +- "fstat", /* 62 */ +- "63", /* 63 */ +- "getpagesize", /* 64 */ +- "msync", /* 65 */ +- "vfork", /* 66 */ +- "pread", /* 67 */ +- "pwrite", /* 68 */ +- "69", /* 69 */ +- "70", /* 70 */ +- "mmap", /* 71 */ +- "72", /* 72 */ +- "munmap", /* 73 */ +- "mprotect", /* 74 */ +- "75", /* 75 */ +- "vhangup", /* 76 */ +- "77", /* 77 */ +- "78", /* 78 */ +- "getgroups", /* 79 */ +- "setgroups", /* 80 */ +- "getpgrp", /* 81 */ +- "82", /* 82 */ +- "setitimer", /* 83 */ +- "84", /* 84 */ +- "swapon", /* 85 */ +- "getitimer", /* 86 */ +- "87", /* 87 */ +- "sethostname", /* 88 */ +- "89", /* 89 */ +- "dup2", /* 90 */ +- "91", /* 91 */ +- "fcntl", /* 92 */ +- "select", /* 93 */ +- "94", /* 94 */ +- "fsync", /* 95 */ +- "setpriority", /* 96 */ +- "socket", /* 97 */ +- "connect", /* 98 */ +- "accept", /* 99 */ +- "getpriority", /* 100 */ +- "rt_sigreturn", /* 101 */ +- "rt_sigaction", /* 102 */ +- "rt_sigprocmask", /* 103 */ +- "rt_sigpending", /* 104 */ +- "rt_sigtimedwait", /* 105 */ +- "rt_sigqueueinfo", /* 106 */ +- "rt_sigsuspend", /* 107 */ +- "108", /* 108 */ +- "109", /* 109 */ +- "110", /* 110 */ +- "111", /* 111 */ +- "112", /* 112 */ +- "recvmsg", /* 113 */ +- "sendmsg", /* 114 */ +- "115", /* 115 */ +- "gettimeofday", /* 116 */ +- "getrusage", /* 117 */ +- "getsockopt", /* 118 */ +- "getcwd", /* 119 */ +- "readv", /* 120 */ +- "writev", /* 121 */ +- "settimeofday", /* 122 */ +- "fchown", /* 123 */ +- "fchmod", /* 124 */ +- "recvfrom", /* 125 */ +- "setreuid", /* 126 */ +- "setregid", /* 127 */ +- "rename", /* 128 */ +- "truncate", /* 129 */ +- "ftruncate", /* 130 */ +- "flock", /* 131 */ +- "132", /* 132 */ +- "sendto", /* 133 */ +- "shutdown", /* 134 */ +- "socketpair", /* 135 */ +- "mkdir", /* 136 */ +- "rmdir", /* 137 */ +- "utimes", /* 138 */ +- "139", /* 139 */ +- "140", /* 140 */ +- "getpeername", /* 141 */ +- "142", /* 142 */ +- "143", /* 143 */ +- "getrlimit", /* 144 */ +- "setrlimit", /* 145 */ +- "146", /* 146 */ +- "prctl", /* 147 */ +- "pciconfig_read", /* 148 */ +- "pciconfig_write", /* 149 */ +- "getsockname", /* 150 */ +- "151", /* 151 */ +- "152", /* 152 */ +- "poll", /* 153 */ +- "154", /* 154 */ +- "155", /* 155 */ +- "156", /* 156 */ +- "statfs", /* 157 */ +- "fstatfs", /* 158 */ +- "umount", /* 159 */ +- "160", /* 160 */ +- "161", /* 161 */ +- "getdomainname", /* 162 */ +- "setdomainname", /* 163 */ +- "utrap_install", /* 164 */ +- "quotactl", /* 165 */ +- "166", /* 166 */ +- "mount", /* 167 */ +- "ustat", /* 168 */ +- "169", /* 169 */ +- "170", /* 170 */ +- "171", /* 171 */ +- "172", /* 172 */ +- "173", /* 173 */ +- "getdents", /* 174 */ +- "setsid", /* 175 */ +- "fchdir", /* 176 */ +- "177", /* 177 */ +- "178", /* 178 */ +- "179", /* 179 */ +- "180", /* 180 */ +- "181", /* 181 */ +- "182", /* 182 */ +- "sigpending", /* 183 */ +- "query_module", /* 184 */ +- "setpgid", /* 185 */ +- "186", /* 186 */ +- "187", /* 187 */ +- "188", /* 188 */ +- "uname", /* 189 */ +- "init_module", /* 190 */ +- "personality", /* 191 */ +- "192", /* 192 */ +- "193", /* 193 */ +- "194", /* 194 */ +- "195", /* 195 */ +- "196", /* 196 */ +- "getppid", /* 197 */ +- "sigaction", /* 198 */ +- "sgetmask", /* 199 */ +- "ssetmask", /* 200 */ +- "sigsuspend", /* 201 */ +- "oldlstat", /* 202 */ +- "uselib", /* 203 */ +- "readdir", /* 204 */ +- "205", /* 205 */ +- "socketcall", /* 206 */ +- "syslog", /* 207 */ +- "208", /* 208 */ +- "209", /* 209 */ +- "idle", /* 210 */ +- "211", /* 211 */ +- "waitpid", /* 212 */ +- "swapoff", /* 213 */ +- "sysinfo", /* 214 */ +- "ipc", /* 215 */ +- "sigreturn", /* 216 */ +- "clone", /* 217 */ +- "218", /* 218 */ +- "adjtimex", /* 219 */ +- "sigprocmask", /* 220 */ +- "create_module", /* 221 */ +- "delete_module", /* 222 */ +- "get_kernel_syms", /* 223 */ +- "getpgid", /* 224 */ +- "bdflush", /* 225 */ +- "sysfs", /* 226 */ +- "afs_syscall", /* 227 */ +- "setfsuid", /* 228 */ +- "setfsgid", /* 229 */ +- "_newselect", /* 230 */ +- "time", /* 231 */ +- "232", /* 232 */ +- "stime", /* 233 */ +- "234", /* 234 */ +- "235", /* 235 */ +- "_llseek", /* 236 */ +- "mlock", /* 237 */ +- "munlock", /* 238 */ +- "mlockall", /* 239 */ +- "munlockall", /* 240 */ +- "sched_setparam", /* 241 */ +- "sched_getparam", /* 242 */ +- "sched_setscheduler", /* 243 */ +- "sched_getscheduler", /* 244 */ +- "sched_yield", /* 245 */ +- "sched_get_priority_max", /* 246 */ +- "sched_get_priority_min", /* 247 */ +- "sched_rr_get_interval", /* 248 */ +- "nanosleep", /* 249 */ +- "mremap", /* 250 */ +- "_sysctl", /* 251 */ +- "getsid", /* 252 */ +- "fdatasync", /* 253 */ +- "nfsservctl", /* 254 */ +- "aplib", /* 255 */ ++ "0", /* 0 */ ++ "exit", /* 1 */ ++ "fork", /* 2 */ ++ "read", /* 3 */ ++ "write", /* 4 */ ++ "open", /* 5 */ ++ "close", /* 6 */ ++ "wait4", /* 7 */ ++ "creat", /* 8 */ ++ "link", /* 9 */ ++ "unlink", /* 10 */ ++ "execv", /* 11 */ ++ "chdir", /* 12 */ ++ "chown", /* 13 */ ++ "mknod", /* 14 */ ++ "chmod", /* 15 */ ++ "lchown", /* 16 */ ++ "brk", /* 17 */ ++ "perfctr", /* 18 */ ++ "lseek", /* 19 */ ++ "getpid", /* 20 */ ++ "capget", /* 21 */ ++ "capset", /* 22 */ ++ "setuid", /* 23 */ ++ "getuid", /* 24 */ ++ "25", /* 25 */ ++ "ptrace", /* 26 */ ++ "alarm", /* 27 */ ++ "sigaltstack", /* 28 */ ++ "pause", /* 29 */ ++ "utime", /* 30 */ ++ "lchown32", /* 31 */ ++ "fchown32", /* 32 */ ++ "access", /* 33 */ ++ "nice", /* 34 */ ++ "chown32", /* 35 */ ++ "sync", /* 36 */ ++ "kill", /* 37 */ ++ "stat", /* 38 */ ++ "sendfile", /* 39 */ ++ "lstat", /* 40 */ ++ "dup", /* 41 */ ++ "pipe", /* 42 */ ++ "times", /* 43 */ ++ "getuid32", /* 44 */ ++ "umount2", /* 45 */ ++ "setgid", /* 46 */ ++ "getgid", /* 47 */ ++ "signal", /* 48 */ ++ "geteuid", /* 49 */ ++ "getegid", /* 50 */ ++ "acct", /* 51 */ ++ "memory_ordering", /* 52 */ ++ "getgid32", /* 53 */ ++ "ioctl", /* 54 */ ++ "reboot", /* 55 */ ++ "mmap2", /* 56 */ ++ "symlink", /* 57 */ ++ "readlink", /* 58 */ ++ "execve", /* 59 */ ++ "umask", /* 60 */ ++ "chroot", /* 61 */ ++ "fstat", /* 62 */ ++ "fstat64", /* 63 */ ++ "getpagesize", /* 64 */ ++ "msync", /* 65 */ ++ "vfork", /* 66 */ ++ "pread64", /* 67 */ ++ "pwrite64", /* 68 */ ++ "geteuid32", /* 69 */ ++ "getegid32", /* 70 */ ++ "mmap", /* 71 */ ++ "setreuid32", /* 72 */ ++ "munmap", /* 73 */ ++ "mprotect", /* 74 */ ++ "madvise", /* 75 */ ++ "vhangup", /* 76 */ ++ "truncate64", /* 77 */ ++ "mincore", /* 78 */ ++ "getgroups", /* 79 */ ++ "setgroups", /* 80 */ ++ "getpgrp", /* 81 */ ++ "setgroups32", /* 82 */ ++ "setitimer", /* 83 */ ++ "ftruncate64", /* 84 */ ++ "swapon", /* 85 */ ++ "getitimer", /* 86 */ ++ "setuid32", /* 87 */ ++ "sethostname", /* 88 */ ++ "setgid32", /* 89 */ ++ "dup2", /* 90 */ ++ "setfsuid32", /* 91 */ ++ "fcntl", /* 92 */ ++ "select", /* 93 */ ++ "setfsgid32", /* 94 */ ++ "fsync", /* 95 */ ++ "setpriority", /* 96 */ ++ "socket", /* 97 */ ++ "connect", /* 98 */ ++ "accept", /* 99 */ ++ "getpriority", /* 100 */ ++ "rt_sigreturn", /* 101 */ ++ "rt_sigaction", /* 102 */ ++ "rt_sigprocmask", /* 103 */ ++ "rt_sigpending", /* 104 */ ++ "rt_sigtimedwait", /* 105 */ ++ "rt_sigqueueinfo", /* 106 */ ++ "rt_sigsuspend", /* 107 */ ++ "setresuid32", /* 108 */ ++ "getresuid32", /* 109 */ ++ "setresgid32", /* 110 */ ++ "getresgid32", /* 111 */ ++ "setregid32", /* 112 */ ++ "recvmsg", /* 113 */ ++ "sendmsg", /* 114 */ ++ "getgroups32", /* 115 */ ++ "gettimeofday", /* 116 */ ++ "getrusage", /* 117 */ ++ "getsockopt", /* 118 */ ++ "getcwd", /* 119 */ ++ "readv", /* 120 */ ++ "writev", /* 121 */ ++ "settimeofday", /* 122 */ ++ "fchown", /* 123 */ ++ "fchmod", /* 124 */ ++ "recvfrom", /* 125 */ ++ "setreuid", /* 126 */ ++ "setregid", /* 127 */ ++ "rename", /* 128 */ ++ "truncate", /* 129 */ ++ "ftruncate", /* 130 */ ++ "flock", /* 131 */ ++ "lstat64", /* 132 */ ++ "sendto", /* 133 */ ++ "shutdown", /* 134 */ ++ "socketpair", /* 135 */ ++ "mkdir", /* 136 */ ++ "rmdir", /* 137 */ ++ "utimes", /* 138 */ ++ "stat64", /* 139 */ ++ "sendfile64", /* 140 */ ++ "getpeername", /* 141 */ ++ "futex", /* 142 */ ++ "gettid", /* 143 */ ++ "getrlimit", /* 144 */ ++ "setrlimit", /* 145 */ ++ "pivot_root", /* 146 */ ++ "prctl", /* 147 */ ++ "pciconfig_read", /* 148 */ ++ "pciconfig_write", /* 149 */ ++ "getsockname", /* 150 */ ++ "151", /* 151 */ ++ "152", /* 152 */ ++ "poll", /* 153 */ ++ "getdents64", /* 154 */ ++ "fcntl64", /* 155 */ ++ "156", /* 156 */ ++ "statfs", /* 157 */ ++ "fstatfs", /* 158 */ ++ "umount", /* 159 */ ++ "sched_set_affinity", /* 160 */ ++ "sched_get_affinity", /* 161 */ ++ "getdomainname", /* 162 */ ++ "setdomainname", /* 163 */ ++ "utrap_install", /* 164 */ ++ "quotactl", /* 165 */ ++ "set_tid_address", /* 166 */ ++ "mount", /* 167 */ ++ "ustat", /* 168 */ ++ "setxattr", /* 169 */ ++ "lsetxattr", /* 170 */ ++ "fsetxattr", /* 171 */ ++ "getxattr", /* 172 */ ++ "lgetxattr", /* 173 */ ++ "getdents", /* 174 */ ++ "setsid", /* 175 */ ++ "fchdir", /* 176 */ ++ "fgetxattr", /* 177 */ ++ "listxattr", /* 178 */ ++ "llistxattr", /* 179 */ ++ "flistxattr", /* 180 */ ++ "removexattr", /* 181 */ ++ "lremovexattr", /* 182 */ ++ "sigpending", /* 183 */ ++ "query_module", /* 184 */ ++ "setpgid", /* 185 */ ++ "fremovexattr", /* 186 */ ++ "tkill", /* 187 */ ++ "exit_group", /* 188 */ ++ "uname", /* 189 */ ++ "init_module", /* 190 */ ++ "personality", /* 191 */ ++ "remap_file_pages", /* 192 */ ++ "epoll_create", /* 193 */ ++ "epoll_ctl", /* 194 */ ++ "epoll_wait", /* 195 */ ++ "196", /* 196 */ ++ "getppid", /* 197 */ ++ "sigaction", /* 198 */ ++ "sgetmask", /* 199 */ ++ "ssetmask", /* 200 */ ++ "sigsuspend", /* 201 */ ++ "oldlstat", /* 202 */ ++ "uselib", /* 203 */ ++ "readdir", /* 204 */ ++ "readahead", /* 205 */ ++ "socketcall", /* 206 */ ++ "syslog", /* 207 */ ++ "lookup_dcookie", /* 208 */ ++ "fadvise64", /* 209 */ ++ "fadvise64_64", /* 210 */ ++ "tgkill", /* 211 */ ++ "waitpid", /* 212 */ ++ "swapoff", /* 213 */ ++ "sysinfo", /* 214 */ ++ "ipc", /* 215 */ ++ "sigreturn", /* 216 */ ++ "clone", /* 217 */ ++ "218", /* 218 */ ++ "adjtimex", /* 219 */ ++ "sigprocmask", /* 220 */ ++ "create_module", /* 221 */ ++ "delete_module", /* 222 */ ++ "get_kernel_syms", /* 223 */ ++ "getpgid", /* 224 */ ++ "bdflush", /* 225 */ ++ "sysfs", /* 226 */ ++ "afs_syscall", /* 227 */ ++ "setfsuid", /* 228 */ ++ "setfsgid", /* 229 */ ++ "_newselect", /* 230 */ ++ "time", /* 231 */ ++ "232", /* 232 */ ++ "stime", /* 233 */ ++ "statfs64", /* 234 */ ++ "fstatfs64", /* 235 */ ++ "_llseek", /* 236 */ ++ "mlock", /* 237 */ ++ "munlock", /* 238 */ ++ "mlockall", /* 239 */ ++ "munlockall", /* 240 */ ++ "sched_setparam", /* 241 */ ++ "sched_getparam", /* 242 */ ++ "sched_setscheduler", /* 243 */ ++ "sched_getscheduler", /* 244 */ ++ "sched_yield", /* 245 */ ++ "sched_get_priority_max", /* 246 */ ++ "sched_get_priority_min", /* 247 */ ++ "sched_rr_get_interval", /* 248 */ ++ "nanosleep", /* 249 */ ++ "mremap", /* 250 */ ++ "_sysctl", /* 251 */ ++ "getsid", /* 252 */ ++ "fdatasync", /* 253 */ ++ "nfsservctl", /* 254 */ ++ "aplib", /* 255 */ ++ "clock_settime", /* 256 */ ++ "clock_gettime", /* 257 */ ++ "clock_getres", /* 258 */ ++ "clock_nanosleep", /* 259 */ ++ "sched_getaffinity", /* 260 */ ++ "sched_setaffinity", /* 261 */ ++ "timer_settime", /* 262 */ ++ "timer_gettime", /* 263 */ ++ "timer_getoverrun", /* 264 */ ++ "timer_delete", /* 265 */ ++ "timer_create", /* 266 */ ++ "vserver", /* 267 */ ++ "io_setup", /* 268 */ ++ "io_destroy", /* 269 */ ++ "io_submit", /* 270 */ ++ "io_cancel", /* 271 */ ++ "io_getevents", /* 272 */ ++ "mq_open", /* 273 */ ++ "mq_unlink", /* 274 */ ++ "mq_timedsend", /* 275 */ ++ "mq_timedreceive", /* 276 */ ++ "mq_notify", /* 277 */ ++ "mq_getsetattr", /* 278 */ ++ "waitid", /* 279 */ +diff -urNad /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h +--- /home/apollock/debian/ltrace/ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h 2004-10-22 20:13:51.000000000 +1000 ++++ ltrace-0.3.35/sysdeps/linux-gnu/x86_64/syscallent.h 2004-10-22 20:14:06.000000000 +1000 +@@ -244,3 +244,5 @@ + "mq_timedreceive", /* 243 */ + "mq_notify", /* 244 */ + "mq_getsetattr", /* 245 */ ++ "kexec_load", /* 246 */ ++ "waitid", /* 247 */ diff --git a/debian/rules b/debian/rules index 1716c43..beba2b2 100755 --- a/debian/rules +++ b/debian/rules @@ -1,10 +1,13 @@ #! /usr/bin/make -f # # Copyright (C) 1997-2003 Juan Cespedes <cespedes@debian.org> +# +include /usr/share/dpatch/dpatch.make +PACKAGE=ltrace .PHONY: binary binary-indep binary-arch clean -build: Makefile config.h +build: patch Makefile config.h $(checkdir) $(MAKE) touch build @@ -45,7 +48,7 @@ binary-arch: build chmod -R u=rwX,go=rX debian/tmp dpkg --build debian/tmp .. -clean: configure config.h.in +clean: unpatch configure config.h.in $(checkdir) $(RM) -f build debian/files debian/substvars -$(MAKE) distclean |