forked from OSchip/llvm-project
Assume existence of inttypes.h and stdint.h in DataTypes.h.
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
This commit is contained in:
parent
6d48493817
commit
dce9a72d98
|
@ -744,9 +744,6 @@ configure_file(
|
||||||
configure_file(
|
configure_file(
|
||||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/abi-breaking.h.cmake
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/abi-breaking.h.cmake
|
||||||
${LLVM_INCLUDE_DIR}/llvm/Config/abi-breaking.h)
|
${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.
|
# Add target for generating source rpm package.
|
||||||
set(LLVM_SRPM_USER_BINARY_SPECFILE ${CMAKE_CURRENT_SOURCE_DIR}/llvm.spec.in
|
set(LLVM_SRPM_USER_BINARY_SPECFILE ${CMAKE_CURRENT_SOURCE_DIR}/llvm.spec.in
|
||||||
|
|
|
@ -25,30 +25,11 @@ if( CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" AND
|
||||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
|
list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
|
||||||
endif()
|
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
|
# include checks
|
||||||
check_include_file(dirent.h HAVE_DIRENT_H)
|
check_include_file(dirent.h HAVE_DIRENT_H)
|
||||||
check_include_file(dlfcn.h HAVE_DLFCN_H)
|
check_include_file(dlfcn.h HAVE_DLFCN_H)
|
||||||
check_include_file(errno.h HAVE_ERRNO_H)
|
check_include_file(errno.h HAVE_ERRNO_H)
|
||||||
check_include_file(fcntl.h HAVE_FCNTL_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(link.h HAVE_LINK_H)
|
||||||
check_include_file(malloc.h HAVE_MALLOC_H)
|
check_include_file(malloc.h HAVE_MALLOC_H)
|
||||||
check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
|
check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
|
||||||
|
@ -57,7 +38,6 @@ if( NOT PURE_WINDOWS )
|
||||||
check_include_file(pthread.h HAVE_PTHREAD_H)
|
check_include_file(pthread.h HAVE_PTHREAD_H)
|
||||||
endif()
|
endif()
|
||||||
check_include_file(signal.h HAVE_SIGNAL_H)
|
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/dir.h HAVE_SYS_DIR_H)
|
||||||
check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
|
check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
|
||||||
check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
|
check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
|
||||||
|
@ -289,20 +269,6 @@ elseif(PTHREAD_IN_LIBC)
|
||||||
check_library_exists(c pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP)
|
check_library_exists(c pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP)
|
||||||
endif()
|
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
|
# available programs checks
|
||||||
function(llvm_find_program name)
|
function(llvm_find_program name)
|
||||||
string(TOUPPER ${name} NAME)
|
string(TOUPPER ${name} NAME)
|
||||||
|
|
|
@ -24,34 +24,14 @@
|
||||||
#ifndef LLVM_C_DATATYPES_H
|
#ifndef LLVM_C_DATATYPES_H
|
||||||
#define 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
|
#ifdef __cplusplus
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#else
|
#else
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#include <cinttypes>
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_INTTYPES_H
|
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#include <cstdint>
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_STDINT_H
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#else
|
|
||||||
#error "Compiler must provide an implementation of stdint.h"
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
|
|
||||||
|
@ -74,15 +54,6 @@
|
||||||
#undef INT64_MIN
|
#undef INT64_MIN
|
||||||
#endif
|
#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 */
|
#else /* _MSC_VER */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
@ -99,22 +70,6 @@ typedef signed __int64 ssize_t;
|
||||||
typedef signed int ssize_t;
|
typedef signed int ssize_t;
|
||||||
#endif /* _WIN64 */
|
#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 */
|
#endif /* _MSC_VER */
|
||||||
|
|
||||||
/* Set defaults for constants which we cannot find. */
|
/* Set defaults for constants which we cannot find. */
|
|
@ -89,9 +89,6 @@
|
||||||
/* Define to 1 if you have the `getrusage' function. */
|
/* Define to 1 if you have the `getrusage' function. */
|
||||||
#cmakedefine HAVE_GETRUSAGE ${HAVE_GETRUSAGE}
|
#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. */
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
#cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
|
#cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
|
||||||
|
|
||||||
|
@ -247,15 +244,9 @@
|
||||||
/* Define to 1 if you have the <termios.h> header file. */
|
/* Define to 1 if you have the <termios.h> header file. */
|
||||||
#cmakedefine HAVE_TERMIOS_H ${HAVE_TERMIOS_H}
|
#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. */
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
#cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
|
#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. */
|
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
|
||||||
#cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}
|
#cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue