[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