components/intel-openmp/patches/000-libiomp-solaris-build-files.patch
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--
23245637 Deliver gnome-shell 3.18.3 in Solaris PSARC/2016/396 GNOME 3 Window Manager Bundle
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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()