@@ -307,9 +307,9 @@ AC_ARG_ENABLE([werror],
307307 [ enable_werror=no] )
308308
309309AC_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
314314AC_LANG_PUSH ( [ C++] )
315315
@@ -1439,56 +1439,14 @@ if test "$use_boost" = "yes"; then
14391439 fi
14401440fi
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] )
14921450fi
14931451AM_CONDITIONAL([ ENABLE_EXTERNAL_SIGNER] , [ test "$use_external_signer" = "yes"] )
14941452
0 commit comments