Commit cee55268 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

[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.
parent e4abcfdd
......@@ -20,6 +20,18 @@ AC_PROG_CXX
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
ad_GCC_OPTIM
adl_NDEBUG
......@@ -31,6 +43,7 @@ if test x$enable_warnings = xyes; then
CF_GCC_WARNINGS
fi
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
......
../../m4/ax_check_compile_flag.m4
\ No newline at end of file
include_HEADERS = bdd.h fdd.h bvec.h
BUDDY_FLAGS = -I$(top_builddir) -DVERSION=23 \
-fvisibility=hidden -DBUDDY_DLL_EXPORTS -DBUDDY_DLL
BUDDY_FLAGS = -I$(top_builddir) -DVERSION=23 -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
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
# changing this.
libbdd_la_LDFLAGS = -no-undefined -version-info 0:0:0
# The C part of the library.
noinst_LTLIBRARIES = libbdd_c.la
libbdd_c_la_CPPFLAGS = $(BUDDY_FLAGS)
libbdd_c_la_SOURCES = \
libbdd_la_CPPFLAGS = $(BUDDY_FLAGS)
libbdd_la_SOURCES = \
bddio.c \
bddop.c \
bddtree.h \
bvec.c \
cache.c \
cache.h \
cppext.cxx \
fdd.c \
imatrix.c \
imatrix.h \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment