[buddy] Probe for -fvisibility and -fvisibility-inlines-hidden.
* configure.ac: Check gcc and g++ for -fvisibility and -fvisibility-inlines-hidden. Add these options to CFLAGS and CXXFLAGS. * m4/ax_check_compile_flag.m4: New file. * src/Makefile.am: Build BuDDy as a single library, reverting part of the changes introduced in my previous patch to this file. Since the options are set in CFLAGS/CXXFLAGS, there is no possibility for -fvisibility-inlines-hidden to be passed to the C compiler.
This commit is contained in:
parent
e4abcfddfc
commit
cee552689a
3 changed files with 18 additions and 12 deletions
|
|
@ -20,6 +20,18 @@ AC_PROG_CXX
|
||||||
|
|
||||||
LT_INIT([win32-dll])
|
LT_INIT([win32-dll])
|
||||||
|
|
||||||
|
# Use -Werror since using -fvisibility under MinGW is only a warning.
|
||||||
|
# (The option is ignored anyway since this does not make sense under windows).
|
||||||
|
AX_CHECK_COMPILE_FLAG([-Werror -fvisibility=hidden],
|
||||||
|
[CFLAGS="$CFLAGS -fvisibility=hidden"])
|
||||||
|
AC_LANG(C++)
|
||||||
|
AX_CHECK_COMPILE_FLAG([-Werror -fvisibility=hidden],
|
||||||
|
[CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
|
||||||
|
AX_CHECK_COMPILE_FLAG([-fvisibility-inlines-hidden],
|
||||||
|
[CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"])])
|
||||||
|
AC_LANG(C)
|
||||||
|
|
||||||
|
|
||||||
adl_ENABLE_DEBUG
|
adl_ENABLE_DEBUG
|
||||||
ad_GCC_OPTIM
|
ad_GCC_OPTIM
|
||||||
adl_NDEBUG
|
adl_NDEBUG
|
||||||
|
|
@ -31,6 +43,7 @@ if test x$enable_warnings = xyes; then
|
||||||
CF_GCC_WARNINGS
|
CF_GCC_WARNINGS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
||||||
1
buddy/m4/ax_check_compile_flag.m4
Symbolic link
1
buddy/m4/ax_check_compile_flag.m4
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../../m4/ax_check_compile_flag.m4
|
||||||
|
|
@ -1,29 +1,21 @@
|
||||||
|
|
||||||
include_HEADERS = bdd.h fdd.h bvec.h
|
include_HEADERS = bdd.h fdd.h bvec.h
|
||||||
|
|
||||||
BUDDY_FLAGS = -I$(top_builddir) -DVERSION=23 \
|
BUDDY_FLAGS = -I$(top_builddir) -DVERSION=23 -DBUDDY_DLL_EXPORTS -DBUDDY_DLL
|
||||||
-fvisibility=hidden -DBUDDY_DLL_EXPORTS -DBUDDY_DLL
|
|
||||||
|
|
||||||
# Compile the C++ part of the library with
|
|
||||||
# -fvisibility-inlines-hidden, this option is not valid for C.
|
|
||||||
lib_LTLIBRARIES = libbdd.la
|
lib_LTLIBRARIES = libbdd.la
|
||||||
libbdd_la_CPPFLAGS = $(BUDDY_FLAGS) -fvisibility-inlines-hidden
|
|
||||||
libbdd_la_SOURCES = cppext.cxx
|
|
||||||
libbdd_la_LIBADD = libbdd_c.la
|
|
||||||
# See the `Updating version info' node of the Libtool manual before
|
# See the `Updating version info' node of the Libtool manual before
|
||||||
# changing this.
|
# changing this.
|
||||||
libbdd_la_LDFLAGS = -no-undefined -version-info 0:0:0
|
libbdd_la_LDFLAGS = -no-undefined -version-info 0:0:0
|
||||||
|
libbdd_la_CPPFLAGS = $(BUDDY_FLAGS)
|
||||||
# The C part of the library.
|
libbdd_la_SOURCES = \
|
||||||
noinst_LTLIBRARIES = libbdd_c.la
|
|
||||||
libbdd_c_la_CPPFLAGS = $(BUDDY_FLAGS)
|
|
||||||
libbdd_c_la_SOURCES = \
|
|
||||||
bddio.c \
|
bddio.c \
|
||||||
bddop.c \
|
bddop.c \
|
||||||
bddtree.h \
|
bddtree.h \
|
||||||
bvec.c \
|
bvec.c \
|
||||||
cache.c \
|
cache.c \
|
||||||
cache.h \
|
cache.h \
|
||||||
|
cppext.cxx \
|
||||||
fdd.c \
|
fdd.c \
|
||||||
imatrix.c \
|
imatrix.c \
|
||||||
imatrix.h \
|
imatrix.h \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue