[Openmp-commits] [openmp] r226272 - cleanup changes of cmake-building for Intel(R) Many Integrated Core Architecture

Andrey Churbanov Andrey.Churbanov at intel.com
Fri Jan 16 05:05:24 PST 2015


Author: achurbanov
Date: Fri Jan 16 07:05:23 2015
New Revision: 226272

URL: http://llvm.org/viewvc/llvm-project?rev=226272&view=rev
Log:
cleanup changes of cmake-building for Intel(R) Many Integrated Core Architecture

Modified:
    openmp/trunk/runtime/Build_With_CMake.txt
    openmp/trunk/runtime/CMakeLists.txt
    openmp/trunk/runtime/cmake/BuildPLRules.cmake
    openmp/trunk/runtime/cmake/CommonFlags.cmake
    openmp/trunk/runtime/cmake/Definitions.cmake
    openmp/trunk/runtime/cmake/Intel/CFlags.cmake
    openmp/trunk/runtime/cmake/MicroTests.cmake

Modified: openmp/trunk/runtime/Build_With_CMake.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/Build_With_CMake.txt?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/Build_With_CMake.txt (original)
+++ openmp/trunk/runtime/Build_With_CMake.txt Fri Jan 16 07:05:23 2015
@@ -58,7 +58,7 @@ Instructions to Build
  $ cmake -DCMAKE_C_COMPILER=<C Compiler> -DCMAKE_CXX_COMPILER=<C++ Compiler> ..
 
  [ Intel(R) Many Integrated Core Library (Intel(R) MIC Library) ]
- $ cmake -DCMAKE_C_COMPILER=<C Compiler> -DCMAKE_CXX_COMPILER=<C++ Compiler> -Dos=mic -Darch=32e ..
+ $ cmake -DCMAKE_C_COMPILER=<C Compiler> -DCMAKE_CXX_COMPILER=<C++ Compiler> -Darch=mic ..
 
  [ Windows Libraries ]
  $ cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=<C Compiler> -DCMAKE_CXX_COMPILER=<C++ Compiler> -DCMAKE_ASM_MASM_COMPILER=[ml | ml64] -DCMAKE_BUILD_TYPE=Release ..
@@ -104,15 +104,14 @@ Build options
 ==========================
 ==== Operating System ====
 ==========================
--Dos=lin|mac|win|mic
-* Operating system can be lin (Linux*), mac (Mac*), win (Windows*), or
-  mic (Intel(R) Many Integrated Core Architecture (Intel(R) MIC Architecture)).
+-Dos=lin|mac|win
+* Operating system can be lin (Linux*), mac (Mac*), or win (Windows*). 
   If not specified, cmake will try to determine your current operating system.
 
 ======================
 ==== Architecture ====
 ======================
--Darch=32|32e|arm|ppc64|aarch64
+-Darch=32|32e|arm|ppc64|aarch64|mic
 * Architecture can be 32 (IA-32 architecture), 32e (Intel(R) 64 architecture),
   arm (ARM architecture), aarch64 (ARMv8 architecture) or ppc64 (PPC64 architecture).
   This option, by default is chosen based on the
@@ -140,10 +139,6 @@ OpenMP version can be either 40 or 30.
 Intel(R) MIC Architecture, can be knf or knc.
 This value is ignored if os != mic
   
--Dmic_os=lin|bsd
-Operating system on Intel(R) MIC Architecture.
-Can be either bsd or lin.  This value is ignored if os != mic
-
 -Dcreate_fortran_modules=off|on
 Should the Fortran modules be created (requires Fortran compiler)
 
@@ -195,6 +190,18 @@ These are x86 specific.  This feature is
 for IA-32 architecture and Intel(R) 64 architecture. 
 Otherwise, it is turned off.
 
+-DUSE_INTERNODE_ALIGNMENT=false|true
+Should 4096-byte alignment be used for certain data structures?
+This option is useful on multinode systems where a small CACHE_LINE
+setting leads to false sharing.  This option is off by default.
+
+-DUSE_VERSION_SYMBOLS=true|false
+Should versioned symbols be used for building the library?
+This option only makes sense for ELF based libraries where version
+symbols are supported (Linux, some BSD* variants).  It is off
+by default for Windows and Mac, but on for other Unix based operating
+systems.
+
 -DUSE_PREDEFINED_LINKER_FLAGS=true|false
 Should the predefined linker flags in CommonFlags.cmake be included
 in the link command? This is true by default and should work for

Modified: openmp/trunk/runtime/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/CMakeLists.txt?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/CMakeLists.txt (original)
+++ openmp/trunk/runtime/CMakeLists.txt Fri Jan 16 07:05:23 2015
@@ -49,13 +49,12 @@ include(GetArchitecture) # get_architect
 # If you want to change the compiler, then empty the build directory and rerun cmake.
 
 # Build Configuration
-set(os_possible_values          lin mac win mic)
-set(arch_possible_values        32e 32 arm ppc64 aarch64)
+set(os_possible_values          lin mac win)
+set(arch_possible_values        32e 32 arm ppc64 aarch64 mic)
 set(build_type_possible_values  release debug relwithdebinfo)
 set(omp_version_possible_values 40 30)
 set(lib_type_possible_values    normal profile stubs)
 set(mic_arch_possible_values    knf knc)
-set(mic_os_possible_values      bsd lin)
 
 # Below, cmake will try and determine the operating system and architecture for you.
 # These values are set in CMakeCache.txt when cmake is first run (-Dvar_name=... will take precedence)
@@ -75,14 +74,13 @@ endif()
 # If adding a new architecture, take a look at cmake/GetArchitecture.cmake
 get_architecture(detected_arch)
 
-set(os            ${temp_os}     CACHE STRING "The operating system to build for (lin/mac/win/mic)")
-set(arch          ${detected_arch}   CACHE STRING "The architecture to build for (32e/32/arm/ppc64).  32e is Intel(R) 64 architecture, 32 is IA-32 architecture")
+set(os            ${temp_os}     CACHE STRING "The operating system to build for (lin/mac/win)")
+set(arch          ${detected_arch}   CACHE STRING "The architecture to build for (32e/32/arm/ppc64/aarch64/mic).  32e is Intel(R) 64 architecture, 32 is IA-32 architecture")
 set(lib_type       normal        CACHE STRING "Performance,Profiling,Stubs library (normal/profile/stubs)")
 set(version        5             CACHE STRING "Produce libguide (version 4) or libiomp5 (version 5)")
 set(omp_version    40            CACHE STRING "The OpenMP version (40/30)")
 set(mic_arch       knc           CACHE STRING "Intel(R) Many Integrated Core Architecture (Intel(R) MIC Architecture) (knf/knc).   Ignored if not Intel(R) MIC Architecture build.")
-set(mic_os         lin           CACHE STRING "Intel(R) MIC Architecture operating system (bsd/lin).   Ignored if not Intel(R) MIC Architecture build.")
-set(create_fortran_modules false CACHE STRING "Create Fortran module files? (requires fortran compiler)")
+set(create_fortran_modules false CACHE BOOL   "Create Fortran module files? (requires fortran compiler)")
 
 # - These tests are little tests performed after the library is formed.
 # - The library won't be copied to the exports directory until it has passed/skipped all below tests
@@ -98,13 +96,13 @@ set(tests           false        CACHE B
 #   particular openmp regions are recorded.
 set(stats           false         CACHE BOOL   "Stats-Gathering functionality?"                         )
 
-# User specified flags.  These are appended to the predetermined flags found in CommonFlags.cmake and ${CMAKE_C_COMPILER_ID}/*Flags.cmake (i.e., GNU/CFlags.cmake)
+# User specified flags.  These are appended to the predetermined flags found in CommonFlags.cmake and ${CMAKE_C_COMPILER_ID}/*Flags.cmake (e.g., GNU/CFlags.cmake)
 set(USER_C_FLAGS      "" CACHE STRING "Appended user specified C compiler flags."             )
 set(USER_CXX_FLAGS    "" CACHE STRING "Appended user specified C++ compiler flags."           )
 set(USER_CPP_FLAGS    "" CACHE STRING "Appended user specified C preprocessor flags."         )
 set(USER_ASM_FLAGS    "" CACHE STRING "Appended user specified assembler flags."              )
 set(USER_LD_FLAGS     "" CACHE STRING "Appended user specified linker flags."                 )
-set(USER_LD_LIB_FLAGS "" CACHE STRING "Appended user specified linked libs flags. (i.e., -lm)")
+set(USER_LD_LIB_FLAGS "" CACHE STRING "Appended user specified linked libs flags. (e.g., -lm)")
 set(USER_F_FLAGS      "" CACHE STRING "Appended user specified Fortran compiler flags.  These are only used if create_fortran_modules==true."       )
 
 # - Allow three build types: Release, Debug, RelWithDebInfo (these relate to build.pl's release, debug, and diag settings respectively)
@@ -130,9 +128,8 @@ check_variable(os          "${os_possibl
 check_variable(arch        "${arch_possible_values}"       )
 check_variable(omp_version "${omp_version_possible_values}")
 check_variable(lib_type    "${lib_type_possible_values}"   )
-if("${os}" STREQUAL "mic")
+if("${arch}" STREQUAL "mic")
     check_variable(mic_arch "${mic_arch_possible_values}"  )
-    check_variable(mic_os   "${mic_os_possible_values}"    )
 endif()
 # Get the build number from kmp_version.c
 get_build_number("${LIBOMP_WORK}" build_number)
@@ -158,9 +155,6 @@ elseif("${os}" STREQUAL "mac")
 elseif("${os}" STREQUAL "win")
     set(WINDOWS TRUE)
     set(real_os win)
-elseif("${os}" STREQUAL "mic")
-    set(MIC TRUE)
-    set(real_os lrb)
 endif()
 if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
     set(FREEBSD TRUE)
@@ -182,6 +176,8 @@ elseif("${arch}" STREQUAL "aarch64") # A
     set(AARCH64 TRUE)
 elseif("${arch}" STREQUAL "ppc64") # PPC64 architecture
     set(PPC64 TRUE)
+elseif("${arch}" STREQUAL "mic") # Intel(R) Many Integrated Core Architecture
+    set(MIC TRUE)
 endif()
 
 # Set some flags based on build_type
@@ -228,7 +224,7 @@ endif()
 #   This is the compiler's quad-precision data type.
 # ** TODO: This isn't complete yet. Finish it. Requires changing macros in kmp_os.h **
 set(COMPILER_SUPPORTS_QUAD_PRECISION false CACHE BOOL   "*INCOMPLETE* Does the compiler support a 128-bit floating point type?")
-set(COMPILER_QUAD_TYPE               ""    CACHE STRING "*INCOMPLETE* The quad precision data type (i.e., for gcc, __float128)")
+set(COMPILER_QUAD_TYPE               ""    CACHE STRING "*INCOMPLETE* The quad precision data type (e.g., for gcc, __float128)")
 
 # - Should the orignal build rules for builds be used? (cmake/OriginalBuildRules.cmake).  This setting is off by default.
 # - This always compiles with -g.  And if it is a release build, the debug info is stripped out via objcopy and put into libiomp5.dbg.
@@ -245,14 +241,14 @@ set(USE_INTERNODE_ALIGNMENT false CACHE
 if(${LINUX} AND NOT ${PPC64})
     set(USE_VERSION_SYMBOLS true CACHE BOOL "Should version symbols be used? These provide binary compatibility with libgomp.")
 else()
-    set(USE_VERSION_SYMBOLS false CACHE BOOL "Should version symbols be used? These provide binary compatibility with libgomp.")
+    set(USE_VERSION_SYMBOLS false CACHE BOOL "Version symbols not supported." FORCE)
 endif()
 
 # - TSX based locks have __asm code which can be troublesome for some compilers.  This feature is also x86 specific.
 if(${IA32} OR ${INTEL64})
     set(USE_ADAPTIVE_LOCKS true CACHE BOOL "Should TSX-based lock be compiled (adaptive lock in kmp_lock.cpp).  These are x86 specific.")
 else()
-    set(USE_ADAPTIVE_LOCKS false CACHE BOOL "Should TSX-based lock be compiled (adaptive lock in kmp_lock.cpp).  These are x86 specific.")
+    set(USE_ADAPTIVE_LOCKS false CACHE BOOL "TSX-based locks not supported.  These are x86 specific." FORCE)
 endif()
 
 ##################################
@@ -260,7 +256,7 @@ endif()
 if(${STATS_GATHERING} AND (${WINDOWS} OR ${MAC}))
     error_say("Stats-gathering functionality is only supported on x86-Linux and Intel(R) MIC Architecture")
 endif()
-if(${STATS_GATHERING} AND NOT (${IA32} OR ${INTEL64}))
+if(${STATS_GATHERING} AND NOT (${IA32} OR ${INTEL64} OR ${MIC}))
     error_say("Stats-gathering functionality is only supported on x86-Linux and Intel(R) MIC Architecture")
 endif()
 if(${USE_ADAPTIVE_LOCKS} AND NOT(${IA32} OR ${INTEL64}))
@@ -283,14 +279,6 @@ endif()
 if(${STATS_GATHERING})
     set(suffix "${suffix}.s1")
 endif()
-if(${MIC})
-    if(NOT "${mic_arch}" STREQUAL "knf")
-        set(suffix "${suffix}.${mic_arch}")
-    endif()
-    if(NOT "${mic_os}" STREQUAL "bsd")
-        set(suffix "${suffix}.${mic_os}")
-    endif()
-endif()
 
 ####################################
 # Setting file extensions / suffixes
@@ -308,15 +296,19 @@ endif()
 
 #########################
 # Setting directory names
-set(platform       "${real_os}_${arch}"                ) # i.e., lin_32e, mac_32
+if(${MIC})
+    set(platform       "${real_os}_${mic_arch}"        ) # e.g., lin_knf, lin_knc
+else()
+    set(platform       "${real_os}_${arch}"            ) # e.g., lin_32e, mac_32
+endif()
 set(build_dir      "${CMAKE_CURRENT_BINARY_DIR}"       ) # build directory (Where CMakeCache.txt is created, build files generated)
 set(src_dir        "${LIBOMP_WORK}/src"                )
 set(tools_dir      "${LIBOMP_WORK}/tools"              ) 
 set(export_dir     "${LIBOMP_WORK}/exports"            ) 
 set(export_cmn_dir "${export_dir}/common${suffix}"     ) 
 set(export_ptf_dir "${export_dir}/${platform}${suffix}")
-_export_lib_dir(${platform} export_lib_dir)  # set exports directory (relative to build_dir) i.e., ../exports/lin_32e/lib/
-                                             # or i.e., ../exports/mac_32e/lib.thin/ for mac
+_export_lib_dir(${platform} export_lib_dir)  # set exports directory (relative to build_dir) e.g., ../exports/lin_32e/lib/
+                                             # or ../exports/mac_32e/lib.thin/ for mac
 if(${MAC})
     # macs use lib.thin/ subdirectory for non-fat libraries that only contain one architecture
     # macs use lib/ subdirectory for fat libraries that contain both IA-32 architecture and Intel(R) 64 architecture code.
@@ -617,7 +609,7 @@ set_target_properties(iomp5 PROPERTIES
 add_dependencies(lib iomp5)
 
 # Linking command will include libraries in LD_LIB_FLAGS
-target_link_libraries(iomp5 ${LD_LIB_FLAGS})
+target_link_libraries(iomp5 ${LD_LIB_FLAGS} ${CMAKE_DL_LIBS})
 
 # Create *.inc and omp.h before compiling any sources
 add_dependencies(iomp5 needed-headers)
@@ -649,7 +641,7 @@ if(${ARM})
     set_source_files_properties(${src_dir}/z_Linux_asm.s PROPERTIES COMPILE_DEFINITIONS "KMP_ARCH_ARM")
 elseif(${AARCH64})
     set_source_files_properties(${src_dir}/z_Linux_asm.s PROPERTIES COMPILE_DEFINITIONS "KMP_ARCH_AARCH64")     
-elseif(${INTEL64})
+elseif(${INTEL64} OR ${MIC})
     set_source_files_properties(${src_dir}/z_Linux_asm.s PROPERTIES COMPILE_DEFINITIONS "KMP_ARCH_X86_64")
 elseif(${IA32})
     set_source_files_properties(${src_dir}/z_Linux_asm.s PROPERTIES COMPILE_DEFINITIONS "KMP_ARCH_X86")
@@ -819,14 +811,13 @@ expand_vars_recipe(libiomp.rc)
 say("")
 say("----------------------- CONFIGURATION -----------------------")
 say("Operating System   : ${os}")
-say("Architecture       : ${arch}")
-say("Build Type         : ${CMAKE_BUILD_TYPE}")
-say("OpenMP Version     : ${omp_version}")
-say("Lib Type           : ${lib_type}")
+say("Target Architecture  : ${arch}")
 if(${MIC})
     say("Intel(R) MIC Architecture    : ${mic_arch}")
-    say("Intel(R) MIC Architecture OS : ${mic_os}")
 endif()
+say("Build Type           : ${CMAKE_BUILD_TYPE}")
+say("OpenMP Version       : ${omp_version}")
+say("Lib Type             : ${lib_type}")
 say("Fortran Modules    : ${create_fortran_modules}")
 # will say development if all zeros
 if("${build_number}" STREQUAL "00000000")

Modified: openmp/trunk/runtime/cmake/BuildPLRules.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/cmake/BuildPLRules.cmake?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/cmake/BuildPLRules.cmake (original)
+++ openmp/trunk/runtime/cmake/BuildPLRules.cmake Fri Jan 16 07:05:23 2015
@@ -10,8 +10,9 @@
 #
 
 ###############################################################################
-# This file contains additional build rules that correspond to build.pl's rules
+# This file contains additional build rules that correspond to build.pl's rules.
 # Building libiomp5.dbg is linux only, Windows will build libiomp5md.dll.pdb
+# This file is only active if ${USE_BUILDPL_RULES} is true.
 #
 #                        ######### BUILD DEPENDENCIES ##########
 #

Modified: openmp/trunk/runtime/cmake/CommonFlags.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/cmake/CommonFlags.cmake?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/cmake/CommonFlags.cmake (original)
+++ openmp/trunk/runtime/cmake/CommonFlags.cmake Fri Jan 16 07:05:23 2015
@@ -103,7 +103,6 @@ function(append_linker_flags_common inpu
             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
             if(NOT ${STUBS_LIBRARY})
                 append_linker_flags_library("-pthread") # link in pthread library
-                append_linker_flags_library("-ldl") # link in libdl (dynamic loader library)
             endif()
             if(${STATS_GATHERING})
                 append_linker_flags_library("-Wl,-lstdc++") # link in standard c++ library (stats-gathering needs it)
@@ -121,9 +120,6 @@ function(append_linker_flags_common inpu
                                                                          # executable or shared object is unloaded, by setting DT_FINI to the 
                                                                          # address of the function.  By default, the linker uses "_fini" as the function to call.
                 append_linker_flags_library("-pthread") # link pthread library
-                if(NOT ${FREEBSD})
-                    append_linker_flags_library("-Wl,-ldl") # link in libdl (dynamic loader library)
-                endif()
             endif()
         endif() # if(${OPERATING_SYSTEM}) ...
 

Modified: openmp/trunk/runtime/cmake/Definitions.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/cmake/Definitions.cmake?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/cmake/Definitions.cmake (original)
+++ openmp/trunk/runtime/cmake/Definitions.cmake Fri Jan 16 07:05:23 2015
@@ -69,11 +69,8 @@ function(append_cpp_flags input_cpp_flag
         endif()
     endif()
 
-    #######################################
-    # Intel(R) MIC Architecture definitions
-    if(${MIC})
-        append_definitions("-D KMP_TDATA_GTID")
-    else() # Other than Intel(R) MIC Architecture...
+    # Any architecture other than Intel(R) MIC Architecture
+    if(NOT ${MIC}) 
         append_definitions("-D USE_LOAD_BALANCE")
     endif()
 

Modified: openmp/trunk/runtime/cmake/Intel/CFlags.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/cmake/Intel/CFlags.cmake?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/cmake/Intel/CFlags.cmake (original)
+++ openmp/trunk/runtime/cmake/Intel/CFlags.cmake Fri Jan 16 07:05:23 2015
@@ -55,19 +55,20 @@ function(append_compiler_specific_c_and_
         append_c_and_cxx_flags("-Qoption,cpp,--extended_float_types") # Enabled _Quad type.
         append_c_and_cxx_flags("-fno-exceptions") # Exception handling table generation is disabled.
         append_c_and_cxx_flags("-x c++") # Compile C files as C++ files
+        if(${LINUX})
+            if(NOT ${MIC})
+                append_c_and_cxx_flags("-Werror") # Changes all warnings to errors.
+            endif()
+            append_c_and_cxx_flags("-sox") # Tells the compiler to save the compilation options and version number 
+                                           # in the executable file. It also lets you choose whether to include 
+                                           # lists of certain functions.
         if(${MIC})
             append_c_and_cxx_flags("-mmic") # Build Intel(R) MIC Architecture native code
             append_c_and_cxx_flags("-ftls-model=initial-exec") # Changes the thread local storage (TLS) model. Generates a restrictive, optimized TLS code. 
                                                                # To use this setting, the thread-local variables accessed must be defined in one of the 
                                                                # modules available to the program.
             append_c_and_cxx_flags("-opt-streaming-stores never") # Disables generation of streaming stores for optimization.
-            append_c_and_cxx_flags("-sox") # Tells the compiler to save the compilation options and version number 
-                                           # in the executable file. It also lets you choose whether to include 
-                                           # lists of certain functions.
-        elseif(${LINUX})
-            append_c_and_cxx_flags("-Werror") # Changes all warnings to errors.
-            append_c_and_cxx_flags("-sox") 
-            if(${IA32})
+            elseif(${IA32})
                 append_c_and_cxx_flags("-falign-stack=maintain-16-byte") # Tells the compiler the stack alignment to use on entry to routines.
                 append_c_and_cxx_flags("-mia32")  # Tells the compiler which features it may target (ia32)
             endif()
@@ -140,15 +141,16 @@ function(append_compiler_specific_linker
         if(${STATS_GATHERING})
             append_linker_flags_library("-Wl,-lstdc++") # link in standard c++ library (stats-gathering needs it)
         endif()
-    elseif(${MIC})
+    else()
+        if(${MIC})
         append_linker_flags("-mmic") # enable MIC linking
-        append_linker_flags("-static-intel") # Causes Intel-provided libraries to be linked in statically. 
         append_linker_flags("-no-intel-extensions") # Enables or disables all Intel C and Intel C++ language extensions.
-    else()
+        elseif(${IA32})
+            append_linker_flags_library("-lirc_pic") # link in libirc_pic
+        endif()
         append_linker_flags("-static-intel") # Causes Intel-provided libraries to be linked in statically.
+        if(NOT ${MIC})
         append_linker_flags("-Werror") # Warnings become errors
-        if(${IA32})
-            append_linker_flags_library("-lirc_pic") # link in libirc_pic
         endif()
     endif()
 

Modified: openmp/trunk/runtime/cmake/MicroTests.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/cmake/MicroTests.cmake?rev=226272&r1=226271&r2=226272&view=diff
==============================================================================
--- openmp/trunk/runtime/cmake/MicroTests.cmake (original)
+++ openmp/trunk/runtime/cmake/MicroTests.cmake Fri Jan 16 07:05:23 2015
@@ -157,7 +157,7 @@ endif()
 
 # test-relo 
 add_custom_target(test-relo DEPENDS test-relo/.success)
-if((${LINUX} OR ${MIC}) AND ${test_relo} AND ${tests})
+if(${LINUX} AND ${test_relo} AND ${tests})
     file(MAKE_DIRECTORY ${build_dir}/test-relo)
     add_custom_command(
         OUTPUT  test-relo/.success
@@ -184,7 +184,7 @@ if(${LINUX} AND ${test_execstack} AND ${
     file(MAKE_DIRECTORY ${build_dir}/test-execstack)
     add_custom_command(
         OUTPUT  test-execstack/.success
-        COMMAND ${PERL_EXECUTABLE} ${tools_dir}/check-execstack.pl ${build_dir}/${lib_file}
+        COMMAND ${PERL_EXECUTABLE} ${tools_dir}/check-execstack.pl ${oa_opts} ${build_dir}/${lib_file}
         COMMAND ${CMAKE_COMMAND} -E touch test-execstack/.success
         DEPENDS ${build_dir}/${lib_file}
     )
@@ -206,7 +206,7 @@ if(${MIC} AND ${test_instr} AND ${tests}
     file(MAKE_DIRECTORY ${build_dir}/test-instr)
     add_custom_command(
         OUTPUT  test-instr/.success
-        COMMAND ${PERL_EXECUTABLE} ${tools_dir}/check-instruction-set.pl ${oa_opts} --show --mic-arch=${mic_arch} --mic-os=${mic_os} ${build_dir}/${lib_file}
+        COMMAND ${PERL_EXECUTABLE} ${tools_dir}/check-instruction-set.pl ${oa_opts} --show --mic-arch=${mic_arch} ${build_dir}/${lib_file}
         COMMAND ${CMAKE_COMMAND} -E touch test-instr/.success
         DEPENDS ${build_dir}/${lib_file} ${tools_dir}/check-instruction-set.pl
     )
@@ -228,7 +228,22 @@ if(${test_deps} AND ${tests})
     set(td_exp)
     if(${FREEBSD})
         set(td_exp libc.so.7 libthr.so.3 libunwind.so.5)
+    elseif(${MAC})
+        set(td_exp /usr/lib/libSystem.B.dylib)
+    elseif(${WINDOWS})
+        set(td_exp kernel32.dll)
     elseif(${LINUX})
+        if(${MIC})
+            set(td_exp libc.so.6,libpthread.so.0,libdl.so.2)
+            if(${STD_CPP_LIB})
+                set(td_exp ${td_exp},libstdc++.so.6)
+            endif()
+            if("${mic_arch}" STREQUAL "knf")
+                set(td_exp ${td_exp},ld-linux-l1om.so.2,libgcc_s.so.1)
+            elseif("${mic_arch}" STREQUAL "knc")
+                set(td_exp ${td_exp},ld-linux-k1om.so.2)
+            endif()
+        else()
         set(td_exp libdl.so.2,libgcc_s.so.1)
         if(${IA32})
             set(td_exp ${td_exp},libc.so.6,ld-linux.so.2)  
@@ -245,24 +260,7 @@ if(${test_deps} AND ${tests})
         if(NOT ${STUBS_LIBRARY})
             set(td_exp ${td_exp},libpthread.so.0)
         endif()
-    elseif(${MIC})
-        if("${mic_os}" STREQUAL "lin")
-            set(td_exp libc.so.6,libpthread.so.0,libdl.so.2)
-            if(${STD_CPP_LIB})
-                set(td_exp ${td_exp},libstdc++.so.6)
             endif()
-            if("${mic_arch}" STREQUAL "knf")
-                set(td_exp ${td_exp},ld-linux-l1om.so.2,libgcc_s.so.1)
-            elseif("${mic_arch}" STREQUAL "knc")
-                set(td_exp ${td_exp},ld-linux-k1om.so.2)
-            endif()
-        elseif("${mic_os}" STREQUAL "bsd")
-            set(td_exp libc.so.7,libthr.so.3,libunwind.so.5)
-        endif()
-    elseif(${MAC})
-        set(td_exp /usr/lib/libSystem.B.dylib)
-    elseif(${WINDOWS})
-        set(td_exp kernel32.dll)
     endif()
 
     file(MAKE_DIRECTORY ${build_dir}/test-deps)





More information about the Openmp-commits mailing list