From c564344766c1e888c0ab3f866ea4b3318135d0e5 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Sep 2006 09:56:21 +0000 Subject: r18451: move repdir/ into the top dir metze (This used to be commit a564194817d9b78e353abb6bf0548b2dd9eb130b) --- source4/lib/replace/repdir.m4 | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source4/lib/replace/repdir.m4 (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 new file mode 100644 index 0000000000..d15e4cb7af --- /dev/null +++ b/source4/lib/replace/repdir.m4 @@ -0,0 +1,30 @@ +AC_CACHE_CHECK([for broken readdir],libreplace_READDIR_NEEDED,[ + AC_TRY_RUN([ +#define test_readdir_os2_delete main +#error +#include "$libreplacedir/test/os2_delete.c"], + [libreplace_READDIR_NEEDED=no], + [libreplace_READDIR_NEEDED=yes], + [libreplace_READDIR_NEEDED="assuming not"]) +]) + +# +# try to replace with getdents() if needed +# +if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_READDIR_GETDENTS,[ + AC_TRY_RUN([ +#include "confdefs.h" +#include "$libreplacedir/repdir_getdents.c" +#define test_readdir_os2_delete main +#include "$libreplacedir/test/os2_delete.c"], + [libreplace_READDIR_GETDENTS=yes], + [libreplace_READDIR_GETDENTS=no]) +]) +fi +if test x"$libreplace_READDIR_GETDENTS" = x"yes"; then + AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) + AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) + LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" + libreplace_READDIR_NEEDED=no +fi -- cgit From dfef2dc22fd8188b5ac577c7c87ab6f58ebb6440 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Sep 2006 10:00:45 +0000 Subject: r18452: add configure test for a getdirentries() based replacement for broken readdir() Tru64 need this, linux also has getdirentries() but the native readdir() works but it means we can write the code on linux and when it works it may work on Tru64 too. tridge: can you try to implement this? metze (This used to be commit dd791d255ca61159b38a59b89f954a61fc5e9cf6) --- source4/lib/replace/repdir.m4 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index d15e4cb7af..a2f7bfa009 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -28,3 +28,28 @@ if test x"$libreplace_READDIR_GETDENTS" = x"yes"; then LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" libreplace_READDIR_NEEDED=no fi + +# +# try to replace with getdirentries() if needed +# +if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_READDIR_GETDIRENTRIES,[ + AC_TRY_RUN([ +#include "confdefs.h" +#include "$libreplacedir/repdir_getdirentries.c" +#define test_readdir_os2_delete main +#include "$libreplacedir/test/os2_delete.c"], + [libreplace_READDIR_GETDIRENTRIES=yes], + [libreplace_READDIR_GETDIRENTRIES=no]) +]) +fi +if test x"$libreplace_READDIR_GETDIRENTRIES" = x"yes"; then + AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) + AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using getdirentries()]) + LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdirentries.o" + libreplace_READDIR_NEEDED=no +fi + +if test x"$libreplace_READDIR_NEEDED" = x"yes"; then + AC_MSG_WARN([the provides readdir() is broken]) +fi -- cgit From b270dd3fd604b15147fb33491fff39ff718db959 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Sep 2006 10:04:46 +0000 Subject: r18454: this was just for debugging... metze (This used to be commit f9f14a94297d72af13b043db99fa892e5e3dcb46) --- source4/lib/replace/repdir.m4 | 1 - 1 file changed, 1 deletion(-) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index a2f7bfa009..1e23306f28 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -1,7 +1,6 @@ AC_CACHE_CHECK([for broken readdir],libreplace_READDIR_NEEDED,[ AC_TRY_RUN([ #define test_readdir_os2_delete main -#error #include "$libreplacedir/test/os2_delete.c"], [libreplace_READDIR_NEEDED=no], [libreplace_READDIR_NEEDED=yes], -- cgit From bf071a91aabe50a26fb8a63e05a5e264b21b66ab Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Sep 2006 10:10:20 +0000 Subject: r18455: check if getdents() and getdirentries() are available. (only for the nicer configure output) metze (This used to be commit d53eb6bd10903d696c5ed9aad3bca3ddf35b2b51) --- source4/lib/replace/repdir.m4 | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index 1e23306f28..e2f94263e8 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -11,6 +11,7 @@ AC_CACHE_CHECK([for broken readdir],libreplace_READDIR_NEEDED,[ # try to replace with getdents() if needed # if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +AC_CHECK_FUNCS(getdents) AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_READDIR_GETDENTS,[ AC_TRY_RUN([ #include "confdefs.h" @@ -32,6 +33,7 @@ fi # try to replace with getdirentries() if needed # if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +AC_CHECK_FUNCS(getdirentries) AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_READDIR_GETDIRENTRIES,[ AC_TRY_RUN([ #include "confdefs.h" -- cgit From 63d284c91220535456e036623f97ccd2cc44c000 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Sep 2006 11:08:50 +0000 Subject: r18462: make the output a bit nicer metze (This used to be commit 0b61ea3ed7b833dbb5a7ca8ef2bb29c1b68f5cad) --- source4/lib/replace/repdir.m4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index e2f94263e8..06a01964a8 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -51,6 +51,10 @@ if test x"$libreplace_READDIR_GETDIRENTRIES" = x"yes"; then libreplace_READDIR_NEEDED=no fi +AC_MSG_CHECKING([a usable readdir()]) if test x"$libreplace_READDIR_NEEDED" = x"yes"; then - AC_MSG_WARN([the provides readdir() is broken]) + AC_MSG_RESULT(no) + AC_MSG_WARN([the provided readdir() is broken]) +else + AC_MSG_RESULT(yes) fi -- cgit From a0e87e5dc79bc631cb2362ebbf4d91913a342273 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 14 Sep 2006 08:26:41 +0000 Subject: r18505: add configure checks for telldir() and seekdir() telldir() is different on older OpenBSD versions seekdir() is different Tru64 tridge: OpenBSD seems to like this replacement:-) while MAC OS 10 gets 134 runtime error:-( lets wait what Tru64 will give metze (This used to be commit 1f4e602ff239b7feabb2dd1d6938dedf91bde5cd) --- source4/lib/replace/repdir.m4 | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index 06a01964a8..93bf4ec911 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -14,7 +14,7 @@ if test x"$libreplace_READDIR_NEEDED" = x"yes"; then AC_CHECK_FUNCS(getdents) AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_READDIR_GETDENTS,[ AC_TRY_RUN([ -#include "confdefs.h" +#define _LIBREPLACE_REPLACE_H #include "$libreplacedir/repdir_getdents.c" #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], @@ -34,9 +34,26 @@ fi # if test x"$libreplace_READDIR_NEEDED" = x"yes"; then AC_CHECK_FUNCS(getdirentries) +AC_VERIFY_C_PROTOTYPE([long telldir(const DIR *dir)], + [ + return 0; + ],[ + AC_DEFINE(TELLDIR_TAKES_CONST_DIR, 1, [Whether telldir takes a const pointer]) + ],[],[ + #include + ]) + +AC_VERIFY_C_PROTOTYPE([int seekdir(DIR *dir, long ofs)], + [ + return 0; + ],[ + AC_DEFINE(SEEKDIR_RETURNS_INT, 1, [Whether seekdir returns an int]) + ],[],[ + #include + ]) AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_READDIR_GETDIRENTRIES,[ AC_TRY_RUN([ -#include "confdefs.h" +#define _LIBREPLACE_REPLACE_H #include "$libreplacedir/repdir_getdirentries.c" #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], -- cgit From 3f96df61dadb107867c174880029838c5c850cd3 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 27 Sep 2006 14:47:00 +0000 Subject: r18960: fix caching of some configure tests AC_CACHE_CHECK() *needs* '_cv_' in the shell var to do caching... metze (This used to be commit cb334632fae28bff107200a7b5643289f383eaad) --- source4/lib/replace/repdir.m4 | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index 93bf4ec911..81025d618a 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -1,38 +1,38 @@ -AC_CACHE_CHECK([for broken readdir],libreplace_READDIR_NEEDED,[ +AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[ AC_TRY_RUN([ #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], - [libreplace_READDIR_NEEDED=no], - [libreplace_READDIR_NEEDED=yes], - [libreplace_READDIR_NEEDED="assuming not"]) + [libreplace_cv_READDIR_NEEDED=no], + [libreplace_cv_READDIR_NEEDED=yes], + [libreplace_cv_READDIR_NEEDED="assuming not"]) ]) # # try to replace with getdents() if needed # -if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then AC_CHECK_FUNCS(getdents) -AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_READDIR_GETDENTS,[ +AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[ AC_TRY_RUN([ #define _LIBREPLACE_REPLACE_H #include "$libreplacedir/repdir_getdents.c" #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], - [libreplace_READDIR_GETDENTS=yes], - [libreplace_READDIR_GETDENTS=no]) + [libreplace_cv_READDIR_GETDENTS=yes], + [libreplace_cv_READDIR_GETDENTS=no]) ]) fi -if test x"$libreplace_READDIR_GETDENTS" = x"yes"; then +if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" - libreplace_READDIR_NEEDED=no + libreplace_cv_READDIR_NEEDED=no fi # # try to replace with getdirentries() if needed # -if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then AC_CHECK_FUNCS(getdirentries) AC_VERIFY_C_PROTOTYPE([long telldir(const DIR *dir)], [ @@ -51,25 +51,25 @@ AC_VERIFY_C_PROTOTYPE([int seekdir(DIR *dir, long ofs)], ],[],[ #include ]) -AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_READDIR_GETDIRENTRIES,[ +AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_cv_READDIR_GETDIRENTRIES,[ AC_TRY_RUN([ #define _LIBREPLACE_REPLACE_H #include "$libreplacedir/repdir_getdirentries.c" #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], - [libreplace_READDIR_GETDIRENTRIES=yes], - [libreplace_READDIR_GETDIRENTRIES=no]) + [libreplace_cv_READDIR_GETDIRENTRIES=yes], + [libreplace_cv_READDIR_GETDIRENTRIES=no]) ]) fi -if test x"$libreplace_READDIR_GETDIRENTRIES" = x"yes"; then +if test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using getdirentries()]) LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdirentries.o" - libreplace_READDIR_NEEDED=no + libreplace_cv_READDIR_NEEDED=no fi AC_MSG_CHECKING([a usable readdir()]) -if test x"$libreplace_READDIR_NEEDED" = x"yes"; then +if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then AC_MSG_RESULT(no) AC_MSG_WARN([the provided readdir() is broken]) else -- cgit From c4f106c4148965a6cb302d2d1dff730058fe5fc4 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 2 Oct 2006 05:52:42 +0000 Subject: r19023: lets see what the build-farm says about trying the getdirentries() based readdir() replacement first. metze (This used to be commit 268c8bc7ef63ca7fd7900bd0aec345b895512c68) --- source4/lib/replace/repdir.m4 | 44 +++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index 81025d618a..7bff47d615 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -7,28 +7,6 @@ AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[ [libreplace_cv_READDIR_NEEDED="assuming not"]) ]) -# -# try to replace with getdents() if needed -# -if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then -AC_CHECK_FUNCS(getdents) -AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[ - AC_TRY_RUN([ -#define _LIBREPLACE_REPLACE_H -#include "$libreplacedir/repdir_getdents.c" -#define test_readdir_os2_delete main -#include "$libreplacedir/test/os2_delete.c"], - [libreplace_cv_READDIR_GETDENTS=yes], - [libreplace_cv_READDIR_GETDENTS=no]) -]) -fi -if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then - AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) - AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) - LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" - libreplace_cv_READDIR_NEEDED=no -fi - # # try to replace with getdirentries() if needed # @@ -68,6 +46,28 @@ if test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then libreplace_cv_READDIR_NEEDED=no fi +# +# try to replace with getdents() if needed +# +if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then +AC_CHECK_FUNCS(getdents) +AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[ + AC_TRY_RUN([ +#define _LIBREPLACE_REPLACE_H +#include "$libreplacedir/repdir_getdents.c" +#define test_readdir_os2_delete main +#include "$libreplacedir/test/os2_delete.c"], + [libreplace_cv_READDIR_GETDENTS=yes], + [libreplace_cv_READDIR_GETDENTS=no]) +]) +fi +if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then + AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) + AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) + LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" + libreplace_cv_READDIR_NEEDED=no +fi + AC_MSG_CHECKING([a usable readdir()]) if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then AC_MSG_RESULT(no) -- cgit From 03cb0224d4dc93e530342e73001a30722cdf75d1 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 2 Oct 2006 09:26:05 +0000 Subject: r19032: let the getdents replacement fail and see what the build-farm says. metze (This used to be commit 4ed53dfafcbafbad8f2cde65e84dc0fe32fa62f8) --- source4/lib/replace/repdir.m4 | 1 + 1 file changed, 1 insertion(+) (limited to 'source4/lib/replace/repdir.m4') diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4 index 7bff47d615..f53a4c2974 100644 --- a/source4/lib/replace/repdir.m4 +++ b/source4/lib/replace/repdir.m4 @@ -54,6 +54,7 @@ AC_CHECK_FUNCS(getdents) AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[ AC_TRY_RUN([ #define _LIBREPLACE_REPLACE_H +#error _donot_use_getdents_replacement_anymore #include "$libreplacedir/repdir_getdents.c" #define test_readdir_os2_delete main #include "$libreplacedir/test/os2_delete.c"], -- cgit