From 85a73d2b75144062466a5f47c49d281be41368d6 Mon Sep 17 00:00:00 2001 From: Davide Pesavento Date: Sun, 6 Mar 2022 16:00:01 -0500 Subject: [PATCH] build: align minimum build dependencies with ndn-cxx * gcc 7.4 * clang 6.0 * Xcode 10.0 (11.3 or later recommended) Change-Id: I365e7b1e2c9b081e512f511bf5beee2487cfc361 --- .github/workflows/ci.yml | 6 ++---- .github/workflows/docs.yml | 2 +- .waf-tools/default-compiler-flags.py | 29 +++++++++++++--------------- docs/RELEASE-NOTES.rst | 4 ---- docs/conf.py | 2 +- docs/index.rst | 4 ++-- docs/release-notes-latest.rst | 1 - docs/release-notes.rst | 4 ++++ wscript | 5 +++-- 9 files changed, 26 insertions(+), 31 deletions(-) delete mode 100644 docs/RELEASE-NOTES.rst delete mode 120000 docs/release-notes-latest.rst create mode 100644 docs/release-notes.rst diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9f98d8..47d9a6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,8 +22,6 @@ jobs: include: - compiler: g++-7 os: ubuntu-18.04 - - compiler: clang++-5.0 - os: ubuntu-18.04 - compiler: clang++-6.0 os: ubuntu-18.04 runs-on: ${{ matrix.os }} @@ -37,7 +35,7 @@ jobs: sudo apt-get -qy install ${CXX/clang++/clang} ${CXX} --version - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Build and test run: ./.jenkins @@ -63,6 +61,6 @@ jobs: with: xcode-version: ${{ matrix.xcode }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Build and test run: ./.jenkins diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2c5e154..3fb1749 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,7 +21,7 @@ jobs: WAF_JOBS: 3 steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install dependencies run: | case ${RUNNER_OS} in diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py index f3be6e7..f086c17 100644 --- a/.waf-tools/default-compiler-flags.py +++ b/.waf-tools/default-compiler-flags.py @@ -16,20 +16,21 @@ def configure(conf): errmsg = '' warnmsg = '' if cxx == 'gcc': - if ccver < (5, 3, 0): + if ccver < (7, 4, 0): errmsg = ('The version of gcc you are using is too old.\n' - 'The minimum supported gcc version is 7.4.0.') - elif ccver < (7, 4, 0): - warnmsg = ('Using a version of gcc older than 7.4.0 is not ' - 'officially supported and may result in build failures.') + 'The minimum supported gcc version is 7.4.') conf.flags = GccFlags() elif cxx == 'clang': - if Utils.unversioned_sys_platform() == 'darwin' and ccver < (9, 0, 0): - errmsg = ('The version of Xcode you are using is too old.\n' - 'The minimum supported Xcode version is 9.0.') - elif ccver < (4, 0, 0): + if Utils.unversioned_sys_platform() == 'darwin': + if ccver < (10, 0, 0): + errmsg = ('The version of Xcode you are using is too old.\n' + 'The minimum supported Xcode version is 11.3.') + elif ccver < (11, 0, 0): + warnmsg = ('Using a version of Xcode older than 11.3 is not ' + 'officially supported and may result in build failures.') + elif ccver < (6, 0, 0): errmsg = ('The version of clang you are using is too old.\n' - 'The minimum supported clang version is 4.0.') + 'The minimum supported clang version is 6.0.') conf.flags = ClangFlags() else: warnmsg = '%s compiler is unsupported' % cxx @@ -181,7 +182,7 @@ class GccFlags(GccBasicFlags): flags['CXXFLAGS'] += ['-fdiagnostics-color', '-Wredundant-tags', ] - if platform.machine() == 'armv7l' and self.getCompilerVersion(conf) >= (7, 1, 0): + if platform.machine() == 'armv7l': flags['CXXFLAGS'] += ['-Wno-psabi'] # Bug #5106 return flags @@ -190,7 +191,7 @@ class GccFlags(GccBasicFlags): flags['CXXFLAGS'] += ['-fdiagnostics-color', '-Wredundant-tags', ] - if platform.machine() == 'armv7l' and self.getCompilerVersion(conf) >= (7, 1, 0): + if platform.machine() == 'armv7l': flags['CXXFLAGS'] += ['-Wno-psabi'] # Bug #5106 return flags @@ -212,8 +213,6 @@ class ClangFlags(GccBasicFlags): '-Wundefined-func-template', '-Wno-unused-local-typedef', # Bugs #2657 and #3209 ] - if self.getCompilerVersion(conf) < (6, 0, 0): - flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721 return flags def getOptimizedFlags(self, conf): @@ -222,6 +221,4 @@ class ClangFlags(GccBasicFlags): '-Wundefined-func-template', '-Wno-unused-local-typedef', # Bugs #2657 and #3209 ] - if self.getCompilerVersion(conf) < (6, 0, 0): - flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721 return flags diff --git a/docs/RELEASE-NOTES.rst b/docs/RELEASE-NOTES.rst deleted file mode 100644 index 04e2f84..0000000 --- a/docs/RELEASE-NOTES.rst +++ /dev/null @@ -1,4 +0,0 @@ -Release Notes -============= - -.. include:: release-notes-latest.rst diff --git a/docs/conf.py b/docs/conf.py index 495d441..5b7a5ae 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ import sys # -- Project information ----------------------------------------------------- project = u'PSync: Full/Partial Synchronization Protocol for NDN' -copyright = u'Copyright © 2018-2021 Named Data Networking Project.' +copyright = u'Copyright © 2018-2022 Named Data Networking Project.' author = u'Named Data Networking Project' # The short X.Y version. diff --git a/docs/index.rst b/docs/index.rst index 8dda472..7f40022 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -32,10 +32,10 @@ PSync Documentation install examples - RELEASE-NOTES + release-notes releases - :doc:`install` - :doc:`examples` -- :doc:`RELEASE-NOTES` +- :doc:`release-notes` - :doc:`releases` diff --git a/docs/release-notes-latest.rst b/docs/release-notes-latest.rst deleted file mode 120000 index 8609411..0000000 --- a/docs/release-notes-latest.rst +++ /dev/null @@ -1 +0,0 @@ -release-notes/release-notes-0.3.0.rst \ No newline at end of file diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 0000000..96d796b --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,4 @@ +Release Notes +============= + +.. include:: release-notes/release-notes-0.3.0.rst diff --git a/wscript b/wscript index 89287e8..270ac19 100644 --- a/wscript +++ b/wscript @@ -41,8 +41,9 @@ def configure(conf): conf.find_program('dot', var='DOT', mandatory=False) - conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'], uselib_store='NDN_CXX', - pkg_config_path=os.environ.get('PKG_CONFIG_PATH', '%s/pkgconfig' % conf.env.LIBDIR)) + pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig') + conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'], + uselib_store='NDN_CXX', pkg_config_path=pkg_config_path) boost_libs = ['system', 'iostreams'] if conf.env.WITH_TESTS: