[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])
|
||||
|
||||
# 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([
|
||||
|
|
|
|||
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
|
||||
|
||||
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 \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue