Skip to content

Commit

Permalink
5.4.0.0, 2022-08-01, mandatory, "Kermit's Mom"
Browse files Browse the repository at this point in the history
Added
 - test: Add TrimString(...) tests gridcoin-community#2447 (@barton2526)
 - test: Add dead code detection gridcoin-community#2449 (@barton2526)
 - test: Add explicit references to related CVE's in comments gridcoin-community#2467 (@barton2526)
 - test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s gridcoin-community#2470 (@barton2526)
 - consensus, contract, mining, researcher, rpc, staking, gui: Implementation of MRC - baseline functionality gridcoin-community#2425 (@jamescowens)
 - consensus: MRC mandatory implementation code gridcoin-community#2471 (@jamescowens)
 - test: Add upstream sync_tests.cpp gridcoin-community#2481 (@barton2526)
 - net: Countermeasures against eclipse attacks gridcoin-community#2454 (@Pythonix)
 - lint: add script to check for https violations gridcoin-community#2491 (@div72)
 - util: Add flatpath BOINC data directory path resolution for Linux gridcoin-community#2499 (@jamescowens)
 - gui: Add beaconExpired() to researchermodel gridcoin-community#2498 (@jamescowens)
 - consensus: Add missing block nVersion check for v12 blocks in AcceptBlock gridcoin-community#2502 (@jamescowens)
 - gui, util: Add AccrualChangedFromStakeOrMRC core signal gridcoin-community#2503 (@jamescowens)
 - util: Change default -dbcache to 100 MB and also implement -txindexdbcache gridcoin-community#2507 (@jamescowens)
 - rpc, util, consensus: Implement exception handling framework for MRC and fix ValidateMRC to deal with testnet consensus issue gridcoin-community#2508 (@jamescowens)
 - gui: Initial implementation of GUI MRC submission form gridcoin-community#2513 (@jamescowens)
 - build: Port over Bitcoin's translation docs gridcoin-community#2439 (@jamescowens)
 - (2/3) build: integrate libsecp256k1 gridcoin-community#2492 (@div72)
 - gui: New MRC request icon gridcoin-community#2526 (@jamescowens)
 - mandatory, voting: Implement poll type validation in protocol gridcoin-community#2522 (@jamescowens)
 - gui, voting: Implement poll additional fields gui components gridcoin-community#2525 (@jamescowens)
 - gui, researcher: Add GDPR protection display gridcoin-community#2527 (@jamescowens)
 - consensus, rpc: Kermit's mom hardfork (2671700) gridcoin-community#2551 (@jamescowens)

Changed
 - net: Hard Coded Seed Node Cleanup gridcoin-community#2427 (@barton2526)
 - script: Add More Generated Files to Gitignore gridcoin-community#2435 (@RoboticMind)
 - gui: Update copyright year to 2022 for Gridcoin About dialog box gridcoin-community#2443 (@jamescowens)
 - rpc: Change type field in ListTransactions to lower case gridcoin-community#2441 (@jamescowens)
 - refactor: Replace memset calls with array initialization gridcoin-community#2452 (@barton2526)
 - refactor: Changed some parameters from pass by value to pass by reference gridcoin-community#2455 (@Pythonix)
 - ci, cd: improve caching gridcoin-community#2461 (@div72)
 - contrib: port recent macdeployqtplus changes gridcoin-community#2465 (@div72)
 - test: Test for expected return values when calling functions returning a success code gridcoin-community#2464 (@barton2526)
 - build: Improve error message when pkg-config is not installed gridcoin-community#2460 (@barton2526)
 - test: Bump shellcheck, mypy versions gridcoin-community#2463 (@barton2526)
 - build: Update depends packages (expat, fontconfig, freetype, libXau, libxcb, xcb_proto, xproto) gridcoin-community#2466 (@barton2526)
 - lint: run mypy over contrib/devtools gridcoin-community#2475 (@barton2526)
 - build, lint: Remove x-prefix's from comparisons, Fix some shell script issues the linter complains about, Re-enable boost include checks gridcoin-community#2478 (@barton2526)
 - test: Avoid copies of CTransaction gridcoin-community#2479 (@barton2526)
 - ci: change windows CI to Focal, modify wrap_wine to use wine64 for 64bit binaries gridcoin-community#2484 (@barton2526)
 - build: Qt 5.15.2 gridcoin-community#2486 (@barton2526)
 - net: No longer send local address in addrMe gridcoin-community#2459 (@Pythonix)
 - voting, gui, rpc: Enhance PollResult and AVW calculation to improve pool handling gridcoin-community#2489 (@jamescowens)
 - (1/3) refactor: port some misc changes from upstream gridcoin-community#2485 (@div72)
 - build: Try posix-specific CXX first for mingw32 host, Fix Windows cross-compiling with Qt 5.15 gridcoin-community#2494 (@barton2526)
 - Improve upon scanforunspent rpc gridcoin-community#2468 (@iFoggz)
 - rpc: Change tail_fee and head_fee to display in GRC rather than Halfords in createmrcrequest gridcoin-community#2501 (@jamescowens)
 - scripted-diff: change http to https in copyright text gridcoin-community#2504 (@div72)
 - qt, refactor: Use enum type as switch argument in *TableModel gridcoin-community#2496 (@barton2526)
 - build, qt: bump Qt5 version to 5.15.3 gridcoin-community#2510 (@barton2526)
 - utils: run commands using utf-8 string on Windows gridcoin-community#2514 (@barton2526)
 - prevector: enforce is_trivially_copyable_v gridcoin-community#2516 (@div72)
 - crypto: Unroll the ChaCha20 inner loop for performance gridcoin-community#2515 (@div72)
 - gui: Modify VerifyTCPPort to use the status of CheckOutboundConnectionCount gridcoin-community#2506 (@jamescowens)
 - gui: Fix transaction history table column size behavior gridcoin-community#2520 (@jamescowens)
 - log: Use consistent wording in random.cpp log gridcoin-community#2538 (@div72)
 - lint: Use newer versions of our lint packages, remove yq gridcoin-community#2541 (@barton2526)
 - (1/2) validation: move CBlock validation methods to validation.cpp gridcoin-community#2539 (@div72)
 - gui: Implement proportional column resizing for Addressbook with memory gridcoin-community#2543 (@jamescowens)
 - build: remove redundant warning flags gridcoin-community#2546 (@barton2526)
 - qt: Prefix makefile variables with QT_ gridcoin-community#2547 (@barton2526)
 - build: remove build stubs for external leveldb gridcoin-community#2550 (@barton2526)
 - build, refactor: Improve package version usage gridcoin-community#2549 (@barton2526)
 - build: minor boost tidyups gridcoin-community#2548 (@barton2526)

Removed
 - rpc, util: Remove caching from BlockFinder gridcoin-community#2490 (@jamescowens)
 - test: remove obsolete check sig test gridcoin-community#2552 (@div72)

Fixed
 - build: fix unoptimized libraries in depends gridcoin-community#2428 (@barton2526)
 - build: don't use deprecated brew package names gridcoin-community#2429 (@barton2526)
 - qt: fix shutdown on MacOS gridcoin-community#2440 (@div72)
 - net: Do not add random inbound peers to addrman gridcoin-community#2451 (@barton2526)
 - util: skip trying to set the locale on NetBSD gridcoin-community#2448 (@barton2526)
 - build: change bundle id gridcoin-community#2462 (@div72)
 - net: Do not propagate obviously poor addresses onto the network gridcoin-community#2453 (@Pythonix)
 - ci: Fix CI build title to reflect that we are building for bionic, not xenial gridcoin-community#2469 (@barton2526)
 - lint: Fix misc typos gridcoin-community#2472 (@barton2526)
 - util: Fix crash when parsing command line with -noincludeconf=0, Properly handle -noincludeconf on command line gridcoin-community#2473 (@barton2526)
 - build: Fix several minor linter errors gridcoin-community#2476 (@jamescowens)
 - tests: Don't access out of bounds array index: array[sizeof(array)] gridcoin-community#2480 (@barton2526)
 - script: Fix and Minify Icon SVG gridcoin-community#2488 (@RoboticMind)
 - gui: Add missing null pointer check for m_beacon gridcoin-community#2500 (@jamescowens)
 - util: Fix BN_zero macro in key.cpp for OpenSSL 3.0 gridcoin-community#2497 (@jamescowens)
 - rpc, contract: Adjust ValidateMRC, CreateMRC, and createmrcrequest to correct provided fee handling gridcoin-community#2505 (@jamescowens)
 - consensus: Move DoS into contract validators to allow variability of DoS based on context and further fixes to ValidateMRC gridcoin-community#2512 (@jamescowens)
 - lockedpool: When possible, use madvise to avoid including sensitive information in core dumps gridcoin-community#2509 (@barton2526)
 - refactor: Fix some minor linter complaints gridcoin-community#2517 (@jamescowens)
 - miner: Miner Logger bug fix gridcoin-community#2518 (@iFoggz)
 - key: properly parse short DER private keys gridcoin-community#2519 (@div72)
 - researcher: Fix ReadClientStateXml() crash on wrong BOINC directory permissions gridcoin-community#2524 (@jamescowens)
 - init: fix daemon forking gridcoin-community#2521 (@div72)
 - scraper: Change open mode from append to truncate for auth file gridcoin-community#2528 (@jamescowens)
 - gui: New mrc contract icon try #2 gridcoin-community#2529 (@jamescowens)
 - gui: Remove white outlines on MRC icon gridcoin-community#2530 (@a123b)
 - voting: Change m_additional_fields serialization gridcoin-community#2531 (@jamescowens)
 - build, qt: Fix `QMAKE_CXXFLAGS` expression for `mingw32` host gridcoin-community#2537 (@div72)
 - logging: fix logging empty thread name gridcoin-community#2535 (@div72)
 - trivial: fix comment in account header guard gridcoin-community#2542 (@div72)
 - build: Restrict check for CRC32C intrinsic to aarch64 gridcoin-community#2544 (@barton2526)
 - build: force CRCCheck in Windows installer gridcoin-community#2545 (@barton2526)
  • Loading branch information
jamescowens committed Jul 31, 2022
2 parents ef1e69f + 37887ed commit c4ff381
Show file tree
Hide file tree
Showing 456 changed files with 70,576 additions and 5,667 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,17 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
- name: current time for cache
run: echo "TIMESTAMP=$(date +%s)" >> $GITHUB_ENV
- name: cache
uses: actions/cache@v2
with:
path: |
./depends/built
./ci/scratch/.ccache
key: ${{ runner.os }}-${{ matrix.script-id }}
key: ${{ runner.os }}-${{ matrix.script-id }}-${{ env.TIMESTAMP }}
restore-keys: |
${{ runner.os }}-${{ matrix.script-id }}-
- name: build
run: |
./cd/run_all.sh
Expand Down
20 changes: 13 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
script-id: linux_i386
- name: x86_64 Linux [GOAL install] [GUI] [focal] [no depends]
script-id: native
- name: x86_64 Linux [GOAL install] [GUI] [xenial] [no depends]
- name: x86_64 Linux [GOAL install] [GUI] [bionic] [no depends]
script-id: native_old
- name: macOS 10.14 [GOAL deploy] [GUI] [no tests] [focal]
script-id: mac
Expand All @@ -31,19 +31,23 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
- name: current time for cache
run: echo "TIMESTAMP=$(date +%s)" >> $GITHUB_ENV
- name: cache
uses: actions/cache@v2
with:
path: |
./depends/built
./ci/scratch/.ccache
key: ${{ runner.os }}-${{ matrix.script-id }}
key: ${{ runner.os }}-${{ matrix.script-id }}-${{ env.TIMESTAMP }}
restore-keys: |
${{ runner.os }}-${{ matrix.script-id }}-
- name: test
run: |
./ci/test_run_all.sh
test-macos:
name: macOS 10.15 native [GOAL install] [GUI] [no depends]
runs-on: macos-10.15
name: macOS 11 native [GOAL install] [GUI] [no depends]
runs-on: macos-11
env:
DANGER_RUN_CI_ON_HOST: true
CI_USE_APT_INSTALL: no
Expand All @@ -52,12 +56,16 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
- name: current time for cache
run: echo "TIMESTAMP=$(date +%s)" >> $GITHUB_ENV
- name: cache
uses: actions/cache@v2
with:
path: |
./ci/scratch/.ccache
key: ${{ runner.os }}
key: ${{ runner.os }}-${{ env.TIMESTAMP }}
restore-keys: |
${{ runner.os }}-
- name: install-packages
# We run the contrib/install_db4.sh script rather than installing the
# Homebrew berkeley-db4 formula to add the Berkeley DB 4.8 dependency
Expand All @@ -77,7 +85,6 @@ jobs:
lint:
name: Lint
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: checkout
uses: actions/checkout@v2
Expand All @@ -86,7 +93,6 @@ jobs:
with:
python-version: 3.6
- name: lint
continue-on-error: true
run: |
set -o errexit; source ./ci/lint/04_install.sh
set -o errexit; source ./ci/lint/05_before_script.sh
Expand Down
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
src/*.exe
src/gridccoinstake
src/gridcoinresearchd

#unit test generated files
src/banlist.dat
src/test/test_gridcoin
src/qt/test/test_gridcoin-qt.log
src/qt/test/test_gridcoin-qt.trs
src/test-suite.log
src/test/test_gridcoin.log
src/test/test_gridcoin.trs

src/build.h
src/obj
src/qt/forms/*.h
src/qt/forms/voting/*.h
src/qt/moc_*.cpp
src/qt/researcher/moc_*.cpp
src/qt/voting/moc_*.cpp
src/qt/moc.*
src/qt/*.moc
src/qt/voting/*.moc
src/qt/test/moc*.cpp
src/qt/test/test_gridcoin-qt

Expand Down
109 changes: 108 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,113 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/)
and this project adheres to [Semantic Versioning](https://semver.org/).

## [5.4.0.0] 2022-08-01, mandatory, "Kermit's Mom"

### Added
- test: Add TrimString(...) tests #2447 (@barton2526)
- test: Add dead code detection #2449 (@barton2526)
- test: Add explicit references to related CVE's in comments #2467 (@barton2526)
- test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s #2470 (@barton2526)
- consensus, contract, mining, researcher, rpc, staking, gui: Implementation of MRC - baseline functionality #2425 (@jamescowens)
- consensus: MRC mandatory implementation code #2471 (@jamescowens)
- test: Add upstream sync_tests.cpp #2481 (@barton2526)
- net: Countermeasures against eclipse attacks #2454 (@Pythonix)
- lint: add script to check for https violations #2491 (@div72)
- util: Add flatpath BOINC data directory path resolution for Linux #2499 (@jamescowens)
- gui: Add beaconExpired() to researchermodel #2498 (@jamescowens)
- consensus: Add missing block nVersion check for v12 blocks in AcceptBlock #2502 (@jamescowens)
- gui, util: Add AccrualChangedFromStakeOrMRC core signal #2503 (@jamescowens)
- util: Change default -dbcache to 100 MB and also implement -txindexdbcache #2507 (@jamescowens)
- rpc, util, consensus: Implement exception handling framework for MRC and fix ValidateMRC to deal with testnet consensus issue #2508 (@jamescowens)
- gui: Initial implementation of GUI MRC submission form #2513 (@jamescowens)
- build: Port over Bitcoin's translation docs #2439 (@jamescowens)
- [2/3] build: integrate libsecp256k1 #2492 (@div72)
- gui: New MRC request icon #2526 (@jamescowens)
- mandatory, voting: Implement poll type validation in protocol #2522 (@jamescowens)
- gui, voting: Implement poll additional fields gui components #2525 (@jamescowens)
- gui, researcher: Add GDPR protection display #2527 (@jamescowens)
- consensus, rpc: Kermit's mom hardfork (2671700) #2551 (@jamescowens)

### Changed
- net: Hard Coded Seed Node Cleanup #2427 (@barton2526)
- script: Add More Generated Files to Gitignore #2435 (@RoboticMind)
- gui: Update copyright year to 2022 for Gridcoin About dialog box #2443 (@jamescowens)
- rpc: Change type field in ListTransactions to lower case #2441 (@jamescowens)
- refactor: Replace memset calls with array initialization #2452 (@barton2526)
- refactor: Changed some parameters from pass by value to pass by reference #2455 (@Pythonix)
- ci, cd: improve caching #2461 (@div72)
- contrib: port recent macdeployqtplus changes #2465 (@div72)
- test: Test for expected return values when calling functions returning a success code #2464 (@barton2526)
- build: Improve error message when pkg-config is not installed #2460 (@barton2526)
- test: Bump shellcheck, mypy versions #2463 (@barton2526)
- build: Update depends packages (expat, fontconfig, freetype, libXau, libxcb, xcb_proto, xproto) #2466 (@barton2526)
- lint: run mypy over contrib/devtools #2475 (@barton2526)
- build, lint: Remove x-prefix's from comparisons, Fix some shell script issues the linter complains about, Re-enable boost include checks #2478 (@barton2526)
- test: Avoid copies of CTransaction #2479 (@barton2526)
- ci: change windows CI to Focal, modify wrap_wine to use wine64 for 64bit binaries #2484 (@barton2526)
- build: Qt 5.15.2 #2486 (@barton2526)
- net: No longer send local address in addrMe #2459 (@Pythonix)
- voting, gui, rpc: Enhance PollResult and AVW calculation to improve pool handling #2489 (@jamescowens)
- [1/3] refactor: port some misc changes from upstream #2485 (@div72)
- build: Try posix-specific CXX first for mingw32 host, Fix Windows cross-compiling with Qt 5.15 #2494 (@barton2526)
- Improve upon scanforunspent rpc #2468 (@iFoggz)
- rpc: Change tail_fee and head_fee to display in GRC rather than Halfords in createmrcrequest #2501 (@jamescowens)
- scripted-diff: change http to https in copyright text #2504 (@div72)
- qt, refactor: Use enum type as switch argument in *TableModel #2496 (@barton2526)
- build, qt: bump Qt5 version to 5.15.3 #2510 (@barton2526)
- utils: run commands using utf-8 string on Windows #2514 (@barton2526)
- prevector: enforce is_trivially_copyable_v #2516 (@div72)
- crypto: Unroll the ChaCha20 inner loop for performance #2515 (@div72)
- gui: Modify VerifyTCPPort to use the status of CheckOutboundConnectionCount #2506 (@jamescowens)
- gui: Fix transaction history table column size behavior #2520 (@jamescowens)
- log: Use consistent wording in random.cpp log #2538 (@div72)
- lint: Use newer versions of our lint packages, remove yq #2541 (@barton2526)
- [1/2] validation: move CBlock validation methods to validation.cpp #2539 (@div72)
- gui: Implement proportional column resizing for Addressbook with memory #2543 (@jamescowens)
- build: remove redundant warning flags #2546 (@barton2526)
- qt: Prefix makefile variables with QT_ #2547 (@barton2526)
- build: remove build stubs for external leveldb #2550 (@barton2526)
- build, refactor: Improve package version usage #2549 (@barton2526)
- build: minor boost tidyups #2548 (@barton2526)

### Removed
- rpc, util: Remove caching from BlockFinder #2490 (@jamescowens)
- test: remove obsolete check sig test #2552 (@div72)

### Fixed
- build: fix unoptimized libraries in depends #2428 (@barton2526)
- build: don't use deprecated brew package names #2429 (@barton2526)
- qt: fix shutdown on MacOS #2440 (@div72)
- net: Do not add random inbound peers to addrman #2451 (@barton2526)
- util: skip trying to set the locale on NetBSD #2448 (@barton2526)
- build: change bundle id #2462 (@div72)
- net: Do not propagate obviously poor addresses onto the network #2453 (@Pythonix)
- ci: Fix CI build title to reflect that we are building for bionic, not xenial #2469 (@barton2526)
- lint: Fix misc typos #2472 (@barton2526)
- util: Fix crash when parsing command line with -noincludeconf=0, Properly handle -noincludeconf on command line #2473 (@barton2526)
- build: Fix several minor linter errors #2476 (@jamescowens)
- tests: Don't access out of bounds array index: array[sizeof(array)] #2480 (@barton2526)
- script: Fix and Minify Icon SVG #2488 (@RoboticMind)
- gui: Add missing null pointer check for m_beacon #2500 (@jamescowens)
- util: Fix BN_zero macro in key.cpp for OpenSSL 3.0 #2497 (@jamescowens)
- rpc, contract: Adjust ValidateMRC, CreateMRC, and createmrcrequest to correct provided fee handling #2505 (@jamescowens)
- consensus: Move DoS into contract validators to allow variability of DoS based on context and further fixes to ValidateMRC #2512 (@jamescowens)
- lockedpool: When possible, use madvise to avoid including sensitive information in core dumps #2509 (@barton2526)
- refactor: Fix some minor linter complaints #2517 (@jamescowens)
- miner: Miner Logger bug fix #2518 (@iFoggz)
- key: properly parse short DER private keys #2519 (@div72)
- researcher: Fix ReadClientStateXml() crash on wrong BOINC directory permissions #2524 (@jamescowens)
- init: fix daemon forking #2521 (@div72)
- scraper: Change open mode from append to truncate for auth file #2528 (@jamescowens)
- gui: New mrc contract icon try #2 #2529 (@jamescowens)
- gui: Remove white outlines on MRC icon #2530 (@a123b)
- voting: Change m_additional_fields serialization #2531 (@jamescowens)
- build, qt: Fix `QMAKE_CXXFLAGS` expression for `mingw32` host #2537 (@div72)
- logging: fix logging empty thread name #2535 (@div72)
- trivial: fix comment in account header guard #2542 (@div72)
- build: Restrict check for CRC32C intrinsic to aarch64 #2544 (@barton2526)
- build: force CRCCheck in Windows installer #2545 (@barton2526)

## [5.3.3.0] 2022-02-27, leisure, "Janice"

### Added
Expand Down Expand Up @@ -208,7 +315,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
- wallet: simplify nTimeSmart calculation #2144 (@div72)
- gui: Refresh checkbox and radio button styles #2170 (@cyrossignol)
- build: Bump libevent to 2.1.11 #2172 (@barton2526)
- build: Update native_mac_alias, Remove big sur patch file in qt recipe #2173 (@barton2526)
- build: Update native_mac_alias, Remove Big Sur patch file in qt recipe #2173 (@barton2526)
- docs: Misc Grammar #2176 (@barton2526)
- build: miniupnpc 2.2.2 #2179 (@barton2526)
- rpc: Refresh rainbymagnitude #2163 (@jamescowens)
Expand Down
26 changes: 13 additions & 13 deletions build-aux/m4/ax_boost_base.m4
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ AC_ARG_WITH([boost-libdir],
BOOST_LDFLAGS=""
BOOST_CPPFLAGS=""
AS_IF([test "x$want_boost" = "xyes"],
AS_IF([test "$want_boost" = "yes"],
[_AX_BOOST_BASE_RUNDETECT([$1],[$2],[$3])])
AC_SUBST(BOOST_CPPFLAGS)
AC_SUBST(BOOST_LDFLAGS)
Expand All @@ -84,13 +84,13 @@ AC_SUBST(BOOST_LDFLAGS)

# convert a version string in $2 to numeric and affect to polymorphic var $1
AC_DEFUN([_AX_BOOST_BASE_TONUMERICVERSION],[
AS_IF([test "x$2" = "x"],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"])
AS_IF([test "$2" = ""],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"])
_AX_BOOST_BASE_TONUMERICVERSION_req_shorten=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\.[[0-9]]*\)'`
_AX_BOOST_BASE_TONUMERICVERSION_req_major=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\)'`
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = "x"],
AS_IF([test "$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = ""],
[AC_MSG_ERROR([You should at least specify libboost major version])])
_AX_BOOST_BASE_TONUMERICVERSION_req_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.\([[0-9]]*\)'`
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = "x"],
AS_IF([test "$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = ""],
[_AX_BOOST_BASE_TONUMERICVERSION_req_minor="0"])
_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
AS_IF([test "X$_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor" = "X"],
Expand Down Expand Up @@ -130,7 +130,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
dnl first we check the system location for boost libraries
dnl this location ist chosen if boost libraries are installed with the --layout=system option
dnl or if you install boost with RPM
AS_IF([test "x$_AX_BOOST_BASE_boost_path" != "x"],[
AS_IF([test "$_AX_BOOST_BASE_boost_path" != ""],[
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) includes in "$_AX_BOOST_BASE_boost_path/include"])
AS_IF([test -d "$_AX_BOOST_BASE_boost_path/include" && test -r "$_AX_BOOST_BASE_boost_path/include"],[
AC_MSG_RESULT([yes])
Expand Down Expand Up @@ -165,7 +165,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
dnl overwrite ld flags if we have required special directory with
dnl --with-boost-libdir parameter
AS_IF([test "x$_AX_BOOST_BASE_boost_lib_path" != "x"],
AS_IF([test "$_AX_BOOST_BASE_boost_lib_path" != ""],
[BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_lib_path"])
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION)])
Expand All @@ -191,7 +191,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
dnl if we found no boost with system layout we search for boost libraries
dnl built and installed without the --layout=system option or for a staged(not installed) version
if test "x$succeeded" != "xyes" ; then
if test "$succeeded" != "yes" ; then
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
BOOST_CPPFLAGS=
Expand All @@ -204,7 +204,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
V_CHECK=`expr $_version_tmp \> $_version`
if test "x$V_CHECK" = "x1" ; then
if test "$V_CHECK" = "1" ; then
_version=$_version_tmp
fi
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
Expand All @@ -226,13 +226,13 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
fi
fi
else
if test "x$cross_compiling" != "xyes" ; then
if test "$cross_compiling" != "yes" ; then
for _AX_BOOST_BASE_boost_path in /usr /usr/local /opt /opt/local /opt/homebrew ; do
if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path" ; then
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
V_CHECK=`expr $_version_tmp \> $_version`
if test "x$V_CHECK" = "x1" ; then
if test "$V_CHECK" = "1" ; then
_version=$_version_tmp
best_path=$_AX_BOOST_BASE_boost_path
fi
Expand All @@ -259,7 +259,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
V_CHECK=`expr $stage_version_shorten \>\= $_version`
if test "x$V_CHECK" = "x1" && test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
if test "$V_CHECK" = "1" && test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
BOOST_CPPFLAGS="-I$BOOST_ROOT"
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
Expand All @@ -283,8 +283,8 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
AC_LANG_POP([C++])
fi
if test "x$succeeded" != "xyes" ; then
if test "x$_version" = "x0" ; then
if test "$succeeded" != "yes" ; then
if test "$_version" = "0" ; then
AC_MSG_NOTICE([[We could not detect the boost libraries (version $1 or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
else
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
Expand Down
Loading

0 comments on commit c4ff381

Please sign in to comment.