From dda48146a2781fe685eeb9dc5194d142ee5ca0ef Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 19 Nov 2012 23:25:45 +1100 Subject: heimdal_build: Try again to sort out the strerror_r mess Reviewed-by: Stefan Metzmacher --- source4/heimdal_build/roken.h | 8 -------- source4/heimdal_build/wscript_build | 1 + source4/heimdal_build/wscript_configure | 7 +++++++ 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'source4/heimdal_build') diff --git a/source4/heimdal_build/roken.h b/source4/heimdal_build/roken.h index b762545535..9752c04a74 100644 --- a/source4/heimdal_build/roken.h +++ b/source4/heimdal_build/roken.h @@ -123,14 +123,6 @@ #define HAVE_SETEUID #endif -/* force the use of the libreplace strerror_r */ -#ifndef HAVE_STRERROR_R -#define HAVE_STRERROR_R -#endif -#ifndef STRERROR_R_PROTO_COMPATIBLE -#define STRERROR_R_PROTO_COMPATIBLE -#endif - #ifndef HAVE_DIRFD #ifdef HAVE_DIR_DD_FD #define dirfd(x) ((x)->dd_fd) diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build index f4837ace1b..f4471159eb 100644 --- a/source4/heimdal_build/wscript_build +++ b/source4/heimdal_build/wscript_build @@ -408,6 +408,7 @@ if not bld.CONFIG_SET('USING_SYSTEM_ROKEN'): lib/roken/resolve.c lib/roken/socket.c lib/roken/roken_gethostby.c + lib/roken/strerror_r.c ''' HEIMDAL_LIBRARY('roken', diff --git a/source4/heimdal_build/wscript_configure b/source4/heimdal_build/wscript_configure index 168be6d0e4..2bb465a1fd 100755 --- a/source4/heimdal_build/wscript_configure +++ b/source4/heimdal_build/wscript_configure @@ -28,6 +28,13 @@ conf.CHECK_FUNCS('''atexit cgetent getprogname setprogname gethostname strptime strsep strsep_copy strtok_r strupr swab umask uname unsetenv closefrom err warn errx warnx flock writev''') +if conf.CHECK_FUNCS('strerror_r'): + # Check if strerror_r is BSD compatible (default GNU implementation is not what Heimdal expects) + conf.CHECK_CODE('int strerror_r(int errnum, char *buf, size_t buflen);', + 'STRERROR_R_PROTO_COMPATIBLE', + headers='string.h', addmain=False, link=False, + msg="Checking for XSI (rather than GNU) prototype for strerror_r") + conf.CHECK_FUNCS_IN('hstrerror', 'resolv socket nsl', checklibc=True) conf.CHECK_FUNCS_IN('''getnameinfo sendmsg socket getipnodebyname gethostent gethostent_r sethostent endhostent getipnodebyaddr freehostent gethostbyname -- cgit