Test on macOS 12.2.1 against the master branch. #24397 doesn't fix it.

```
brew info boost
boost: stable 1.78.0 (bottled), HEAD
...
./configure --enable-external-signer
...
checking for boostlib >= 1.64.0 (106400)... yes
checking whether Boost.Process can be used... no
configure: error: External signing is not supported for this Boost version
```

It does work with boost 1.76 (there was no 1.77 release in home-brew):

```
brew install boost@1.76
...
LDFLAGS="-L/usr/local/opt/boost@1.76/lib" CPPFLAGS="-I/usr/local/opt/boost@1.76/include" ./configure --enable-external-signer
...
checking for boostlib >= 1.64.0 (106400)... yes
checking whether Boost.Process can be used... yes
...
Options used to compile and link:
  external signer = yes
```

There's nothing in the release notes about Boost.Process for either [1.77](https://www.boost.org/users/history/version_1_77_0.html) or [1.78](https://www.boost.org/users/history/version_1_78_0.html).

The Homebrew [formula changes](https://github.com/Homebrew/homebrew-core/commits/master/Formula/boost.rb) are nothing but a trivial version and hash bump.
{
    const fs::path datadir{gArgs.GetPathArg("-datadir")};
    return datadir.empty() || fs::is_directory(fs::absolute(datadir));
}
fs::path GetConfigFile(const std::string& confPath)
{
    return AbsPathForConfigVal(fs::PathFromString(confPath), false);
}
static bool GetConfigOptions(std::istream& stream, const std::string& filepath, std::string& error, std::vector<std::pair<std::string, std::string>>& options, std::list<SectionInfo>& sections)
{
    std::string str, prefix;
    std::string::size_type pos;
    int linenr = 1;
    while (std::getline(stream, str)) {
        bool used_hash = false;
        if ((pos = str.find('#')) != std::string::npos) {
            str = str.substr(0, pos);
            used_hash = true;
        }
        const static std::string pattern = " \t\r\n";
        str = TrimString(str, pattern);
        if (!str.empty()) {
            if (*str.begin() == '[' && *str.rbegin() == ']') {