diff options
| author | 2008-04-11 12:36:55 +0000 | |
|---|---|---|
| committer | 2008-04-11 12:36:55 +0000 | |
| commit | d308f827fe62e6513bf59cc92aa62bb118f1ae66 (patch) | |
| tree | ee4e34eadbad0ce27d870a5aaf738e9404178703 | |
| parent | fixed selectionChanged (the KviTextIconEditor need more work) (diff) | |
| download | KVIrc-d308f827fe62e6513bf59cc92aa62bb118f1ae66.tar.gz KVIrc-d308f827fe62e6513bf59cc92aa62bb118f1ae66.tar.bz2 KVIrc-d308f827fe62e6513bf59cc92aa62bb118f1ae66.zip | |
Fix endianness issues on MacOSX
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1454 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | CMakeLists.txt | 5 | ||||
| -rw-r--r-- | cmake/kvi_sysconfig.h.cmake | 2 | ||||
| -rw-r--r-- | cmake/modules/FindPCHSupport.cmake | 7 | ||||
| -rw-r--r-- | src/kvilib/config/kvi_settings.h | 9 | ||||
| -rw-r--r-- | src/kvilib/system/kvi_byteorder.h | 2 |
5 files changed, 17 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8877b9b69..8fe8b0cb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,8 +81,9 @@ INCLUDE(CheckIncludeFiles) CHECK_INCLUDE_FILES(sys/types.h SYSTEM_HAS_SYS_TYPES_H) CHECK_INCLUDE_FILES(strings.h SYSTEM_HAS_STRINGS_H) -INCLUDE(TestBigEndian) -TEST_BIG_ENDIAN(SYSTEM_IS_BIG_ENDIAN) +# No longer rely on this test for endianness (otherwise cross-compilation might fail) +#INCLUDE(TestBigEndian) +#TEST_BIG_ENDIAN(SYSTEM_IS_BIG_ENDIAN) OPTION(WANT_PCH "Whether to use pre-compiled headers" ON) IF(WANT_PCH) diff --git a/cmake/kvi_sysconfig.h.cmake b/cmake/kvi_sysconfig.h.cmake index 216d808e9..c149d018d 100644 --- a/cmake/kvi_sysconfig.h.cmake +++ b/cmake/kvi_sysconfig.h.cmake @@ -22,6 +22,4 @@ #cmakedefine COMPILE_X11_SUPPORT 1 -#cmakedefine SYSTEM_IS_BIG_ENDIAN 1 - #endif //!_kvi_sysconfig_h_ diff --git a/cmake/modules/FindPCHSupport.cmake b/cmake/modules/FindPCHSupport.cmake index a60415d38..b0f4a4c19 100644 --- a/cmake/modules/FindPCHSupport.cmake +++ b/cmake/modules/FindPCHSupport.cmake @@ -97,6 +97,7 @@ MACRO(ADD_PRECOMPILED_HEADER_INPLACE _targetName _inputs ) COMMAND ${CMAKE_CXX_COMPILER} ${_compiler_FLAGS} -x c++-header + -fPIC -o ${_output} ${_source} DEPENDS ${_source} ) LIST(APPEND GCH_FILES ${_output}) @@ -109,8 +110,6 @@ MACRO(ADD_PRECOMPILED_HEADER_INPLACE _targetName _inputs ) SEPARATE_ARGUMENTS(GCH_FILES) ADD_CUSTOM_TARGET(${_targetName}_gch DEPENDS ${GCH_FILES}) ADD_DEPENDENCIES(${_targetName} ${_targetName}_gch) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/gch/) - SET_TARGET_PROPERTIES(${_targetName} PROPERTIES - COMPILE_FLAGS "-Winvalid-pch" - ) + INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/gch/) + SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-Winvalid-pch") ENDMACRO(ADD_PRECOMPILED_HEADER_INPLACE) diff --git a/src/kvilib/config/kvi_settings.h b/src/kvilib/config/kvi_settings.h index 473391dca..6ab04685b 100644 --- a/src/kvilib/config/kvi_settings.h +++ b/src/kvilib/config/kvi_settings.h @@ -148,4 +148,13 @@ #define debug qDebug +// Trust Qt about the current target processor endianness +#if Q_BYTE_ORDER == Q_BIG_ENDIAN + #define BIG_ENDIAN_MACHINE_BYTE_ORDER +#else + #ifdef BIG_ENDIAN_MACHINE_BYTE_ORDER + #undef BIG_ENDIAN_MACHINE_BYTE_ORDER + #endif +#endif + #endif //_KVI_SETTINGS_H_ diff --git a/src/kvilib/system/kvi_byteorder.h b/src/kvilib/system/kvi_byteorder.h index 19b07e632..dcd8c9430 100644 --- a/src/kvilib/system/kvi_byteorder.h +++ b/src/kvilib/system/kvi_byteorder.h @@ -38,6 +38,8 @@ // Perverse Middle Endian 0xbb 0xaa 0xdd 0xcc or another braindamaged combination (unsupported) // Network Byte Order is Big Endian // Intel Stuff uses Little Endian +// PPC is Big Endian +// Universal binaries on MacOSX use both Big and Little Endian // #ifdef BIG_ENDIAN_MACHINE_BYTE_ORDER |
