[Cmake-commits] CMake branch, next, updated. v3.1.0-rc1-381-g6dbb030
Chuck Atkins
chuck.atkins at kitware.com
Thu Nov 6 12:47:46 EST 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 6dbb030369553f7ad5f0ca7494d54b3cfb92e9ae (commit)
via 4fdbef3baddf9ba53c0cb3d3f0e2436dfd322ba9 (commit)
from a550b6cabe68601bd5e99552bc47b52a92832314 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6dbb030369553f7ad5f0ca7494d54b3cfb92e9ae
commit 6dbb030369553f7ad5f0ca7494d54b3cfb92e9ae
Merge: a550b6c 4fdbef3
Author: Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Thu Nov 6 12:47:45 2014 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Nov 6 12:47:45 2014 -0500
Merge topic 'fix-gcc-hppa' into next
4fdbef3b Workaround for short jump tables on PA-RISC.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4fdbef3baddf9ba53c0cb3d3f0e2436dfd322ba9
commit 4fdbef3baddf9ba53c0cb3d3f0e2436dfd322ba9
Author: Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Tue Nov 4 11:01:56 2014 -0500
Commit: Chuck Atkins <chuck.atkins at kitware.com>
CommitDate: Thu Nov 6 12:47:21 2014 -0500
Workaround for short jump tables on PA-RISC.
The PA-RISC architecture requires special options for GCC to prevent
linker errors when libraries reach a certain size and / or complexity.
See http://mraw.org/blog/2007/10/10/Linking_on_hppa and gcc
documentation on -mlong-calls.
diff --git a/CompileFlags.cmake b/CompileFlags.cmake
index 5d86876..e7beb3f 100644
--- a/CompileFlags.cmake
+++ b/CompileFlags.cmake
@@ -65,6 +65,16 @@ if(CMAKE_SYSTEM_NAME MATCHES "HP-UX" AND CMAKE_CXX_COMPILER_ID MATCHES "HP")
endif()
endif()
+# Workaround for short jump tables on PA-RISC
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^parisc")
+ if(CMAKE_COMPILER_IS_GNUC)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-calls")
+ endif()
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-calls")
+ endif()
+endif()
+
# use the ansi CXX compile flag for building cmake
if (CMAKE_ANSI_CXXFLAGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
@@ -74,10 +84,4 @@ if (CMAKE_ANSI_CFLAGS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
endif ()
-# avoid binutils problem with large binaries, e.g. when building CMake in debug mode
-# See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50230
-if (CMAKE_SYSTEM_NAME STREQUAL Linux AND CMAKE_SYSTEM_PROCESSOR STREQUAL parisc)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--unique=.text._*")
-endif ()
-
include (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
diff --git a/bootstrap b/bootstrap
index b09023d..00af2a1 100755
--- a/bootstrap
+++ b/bootstrap
@@ -122,17 +122,33 @@ else
cmake_system_openvms=false
fi
+# Determine whether this is HP-UX
+if echo "${cmake_system}" | grep HP-UX >/dev/null 2>&1; then
+ cmake_system_hpux=true
+else
+ cmake_system_hpux=false
+fi
+
# Determine whether this is Linux
if echo "${cmake_system}" | grep Linux >/dev/null 2>&1; then
cmake_system_linux=true
- # find out if it is a HP PA-RISC machine
+else
+ cmake_system_linux=false
+fi
+
+# Determine whether this is a PA-RISC machine
+if ${cmake_system_linux}; then
if uname -m | grep parisc >/dev/null 2>&1; then
cmake_machine_parisc=true
else
cmake_machine_parisc=false
fi
-else
- cmake_system_linux=false
+elif ${cmake_system_hpux}; then
+ if uname -m | grep ia64 >/dev/null 2>&1; then
+ cmake_machine_parisc=false
+ else
+ cmake_machine_parisc=true
+ fi
fi
# Choose the generator to use for bootstrapping.
@@ -744,11 +760,13 @@ if ${cmake_system_haiku}; then
cmake_ld_flags="${LDFLAGS} -lroot -lbe"
fi
-if ${cmake_system_linux}; then
- # avoid binutils problem with large binaries, e.g. when building CMake in debug mode
- # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50230
- if ${cmake_machine_parisc}; then
- cmake_ld_flags="${LDFLAGS} -Wl,--unique=.text._*"
+# Workaround for short jump tables on PA-RISC
+if ${cmake_machine_parisc}; then
+ if ${cmake_c_compiler_is_gnu}; then
+ cmake_c_flags="${CFLAGS} -mlong-calls"
+ fi
+ if ${cmake_cxx_compiler_is_gnu}; then
+ cmake_cxx_flags="${CXXFLAGS} -mlong-calls"
fi
fi
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list