source: git/m4/p-procs.m4 @ 08a955

spielwiese
Last change on this file since 08a955 was 9a78eb, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
FIX: repair dynamic modules (we didn't define HAVE_DYNAMIC_LOADING!)
  • Property mode set to 100644
File size: 2.8 KB
Line 
1# pprocs.m4
2# Copyright 2011 Bradford Hovinen <hovinen@gmail.com>
3#
4# Macro to check user-preferences and system-settings and enable or
5# disable static or dynamic modules for polynomial-operations
6
7AC_DEFUN([SING_SYSTEM_SUPPORTS_DYNAMIC_MODULES],
8[
9AC_CANONICAL_HOST
10AC_MSG_CHECKING(whether system supports dynamic modules)
11AS_CASE([$host],
12  [*linux*], [SUPPORTS_DYNAMIC_MODULES=yes],
13  [*freebsd*], [SUPPORTS_DYNAMIC_MODULES=yes],
14  [*-sun-solaris2*], [SUPPORTS_DYNAMIC_MODULES=yes],
15  [*-apple-darwin*], [SUPPORTS_DYNAMIC_MODULES=yes],
16  [SUPPORTS_DYNAMIC_MODULES=no]
17)
18AC_MSG_RESULT($SUPPORTS_DYNAMIC_MODULES)
19])
20
21AC_DEFUN([SING_CHECK_P_PROCS],
22[
23USEPPROCSDYNAMICLDFLAGS=""
24USEPPROCSDYNAMICLD=""   
25
26AC_ARG_ENABLE(p-procs-static,
27[  --enable-p-procs-static Enable statically compiled p_Procs-modules
28],
29[if test $enableval = yes; then
30     ENABLE_P_PROCS_STATIC="yes"
31     ENABLE_P_PROCS_DYNAMIC="no"
32 else
33     ENABLE_P_PROCS_STATIC="no"
34 fi
35],[NO_P_PROCS_STATIC_GIVEN=yes])
36
37AC_ARG_ENABLE(p-procs-dynamic,
38[  --enable-p-procs-dynamic Enable dynamically compiled p_Procs-modules
39],
40[if test $enableval = yes; then
41     ENABLE_P_PROCS_DYNAMIC="yes"
42     ENABLE_P_PROCS_STATIC="no"
43 else
44     ENABLE_P_PROCS_DYNAMIC="no"
45 fi
46],[NO_P_PROCS_DYNAMIC_GIVEN=yes])
47
48if test x$ENABLE_P_PROCS_DYNAMIC = xyes; then
49  SING_SYSTEM_SUPPORTS_DYNAMIC_MODULES
50  if test $SUPPORTS_DYNAMIC_MODULES = no; then
51    AC_MSG_ERROR([--enable-pprocs-dynamic requested but your system appears not to support dynamic modules properly])
52  fi
53
54  AC_CHECK_FUNC(dlopen,,[AC_CHECK_LIB(dl,dlopen,USEPPROCSDYNAMICLD="-ldl", [
55   AC_MSG_WARN(Could not use dlopen)
56  ]) ]) 
57 
58elif test x$NO_P_PROCS_DYNAMIC_GIVEN = xyes -a x$NO_P_PROCS_STATIC_GIVEN = xyes; then
59  SING_SYSTEM_SUPPORTS_DYNAMIC_MODULES
60  if test $SUPPORTS_DYNAMIC_MODULES = yes; then
61    AC_MSG_NOTICE([Enabling dynamic modules and disabling static modules])
62    ENABLE_P_PROCS_DYNAMIC="yes"
63    ENABLE_P_PROCS_STATIC="no"
64    USEPPROCSDYNAMICLDFLAGS="-rdynamic"
65    AC_CHECK_FUNC(dlopen,,[AC_CHECK_LIB(dl,dlopen,USEPPROCSDYNAMICLD="-ldl", [
66      AC_MSG_WARN(Could not use dlopen)
67    ]) ]) 
68  elif test $SUPPORTS_DYNAMIC_MODULES = no; then
69    AC_MSG_NOTICE([Enabling static modules and disabling dynamic modules])
70    ENABLE_P_PROCS_DYNAMIC="no"
71    ENABLE_P_PROCS_STATIC="yes"
72  else
73    AC_MSG_ERROR([Unknown whether system supports dynamic modules or not. This should not have happened.])
74  fi
75fi
76
77if test x$ENABLE_P_PROCS_DYNAMIC = xyes; then
78  AC_DEFINE(HAVE_DL,1,enable dynamic modules)
79  AC_DEFINE(HAVE_DYNAMIC_LOADING,1,enable dynamic modules)
80fi
81
82AC_SUBST(USEPPROCSDYNAMICLDFLAGS)
83AC_SUBST(USEPPROCSDYNAMICLD)
84
85AM_CONDITIONAL([ENABLE_P_PROCS_DYNAMIC],[test x$ENABLE_P_PROCS_DYNAMIC = xyes])
86AM_CONDITIONAL([ENABLE_P_PROCS_STATIC],[test x$ENABLE_P_PROCS_STATIC = xyes])
87
88])
Note: See TracBrowser for help on using the repository browser.