[Openmp-commits] [PATCH] LLVM OpenMP CMake Overhaul

Jonathan Peyton jonathan.l.peyton at intel.com
Tue Jun 23 09:30:32 PDT 2015


Hi chandlerc,

I have been working on overhauling the CMake build system for the LLVM OpenMP Runtime library.  Instead of sending 1000 small updates, I decided to do a complete refactoring/reorganizing/renaming/you-name-it-I-did-it.  **All the interface variables are still the same (LIBOMP_OS, LIBOMP_ARCH, etc.)**.  So there was no change there.  Here are the major changes:
1) Renaming internal variables/macros/functions – everything has libomp_ or LIBOMP_ prefixed to it unless maybe if it is a local variable/parameter inside a function/macro.
2) config-ix.cmake added – compiler flag checks, linker flag checks, some feature checks, threading-model check.  This means cmake/${CMAKE_C_COMPILER_ID}/*Flags.cmake directories/files are deleted.
3) All files inside cmake/ subdirectory are renamed to Libompxyz.cmake
4) I cut off most of the vestigial parts that were a part of the translation of build.pl system.  There are still a few that remain like LibompExports.cmake (copying things to exports/ subdirectory) and LibompMicroTests.cmake (small tests to run on the just created library.  This is invoked with make libomp-micro-tests), but these can easily be cut off because they are in their own files and surrounded by an if() guard in the CMakeLists.txt file.
5) Added LLVM-architecture detection if we are part of an LLVM build.
6) If you want, you can use LIBOMP_ARCH=i386 or LIBOMP_ARCH=x86_64 instead of LIBOMP_ARCH=32 or LIBOMP_ARCH=32e (although 32 and 32e still exist)
7) Unused functions/macros have been cut away.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10656

Files:
  runtime/CMakeLists.txt
  runtime/cmake/BuildPLRules.cmake
  runtime/cmake/Clang/AsmFlags.cmake
  runtime/cmake/Clang/CFlags.cmake
  runtime/cmake/CommonFlags.cmake
  runtime/cmake/Definitions.cmake
  runtime/cmake/GNU/AsmFlags.cmake
  runtime/cmake/GNU/CFlags.cmake
  runtime/cmake/GNU/FortranFlags.cmake
  runtime/cmake/GetArchitecture.cmake
  runtime/cmake/HelperFunctions.cmake
  runtime/cmake/Intel/AsmFlags.cmake
  runtime/cmake/Intel/CFlags.cmake
  runtime/cmake/Intel/FortranFlags.cmake
  runtime/cmake/LibompCheckFortranFlag.cmake
  runtime/cmake/LibompCheckLinkerFlag.cmake
  runtime/cmake/LibompDefinitions.cmake
  runtime/cmake/LibompExports.cmake
  runtime/cmake/LibompGetArchitecture.cmake
  runtime/cmake/LibompHandleFlags.cmake
  runtime/cmake/LibompMicroTests.cmake
  runtime/cmake/LibompSourceFiles.cmake
  runtime/cmake/LibompUtils.cmake
  runtime/cmake/MSVC/AsmFlags.cmake
  runtime/cmake/MSVC/CFlags.cmake
  runtime/cmake/MicroTests.cmake
  runtime/cmake/PerlFlags.cmake
  runtime/cmake/SourceFiles.cmake
  runtime/cmake/config-ix.cmake
  runtime/src/CMakeLists.txt

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10656.28248.patch
Type: text/x-patch
Size: 196048 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20150623/17253050/attachment.bin>


More information about the Openmp-commits mailing list