diff options
author | Brad King <brad.king@kitware.com> | 2010-01-12 09:38:13 -0500 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-01-12 09:38:13 -0500 |
commit | 6c1e24276f97112c914065dff772246b0d73ec06 (patch) | |
tree | 6fdb3d3a6d9cfbcbdae500e91bc7277275f24ea7 /Modules/CMakeFortranCompilerABI.F | |
parent | b5100623f32e82014c3994fd7ee19afca9506c19 (diff) | |
download | cmake-6c1e24276f97112c914065dff772246b0d73ec06.tar.gz |
Detect Fortran ABI Information
Implement Fortran 32/64-bit ABI detection on some platforms. We need to
set CMAKE_SIZEOF_VOID_P correctly in Fortran-only projects so that the
find_library() command knows whether to look for 64-bit binaries. We
also detect ELF binaries to enable RPATH replacement. See issue #10119.
Diffstat (limited to 'Modules/CMakeFortranCompilerABI.F')
-rw-r--r-- | Modules/CMakeFortranCompilerABI.F | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/Modules/CMakeFortranCompilerABI.F b/Modules/CMakeFortranCompilerABI.F index cf8662fb88..b8efb426e0 100644 --- a/Modules/CMakeFortranCompilerABI.F +++ b/Modules/CMakeFortranCompilerABI.F @@ -1,3 +1,33 @@ - PROGRAM CMakeFortranCompilerId - PRINT *, 'ABI Detection Binary' + PROGRAM CMakeFortranCompilerABI +#if 0 +! Address Size +#endif +#if defined(_LP64) + PRINT *, 'INFO:sizeof_dptr[8]' +#elif defined(_M_IA64) + PRINT *, 'INFO:sizeof_dptr[8]' +#elif defined(_M_X64) + PRINT *, 'INFO:sizeof_dptr[8]' +#elif defined(_M_AMD64) + PRINT *, 'INFO:sizeof_dptr[8]' + +#elif defined(_ILP32) + PRINT *, 'INFO:sizeof_dptr[4]' +#elif defined(_M_IX86) + PRINT *, 'INFO:sizeof_dptr[4]' +#endif + +#if 0 +! Application Binary Interface +#endif +#if defined(__sgi) && defined(_ABIO32) + PRINT *, 'INFO:abi[ELF O32]' +#elif defined(__sgi) && defined(_ABIN32) + PRINT *, 'INFO:abi[ELF N32]' +#elif defined(__sgi) && defined(_ABI64) + PRINT *, 'INFO:abi[ELF 64]' +#elif defined(__ELF__) + PRINT *, 'INFO:abi[ELF]' +#endif + PRINT *, 'ABI Detection' END |