These should exist in all toolchains LLVM supports nowadays.
Enables making DataTypes.h a regular header instead of a .h.cmake file and
allows deleting a bunch of cmake goop (which should also speed up cmake
configure time a bit).
All the code this removes is 9+ years old.
https://reviews.llvm.org/D45155
llvm-svn: 328970
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/abi-breaking.h.cmake
${LLVM_INCLUDE_DIR}/llvm/Config/abi-breaking.h)
-configure_file(
- ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/DataTypes.h.cmake
- ${LLVM_INCLUDE_DIR}/llvm-c/DataTypes.h)
# Add target for generating source rpm package.
set(LLVM_SRPM_USER_BINARY_SPECFILE ${CMAKE_CURRENT_SOURCE_DIR}/llvm.spec.in
list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
endif()
-# Helper macros and functions
-macro(add_cxx_include result files)
- set(${result} "")
- foreach (file_name ${files})
- set(${result} "${${result}}#include<${file_name}>\n")
- endforeach()
-endmacro(add_cxx_include files result)
-
-function(check_type_exists type files variable)
- add_cxx_include(includes "${files}")
- CHECK_CXX_SOURCE_COMPILES("
- ${includes} ${type} typeVar;
- int main() {
- return 0;
- }
- " ${variable})
-endfunction()
-
# include checks
check_include_file(dirent.h HAVE_DIRENT_H)
check_include_file(dlfcn.h HAVE_DLFCN_H)
check_include_file(errno.h HAVE_ERRNO_H)
check_include_file(fcntl.h HAVE_FCNTL_H)
-check_include_file(inttypes.h HAVE_INTTYPES_H)
check_include_file(link.h HAVE_LINK_H)
check_include_file(malloc.h HAVE_MALLOC_H)
check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
check_include_file(pthread.h HAVE_PTHREAD_H)
endif()
check_include_file(signal.h HAVE_SIGNAL_H)
-check_include_file(stdint.h HAVE_STDINT_H)
check_include_file(sys/dir.h HAVE_SYS_DIR_H)
check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
check_library_exists(c pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP)
endif()
-set(headers "sys/types.h")
-
-if (HAVE_INTTYPES_H)
- set(headers ${headers} "inttypes.h")
-endif()
-
-if (HAVE_STDINT_H)
- set(headers ${headers} "stdint.h")
-endif()
-
-check_type_exists(int64_t "${headers}" HAVE_INT64_T)
-check_type_exists(uint64_t "${headers}" HAVE_UINT64_T)
-check_type_exists(u_int64_t "${headers}" HAVE_U_INT64_T)
-
# available programs checks
function(llvm_find_program name)
string(TOUPPER ${name} NAME)
#ifndef LLVM_C_DATATYPES_H
#define LLVM_C_DATATYPES_H
-#cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
-#cmakedefine HAVE_STDINT_H ${HAVE_STDINT_H}
-#cmakedefine HAVE_UINT64_T ${HAVE_UINT64_T}
-#cmakedefine HAVE_U_INT64_T ${HAVE_U_INT64_T}
-
#ifdef __cplusplus
#include <cmath>
#else
#include <math.h>
#endif
-#ifdef __cplusplus
-#include <cinttypes>
-#else
-#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#endif
-#endif
-
-#ifdef __cplusplus
-#include <cstdint>
-#else
-#ifdef HAVE_STDINT_H
#include <stdint.h>
-#else
-#error "Compiler must provide an implementation of stdint.h"
-#endif
-#endif
#ifndef _MSC_VER
#undef INT64_MIN
#endif
-/* Handle incorrect definition of uint64_t as u_int64_t */
-#ifndef HAVE_UINT64_T
-#ifdef HAVE_U_INT64_T
-typedef u_int64_t uint64_t;
-#else
-# error "Don't have a definition for uint64_t on this platform"
-#endif
-#endif
-
#else /* _MSC_VER */
#ifdef __cplusplus
#include <cstddef>
typedef signed int ssize_t;
#endif /* _WIN64 */
-#ifndef HAVE_INTTYPES_H
-#define PRId64 "I64d"
-#define PRIi64 "I64i"
-#define PRIo64 "I64o"
-#define PRIu64 "I64u"
-#define PRIx64 "I64x"
-#define PRIX64 "I64X"
-
-#define PRId32 "d"
-#define PRIi32 "i"
-#define PRIo32 "o"
-#define PRIu32 "u"
-#define PRIx32 "x"
-#define PRIX32 "X"
-#endif /* HAVE_INTTYPES_H */
-
#endif /* _MSC_VER */
/* Set defaults for constants which we cannot find. */
/* Define to 1 if you have the `getrusage' function. */
#cmakedefine HAVE_GETRUSAGE ${HAVE_GETRUSAGE}
-/* Define to 1 if the system has the type `int64_t'. */
-#cmakedefine HAVE_INT64_T ${HAVE_INT64_T}
-
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
/* Define to 1 if you have the <termios.h> header file. */
#cmakedefine HAVE_TERMIOS_H ${HAVE_TERMIOS_H}
-/* Define to 1 if the system has the type `uint64_t'. */
-#cmakedefine HAVE_UINT64_T ${HAVE_UINT64_T}
-
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
-/* Define to 1 if the system has the type `u_int64_t'. */
-#cmakedefine HAVE_U_INT64_T ${HAVE_U_INT64_T}
-
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}