diff --git a/CMakeLists.txt b/CMakeLists.txt
index 91a2ff3..2ffa4b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,6 +80,11 @@
     set(COMPILER_PACKED_ATTR "")
 endif()
 
+list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
+check_symbol_exists(get_current_dir_name unistd.h HAVE_GET_CURRENT_DIR_NAME)
+check_symbol_exists(vdprintf stdio.h HAVE_VDPRINTF)
+check_symbol_exists(strnstr string.h HAVE_STRNSTR)
+
 include_directories(${PROJECT_BINARY_DIR}/src ${PROJECT_SOURCE_DIR}/src)
 configure_file(${PROJECT_SOURCE_DIR}/src/config.h.in ${PROJECT_BINARY_DIR}/src/config.h @ONLY)
 
@@ -220,10 +225,6 @@
     src/log.h
     src/set.h)
 
-list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
-check_symbol_exists(vdprintf stdio.h HAVE_VDPRINTF)
-check_symbol_exists(strnstr string.h HAVE_STRNSTR)
-
 # create static libyang library
 if(ENABLE_STATIC)
     add_definitions(-DSTATIC)
diff --git a/src/common.c b/src/common.c
index 5e19200..bdb671d 100644
--- a/src/common.c
+++ b/src/common.c
@@ -143,22 +143,6 @@
     [LYS_DEV_REPLACE] = "replace",
 };
 
-#ifndef  __USE_GNU
-char *
-get_current_dir_name(void)
-{
-    char tmp[PATH_MAX];
-    char *retval;
-
-    if (getcwd(tmp, sizeof(tmp))) {
-        retval = strdup(tmp);
-        LY_CHECK_ERR_RET(!retval, LOGMEM(NULL), NULL);
-        return retval;
-    }
-    return NULL;
-}
-#endif
-
 void *
 ly_realloc(void *ptr, size_t size)
 {
diff --git a/src/common.h b/src/common.h
index df65edc..41b1444 100644
--- a/src/common.h
+++ b/src/common.h
@@ -18,7 +18,6 @@
 #define _DEFAULT_SOURCE
 #define _GNU_SOURCE
 
-#include <features.h>
 #include <pthread.h>
 #include <stdc-predef.h>
 #include <stddef.h>
@@ -56,17 +55,18 @@
  */
 #define API __attribute__((visibility("default")))
 
-#ifndef  __USE_GNU
-/*
- * If we don't have GNU extension, implement these function on your own
- */
-char *get_current_dir_name(void);
-#endif
 
 /******************************************************************************
  * Compatibility functions
  *****************************************************************************/
 
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+/**
+ * @brief Return a malloc'd string containing the current directory name.
+ */
+char *get_current_dir_name(void);
+#endif
+
 #ifndef HAVE_STRNSTR
 /**
  * @brief Find the first occurrence of find in s, where the search is limited to the
diff --git a/src/compat.c b/src/compat.c
index 7c4d660..c877ceb 100644
--- a/src/compat.c
+++ b/src/compat.c
@@ -15,9 +15,9 @@
 #include "common.h"
 
 #include <string.h>
+#include <unistd.h>
 
 #ifndef HAVE_STRNSTR
-
 char *
 strnstr(const char *s, const char *find, size_t slen)
 {
@@ -38,5 +38,20 @@
     }
     return ((char *)s);
 }
+#endif
 
+#ifndef  HAVE_GET_CURRENT_DIR_NAME
+char *
+get_current_dir_name(void)
+{
+    char tmp[PATH_MAX];
+    char *retval;
+
+    if (getcwd(tmp, sizeof(tmp))) {
+        retval = strdup(tmp);
+        LY_CHECK_ERR_RET(!retval, LOGMEM(NULL), NULL);
+        return retval;
+    }
+    return NULL;
+}
 #endif
diff --git a/src/config.h.in b/src/config.h.in
index 3f107d9..a625b8b 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -17,6 +17,8 @@
 
 #cmakedefine APPLE
 
+#cmakedefine HAVE_GET_CURRENT_DIR_NAME
+
 #cmakedefine HAVE_VDPRINTF
 
 #cmakedefine HAVE_STRNSTR
