From 739bc3c4af9a74c973a29c0b27ff59d358694980 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Fri, 7 Feb 2020 11:04:40 +0100
Subject: [PATCH] COMP: add -pthread compile/link dependency for std::thread
 (#614)

---
 wmake/rules/darwin64Clang/c++   | 2 +-
 wmake/rules/linux64Clang/c++    | 2 +-
 wmake/rules/linux64Cray/c++     | 2 +-
 wmake/rules/linux64Gcc/c++      | 2 +-
 wmake/rules/linux64Icc/c++      | 2 +-
 wmake/rules/linux64Mingw/c++    | 2 +-
 wmake/rules/linuxARM64Arm/c++   | 2 +-
 wmake/rules/linuxARM64Clang/c++ | 2 +-
 wmake/rules/linuxARM64Gcc/c++   | 2 +-
 wmake/rules/linuxARM7Gcc/c++    | 2 +-
 wmake/rules/linuxClang/c++      | 2 +-
 wmake/rules/linuxGcc/c++        | 2 +-
 wmake/rules/linuxIcc/c++        | 2 +-
 13 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/wmake/rules/darwin64Clang/c++ b/wmake/rules/darwin64Clang/c++
index dc821d51b4b..7a775f8b6aa 100644
--- a/wmake/rules/darwin64Clang/c++
+++ b/wmake/rules/darwin64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m64 -ftrapping-math
+c++ARCH     = -m64 -pthread -ftrapping-math
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Clang/c++ b/wmake/rules/linux64Clang/c++
index 3563f416017..dce82c60946 100644
--- a/wmake/rules/linux64Clang/c++
+++ b/wmake/rules/linux64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Cray/c++ b/wmake/rules/linux64Cray/c++
index 6e65cbc797f..a4f1fed6b61 100644
--- a/wmake/rules/linux64Cray/c++
+++ b/wmake/rules/linux64Cray/c++
@@ -2,7 +2,7 @@ include $(GENERAL_RULES)/Gcc/c++
 
 CC          = CC -std=c++11
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Gcc/c++ b/wmake/rules/linux64Gcc/c++
index 80665cde62d..735d8058532 100644
--- a/wmake/rules/linux64Gcc/c++
+++ b/wmake/rules/linux64Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Icc/c++ b/wmake/rules/linux64Icc/c++
index 182e53128eb..5a8523904d2 100644
--- a/wmake/rules/linux64Icc/c++
+++ b/wmake/rules/linux64Icc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Icc/c++
 
-c++ARCH     = -fp-trap=common -fp-model precise
+c++ARCH     = -pthread -fp-trap=common -fp-model precise
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Mingw/c++ b/wmake/rules/linux64Mingw/c++
index 67e4544f987..fe562de17a0 100644
--- a/wmake/rules/linux64Mingw/c++
+++ b/wmake/rules/linux64Mingw/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 # With gnu++11 (not c++11) to ensure __STRICT_ANSI__ is not defined
 CC          = x86_64-w64-mingw32-g++ -std=gnu++11
diff --git a/wmake/rules/linuxARM64Arm/c++ b/wmake/rules/linuxARM64Arm/c++
index a66ac2151be..0ebd86db82b 100644
--- a/wmake/rules/linuxARM64Arm/c++
+++ b/wmake/rules/linuxARM64Arm/c++
@@ -3,7 +3,7 @@ include $(GENERAL_RULES)/Clang/c++
 
 CC          = armclang++ -std=c++11
 
-c++ARCH     = -mcpu=native
+c++ARCH     = -mcpu=native -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM64Clang/c++ b/wmake/rules/linuxARM64Clang/c++
index 7cd04dbbaac..60cd5ac10c7 100644
--- a/wmake/rules/linuxARM64Clang/c++
+++ b/wmake/rules/linuxARM64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     =
+c++ARCH     = -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM64Gcc/c++ b/wmake/rules/linuxARM64Gcc/c++
index 1058e80ba78..c6f48bf7438 100644
--- a/wmake/rules/linuxARM64Gcc/c++
+++ b/wmake/rules/linuxARM64Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     =
+c++ARCH     = -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM7Gcc/c++ b/wmake/rules/linuxARM7Gcc/c++
index 93b70892089..4701ec84a98 100644
--- a/wmake/rules/linuxARM7Gcc/c++
+++ b/wmake/rules/linuxARM7Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -mcpu=cortex-a9
+c++ARCH     = -mcpu=cortex-a9 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxClang/c++ b/wmake/rules/linuxClang/c++
index 19b5fa154ad..4aafed6d758 100644
--- a/wmake/rules/linuxClang/c++
+++ b/wmake/rules/linuxClang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m32
+c++ARCH     = -m32 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxGcc/c++ b/wmake/rules/linuxGcc/c++
index e136864805f..6708d1656d1 100644
--- a/wmake/rules/linuxGcc/c++
+++ b/wmake/rules/linuxGcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m32
+c++ARCH     = -m32 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxIcc/c++ b/wmake/rules/linuxIcc/c++
index 21784c73761..ae00df7bb28 100644
--- a/wmake/rules/linuxIcc/c++
+++ b/wmake/rules/linuxIcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Icc/c++
 
-c++ARCH     = -fp-trap=common -fp-model precise
+c++ARCH     = -pthread -fp-trap=common -fp-model precise
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
-- 
GitLab