Skip to content

Commit d5a7155

Browse files
theStackhebasto
authored andcommitted
build: remove boost::process dependency for building external signer support
1 parent 70434b1 commit d5a7155

File tree

1 file changed

+10
-52
lines changed

1 file changed

+10
-52
lines changed

configure.ac

Lines changed: 10 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -307,9 +307,9 @@ AC_ARG_ENABLE([werror],
307307
[enable_werror=no])
308308

309309
AC_ARG_ENABLE([external-signer],
310-
[AS_HELP_STRING([--enable-external-signer],[compile external signer support (default is auto, requires Boost::Process)])],
310+
[AS_HELP_STRING([--enable-external-signer],[compile external signer support (default is yes)])],
311311
[use_external_signer=$enableval],
312-
[use_external_signer=auto])
312+
[use_external_signer=yes])
313313

314314
AC_LANG_PUSH([C++])
315315

@@ -1439,56 +1439,14 @@ if test "$use_boost" = "yes"; then
14391439
fi
14401440
fi
14411441

1442-
if test "$use_external_signer" != "no"; then
1443-
AC_MSG_CHECKING([whether Boost.Process can be used])
1444-
TEMP_CXXFLAGS="$CXXFLAGS"
1445-
dnl Boost 1.78 requires the following workaround.
1446-
dnl See: https://github.com/boostorg/process/issues/235
1447-
CXXFLAGS="$CXXFLAGS -Wno-error=narrowing"
1448-
TEMP_CPPFLAGS="$CPPFLAGS"
1449-
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
1450-
TEMP_LDFLAGS="$LDFLAGS"
1451-
dnl Boost 1.73 and older require the following workaround.
1452-
LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS"
1453-
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1454-
#define BOOST_PROCESS_USE_STD_FS
1455-
#include <boost/process.hpp>
1456-
]],[[
1457-
namespace bp = boost::process;
1458-
bp::opstream stdin_stream;
1459-
bp::ipstream stdout_stream;
1460-
bp::child c("dummy", bp::std_out > stdout_stream, bp::std_err > stdout_stream, bp::std_in < stdin_stream);
1461-
stdin_stream << std::string{"test"} << std::endl;
1462-
if (c.running()) c.terminate();
1463-
c.wait();
1464-
c.exit_code();
1465-
]])],
1466-
[have_boost_process="yes"],
1467-
[have_boost_process="no"])
1468-
LDFLAGS="$TEMP_LDFLAGS"
1469-
CPPFLAGS="$TEMP_CPPFLAGS"
1470-
CXXFLAGS="$TEMP_CXXFLAGS"
1471-
AC_MSG_RESULT([$have_boost_process])
1472-
if test "$have_boost_process" = "yes"; then
1473-
case $host in
1474-
dnl Boost Process for Windows uses Boost ASIO. Boost ASIO performs
1475-
dnl pre-main init of Windows networking libraries, which we do not
1476-
dnl want.
1477-
*mingw*)
1478-
use_external_signer="no"
1479-
;;
1480-
*)
1481-
use_external_signer="yes"
1482-
AC_DEFINE([ENABLE_EXTERNAL_SIGNER], [1], [Define if external signer support is enabled])
1483-
AC_DEFINE([BOOST_PROCESS_USE_STD_FS], [1], [Defined to avoid Boost::Process trying to use Boost Filesystem])
1484-
;;
1485-
esac
1486-
else
1487-
if test "$use_external_signer" = "yes"; then
1488-
AC_MSG_ERROR([External signing is not supported for this Boost version])
1489-
fi
1490-
use_external_signer="no";
1491-
fi
1442+
case $host in
1443+
dnl Re-enable it after enabling Windows support in cpp-subprocess.
1444+
*mingw*)
1445+
use_external_signer="no"
1446+
;;
1447+
esac
1448+
if test "$use_external_signer" = "yes"; then
1449+
AC_DEFINE([ENABLE_EXTERNAL_SIGNER], [1], [Define if external signer support is enabled])
14921450
fi
14931451
AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "$use_external_signer" = "yes"])
14941452

0 commit comments

Comments
 (0)