Browse Source

CMakeDetermineCompilerABI: Parse library arch from versioned paths

Teach CMake how to extract `CMAKE_<LANG>_LIBRARY_ARCHITECTURE` from
versioned paths such as `/usr/lib/gcc/x86_64-linux-gnu/9`. These kind of
paths are generated by NVHPC compilers.
Robert Maynard 4 years ago
parent
commit
657fc3a9a7
27 changed files with 112 additions and 22 deletions
  1. 4 21
      Modules/CMakeDetermineCompilerABI.cmake
  2. 56 0
      Modules/CMakeParseLibraryArchitecture.cmake
  3. 1 0
      Modules/Platform/Linux.cmake
  4. 28 1
      Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake
  5. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-GNU-7.3.0.output
  6. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-Intel-18.0.0.20170811.output
  7. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-PGI-18.10.1.output
  8. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-XL-12.1.0.output
  9. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-XL-16.1.0.0.output
  10. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-10.1.168-CLANG.output
  11. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-10.1.168-XLClang-v.output
  12. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-9.2.148-GCC.output
  13. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-GNU-7.3.0.output
  14. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-Intel-18.0.0.20170811.output
  15. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-PGI-18.10.1.output
  16. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-XL-12.1.0.output
  17. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-XL-16.1.0.0.output
  18. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-GNU-7.3.0.output
  19. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-PGI-18.10.1.output
  20. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-XL-14.1.0.output
  21. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-C-PGI-18.10.1.output
  22. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-C-XL-12.1.0.output
  23. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-CXX-PGI-18.10.1.output
  24. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-CXX-XL-12.1.0.output
  25. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-Fortran-PGI-18.10.1.output
  26. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc_i-C-XL-12.1.0.output
  27. 1 0
      Tests/RunCMake/ParseImplicitLinkInfo/results/linux_pgf77-Fortran-PGI-18.10.1.output

+ 4 - 21
Modules/CMakeDetermineCompilerABI.cmake

@@ -8,6 +8,7 @@
 
 include(${CMAKE_ROOT}/Modules/CMakeParseImplicitIncludeInfo.cmake)
 include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
+include(${CMAKE_ROOT}/Modules/CMakeParseLibraryArchitecture.cmake)
 include(CMakeTestCompilerCommon)
 
 function(CMAKE_DETERMINE_COMPILER_ABI lang src)
@@ -175,27 +176,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
       set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
       set(CMAKE_${lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "${implicit_fwks}" PARENT_SCOPE)
 
-      # Detect library architecture directory name.
-      if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
-        foreach(dir ${implicit_dirs})
-          if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
-            get_filename_component(arch "${dir}" NAME)
-            set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE)
-            break()
-          endif()
-        endforeach()
-      elseif(CMAKE_CXX_COMPILER_ID STREQUAL QCC)
-        foreach(dir ${implicit_dirs})
-          if (dir MATCHES "/lib$")
-            get_filename_component(assumedArchDir "${dir}" DIRECTORY)
-            get_filename_component(archParentDir "${assumedArchDir}" DIRECTORY)
-            if (archParentDir STREQUAL CMAKE_SYSROOT)
-              get_filename_component(archDirName "${assumedArchDir}" NAME)
-              set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${archDirName}" PARENT_SCOPE)
-              break()
-            endif()
-          endif()
-        endforeach()
+      cmake_parse_library_architecture("${implicit_dirs}" architecture_flag)
+      if(architecture_flag)
+        set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${architecture_flag}" PARENT_SCOPE)
       endif()
 
     else()

+ 56 - 0
Modules/CMakeParseLibraryArchitecture.cmake

@@ -0,0 +1,56 @@
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0053 NEW)
+cmake_policy(SET CMP0054 NEW)
+
+# Function parse implicit linker options.
+# This is used internally by CMake and should not be included by user
+# code.
+
+function(cmake_parse_library_architecture implicit_dirs output_var)
+  unset(library_arch)
+  # Detect library architecture directory name.
+  if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
+    foreach(dir ${implicit_dirs})
+      if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
+        get_filename_component(arch "${dir}" NAME)
+        set(library_arch "${arch}")
+        break()
+      endif()
+    endforeach()
+  endif()
+
+  if(CMAKE_LIBRARY_ARCHITECTURE_REGEX_VERSIONED AND NOT library_arch)
+    foreach(dir ${implicit_dirs})
+      if("${dir}" MATCHES "/${CMAKE_LIBRARY_ARCHITECTURE_REGEX_VERSIONED}$")
+        get_filename_component(arch "${dir}" DIRECTORY)
+        get_filename_component(arch "${arch}" NAME)
+        set(library_arch "${arch}")
+        break()
+      endif()
+    endforeach()
+  endif()
+
+  if(CMAKE_CXX_COMPILER_ID STREQUAL QCC)
+    foreach(dir ${implicit_dirs})
+      if (dir MATCHES "/lib$")
+        get_filename_component(assumedArchDir "${dir}" DIRECTORY)
+        get_filename_component(archParentDir "${assumedArchDir}" DIRECTORY)
+        if (archParentDir STREQUAL CMAKE_SYSROOT)
+          get_filename_component(archDirName "${assumedArchDir}" NAME)
+          set(library_arch "${archDirName}")
+          break()
+        endif()
+      endif()
+    endforeach()
+  endif()
+
+  # Return results.
+  if(library_arch)
+    set(${output_var} "${library_arch}" PARENT_SCOPE)
+  endif()
+endfunction()
+
+cmake_policy(POP)

+ 1 - 0
Modules/Platform/Linux.cmake

@@ -48,6 +48,7 @@ endif()
 
 # Match multiarch library directory names.
 set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
+set(CMAKE_LIBRARY_ARCHITECTURE_REGEX_VERSIONED "gcc/[a-z0-9_]+(-[a-z0-9_]+)?-linux(-gnu)?/[0-9]+(\\.[0-9]+\\.[0-9]+)*")
 
 include(Platform/UnixPaths)
 

+ 28 - 1
Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake

@@ -50,6 +50,7 @@ else()
 endif()
 
 include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
+include(${CMAKE_ROOT}/Modules/CMakeParseLibraryArchitecture.cmake)
 
 #
 # load_compiler_info: read infile, parsing out cmake compiler info
@@ -80,6 +81,7 @@ function(load_compiler_info infile lang_var outcmvars_var outstr_var)
     message("load_compiler_info: ${infile} no LANG info; default to C")
     set(lang C)
   endif()
+
   set(${lang_var} "${lang}" PARENT_SCOPE)
   set(${outcmvars_var} "${outcmvars}" PARENT_SCOPE)
   set(${outstr_var} "${outstr}" PARENT_SCOPE)
@@ -94,6 +96,21 @@ function(unload_compiler_info cmvars)
   endforeach()
 endfunction()
 
+
+#
+# load_platform_info: establish CMAKE_LIBRARY_ARCHITECTURE_REGEX
+# based on the target platform.
+#
+function(load_platform_info target)
+  if(target MATCHES "linux-")
+    set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*" PARENT_SCOPE)
+    set(CMAKE_LIBRARY_ARCHITECTURE_REGEX_VERSIONED "gcc/[a-z0-9_]+(-[a-z0-9_]+)?-linux(-gnu)?/[0-9]+(\\.[0-9]+\\.[0-9]+)*" PARENT_SCOPE)
+  else()
+    unset(CMAKE_LIBRARY_ARCHITECTURE_REGEX PARENT_SCOPE)
+    unset(CMAKE_LIBRARY_ARCHITECTURE_REGEX_VERSIONED PARENT_SCOPE)
+  endif()
+endfunction()
+
 #
 # main test loop
 #
@@ -112,10 +129,12 @@ foreach(t ${targets})
   endif()
 
   load_compiler_info(${infile} lang cmvars input)
+  load_platform_info(${t})
 
   # Need to handle files with empty entries for both libs or dirs
   set(implicit_lib_output "")
   set(idirs_output "")
+  set(library_arch_output "")
   file(STRINGS ${outfile} outputs)
   foreach(line IN LISTS outputs)
     if(line MATCHES "libs=")
@@ -124,13 +143,19 @@ foreach(t ${targets})
     if(line MATCHES "dirs=")
       string(REPLACE "dirs=" "" idirs_output "${line}")
     endif()
+    if(line MATCHES "library_arch=")
+      string(REPLACE "library_arch=" "" library_arch_output "${line}")
+    endif()
   endforeach()
 
   cmake_parse_implicit_link_info("${input}" implicit_libs idirs implicit_fwks log
       "${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
 
+  set(library_arch)
+  cmake_parse_library_architecture("${idirs}" library_arch)
+
   # File format
-  # file(WRITE ${outfile} "libs=${implicit_libs}\ndirs=${idirs}\n")
+  # file(WRITE ${outfile} "libs=${implicit_libs}\ndirs=${idirs}\nlibrary_arch=${library_arch}")
 
   if(t MATCHES "-empty$")          # empty isn't supposed to parse
     if("${state}" STREQUAL "done")
@@ -140,6 +165,8 @@ foreach(t ${targets})
     message("${t} parse failed: state=${state}, '${idirs}' does not match '${idirs_output}'")
   elseif(NOT "${implicit_libs}" STREQUAL "${implicit_lib_output}")
     message("${t} parse failed: state=${state}, '${implicit_libs}' does not match '${implicit_lib_output}'")
+  elseif(library_arch AND NOT "${library_arch}" STREQUAL "${library_arch_output}")
+    message("${t} parse failed: state=${state}, '${library_arch}' does not match '${library_arch_output}'")
   endif()
 
   unload_compiler_info("${cmvars}")

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-GNU-7.3.0.output

@@ -1,2 +1,3 @@
 libs=gcc;gcc_s;c;gcc;gcc_s
 dirs=/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-Intel-18.0.0.20170811.output

@@ -1,2 +1,3 @@
 libs=imf;svml;irng;m;ipgo;decimal;cilkrts;stdc++;gcc;gcc_s;irc;svml;c;gcc;gcc_s;irc_s;dl;c
 dirs=/opt/intel/compilers_and_libraries_2018.0.128/linux/ipp/lib/intel64;/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/lib/intel64_lin;/opt/intel/compilers_and_libraries_2018.0.128/linux/mkl/lib/intel64_lin;/opt/intel/compilers_and_libraries_2018.0.128/linux/tbb/lib/intel64/gcc4.7;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib;/lib
+library_arch=x86_64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=pgmp;numa;pthread;pgmath;nspgc;pgc;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-XL-12.1.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;dl;gcc_s;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/vac/bg/12.1/lib64;/soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-C-XL-16.1.0.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;dl;gcc_s;pthread;gcc;m;c;gcc_s;gcc
 dirs=/opt/ibm/xlsmp/5.1.0/lib;/opt/ibm/xlmass/9.1.0/lib;/opt/ibm/xlC/16.1.0/lib;/usr/lib/gcc/ppc64le-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64le-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-10.1.168-CLANG.output

@@ -1,2 +1,3 @@
 libs=cudadevrt;cudart_static;rt;pthread;dl;stdc++;m;gcc_s;gcc;c;gcc_s;gcc
 dirs=/usr/local/cuda/targets/x86_64-linux/lib/stubs;/usr/local/cuda/targets/x86_64-linux/lib;/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/x86_64-linux-gnu;/lib/x86_64-linux-gnu;/lib64;/usr/lib;/usr/lib/llvm-8/lib;/lib
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-10.1.168-XLClang-v.output

@@ -1,2 +1,3 @@
 libs=cudadevrt;cudart_static;rt;pthread;dl;xlopt;xl;ibmc++;stdc++;m;dl;gcc_s;gcc;pthread;m;c;gcc_s;gcc
 dirs=/sw/summit/cuda/10.1.168/targets/ppc64le-linux/lib/stubs;/sw/summit/cuda/10.1.168/targets/ppc64le-linux/lib;/autofs/nccs-svm1_sw/summit/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/xl-16.1.1-3/spectrum-mpi-10.3.0.1-20190611-aqjt3jo53mogrrhcrd2iufr435azcaha/lib;/autofs/nccs-svm1_sw/summit/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-4.8.5/darshan-runtime-3.1.7-csygoqyym3m3ysoaperhxlhoiluvpa2u/lib;/autofs/nccs-svm1_sw/summit/xl/16.1.1-3/xlsmp/5.1.1/lib;/autofs/nccs-svm1_sw/summit/xl/16.1.1-3/xlmass/9.1.1/lib;/autofs/nccs-svm1_sw/summit/xl/16.1.1-3/xlC/16.1.1/lib;/usr/lib/gcc/ppc64le-redhat-linux/4.8.5;/usr/lib64;/lib64;/autofs/nccs-svm1_sw/peak/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-4.8.5/darshan-runtime-3.1.7-ytwv7xbkub6mqnpvygdthwqa7mhjqbc5/lib;/usr/lib
+library_arch=ppc64le-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CUDA-NVIDIA-9.2.148-GCC.output

@@ -1,2 +1,3 @@
 libs=cudadevrt;cudart_static;rt;pthread;dl;stdc++;m;gcc_s;gcc;c;gcc_s;gcc
 dirs=/usr/lib/x86_64-linux-gnu/stubs;/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-GNU-7.3.0.output

@@ -1,2 +1,3 @@
 libs=stdc++;m;gcc_s;gcc;c;gcc_s;gcc
 dirs=/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-Intel-18.0.0.20170811.output

@@ -1,2 +1,3 @@
 libs=imf;svml;irng;stdc++;m;ipgo;decimal;cilkrts;stdc++;gcc;gcc_s;irc;svml;c;gcc;gcc_s;irc_s;dl;c
 dirs=/opt/intel/compilers_and_libraries_2018.0.128/linux/ipp/lib/intel64;/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/lib/intel64_lin;/opt/intel/compilers_and_libraries_2018.0.128/linux/mkl/lib/intel64_lin;/opt/intel/compilers_and_libraries_2018.0.128/linux/tbb/lib/intel64/gcc4.7;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib;/lib
+library_arch=x86_64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=atomic;pgatm;stdc++;pgmp;numa;pthread;pgmath;nspgc;pgc;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-XL-12.1.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;ibmc++;xlopt;xl;stdc++;m;dl;gcc_s;gcc;m;c;gcc_s;gcc;dl;gcc_s;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/vac/bg/12.1/lib64;/soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-CXX-XL-16.1.0.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;ibmc++;stdc++;m;dl;gcc_s;gcc;pthread;m;c;gcc_s;gcc
 dirs=/opt/ibm/xlsmp/5.1.0/lib;/opt/ibm/xlmass/9.1.0/lib;/opt/ibm/xlC/16.1.0/lib;/usr/lib/gcc/ppc64le-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64le-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-GNU-7.3.0.output

@@ -1,2 +1,3 @@
 libs=gfortran;m;gcc_s;gcc;quadmath;m;gcc_s;gcc;c;gcc_s;gcc
 dirs=/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=pgf90rtl;pgf90;pgf90_rpm1;pgf902;pgf90rtl;pgftnrtl;pgmp;numa;pthread;pgmath;nspgc;pgc;rt;pthread;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux-Fortran-XL-14.1.0.output

@@ -1,2 +1,3 @@
 libs=xlf90;xlopt;xlomp_ser;xl;xlfmath;gcc_s;dl;rt;pthread;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/xlf/bg/14.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-C-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=pgmp;numa;pthread;pgmath;nspgc;pgc;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu2

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-C-XL-12.1.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;dl;gcc_s;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/vac/bg/12.1/lib64;/soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-CXX-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=atomic;pgatm;stdc++;pgmp;numa;pthread;pgmath;nspgc;pgc;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-CXX-XL-12.1.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;ibmc++;xlopt;xl;stdc++;m;dl;gcc_s;gcc;m;c;gcc_s;gcc;dl;gcc_s;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/vac/bg/12.1/lib64;/soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc-Fortran-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=pgf90rtl;pgf90;pgf90_rpm1;pgf902;pgf90rtl;pgftnrtl;pgmp;numa;pthread;pgmath;nspgc;pgc;rt;pthread;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_nostdinc_i-C-XL-12.1.0.output

@@ -1,2 +1,3 @@
 libs=xlopt;xl;dl;gcc_s;gcc;m;c;gcc_s;gcc
 dirs=/soft/compilers/ibmcmp-oct2017/xlsmp/bg/3.1/lib64;/soft/compilers/ibmcmp-oct2017/xlmass/bg/7.3/lib64;/soft/compilers/ibmcmp-oct2017/vac/bg/12.1/lib64;/soft/compilers/ibmcmp-oct2017/vacpp/bg/12.1/lib64;/usr/lib/gcc/ppc64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib
+library_arch=ppc64-redhat-linux

+ 1 - 0
Tests/RunCMake/ParseImplicitLinkInfo/results/linux_pgf77-Fortran-PGI-18.10.1.output

@@ -1,2 +1,3 @@
 libs=pgftnrtl;pgmp;numa;pthread;pgmath;nspgc;pgc;rt;pthread;m;gcc;c;gcc;gcc_s
 dirs=/mnt/pgi/linux86-64/18.10/lib;/usr/lib64;/usr/lib/gcc/x86_64-linux-gnu/7
+library_arch=x86_64-linux-gnu