@@ -75,12 +75,7 @@ ENDIF()
75
75
IF (CMAKE_SYSTEM_NAME MATCHES "SunOS" )
76
76
IF (CMAKE_CXX_COMPILER_ID MATCHES "SunPro" )
77
77
IF (CMAKE_CXX_FLAGS MATCHES "-std=" )
78
- ADD_DEFINITIONS (-D__MATHERR_RENAME_EXCEPTION)
79
- SET (CMAKE_SHARED_LIBRARY_C_FLAGS
80
- "${CMAKE_SHARED_LIBRARY_C_FLAGS} -lc" )
81
- SET (CMAKE_SHARED_LIBRARY_CXX_FLAGS
82
- "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -lstdc++ -lgcc_s -lCrunG3 -lc" )
83
- SET (QUOTED_CMAKE_CXX_LINK_FLAGS "-lstdc++ -lgcc_s -lCrunG3 -lc" )
78
+ # Nothing here, handled separately below
84
79
ELSE ()
85
80
IF (SUNPRO_CXX_LIBRARY)
86
81
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=${SUNPRO_CXX_LIBRARY} " )
@@ -130,15 +125,13 @@ MACRO(EXTEND_CXX_LINK_FLAGS LIBRARY_PATH)
130
125
# on a path relative to the executable:
131
126
# We need an extra backslash to pass $ORIGIN to the mysql_config script...
132
127
SET (QUOTED_CMAKE_CXX_LINK_FLAGS
133
- "${CMAKE_CXX_LINK_FLAGS} -R'\\ $ORIGIN/../lib' -R${LIBRARY_PATH} " )
128
+ "${CMAKE_CXX_LINK_FLAGS} -R'\\ $ORIGIN/../lib' -R${LIBRARY_PATH} " )
134
129
SET (CMAKE_CXX_LINK_FLAGS
135
130
"${CMAKE_CXX_LINK_FLAGS} -R'\$ ORIGIN/../lib' -R${LIBRARY_PATH} " )
136
131
MESSAGE (STATUS "CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} " )
137
132
ENDMACRO ()
138
133
139
134
MACRO (EXTEND_C_LINK_FLAGS LIBRARY_PATH )
140
- SET (QUOTED_CMAKE_C_LINK_FLAGS
141
- "${CMAKE_C_LINK_FLAGS} -R'\\ $ORIGIN/../lib' -R${LIBRARY_PATH} " )
142
135
SET (CMAKE_C_LINK_FLAGS
143
136
"${CMAKE_C_LINK_FLAGS} -R'\$ ORIGIN/../lib' -R${LIBRARY_PATH} " )
144
137
MESSAGE (STATUS "CMAKE_C_LINK_FLAGS ${CMAKE_C_LINK_FLAGS} " )
@@ -195,6 +188,43 @@ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_COMPILER_IS_GNUCC)
195
188
ENDIF ()
196
189
ENDIF ()
197
190
191
+
192
+ # We assume that developer studio runtime libraries are installed.
193
+ IF (CMAKE_SYSTEM_NAME MATCHES "SunOS" AND
194
+ CMAKE_CXX_COMPILER_ID STREQUAL "SunPro" AND
195
+ CMAKE_CXX_FLAGS MATCHES "-std=c" )
196
+ DIRNAME(${CMAKE_CXX_COMPILER} CXX_PATH)
197
+
198
+ SET (LIBRARY_SUFFIX "lib/compilers/CC-gcc/lib" )
199
+ IF (SIZEOF_VOIDP EQUAL 8 AND CMAKE_SYSTEM_PROCESSOR MATCHES "sparc" )
200
+ SET (LIBRARY_SUFFIX "${LIBRARY_SUFFIX} /sparcv9" )
201
+ ENDIF ()
202
+ IF (SIZEOF_VOIDP EQUAL 8 AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386" )
203
+ SET (LIBRARY_SUFFIX "${LIBRARY_SUFFIX} /amd64" )
204
+ ENDIF ()
205
+ FIND_LIBRARY (STL_LIBRARY_NAME
206
+ NAMES "stdc++"
207
+ PATHS ${CXX_PATH} /../${LIBRARY_SUFFIX}
208
+ NO_DEFAULT_PATH
209
+ )
210
+ MESSAGE (STATUS "STL_LIBRARY_NAME ${STL_LIBRARY_NAME} " )
211
+ IF (STL_LIBRARY_NAME)
212
+ DIRNAME(${STL_LIBRARY_NAME} STL_LIBRARY_PATH)
213
+ SET (QUOTED_CMAKE_CXX_LINK_FLAGS
214
+ "${CMAKE_CXX_LINK_FLAGS} -L${STL_LIBRARY_PATH} -R${STL_LIBRARY_PATH} " )
215
+ SET (CMAKE_CXX_LINK_FLAGS
216
+ "${CMAKE_CXX_LINK_FLAGS} -L${STL_LIBRARY_PATH} -R${STL_LIBRARY_PATH} " )
217
+ SET (CMAKE_C_LINK_FLAGS
218
+ "${CMAKE_C_LINK_FLAGS} -L${STL_LIBRARY_PATH} -R${STL_LIBRARY_PATH} " )
219
+ ENDIF ()
220
+ SET (CMAKE_C_LINK_FLAGS
221
+ "${CMAKE_C_LINK_FLAGS} -lc" )
222
+ SET (CMAKE_CXX_LINK_FLAGS
223
+ "${CMAKE_CXX_LINK_FLAGS} -lstdc++ -lgcc_s -lCrunG3 -lc" )
224
+ SET (QUOTED_CMAKE_CXX_LINK_FLAGS
225
+ "${QUOTED_CMAKE_CXX_LINK_FLAGS} -lstdc++ -lgcc_s -lCrunG3 -lc " )
226
+ ENDIF ()
227
+
198
228
IF (CMAKE_SYSTEM_NAME MATCHES "SunOS" AND
199
229
CMAKE_C_COMPILER_ID MATCHES "SunPro" AND
200
230
CMAKE_CXX_FLAGS MATCHES "stlport4" )
0 commit comments