autotools: more cross platform dlfuncs/shm_open checks
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 5 Aug 2015 11:40:12 +0000 (12:40 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 5 Aug 2015 11:40:28 +0000 (12:40 +0100)
m4/efl_check_funcs.m4

index 8d8b388..e538db7 100644 (file)
@@ -60,13 +60,21 @@ dnl _EFL_CHECK_FUNC_DLADDR is for internal use
 dnl _EFL_CHECK_FUNC_DLADDR(EFL, VARIABLE)
 AC_DEFUN([_EFL_CHECK_FUNC_DLADDR],
 [
+dllibs=""
+case "$host_os" in
+   linux*)
+      dllibs="-ldl"
+   ;;
+   *)
+   ;;
+esac
 case "$host_os" in
    mingw*)
       $2="yes"
       EFL_ADD_LIBS([$1], [lib/evil/libdl.la])
    ;;
    *)
-      EFL_FIND_LIB_FOR_CODE([$1], [-ldl], [$2], [[
+      EFL_FIND_LIB_FOR_CODE([$1], [$dllibs], [$2], [[
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
 #endif
@@ -81,13 +89,21 @@ dnl _EFL_CHECK_FUNC_DLOPEN is for internal use
 dnl _EFL_CHECK_FUNC_DLOPEN(EFL, VARIABLE)
 AC_DEFUN([_EFL_CHECK_FUNC_DLOPEN],
 [
+dllibs=""
+case "$host_os" in
+   linux*)
+      dllibs="-ldl"
+   ;;
+   *)
+   ;;
+esac
 case "$host_os" in
    mingw*)
       $2="yes"
       EFL_ADD_LIBS([$1], [lib/evil/libdl.la])
    ;;
    *)
-      EFL_FIND_LIB_FOR_CODE([$1], [-ldl], [$2], [[
+      EFL_FIND_LIB_FOR_CODE([$1], [$dllibs], [$2], [[
 #include <dlfcn.h>
 ]], [[void *h = dlopen(0, 0);]])
    ;;
@@ -98,13 +114,21 @@ dnl _EFL_CHECK_FUNC_DLSYM is for internal use
 dnl _EFL_CHECK_FUNC_DLSYM(EFL, VARIABLE)
 AC_DEFUN([_EFL_CHECK_FUNC_DLSYM],
 [
+dllibs=""
+case "$host_os" in
+   linux*)
+      dllibs="-ldl"
+   ;;
+   *)
+   ;;
+esac
 case "$host_os" in
    mingw*)
       $2="yes"
       EFL_ADD_LIBS([$1], [lib/evil/libdl.la])
    ;;
    *)
-      EFL_FIND_LIB_FOR_CODE([$1], [-ldl], [$2], [[
+      EFL_FIND_LIB_FOR_CODE([$1], [$dllibs], [$2], [[
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
 #endif
@@ -215,7 +239,16 @@ fi
 dnl _EFL_CHECK_FUNC_SHM_OPEN is for internal use
 dnl _EFL_CHECK_FUNC_SHM_OPEN(EFL, VARIABLE)
 AC_DEFUN([_EFL_CHECK_FUNC_SHM_OPEN],
-[EFL_FIND_LIB_FOR_CODE([$1], [-lrt], [$2], [[
+[
+shmlibs=""
+case "$host_os" in
+   linux*)
+      shmlibs="-lrt"
+   ;;
+   *)
+   ;;
+esac
+EFL_FIND_LIB_FOR_CODE([$1], [$shmlibs], [$2], [[
 #include <sys/mman.h>
 #include <sys/stat.h>        /* For mode constants */
 #include <fcntl.h>           /* For O_* constants */