[Openmp-commits] [PATCH] D96580: [OpenMP] Fix the check for libpsapi for i386
Martin Storsjö via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Feb 12 01:48:21 PST 2021
mstorsjo created this revision.
mstorsjo added reviewers: hbae, AndreyChurbanov.
Herald added subscribers: guansong, yaxunl, mgorny.
mstorsjo requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a subscriber: sstefan1.
Herald added a project: OpenMP.
check_library_exists fails for stdcall functions, because that check doesn't include the necessary headers (and thus fails with an undefined reference to _EnumProcessModules, when the import library symbol actually is called _EnumProcessModules at 16).
Merge the two previous checks check_include_files and check_library_exists into one with check_c_source_compiles, and merge the variables that indicate whether it succeeded.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D96580
Files:
openmp/runtime/cmake/LibompHandleFlags.cmake
openmp/runtime/cmake/config-ix.cmake
Index: openmp/runtime/cmake/config-ix.cmake
===================================================================
--- openmp/runtime/cmake/config-ix.cmake
+++ openmp/runtime/cmake/config-ix.cmake
@@ -278,11 +278,13 @@
check_c_source_compiles("__attribute__ ((weak)) int foo(int a) { return a*a; }
int main(int argc, char** argv) {
return foo(argc);}" LIBOMP_HAVE_WEAK_ATTRIBUTE)
-check_include_files("windows.h;psapi.h" LIBOMP_HAVE_PSAPI_H)
-check_library_exists(psapi EnumProcessModules "" LIBOMP_HAVE_LIBPSAPI)
-if(LIBOMP_HAVE_PSAPI_H AND LIBOMP_HAVE_LIBPSAPI)
- set(LIBOMP_HAVE_PSAPI TRUE)
-endif()
+set(CMAKE_REQUIRED_LIBRARIES psapi)
+check_c_source_compiles("#include <windows.h>
+ #include <psapi.h>
+ int main(int artc, char** argv) {
+ return EnumProcessModules(NULL, NULL, 0, NULL);
+ }" LIBOMP_HAVE_PSAPI)
+set(CMAKE_REQUIRED_LIBRARIES)
if(NOT LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
else()
Index: openmp/runtime/cmake/LibompHandleFlags.cmake
===================================================================
--- openmp/runtime/cmake/LibompHandleFlags.cmake
+++ openmp/runtime/cmake/LibompHandleFlags.cmake
@@ -127,7 +127,7 @@
libomp_append(libflags_local -lirc_pic LIBOMP_HAVE_IRC_PIC_LIBRARY)
endif()
if(MINGW)
- libomp_append(libflags_local -lpsapi LIBOMP_HAVE_LIBPSAPI)
+ libomp_append(libflags_local -lpsapi LIBOMP_HAVE_PSAPI)
endif()
if(LIBOMP_HAVE_SHM_OPEN_WITH_LRT)
libomp_append(libflags_local -lrt)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96580.323251.patch
Type: text/x-patch
Size: 1500 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210212/f830d073/attachment.bin>
More information about the Openmp-commits
mailing list