[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 5112db4: Don't check for Boost headers in con
From: |
Vadim Zeitlin |
Subject: |
[lmi-commits] [lmi] master 5112db4: Don't check for Boost headers in configure any longer |
Date: |
Wed, 6 Oct 2021 18:39:10 -0400 (EDT) |
branch: master
commit 5112db4dcfcfe9147f152282c46b30bc30df323e
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Vadim Zeitlin <vadim@tt-solutions.com>
Don't check for Boost headers in configure any longer
They are not used by lmi any more.
Also remove various workarounds for compiling Boost in C++20 mode with
all warnings enabled.
---
.github/workflows/ci.yml | 1 -
README.auto | 2 +-
configure.ac | 63 ++----------------------------------------------
3 files changed, 3 insertions(+), 63 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d438059..6961a60 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -227,7 +227,6 @@ jobs:
CPPFLAGS=-I/opt/lmi/local/include \
LDFLAGS=-L/opt/lmi/local/${LMI_COMPILER}_${LMI_TRIPLET}/lib \
PKG_CONFIG_PATH=/opt/lmi/local/${LMI_COMPILER}_${LMI_TRIPLET}/lib/pkgconfig \
- --with-boost-headers=/opt/lmi/third_party/src/boost \
|| err=$?
if [ -n "$err" ]; then
diff --git a/README.auto b/README.auto
index b78a53b..2183328 100644
--- a/README.auto
+++ b/README.auto
@@ -32,7 +32,7 @@ a) we can use standard "configure && make && make install"
invocation and
can be used
b) configure does run-time checks which allows to find 3rd party libraries
- (boost, wxWidgets, ...) and adapt to other systems/compilers more easily
+ (wxWidgets, xmlwrapp, ...) and adapt to other systems/compilers more easily
c) makefiles are much simpler and we get install, dist and check targets
for free
diff --git a/configure.ac b/configure.ac
index 9de79e3..731278b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,10 +54,6 @@ AM_CONDITIONAL(LMI_MSW, [test "$USE_WINDOWS" = 1])
dnl === Command line options ===
-AC_ARG_WITH(boost-headers,
- [AC_HELP_STRING([--with-boost-headers=dir], [Boost headers
directory])],
- lmi_boost_headers=$withval)
-
dnl add support for --wxdir, --wx-config, --wx-prefix, ----wx-exec-prefix
WX_CONFIG_OPTIONS
@@ -359,55 +355,6 @@ dnl Restore pre-wx CPPFLAGS value only now, we needed wx
flags for
dnl wxPdfDocument checks.
CPPFLAGS=$save_CPPFLAGS
-dnl Add clang-specific workaround before checking for Boost, as its headers use
-dnl std::allocator::size_type.
-dnl
-dnl This is necessary because libc++ used by clang 11 mistakenly removed
-dnl std::allocator::size_type, which is finally not removed by C++20. Luckily,
-dnl we still can predefine _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS to
-dnl get its declaration, but we don't want to do this unconditionally because
-dnl this also reintroduces other, really removed, members in later clang
-dnl versions, so only do it if we need it.
-if test "$CLANG" = "yes"; then
- m4_define([lmi_cxx_alloc_test], [[
-#include <memory>
-std::allocator<char*>::size_type s = 17;
- ]])
- AC_CACHE_CHECK([whether clang requires workaround for
std::allocator::size_type],
- lmi_cv_cxx_alloc_workaround_needed,
- [
- AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([lmi_cxx_alloc_test])],
- lmi_cv_cxx_alloc_workaround_needed=no,
- [CXXFLAGS="$CXXFLAGS
-D_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([lmi_cxx_alloc_test])],
- lmi_cv_cxx_alloc_workaround_needed=yes,
- AC_MSG_ERROR([std::allocator::size_type unavailable]))]
- )
- AC_LANG_POP([C++])
- ]
- )
-fi
-
-dnl --- Boost (required) ---
-if test "x$lmi_boost_headers" != "x"; then
- CPPFLAGS="$CPPFLAGS -I$lmi_boost_headers"
- errmsg="even in $lmi_boost_headers"
-else
- errmsg="use --with-boost-headers=dir
-if they are installed in non default location"
-fi
-
-dnl Disable the use of std::auto_ptr<> and std::allocator::const_reference,
-dnl that don't exist in C++ 20 and that we don't need anyhow, in Boost code.
-CPPFLAGS="$CPPFLAGS -DBOOST_NO_AUTO_PTR -DBOOST_NO_STD_ALLOCATOR"
-
-AC_CHECK_HEADER([boost/type_traits.hpp],
- [],
- [AC_MSG_FAILURE([Boost headers not found, $errmsg])],
- [AC_INCLUDES_DEFAULT()]
-)
-
dnl check for the other required libraries: under Unix we use pkg-config which
dnl is easily available for (and often already installed under) any Linux
dnl system but when using Cygwin we do the checks manually as installing
@@ -600,15 +547,9 @@ if test "x$GXX" == "xyes"; then
LMI_CXX_ADD_IF_SUPPORTED(-Wno-deprecated-volatile)
fi
- dnl Many instances of these warnings are given in Boost 1.33.1 headers, so
- dnl we unfortunately have to disable them even if they're potentially
- dnl useful, especially the latter one.
- LMI_CXX_ADD_IF_SUPPORTED(-Wno-unused-local-typedefs)
+ dnl This warning is now only given for 2 variables in ledger_evaluator.cpp
+ dnl and should be fixed there and reenabled.
LMI_CXX_ADD_IF_SUPPORTED(-Wno-unused-variable)
-
- dnl This makes Boost compile with -Wundef; see workhorse.make for
- dnl more detailed explanation.
- CXXFLAGS="$CXXFLAGS -DBOOST_STRICT_CONFIG"
fi
dnl === Generate output files ===
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [lmi] master 5112db4: Don't check for Boost headers in configure any longer,
Vadim Zeitlin <=