From e7806e96cc262ebaffd6a0f7523c3f50f12a9f61 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Tue, 22 Jan 2013 21:32:51 +0000 Subject: [PATCH] build: check for getcwd() and _getcwd() and configure time. --- configure.ac | 2 ++ src/sys/init.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index d5de0908..1ebda4f4 100644 --- a/configure.ac +++ b/configure.ac @@ -80,6 +80,8 @@ AC_CHECK_HEADERS(linux/kdev_t.h linux/major.h) AC_CHECK_HEADERS(security/pam_appl.h security/pam_misc.h) AC_CHECK_HEADERS(pam/pam_appl.h pam/pam_misc.h) +AC_CHECK_FUNCS(getcwd _getcwd) + if test "${enable_debug}" = "yes"; then AC_DEFINE(LOL_DEBUG, 1, Define to 1 to activate debug) OPT="-O" diff --git a/src/sys/init.cpp b/src/sys/init.cpp index 01740474..d2575771 100644 --- a/src/sys/init.cpp +++ b/src/sys/init.cpp @@ -38,14 +38,18 @@ namespace System void Init(int argc, char *argv[], String const projectdir, String const solutiondir) { + using namespace std; + /* * Retrieve binary directory, defaulting to current dir. */ -#if defined _WIN32 +#if defined HAVE_GETCWD + char *cwd = getcwd(NULL, 0); +#elif defined HAVE__GETCWD || (defined _WIN32 && !defined _XBOX) char *cwd = _getcwd(NULL, 0); #else - char *cwd = getcwd(NULL, 0); + char *cwd = NULL; #endif String binarydir = String(cwd ? cwd : ".") + SEPARATOR; free(cwd);