From f5bd038b86b5c6c67555d5ecb219e125756accfe Mon Sep 17 00:00:00 2001
From: Tom Henderson
Date: Fri, 10 Dec 2021 10:26:52 -0800
Subject: [PATCH] build: Update minimum compiler versions to g++-8, clang++-6,
Apple Clang 11
---
CHANGES.html | 2 +-
CMakeLists.txt | 6 +++---
RELEASE_NOTES.md | 2 +-
utils/tests/gitlab-ci-clang.yml | 33 ++++++++++++++++++++-------------
wscript | 2 +-
5 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/CHANGES.html b/CHANGES.html
index e83f82431..193c45708 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -63,7 +63,7 @@ us a note on ns-developers mailing list.
Changes to build system:
-
+- G++ version 8 is now the minimum G++ version supported.
Changed behavior:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b0efb3d4..c831a75ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,9 +26,9 @@ project(NS3 CXX C)
file(STRINGS VERSION NS3_VER)
# minimum compiler versions
-set(AppleClang_MinVersion 7.0.0)
-set(Clang_MinVersion 3.6.0)
-set(GNU_MinVersion 7.0.0)
+set(AppleClang_MinVersion 11.0.0)
+set(Clang_MinVersion 6.0.0)
+set(GNU_MinVersion 8.0.0)
# common options
option(NS3_ASSERT "Enable assert on failure" OFF)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index c582ed689..ff1c37ea6 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -20,7 +20,7 @@ This release is not yet available.
This release is intended to work on systems with the following minimal
requirements (Note: not all ns-3 features are available on all systems):
-- g++-7 or later, or LLVM/clang++-8 or later
+- g++-8 or later, or LLVM/clang++-6 or later
- Python 3.6 or later
- (macOS only) Xcode 11 or later
diff --git a/utils/tests/gitlab-ci-clang.yml b/utils/tests/gitlab-ci-clang.yml
index 2cfea125c..bf98d0c49 100644
--- a/utils/tests/gitlab-ci-clang.yml
+++ b/utils/tests/gitlab-ci-clang.yml
@@ -4,7 +4,7 @@
# "RELEASE", that has a value "weekly". Also, a variable "CLANG" should be set
# to True.
-# We support CLANG 8 - 11
+# We support CLANG 6, 8 - 11
# The test is done under Linux.
.weekly-build-clang:
@@ -25,27 +25,43 @@
variables:
COMPILER: clang++-$CLANG
+# CLANG 6
+weekly-build-clang-6-debug:
+ extends: .weekly-build-clang
+ variables:
+ CLANG: 6.0
+ MODE: debug
+
+weekly-build-clang-6-release:
+ extends: .weekly-build-clang
+ variables:
+ CLANG: 6.0
+ MODE: release
+
+weekly-build-clang-6-optimized:
+ extends: .weekly-build-clang
+ variables:
+ CLANG: 6.0
+ MODE: optimized
+
# CLANG 8
weekly-build-clang-8-debug:
extends: .weekly-build-clang
variables:
CLANG: 8
MODE: debug
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
weekly-build-clang-8-release:
extends: .weekly-build-clang
variables:
CLANG: 8
MODE: release
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
weekly-build-clang-8-optimized:
extends: .weekly-build-clang
variables:
CLANG: 8
MODE: optimized
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
# CLANG 9
weekly-build-clang-9-debug:
@@ -53,21 +69,18 @@ weekly-build-clang-9-debug:
variables:
CLANG: 9
MODE: debug
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
weekly-build-clang-9-release:
extends: .weekly-build-clang
variables:
CLANG: 9
MODE: release
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
weekly-build-clang-9-optimized:
extends: .weekly-build-clang
variables:
CLANG: 9
MODE: optimized
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python-clang-$CLANG
# CLANG 10
weekly-build-clang-10-debug:
@@ -75,21 +88,18 @@ weekly-build-clang-10-debug:
variables:
CLANG: 10
MODE: debug
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
weekly-build-clang-10-release:
extends: .weekly-build-clang
variables:
CLANG: 10
MODE: release
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
weekly-build-clang-10-optimized:
extends: .weekly-build-clang
variables:
CLANG: 10
MODE: optimized
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
# CLANG 11
weekly-build-clang-11-debug:
@@ -97,19 +107,16 @@ weekly-build-clang-11-debug:
variables:
CLANG: 11
MODE: debug
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
weekly-build-clang-11-release:
extends: .weekly-build-clang
variables:
CLANG: 11
MODE: release
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
weekly-build-clang-11-optimized:
extends: .weekly-build-clang
variables:
CLANG: 11
MODE: optimized
- EXTRA: libc++-$CLANG-dev libc++abi-$CLANG-dev libomp-$CLANG-dev python3-clang-$CLANG
diff --git a/wscript b/wscript
index 5a606b6fe..dd91bedac 100644
--- a/wscript
+++ b/wscript
@@ -33,7 +33,7 @@ examples_enabled = False
tests_enabled = False
# GCC minimum version requirements for C++17 support
-gcc_min_version = (7, 0, 0)
+gcc_min_version = (8, 0, 0)
# Bug 2181: clang warnings about unused local typedefs and potentially
# evaluated expressions affecting darwin clang/LLVM version 7.0.0 (Xcode 7)