diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in index dc9d521632..b7693f0921 100644 --- a/lib/dns/Makefile.in +++ b/lib/dns/Makefile.in @@ -167,9 +167,14 @@ include/dns/rdatastruct.h: gen \ code.h: gen ./gen -s ${srcdir} > code.h || { rm -f $@ ; exit 1; } +gen: LFS_CFLAGS = `getconf LFS_CFLAGS 2>/dev/null` +gen: LFS_LDFLAGS = `getconf LFS_LDFLAGS 2>/dev/null` +gen: LFS_LIBS = `getconf LFS_LIBS 2>/dev/null` gen: gen.c ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ - ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS} + ${LFS_CFLAGS} ${LFS_LDFLAGS} \ + ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ + ${BUILD_LIBS} ${LFS_LIBS} timestamp: include libdns.@A@ touch timestamp diff --git a/lib/dns/gen-unix.h b/lib/dns/gen-unix.h index 84c3e7f78f..16b7524130 100644 --- a/lib/dns/gen-unix.h +++ b/lib/dns/gen-unix.h @@ -28,8 +28,10 @@ #include /* Required on some systems for dirent.h. */ +#include #include #include +#include #include /* XXXDCL Required for ?. */ #include @@ -66,9 +68,15 @@ next_file(isc_dir_t *dir) { dir->filename = NULL; if (dir->handle != NULL) { + errno = 0; dirent = readdir(dir->handle); - if (dirent != NULL) + if (dirent != NULL) { dir->filename = dirent->d_name; + } else { + if (errno != 0) { + exit(1); + } + } } if (dir->filename != NULL)