summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2017-05-04 11:21:56 +0200
committerUlf Hermann <ulf.hermann@qt.io>2017-05-04 12:24:02 +0000
commit0d2c0bfbe284d715abc0885796436f1bf8e790db (patch)
treef21e4f885a77f5e88130401b0ed7f4a8641d0655 /configure.ac
parent04c4853ab9cedc5d14bf7f08936ee4e26878f395 (diff)
Check for existence of GNU-style basename()
If it doesn't exist, add an implementation to libgnu.a and config.h. Change-Id: Ice0356030dd666d61f8a582ad09a74c843b19add Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac16
1 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 0432bb19..bfdc53fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -440,6 +440,22 @@ AC_SUBST([zip_LIBS])
AC_CHECK_DECLS([powerof2],[],[],[#include <sys/param.h>])
+AC_CHECK_DECLS([basename],[],[],
+ [#define _GNU_SOURCE
+ #include <string.h>])
+AM_CONDITIONAL(HAVE_BASENAME, [test "x$ac_cv_have_decl_basename" = "xyes"])
+
+if test "x$ac_cv_have_decl_basename" != "xyes"; then
+ AC_DEFINE([USE_REPLACEMENT_BASENAME], [1], [Use hand-rolled basename() replacement.])
+fi
+AH_VERBATIM([USE_REPLACEMENT_BASENAME],
+ [/* Define basename() here if it is not available from a system header. */
+#undef USE_REPLACEMENT_BASENAME
+#ifdef USE_REPLACEMENT_BASENAME
+char *basename(const char *path);
+#endif
+])
+
AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
AM_CONDITIONAL(DEMANGLE, test "x$ac_cv_lib_stdcpp___cxa_demangle" = "xyes")