BUG: now the toolchain file is configured into the buildtree, otherwise e.g.
CMAKE_SOURCE_DIR can't be used there ENH: modify CMakeCCompilerId.c and .h so that sdcc can compile them. As they were the preprocessor produced: 9 "test.c" static char const info_compiler[] = "INFO:compiler[" # 40 "test.c" "" "]"; and the mixing of the preprocessing directives and the string constants didn't work. Alex
This commit is contained in:
parent
bef8d3580b
commit
6e2fd2c2ca
@ -6,40 +6,50 @@
|
|||||||
# define const
|
# define const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static char const info_compiler[] = "INFO:compiler["
|
|
||||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||||
"Intel"
|
#define _COMPILER_ID "Intel"
|
||||||
|
|
||||||
#elif defined(__BORLANDC__)
|
#elif defined(__BORLANDC__)
|
||||||
"Borland"
|
#define _COMPILER_ID "Borland"
|
||||||
|
|
||||||
#elif defined(__WATCOMC__)
|
#elif defined(__WATCOMC__)
|
||||||
"Watcom"
|
#define _COMPILER_ID "Watcom"
|
||||||
|
|
||||||
#elif defined(__SUNPRO_C)
|
#elif defined(__SUNPRO_C)
|
||||||
"SunPro"
|
#define _COMPILER_ID "SunPro"
|
||||||
|
|
||||||
#elif defined(__HP_cc)
|
#elif defined(__HP_cc)
|
||||||
"HP"
|
#define _COMPILER_ID "HP"
|
||||||
|
|
||||||
#elif defined(__DECC)
|
#elif defined(__DECC)
|
||||||
"Compaq"
|
#define _COMPILER_ID "Compaq"
|
||||||
|
|
||||||
#elif defined(__IBMC__)
|
#elif defined(__IBMC__)
|
||||||
"VisualAge"
|
#define _COMPILER_ID "VisualAge"
|
||||||
|
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
"GNU"
|
#define _COMPILER_ID "GNU"
|
||||||
|
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
"MSVC"
|
#define _COMPILER_ID "MSVC"
|
||||||
|
|
||||||
#elif defined(_COMPILER_VERSION)
|
#elif defined(_COMPILER_VERSION)
|
||||||
"MIPSpro"
|
#define _COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
/* This compiler is either not known or is too old to define an
|
/* This compiler is either not known or is too old to define an
|
||||||
identification macro. Try to identify the platform and guess that
|
identification macro. Try to identify the platform and guess that
|
||||||
it is the native compiler. */
|
it is the native compiler. */
|
||||||
#elif defined(__sgi)
|
#elif defined(__sgi)
|
||||||
"MIPSpro"
|
#define _COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
#elif defined(__hpux) || defined(__hpua)
|
#elif defined(__hpux) || defined(__hpua)
|
||||||
"HP"
|
#define _COMPILER_ID "HP"
|
||||||
|
|
||||||
#else /* unknown compiler */
|
#else /* unknown compiler */
|
||||||
""
|
#define _COMPILER_ID ""
|
||||||
#endif
|
#endif
|
||||||
"]";
|
|
||||||
|
static char const info_compiler[] = "INFO:compiler[" _COMPILER_ID "]";
|
||||||
|
|
||||||
/* Include the platform identification source. */
|
/* Include the platform identification source. */
|
||||||
#include "CMakePlatformId.h"
|
#include "CMakePlatformId.h"
|
||||||
|
@ -27,9 +27,6 @@
|
|||||||
# MacOSX Darwin
|
# MacOSX Darwin
|
||||||
|
|
||||||
|
|
||||||
#set the source file which will be configured to become CMakeSystem.cmake
|
|
||||||
SET(_CMAKE_SYSTEM_TEMPLATE_FILE ${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in )
|
|
||||||
|
|
||||||
IF(CMAKE_TOOLCHAIN_FILE)
|
IF(CMAKE_TOOLCHAIN_FILE)
|
||||||
# at first try to load it as path relative to the directory from which cmake has been run
|
# at first try to load it as path relative to the directory from which cmake has been run
|
||||||
INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
|
INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
|
||||||
@ -44,9 +41,6 @@ IF(CMAKE_TOOLCHAIN_FILE)
|
|||||||
MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
|
MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
|
||||||
ENDIF(_INCLUDED_TOOLCHAIN_FILE)
|
ENDIF(_INCLUDED_TOOLCHAIN_FILE)
|
||||||
|
|
||||||
# use a different source file for CMakeSystem.cmake, since it has to hold a bit more information
|
|
||||||
SET(_CMAKE_SYSTEM_TEMPLATE_FILE ${CMAKE_ROOT}/Modules/CMakeSystemWithToolchainFile.cmake.in )
|
|
||||||
|
|
||||||
IF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
IF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||||
SET(CMAKE_CROSSCOMPILING TRUE)
|
SET(CMAKE_CROSSCOMPILING TRUE)
|
||||||
ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||||
@ -112,8 +106,23 @@ ENDIF(CMAKE_SYSTEM_VERSION)
|
|||||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||||
"The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
|
"The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
|
||||||
|
|
||||||
# configure variables set in this file for fast reload, the template file is defined at the top of this file
|
# if a toolchain file is used use configure_file() to copy it into the
|
||||||
CONFIGURE_FILE(${_CMAKE_SYSTEM_TEMPLATE_FILE}
|
# build tree, because this way e.g. ${CMAKE_SOURCE_DIR} will be replaced
|
||||||
|
# with its full path, and so it will also work when used in try_compile()
|
||||||
|
IF (CMAKE_TOOLCHAIN_FILE)
|
||||||
|
SET(_OWN_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
|
||||||
|
CONFIGURE_FILE(${CMAKE_TOOLCHAIN_FILE}
|
||||||
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeToolchainFile.cmake)
|
||||||
|
|
||||||
|
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystemWithToolchainFile.cmake.in
|
||||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
|
||||||
IMMEDIATE @ONLY)
|
IMMEDIATE @ONLY)
|
||||||
|
|
||||||
|
ELSE (CMAKE_TOOLCHAIN_FILE)
|
||||||
|
|
||||||
|
# configure variables set in this file for fast reload, the template file is defined at the top of this file
|
||||||
|
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
|
||||||
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
|
||||||
|
IMMEDIATE @ONLY)
|
||||||
|
|
||||||
|
ENDIF (CMAKE_TOOLCHAIN_FILE)
|
||||||
|
@ -1,54 +1,78 @@
|
|||||||
/* Identify known platforms by name. */
|
/* Identify known platforms by name. */
|
||||||
static char const info_platform[] = "INFO:platform["
|
|
||||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||||
"Linux"
|
#define _PLATFORM_ID "Linux"
|
||||||
|
|
||||||
#elif defined(__CYGWIN__)
|
#elif defined(__CYGWIN__)
|
||||||
"Cygwin"
|
#define _PLATFORM_ID "Cygwin"
|
||||||
|
|
||||||
#elif defined(__MINGW32__)
|
#elif defined(__MINGW32__)
|
||||||
"MinGW"
|
#define _PLATFORM_ID "MinGW"
|
||||||
|
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
"Darwin"
|
#define _PLATFORM_ID "Darwin"
|
||||||
|
|
||||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
"Windows"
|
#define _PLATFORM_ID "Windows"
|
||||||
|
|
||||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||||
"FreeBSD"
|
#define _PLATFORM_ID "FreeBSD"
|
||||||
|
|
||||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||||
"NetBSD"
|
#define _PLATFORM_ID "NetBSD"
|
||||||
|
|
||||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||||
"OpenBSD"
|
#define _PLATFORM_ID "OpenBSD"
|
||||||
|
|
||||||
#elif defined(__sun) || defined(sun)
|
#elif defined(__sun) || defined(sun)
|
||||||
"SunOS"
|
#define _PLATFORM_ID "SunOS"
|
||||||
|
|
||||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||||
"AIX"
|
#define _PLATFORM_ID "AIX"
|
||||||
|
|
||||||
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||||
"IRIX"
|
#define _PLATFORM_ID "IRIX"
|
||||||
|
|
||||||
#elif defined(__hpux) || defined(__hpux__)
|
#elif defined(__hpux) || defined(__hpux__)
|
||||||
"HP-UX"
|
#define _PLATFORM_ID "HP-UX"
|
||||||
|
|
||||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||||
"BeOS"
|
#define _PLATFORM_ID "BeOS"
|
||||||
|
|
||||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||||
"QNX"
|
#define _PLATFORM_ID "QNX"
|
||||||
|
|
||||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||||
"Tru64"
|
#define _PLATFORM_ID "Tru64"
|
||||||
|
|
||||||
#elif defined(__riscos) || defined(__riscos__)
|
#elif defined(__riscos) || defined(__riscos__)
|
||||||
"RISCos"
|
#define _PLATFORM_ID "RISCos"
|
||||||
|
|
||||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||||
"SINIX"
|
#define _PLATFORM_ID "SINIX"
|
||||||
|
|
||||||
#elif defined(__UNIX_SV__)
|
#elif defined(__UNIX_SV__)
|
||||||
"UNIX_SV"
|
#define _PLATFORM_ID "UNIX_SV"
|
||||||
|
|
||||||
#elif defined(__bsdos__)
|
#elif defined(__bsdos__)
|
||||||
"BSDOS"
|
#define _PLATFORM_ID "BSDOS"
|
||||||
|
|
||||||
#elif defined(_MPRAS) || defined(MPRAS)
|
#elif defined(_MPRAS) || defined(MPRAS)
|
||||||
"MP-RAS"
|
#define _PLATFORM_ID "MP-RAS"
|
||||||
|
|
||||||
#elif defined(__osf) || defined(__osf__)
|
#elif defined(__osf) || defined(__osf__)
|
||||||
"OSF1"
|
#define _PLATFORM_ID "OSF1"
|
||||||
|
|
||||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||||
"SCO_SV"
|
#define _PLATFORM_ID "SCO_SV"
|
||||||
|
|
||||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||||
"ULTRIX"
|
#define _PLATFORM_ID "ULTRIX"
|
||||||
|
|
||||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||||
"Xenix"
|
#define _PLATFORM_ID "Xenix"
|
||||||
|
|
||||||
#else /* unknown platform */
|
#else /* unknown platform */
|
||||||
""
|
#define _PLATFORM_ID ""
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
"]";
|
static char const info_platform[] = "INFO:platform[" _PLATFORM_ID "]";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
# the following file has been configured from @CMAKE_TOOLCHAIN_FILE@
|
||||||
INCLUDE("@CMAKE_TOOLCHAIN_FILE@")
|
INCLUDE(@_OWN_DIR@/CMakeToolchainFile.cmake)
|
||||||
|
|
||||||
# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
|
# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
|
||||||
SET(CMAKE_SYSTEM ${CMAKE_SYSTEM_NAME})
|
SET(CMAKE_SYSTEM ${CMAKE_SYSTEM_NAME})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user