Commit 3afaada7 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

Post-fix for Bug#58158 on Solaris

Problem : The build might fail with 
make[2]: *** No rule to make target `../sql/z',
needed by `sql/mysqld_dtrace_all.o'.  Stop.
if one of plugins would depends on system libz 
library

Fix: Filter out non-static dependent libraries
when dtracing static libs
parent a2505e97
...@@ -153,13 +153,23 @@ ENDFUNCTION() ...@@ -153,13 +153,23 @@ ENDFUNCTION()
# to mysqld. # to mysqld.
MACRO (DTRACE_INSTRUMENT_STATIC_LIBS target libs) MACRO (DTRACE_INSTRUMENT_STATIC_LIBS target libs)
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND ENABLE_DTRACE) IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND ENABLE_DTRACE)
# Filter out non-static libraries in the list, if any
SET(static_libs)
FOREACH(lib ${libs}) FOREACH(lib ${libs})
GET_TARGET_PROPERTY(libtype ${lib} TYPE)
IF(libtype MATCHES STATIC_LIBRARY)
SET(static_libs ${static_lics} ${lib})
ENDIF()
ENDFOREACH()
FOREACH(lib ${static_libs})
SET(dirs ${dirs} ${TARGET_OBJECT_DIRECTORY_${lib}}) SET(dirs ${dirs} ${TARGET_OBJECT_DIRECTORY_${lib}})
ENDFOREACH() ENDFOREACH()
SET (obj ${CMAKE_CURRENT_BINARY_DIR}/${target}_dtrace_all.o) SET (obj ${CMAKE_CURRENT_BINARY_DIR}/${target}_dtrace_all.o)
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${obj} OUTPUT ${obj}
DEPENDS ${libs} DEPENDS ${static_libs}
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-DDTRACE=${DTRACE} -DDTRACE=${DTRACE}
-DOUTFILE=${obj} -DOUTFILE=${obj}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment