summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-06-24 12:38:02 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-06-24 12:38:02 (GMT)
commit1576592d02a67af91ce01f9fc2c00211132e9254 (patch)
tree918d54a088e68c8b30c21de6459cb731444f5c98
parenteadb85ff6cce8211046d906adfe9883477ecffae (diff)
parent480e924daedee520d18c8a9c0b9823fef205b57a (diff)
downloadCMake-1576592d02a67af91ce01f9fc2c00211132e9254.zip
CMake-1576592d02a67af91ce01f9fc2c00211132e9254.tar.gz
CMake-1576592d02a67af91ce01f9fc2c00211132e9254.tar.bz2
Merge topic 'openbsd-elf-parsing'
480e924 OpenBSD: Enable ELF parsing and editing (#14241)
-rw-r--r--Source/CMakeLists.txt6
-rw-r--r--Source/cmELF.cxx7
2 files changed, 11 insertions, 2 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index a243702..70d4b48 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -11,7 +11,11 @@
#=============================================================================
include(CheckIncludeFile)
# Check if we can build support for ELF parsing.
-CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
+if(CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
+ CHECK_INCLUDE_FILES("stdint.h;elf_abi.h" HAVE_ELF_H)
+else()
+ CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
+endif()
if(HAVE_ELF_H)
set(CMAKE_USE_ELF_PARSER 1)
else()
diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx
index 1158fc0..30de9a8 100644
--- a/Source/cmELF.cxx
+++ b/Source/cmELF.cxx
@@ -19,7 +19,12 @@
#include <cmsys/CPU.h>
// Include the ELF format information system header.
-#include <elf.h>
+#if defined(__OpenBSD__)
+# include <stdint.h>
+# include <elf_abi.h>
+#else
+# include <elf.h>
+#endif
#if defined(__sun)
# include <sys/link.h> // For dynamic section information
#endif