autotools: more cross platform dlfuncs/shm_open checks

This commit is contained in:
Daniel Kolesa 2015-08-05 12:40:12 +01:00
parent 1ff8ab7d8e
commit 0d44b94248
1 changed files with 37 additions and 4 deletions

View File

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