author | Niveditha Rau <Niveditha.Rau@Oracle.COM> |
Fri, 28 Oct 2016 17:56:16 -0700 | |
changeset 7206 | 23066e5fef27 |
parent 6624 | c6cfc48dd184 |
permissions | -rw-r--r-- |
6624
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
# Build system part of the Solaris port of libiomp5. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
# Internal patch. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
# We should definitely submit this upstream. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
--- cmake/GNU/CFlags.cmake 2015-10-09 11:06:04.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
+++ cmake/GNU/CFlags.cmake 2016-02-23 08:06:00.403360340 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
@@ -41,8 +41,8 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
function(append_compiler_specific_c_and_cxx_flags input_c_flags input_cxx_flags) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
set(local_c_flags) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
set(local_cxx_flags) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
- append_c_and_cxx_flags("-std=c++0x") # Enables support for many C++11 (formerly known as C++0x) features. The following are the most recently added features: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
- append_c_and_cxx_flags("-fno-exceptions") # Exception handling table generation is disabled. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
+ append_c_and_cxx_flags("-std=c++11") # Enables support for many C++11 (formerly known as C++0x) features. The following are the most recently added features: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
+ # append_c_and_cxx_flags("-fno-exceptions") # Exception handling table generation is disabled. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
append_c_and_cxx_flags("-x c++") # Compile C files as C++ files |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
if(${IA32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
append_c_and_cxx_flags("-m32") # Generate 32 bit IA-32 architecture code |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
@@ -62,6 +62,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
if(${WINDOWS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
elseif(${MAC}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
elseif(${MIC}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
+ elseif(${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
append_linker_flags("-static-libgcc") # Causes libgcc to be linked in statically |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
--- cmake/Definitions.cmake 2015-10-09 11:06:04.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+++ cmake/Definitions.cmake 2016-08-17 10:22:35.811889455 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
@@ -38,14 +38,29 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
set(local_cpp_flags) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
append_definitions("-D USE_ITT_BUILD") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
append_definitions("-D KMP_ARCH_STR=\"\\\\\"${legal_arch}\\\\\"\"") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
+ if (${PPC32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
append_definitions("-D BUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
+ elseif(${PPC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
+ append_definitions("-DBUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
+ elseif(${SPARC32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
+ append_definitions("-DBUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+ elseif(${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
+ append_definitions("-DBUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
+ elseif(${INTEL64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
+ append_definitions("-DBUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
+ elseif(${INTEL64} OR ${AARCH64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
+ append_definitions("-DBUILD_I8") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
+ else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
+ endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
append_definitions("-D KMP_LIBRARY_FILE=\\\\\"${lib_file}\\\\\"") # yes... you need 5 backslashes... |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
append_definitions("-D KMP_VERSION_MAJOR=${LIBOMP_VERSION}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
append_definitions("-D KMP_NESTED_HOT_TEAMS") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
# customize to 128 bytes for ppc64 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
- if(${PPC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
+ if(${PPC64} OR ${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
append_definitions("-D CACHE_LINE=128") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
append_definitions("-D CACHE_LINE=64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
@@ -96,7 +111,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
################## |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
# Unix definitions |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
- if(${LINUX}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
+ if(${LINUX} OR ${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
append_definitions("-D KMP_TDATA_GTID") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
@@ -165,7 +180,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
append_definitions("-D OMP_30_ENABLED=${have_omp_30}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
# Architectural definitions |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
- if(${INTEL64} OR ${IA32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
+ if(${INTEL64} OR ${IA32} OR ${SPARC32} OR ${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
if(${LIBOMP_USE_ADAPTIVE_LOCKS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
append_definitions("-D KMP_USE_ADAPTIVE_LOCKS=1") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
--- cmake/GetArchitecture.cmake 2015-10-09 11:06:04.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
+++ cmake/GetArchitecture.cmake 2016-02-18 13:18:06.902215860 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
@@ -61,6 +61,14 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
#error ARCHITECTURE=ppc64le |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
#elif defined(__powerpc64__) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
#error ARCHITECTURE=ppc64 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
+ #elif defined(__sparc64__) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
+ #error ARCHITECTURE=sparcv9 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
+ #elif defined(__sparcv9) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
+ #error ARCHITECTURE=sparcv9 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
+ #elif defined(__sparc__) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
+ #error ARCHITECTURE=sparc |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
+ #elif defined(__sparc) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
+ #error ARCHITECTURE=sparc |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
#else |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
#error ARCHITECTURE=UnknownArchitecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
#endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
--- cmake/CommonFlags.cmake 2015-10-09 11:06:04.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
+++ cmake/CommonFlags.cmake 2016-02-23 08:09:45.497002428 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
@@ -130,15 +130,16 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
# Unix based linker flags |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
# For now, always include --version-script flag on Unix systems. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
- append_linker_flags("-Wl,--version-script=${src_dir}/exports_so.txt") # Use exports_so.txt as version script to create versioned symbols for ELF libraries |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
- append_linker_flags("-Wl,-z,noexecstack") # Marks the object as not requiring executable stack. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
- append_linker_flags("-Wl,--as-needed") # Only adds library dependencies as they are needed. (if libomp actually uses a function from the library, then add it) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
+ append_linker_flags("-Wl,-M -Wl,${src_dir}/exports_so.txt") # Use exports_so.txt as version script to create versioned symbols for ELF libraries |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
+ # Solaris linker can't do nxstack on shared libraries. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
+ # append_linker_flags("-Wl,-z -Wl,nxstack=enable") # Marks the object as not requiring executable stack. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
+ append_linker_flags("-Wl,-z -Wl,ignore") # Only adds library dependencies as they are needed. (if libomp actually uses a function from the library, then add it) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
if(NOT ${STUBS_LIBRARY}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
- append_linker_flags("-Wl,--warn-shared-textrel") # Warn if the linker adds a DT_TEXTREL to a shared object. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
- append_linker_flags("-Wl,-fini=__kmp_internal_end_fini") # When creating an ELF executable or shared object, call NAME when the |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
+ append_linker_flags("-Wl,-z -Wl,text") # Warn if the linker adds a DT_TEXTREL to a shared object. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
+ append_linker_flags("-Wl,-z -Wl,finiarray=__kmp_internal_end_fini") # When creating an ELF executable or shared object, call NAME when the |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
# executable or shared object is unloaded, by setting DT_FINI to the |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
# address of the function. By default, the linker uses "_fini" as the function to call. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
- append_linker_flags_library("-pthread") # link pthread library |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
+ append_linker_flags("-lgcc_s -lstdc++ -lc -lm -ldl") # Warn if the linker adds a DT_TEXTREL to a shared object. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
endif() # if(${OPERATING_SYSTEM}) ... |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
--- cmake/HelperFunctions.cmake 2015-10-09 11:06:05.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
+++ cmake/HelperFunctions.cmake 2016-02-21 20:15:51.010837360 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
@@ -78,6 +78,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
function(set_legal_arch return_arch_string) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
if(${IA32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
set(${return_arch_string} "IA-32" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
+ elseif(${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
+ set(${return_arch_string} "SPARC64" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
+ elseif(${SPARC32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
+ set(${return_arch_string} "SPARC32" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
elseif(${INTEL64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
set(${return_arch_string} "Intel(R) 64" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
elseif(${MIC}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
@@ -119,6 +123,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
function(_export_lib_dir pltfrm return_value) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
if(${MAC}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
set(${return_value} "${export_dir}/${pltfrm}${suffix}/lib.thin" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
+ elseif(${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
+ set(${return_value} "${export_dir}/${pltfrm}${suffix}/lib/sparcv9" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
+ elseif(${INTEL64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
+ set(${return_value} "${export_dir}/${pltfrm}${suffix}/lib/amd64" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
set(${return_value} "${export_dir}/${pltfrm}${suffix}/lib" PARENT_SCOPE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
--- src/CMakeLists.txt 2015-10-09 11:05:54.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
+++ src/CMakeLists.txt 2016-08-04 13:22:54.748628463 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
@@ -37,6 +37,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
############################# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
# --- Create Common Files --- |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
+message(INFO ": export_cmn_files: ${export_cmn_files}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
add_custom_target(libomp-common ALL DEPENDS ${export_cmn_files}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
add_custom_target(libomp-clean-common COMMAND ${CMAKE_COMMAND} -E remove -f ${export_cmn_files}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
@@ -45,6 +46,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
add_custom_command(TARGET libomp-common POST_BUILD |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
COMMAND ${CMAKE_COMMAND} -E make_directory ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
COMMAND ${CMAKE_COMMAND} -E copy omp.h ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
+ COMMAND ${CMAKE_COMMAND} -E copy ompt.h ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
COMMAND ${CMAKE_COMMAND} -E copy omp_lib.h ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
COMMAND ${CMAKE_COMMAND} -E copy omp_lib.f ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
COMMAND ${CMAKE_COMMAND} -E copy omp_lib.f90 ${export_cmn_dir} |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
@@ -74,7 +76,11 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
# objects depend on : .inc files and omp.h |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
# This way the *.inc and omp.h are generated before any compilations take place |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
-add_custom_target(libomp-needed-headers DEPENDS kmp_i18n_id.inc kmp_i18n_default.inc omp.h) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
+if (${LIBOMP_OMPT_SUPPORT}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
+ add_custom_target(libomp-needed-headers DEPENDS kmp_i18n_id.inc kmp_i18n_default.inc omp.h ompt.h) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
+else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
+ add_custom_target(libomp-needed-headers DEPENDS kmp_i18n_id.inc kmp_i18n_default.inc omp.h) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
+endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
174 |
# For Windows, there is a definitions file (.def) and resource file (.res) created using generate-def.pl and rc.exe respectively. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
175 |
if(${WINDOWS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
176 |
@@ -85,8 +91,8 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
177 |
# Remove any cmake-automatic linking of libraries by linker, This is so linux |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
178 |
# and mac don't include libstdc++ just because we compile c++ files. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
179 |
if(${LIBOMP_USE_PREDEFINED_LINKER_FLAGS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
180 |
- set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
181 |
- set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
182 |
+ set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-lc -lm -lrt -ldl") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
183 |
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "-lgcc_s -lstdc++") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
184 |
set(CMAKE_ASM_IMPLICIT_LINK_LIBRARIES "") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
185 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
186 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
187 |
@@ -319,6 +325,23 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
188 |
# Install rules |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
189 |
# We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
190 |
# We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
191 |
+if (${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
192 |
+ if (${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
193 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
194 |
+ set(INSTALL_LIBDIR "/usr/lib/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
195 |
+ set(LIBOMP_LIBDIR_SUFFIX "/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
196 |
+ elseif(${INTEL64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
197 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
198 |
+ set(INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
199 |
+ set(LIBOMP_LIBDIR_SUFFIX "/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
200 |
+ elseif("${LIBOMP_ARCH}" STREQUAL "32e") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
201 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
202 |
+ set(INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
203 |
+ set(LIBOMP_LIBDIR_SUFFIX "/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
204 |
+ else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
205 |
+ endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
206 |
+endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
207 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
208 |
if(${LIBOMP_STANDALONE_BUILD}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
209 |
set(LIBOMP_HEADERS_INSTALL_PATH include) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
210 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
211 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
212 |
--- tools/check-tools.pl 2015-10-09 11:06:08.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
213 |
+++ tools/check-tools.pl 2016-02-18 11:50:28.050153095 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
214 |
@@ -146,7 +146,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
215 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
216 |
sub get_gnu_make_version() { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
217 |
my ( $rc, $stdout, $stderr, $version ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
218 |
- my $tool = "make"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
219 |
+ my $tool = "gmake"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
220 |
my ( @ret ) = ( $tool ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
221 |
my ( $path ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
222 |
$rc = run( [ $tool, "--version" ], $stdout, $stderr, $path ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
223 |
@@ -413,10 +413,13 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
224 |
"mac" => { c => "icc", cpp => "icpc", f => "ifort" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
225 |
"win" => { c => "icl", cpp => undef, f => "ifort" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
226 |
}; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
227 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
228 |
my $gnu_compilers = { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
229 |
"lin" => { c => "gcc", cpp => "g++", f => "gfortran" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
230 |
"mac" => { c => "gcc", cpp => "g++", f => "gfortran" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
231 |
+ "sol" => { c => "gcc", cpp => "g++", f => "gfortran" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
232 |
}; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
233 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
234 |
my $clang_compilers = { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
235 |
"lin" => { c => "clang", cpp => "clang++" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
236 |
"mac" => { c => "clang", cpp => "clang++" }, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
237 |
@@ -448,7 +451,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
238 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
239 |
}; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
240 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
241 |
-if ( $target_os eq "lin" or $target_os eq "mac" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
242 |
+if ( $target_os eq "lin" or $target_os eq "mac" or $target_os eq "sol" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
243 |
# check for clang/gnu tools because touch-test.c is compiled with them. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
244 |
if ( $clang or $target_os eq "mac" ) { # OS X* >= 10.9 discarded GNU compilers. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
245 |
push( @versions, [ "Clang C Compiler", get_clang_compiler_version( $clang_compilers->{ $target_os }->{ c } ) ] ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
246 |
--- tools/common.inc 2015-10-09 11:06:07.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
247 |
+++ tools/common.inc 2016-02-18 11:53:12.986639375 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
248 |
@@ -51,6 +51,9 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
249 |
ifeq ($(OS), Darwin) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
250 |
export omp_os=macos |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
251 |
endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
252 |
+ ifeq ($(OS), SunOS) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
253 |
+ export omp_os=solaris |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
254 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
255 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
256 |
endif # !omp_os |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
257 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
258 |
--- tools/src/common-defs.mk 2015-10-09 11:06:11.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
259 |
+++ tools/src/common-defs.mk 2016-02-18 11:42:31.074082905 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
260 |
@@ -64,7 +64,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
261 |
# Description: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
262 |
# The function return printable name of specified architecture, IA-32 architecture or Intel(R) 64. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
263 |
# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
264 |
-legal_arch = $(if $(filter 32,$(1)),IA-32,$(if $(filter 32e,$(1)),Intel(R) 64,$(if $(filter l1,$(1)),L1OM,$(if $(filter arm,$(1)),ARM,$(if $(filter ppc64,$(1)),PPC64,$(if $(filter ppc64le,$(1)),PPC64LE,$(if $(filter aarch64,$(1)),AArch64,$(if $(filter mic,$(1)),Intel(R) Many Integrated Core Architecture,$(error Bad architecture specified: $(1)))))))))) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
265 |
+legal_arch = $(if $(filter 32,$(1)),IA-32,$(if $(filter 32e,$(1)),Intel(R) 64,$(if $(filter l1,$(1)),L1OM,$(if $(filter arm,$(1)),ARM,$(if $(filter ppc64,$(1)),PPC64,$(if $(filter ppc64le,$(1)),PPC64LE,$(if $(filter aarch64,$(1)),AArch64,$(if $(filter mic,$(1)),Intel(R) Many Integrated Core Architecture,$(if $(filter sparc, $(1)),SPARC,$(if $(filter sparcv9,$(1)),SPARCV9,$(error Bad architecture specified: $(1)))))))))))) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
266 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
267 |
# Synopsis: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
268 |
# var_name = $(call check_variable,var,list) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
269 |
@@ -146,14 +146,14 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
270 |
# Mandatory variables passed from build.pl. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
271 |
# -------------------------------------------------------------------------------------------------- |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
272 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
273 |
-os := $(call check_variable,os,lin mac win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
274 |
-arch := $(call check_variable,arch,32 32e 64 arm ppc64 ppc64le aarch64 mic) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
275 |
+os := $(call check_variable,os,lin mac sol win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
276 |
+arch := $(call check_variable,arch,32 32e 64 arm ppc64 ppc64le aarch64 sparc sparcv9 mic) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
277 |
ifeq "$(arch)" "mic" # We want the flavor of mic (knf, knc, knl, etc.) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
278 |
platform := $(os)_$(MIC_ARCH) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
279 |
else |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
280 |
platform := $(os)_$(arch) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
281 |
endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
282 |
-platform := $(call check_variable,platform,lin_32 lin_32e lin_64 lin_arm lin_knc lin_knf mac_32 mac_32e win_32 win_32e win_64 lin_ppc64 lin_ppc64le lin_aarch64) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
283 |
+platform := $(call check_variable,platform,lin_32 lin_32e lin_64 lin_arm lin_knc lin_knf mac_32 mac_32e win_32 win_32e win_64 lin_ppc64 lin_ppc64le lin_aarch64 sol_sparc sol_sparcv9 sol_i386 sol_x86_64) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
284 |
# oa-opts means "os and arch options". They are passed to almost all perl scripts. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
285 |
oa-opts := --os=$(os) --arch=$(arch) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
286 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
287 |
--- tools/solaris.inc 2016-02-18 09:11:59.349587625 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
288 |
+++ tools/solaris.inc 2016-02-18 09:54:26.955461235 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
289 |
@@ -0,0 +1,67 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
290 |
+# <copyright> |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
291 |
+# Copyright (c) 2016 Oracle and/or its affiliates. All Rights Reserved. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
292 |
+# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
293 |
+# Redistribution and use in source and binary forms, with or without |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
294 |
+# modification, are permitted provided that the following conditions |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
295 |
+# are met: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
296 |
+# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
297 |
+# * Redistributions of source code must retain the above copyright |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
298 |
+# notice, this list of conditions and the following disclaimer. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
299 |
+# * Redistributions in binary form must reproduce the above copyright |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
300 |
+# notice, this list of conditions and the following disclaimer in the |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
301 |
+# documentation and/or other materials provided with the distribution. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
302 |
+# * Neither the name of Oracle Corporation nor the names of its |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
303 |
+# contributors may be used to endorse or promote products derived |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
304 |
+# from this software without specific prior written permission. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
305 |
+# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
306 |
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
307 |
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
308 |
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
309 |
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
310 |
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
311 |
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
312 |
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
313 |
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
314 |
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
315 |
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
316 |
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
317 |
+# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
318 |
+# </copyright> |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
319 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
320 |
+####### Detections and Commands ############################################### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
321 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
322 |
+# Solaris needs this additional file because uname -p is useless |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
323 |
+include tools/arch.inc |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
324 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
325 |
+ifndef arch |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
326 |
+ uname_p:=$(shell uname -p) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
327 |
+ ifeq ($(uname_p),i386) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
328 |
+ ifeq ($(solaris_arch),32) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
329 |
+ export arch := i386 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
330 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
331 |
+ ifeq ($(solaris_arch),64) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
332 |
+ export arch := x86_64 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
333 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
334 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
335 |
+ ifeq ($(uname_p),sparc) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
336 |
+ ifeq ($(solaris_arch),32) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
337 |
+ export arch := sparc |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
338 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
339 |
+ ifeq ($(solaris_arch),64) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
340 |
+ export arch := sparcv9 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
341 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
342 |
+ endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
343 |
+endif |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
344 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
345 |
+# Change this to 'release' for production buids. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
346 |
+mode=debug |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
347 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
348 |
+CMD=sh -c |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
349 |
+CWD=$(shell pwd) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
350 |
+CP=cp |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
351 |
+RM?=rm -f |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
352 |
+RMR?=rm -rf |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
353 |
+RD?=rmdir |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
354 |
+MD?=mkdir -p |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
355 |
+NUL= /dev/null |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
356 |
+SLASH=/ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
357 |
--- tools/message-converter.pl 2015-10-09 11:06:08.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
358 |
+++ tools/message-converter.pl 2016-02-18 13:56:45.212141095 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
359 |
@@ -504,7 +504,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
360 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
361 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
362 |
my $generate_message; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
363 |
-if ( $target_os =~ m{\A(?:lin|mac)\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
364 |
+if ( $target_os =~ m{\A(?:lin|sol|mac)\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
365 |
$generate_message = \&generate_message_unix; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
366 |
} elsif ( $target_os eq "win" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
367 |
$generate_message = \&generate_message_windows; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
368 |
--- tools/lib/Platform.pm 2015-10-09 11:06:11.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
369 |
+++ tools/lib/Platform.pm 2016-02-18 10:11:53.026836855 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
370 |
@@ -77,6 +77,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
371 |
$arch = "aarch64"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
372 |
} elsif ( $arch =~ m{\Amic} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
373 |
$arch = "mic"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
374 |
+ } elsif ( $arch =~ m{\Asparc} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
375 |
+ $arch = "sparc"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
376 |
+ } elsif ( $arch =~ m{\Asparcv9} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
377 |
+ $arch = "sparcv9"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
378 |
} else { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
379 |
$arch = undef; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
380 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
381 |
@@ -146,6 +150,8 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
382 |
if ( defined( $os ) ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
383 |
if ( $os =~ m{\A\s*(?:Linux|lin|l)\s*\z}i ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
384 |
$os = "lin"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
385 |
+ } elsif ( $os =~ m{\A\s*(?:SunOS|sol|Sun|Sol|s)\s*\z}i ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
386 |
+ $os = "sol"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
387 |
} elsif ( $os =~ m{\A\s*(?:Mac(?:\s*OS(?:\s*X)?)?|mac|m|Darwin)\s*\z}i ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
388 |
$os = "mac"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
389 |
} elsif ( $os =~ m{\A\s*(?:Win(?:dows)?(?:(?:_|\s*)?(?:NT|XP|95|98|2003))?|w)\s*\z}i ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
390 |
@@ -228,6 +234,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
391 |
$_host_arch = "ppc64"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
392 |
} elsif ( $hardware_platform eq "aarch64" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
393 |
$_host_arch = "aarch64"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
394 |
+ } elsif ( $hardware_platform eq "sparc" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
395 |
+ $_host_arch = "sparc"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
396 |
+ } elsif ( $hardware_platform eq "sparcv9" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
397 |
+ $_host_arch = "sparcv9"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
398 |
} else { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
399 |
die "Unsupported host hardware platform: \"$hardware_platform\"; stopped"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
400 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
401 |
@@ -242,6 +252,9 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
402 |
} elsif ( $operating_system eq "FreeBSD" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
403 |
# Host OS resembles Linux. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
404 |
$_host_os = "lin"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
405 |
+ } elsif ( $operating_system eq "SunOS" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
406 |
+ # Solaris resembles Linux. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
407 |
+ $_host_os = "sol"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
408 |
} elsif ( $operating_system eq "Darwin" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
409 |
$_host_os = "mac"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
410 |
} elsif ( $operating_system eq "MS Windows" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
411 |
--- tools/lib/Uname.pm 2015-10-09 11:06:11.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
412 |
+++ tools/lib/Uname.pm 2016-02-22 17:51:57.685796845 -0800 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
413 |
@@ -54,7 +54,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
414 |
# The workaround for Perl 5.6: |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
415 |
# |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
416 |
BEGIN { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
417 |
- if ( $^O eq "darwin" or $^O eq "linux" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
418 |
+ if ( $^O eq "darwin" or $^O eq "linux" or $^O eq "solaris" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
419 |
require tools; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
420 |
import tools; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
421 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
422 |
@@ -67,10 +67,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
423 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
424 |
my @posix = qw{ kernel_name fqdn kernel_release kernel_version machine }; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
425 |
# Properties supported by POSIX::uname(). |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
426 |
-my @linux = |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
427 |
+my @solaris = |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
428 |
qw{ processor hardware_platform operating_system }; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
429 |
# Properties reported by uname in Linux* OS. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
430 |
-my @base = ( @posix, @linux ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
431 |
+my @base = ( @posix, @solaris ); |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
432 |
# Base properties. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
433 |
my @aux = |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
434 |
( |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
435 |
@@ -158,7 +158,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
436 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
437 |
# hardware_platform. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
438 |
if ( 0 ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
439 |
-} elsif ( $^O eq "linux" or $^O eq "freebsd" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
440 |
+} elsif ( $^O eq "linux" or $^O eq "freebsd" or $^O eq "solaris" ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
441 |
if ( 0 ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
442 |
} elsif ( $values{ machine } =~ m{\Ai[3456]86\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
443 |
$values{ hardware_platform } = "i386"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
444 |
@@ -172,6 +172,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
445 |
$values{ hardware_platform } = "ppc64"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
446 |
} elsif ( $values{ machine } =~ m{\Aaarch64\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
447 |
$values{ hardware_platform } = "aarch64"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
448 |
+ } elsif ( $values{ machine } =~ m{\Asun4v\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
449 |
+ $values{ hardware_platform } = "sparc"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
450 |
+ } elsif ( $values{ machine } =~ m{\Ai86pc\z} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
451 |
+ $values{ hardware_platform } = "i386"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
452 |
} else { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
453 |
die "Unsupported machine (\"$values{ machine }\") returned by POSIX::uname(); stopped"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
454 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
455 |
@@ -397,6 +401,8 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
456 |
$values{ operating_system } = "MS Windows"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
457 |
} elsif ( $values{ kernel_name } =~ m{\AFreeBSD} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
458 |
$values{ operating_system } = "FreeBSD"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
459 |
+} elsif ( $values{ kernel_name } =~ m{\ASunOS} ) { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
460 |
+ $values{ operating_system } = "SunOS"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
461 |
} else { |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
462 |
die "Unsupported kernel_name (\"$values{ kernel_name }\") returned by POSIX::uname(); stopped"; |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
463 |
}; # if |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
464 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
465 |
--- CMakeLists.txt 2015-10-09 11:06:06.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
466 |
+++ CMakeLists.txt 2016-08-15 11:12:39.936070302 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
467 |
@@ -72,8 +72,8 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
468 |
# If you want to change the compiler, then empty the build directory and rerun cmake. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
469 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
470 |
# Build Configuration |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
471 |
-set(os_possible_values lin mac win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
472 |
-set(arch_possible_values 32e 32 arm ppc64 ppc64le aarch64 mic) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
473 |
+set(os_possible_values lin sol mac win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
474 |
+set(arch_possible_values 32e 32 arm ppc64 ppc64le aarch64 sparc sparcv9 mic) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
475 |
set(build_type_possible_values release debug relwithdebinfo) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
476 |
set(omp_version_possible_values 41 40 30) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
477 |
set(lib_type_possible_values normal profile stubs) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
478 |
@@ -89,7 +89,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
479 |
if(${APPLE}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
480 |
set(temp_os mac) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
481 |
elseif(${UNIX}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
482 |
- set(temp_os lin) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
483 |
+ set(temp_os sol) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
484 |
elseif(${WIN32}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
485 |
set(temp_os win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
486 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
487 |
@@ -100,9 +100,9 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
488 |
get_architecture(detected_arch) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
489 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
490 |
set(LIBOMP_OS ${temp_os} CACHE STRING |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
491 |
- "The operating system to build for (lin/mac/win)") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
492 |
+ "The operating system to build for (lin/sol/mac/win)") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
493 |
set(LIBOMP_ARCH ${detected_arch} CACHE STRING |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
494 |
- "The architecture to build for (32e/32/arm/ppc64/ppc64le/aarch64/mic). 32e is Intel(R) 64 architecture, 32 is IA-32 architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
495 |
+ "The architecture to build for (32e/32/arm/ppc64/ppc64le/aarch64/sparc/sparcv9/mic). 32e is Intel(R) 64 architecture, 32 is IA-32 architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
496 |
set(LIBOMP_LIB_TYPE normal CACHE STRING |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
497 |
"Performance,Profiling,Stubs library (normal/profile/stubs)") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
498 |
set(LIBOMP_VERSION 5 CACHE STRING |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
499 |
@@ -148,12 +148,14 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
500 |
"Enable debugger interface code?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
501 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
502 |
# OMPT-support |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
503 |
-set(LIBOMP_OMPT_SUPPORT false CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
504 |
- "OMPT-support?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
505 |
-set(LIBOMP_OMPT_BLAME true CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
506 |
- "OMPT-blame?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
507 |
-set(LIBOMP_OMPT_TRACE true CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
508 |
- "OMPT-trace?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
509 |
+if (${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
510 |
+ set(LIBOMP_OMPT_SUPPORT true CACHE BOOL "OMPT-support") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
511 |
+else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
512 |
+ set(LIBOMP_OMPT_SUPPORT false CACHE BOOL "OMPT-support?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
513 |
+endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
514 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
515 |
+set(LIBOMP_OMPT_BLAME true CACHE BOOL "OMPT-blame?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
516 |
+set(LIBOMP_OMPT_TRACE true CACHE BOOL "OMPT-trace?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
517 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
518 |
# User specified flags. These are appended to the predetermined flags found |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
519 |
# in CommonFlags.cmake and ${CMAKE_C_COMPILER_ID}/*Flags.cmake (e.g., GNU/CFlags.cmake) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
520 |
@@ -231,6 +233,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
521 |
# Set some useful flags variables for other parts of cmake to use |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
522 |
# Operating System |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
523 |
set(LINUX FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
524 |
+set(SOLARIS FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
525 |
set(MAC FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
526 |
set(WINDOWS FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
527 |
set(MIC FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
528 |
@@ -241,6 +244,9 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
529 |
elseif("${LIBOMP_OS}" STREQUAL "mac") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
530 |
set(MAC TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
531 |
set(real_os mac) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
532 |
+elseif("${LIBOMP_OS}" STREQUAL "sol") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
533 |
+ set(SOLARIS TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
534 |
+ set(real_os sol) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
535 |
elseif("${LIBOMP_OS}" STREQUAL "win") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
536 |
set(WINDOWS TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
537 |
set(real_os win) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
538 |
@@ -257,6 +263,9 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
539 |
set(PPC64BE FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
540 |
set(PPC64LE FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
541 |
set(PPC64 FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
542 |
+set(SPARC FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
543 |
+set(SPARC32 FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
544 |
+set(SPARC64 FALSE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
545 |
if("${LIBOMP_ARCH}" STREQUAL "32") # IA-32 architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
546 |
set(IA32 TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
547 |
elseif("${LIBOMP_ARCH}" STREQUAL "32e") # Intel(R) 64 architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
548 |
@@ -269,6 +278,12 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
549 |
elseif("${LIBOMP_ARCH}" STREQUAL "ppc64le") # PPC64LE architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
550 |
set(PPC64LE TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
551 |
set(PPC64 TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
552 |
+ elseif("${LIBOMP_ARCH}" STREQUAL "sparc") # SPARC architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
553 |
+ set(SPARC TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
554 |
+ set(SPARC32 TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
555 |
+ elseif("${LIBOMP_ARCH}" STREQUAL "sparcv9") # SPARC architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
556 |
+ set(SPARC TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
557 |
+ set(SPARC64 TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
558 |
elseif("${LIBOMP_ARCH}" STREQUAL "aarch64") # AARCH64 architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
559 |
set(AARCH64 TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
560 |
elseif("${LIBOMP_ARCH}" STREQUAL "mic") # Intel(R) Many Integrated Core Architecture |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
561 |
@@ -303,6 +318,25 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
562 |
set(STUBS_LIBRARY TRUE) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
563 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
564 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
565 |
+# Re-set the libdir path now that we have a platform/arch. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
566 |
+if (${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
567 |
+ if (${SPARC64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
568 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
569 |
+ set(INSTALL_LIBDIR "/usr/lib/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
570 |
+ set(LIBOMP_LIBDIR_SUFFIX "/sparcv9") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
571 |
+ elseif(${INTEL64}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
572 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
573 |
+ set(INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
574 |
+ set(LIBOMP_LIBDIR_SUFFIX "/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
575 |
+ elseif("${LIBOMP_ARCH}" STREQUAL "32e") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
576 |
+ set(CMAKE_INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
577 |
+ set(INSTALL_LIBDIR "/usr/lib/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
578 |
+ set(LIBOMP_LIBDIR_SUFFIX "/amd64") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
579 |
+ else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
580 |
+ endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
581 |
+endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
582 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
583 |
+ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
584 |
############################################### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
585 |
# Features for compilation and build in general |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
586 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
587 |
@@ -312,7 +346,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
588 |
# - If COMPILER_SUPPORTS_QUAD_PRECISION is true, then a corresponding COMPILER_QUAD_TYPE must be given |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
589 |
# This is the compiler's quad-precision data type. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
590 |
# ** TODO: This isn't complete yet. Finish it. Requires changing macros in kmp_os.h ** |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
591 |
-set(LIBOMP_COMPILER_SUPPORTS_QUAD_PRECISION false CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
592 |
+set(LIBOMP_COMPILER_SUPPORTS_QUAD_PRECISION true CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
593 |
"*INCOMPLETE* Does the compiler support a 128-bit floating point type?") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
594 |
set(LIBOMP_COMPILER_QUAD_TYPE "" CACHE STRING |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
595 |
"*INCOMPLETE* The quad precision data type (e.g., for gcc, __float128)") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
596 |
@@ -340,7 +374,7 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
597 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
598 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
599 |
# - TSX based locks have __asm code which can be troublesome for some compilers. This feature is also x86 specific. |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
600 |
-if((${IA32} OR ${INTEL64} OR ${MIC}) AND NOT MSVC) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
601 |
+if((${IA32} OR ${INTEL64} OR ${MIC} OR ${SPARC32} OR ${SPARC64}) AND NOT MSVC) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
602 |
set(LIBOMP_USE_ADAPTIVE_LOCKS true CACHE BOOL |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
603 |
"Should TSX-based lock be compiled (adaptive lock in kmp_lock.cpp). These are x86 specific.") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
604 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
605 |
@@ -350,13 +384,13 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
606 |
################################## |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
607 |
# Error checking the configuration |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
608 |
if(${LIBOMP_STATS} AND (${WINDOWS} OR ${MAC})) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
609 |
- error_say("Stats-gathering functionality is only supported on x86-Linux and Intel(R) MIC Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
610 |
+ error_say("Stats-gathering functionality is only supported on x86-Linux, Solaris and Intel(R) MIC Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
611 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
612 |
-if(${LIBOMP_STATS} AND NOT (${IA32} OR ${INTEL64} OR ${MIC})) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
613 |
- error_say("Stats-gathering functionality is only supported on x86-Linux and Intel(R) MIC Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
614 |
+if(${LIBOMP_STATS} AND NOT (${IA32} OR ${INTEL64} OR ${MIC} OR ${SOLARIS})) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
615 |
+ error_say("Stats-gathering functionality is only supported on x86-Linux, Solaris and Intel(R) MIC Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
616 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
617 |
-if(${LIBOMP_USE_ADAPTIVE_LOCKS} AND NOT(${IA32} OR ${INTEL64} OR ${MIC})) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
618 |
- error_say("Adaptive locks (TSX) functionality is only supported on x86 Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
619 |
+if(${LIBOMP_USE_ADAPTIVE_LOCKS} AND NOT(${IA32} OR ${INTEL64} OR ${MIC} OR ${SPARC})) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
620 |
+ error_say("Adaptive locks (TSX) functionality is only supported on x86 or SPARC Architecture") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
621 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
622 |
if(${LIBOMP_OMPT_SUPPORT} AND ${WINDOWS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
623 |
error_say("OpenMP Tools Interface is not supported on Windows") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
624 |
@@ -390,6 +424,10 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
625 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
626 |
#################################### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
627 |
# Setting file extensions / suffixes |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
628 |
+if (${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
629 |
+ set(CMAKE_SHARED_LIBRARY_SUFFIX ".so.5") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
630 |
+else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
631 |
+endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
632 |
set(obj ${CMAKE_C_OUTPUT_EXTENSION}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
633 |
set(lib ${CMAKE_STATIC_LIBRARY_SUFFIX}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
634 |
set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
635 |
@@ -461,9 +499,11 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
636 |
set(export_lib_files "${lib_file}" "${imp_file}" "${pdb_file}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
637 |
set(export_mod_files "omp_lib.mod" "omp_lib_kinds.mod") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
638 |
set(export_cmn_files "omp.h" "omp_lib.h" "omp_lib.f" "omp_lib.f90") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
639 |
+set(export_ompt_files "ompt.h") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
640 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
641 |
if(${LIBOMP_OMPT_SUPPORT}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
642 |
- set(export_cmn_files ${export_cmn_files} "ompt.h") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
643 |
+ set(export_cmn_files "${export_cmn_files}" "${export_ompt_files}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
644 |
+ message(INFO ": export_cmn_files: ${export_cmn_files}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
645 |
endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
646 |
|
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
647 |
if("${export_lib_fat_dir}") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
648 |
### |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
649 |
--- cmake/SourceFiles.cmake 2015-10-09 11:06:06.000000000 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
650 |
+++ cmake/SourceFiles.cmake 2016-07-30 19:11:45.593975135 -0700 |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
651 |
@@ -126,6 +126,14 @@ |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
652 |
if(NOT ${STUBS_LIBRARY}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
653 |
if(${WINDOWS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
654 |
append_asm_source_file("z_Windows_NT-586_asm.asm") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
655 |
+ elseif(${SOLARIS}) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
656 |
+ set(UNAME "") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
657 |
+ execute_process(COMMAND uname -p OUTPUT_VARIABLE UNAME) |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
658 |
+ if("${UNAME}" MATCHES "sparc") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
659 |
+ append_asm_source_file("z_Solaris_asm_sparc.S") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
660 |
+ else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
661 |
+ append_asm_source_file("z_Linux_asm.s") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
662 |
+ endif() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
663 |
else() |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
664 |
append_asm_source_file("z_Linux_asm.s") |
c6cfc48dd184
PSARC 2016/236 Intel OpenMP Runtime
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
665 |
endif() |