1*4882a593SmuzhiyunFrom 9d14fad412a497fe83cfc6ab594ddc612512f02a Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Matt Weber <matthew.weber@rockwellcollins.com>
3*4882a593SmuzhiyunDate: Thu, 4 Jun 2020 20:34:11 -0500
4*4882a593SmuzhiyunSubject: [PATCH] autoconf variable cache option for getcwd test
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThe cached variable allows cross compiled builds to successfully set the
7*4882a593Smuzhiyundesired default for this value without invoking a test.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunFixes:
10*4882a593Smuzhiyunhttps://issues.apache.org/jira/browse/SANTUARIO-549
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSigned-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
13*4882a593Smuzhiyun---
14*4882a593Smuzhiyun configure.ac | 20 ++++++++++++--------
15*4882a593Smuzhiyun 1 file changed, 12 insertions(+), 8 deletions(-)
16*4882a593Smuzhiyun
17*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac
18*4882a593Smuzhiyunindex b43d7a5..c3d4489 100644
19*4882a593Smuzhiyun--- a/configure.ac
20*4882a593Smuzhiyun+++ b/configure.ac
21*4882a593Smuzhiyun@@ -74,14 +74,18 @@ AC_CHECK_FUNCS([strcasecmp])
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun # Check whether getcwd can dynamically allocate memory.
24*4882a593Smuzhiyun AC_MSG_CHECKING([whether getcwd(NULL, 0) works])
25*4882a593Smuzhiyun-AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdlib.h>
26*4882a593Smuzhiyun-     #include <unistd.h>],
27*4882a593Smuzhiyun-[char *cwd = getcwd(NULL, 0);
28*4882a593Smuzhiyun-return (cwd != NULL) ? EXIT_SUCCESS : EXIT_FAILURE;])],
29*4882a593Smuzhiyun-     [AC_MSG_RESULT(yes)
30*4882a593Smuzhiyun-      AC_DEFINE([XSEC_HAVE_GETCWD_DYN], [1],
31*4882a593Smuzhiyun-         [Define to 1 if getcwd(NULL, 0) works])],
32*4882a593Smuzhiyun-     [AC_MSG_RESULT(no)])
33*4882a593Smuzhiyun+AC_CACHE_VAL([xml_cv_func_getcwd_null],
34*4882a593Smuzhiyun+[AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
35*4882a593Smuzhiyun+     #include <unistd.h>
36*4882a593Smuzhiyun+     char *cwd = getcwd(NULL, 0);
37*4882a593Smuzhiyun+     return (cwd != NULL) ? EXIT_SUCCESS : EXIT_FAILURE;]])],
38*4882a593Smuzhiyun+  [xml_cv_func_getcwd_null=yes],
39*4882a593Smuzhiyun+  [xml_cv_func_getcwd_null=no])])
40*4882a593Smuzhiyun+AC_MSG_RESULT([$xml_cv_func_getcwd_null])
41*4882a593Smuzhiyun+if test $xml_cv_func_getcwd_null = yes; then
42*4882a593Smuzhiyun+AC_DEFINE([XSEC_HAVE_GETCWD_DYN], [1],
43*4882a593Smuzhiyun+  [Define to 1 if getcwd(NULL, 0) works])
44*4882a593Smuzhiyun+fi
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun AC_LANG(C++)
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun--
49*4882a593Smuzhiyun2.17.1
50*4882a593Smuzhiyun
51