Mac: Update llqtwebkit build, build and package dylib Qt4 pieces.

Part of the switchover to dynamic Qt4.  This mostly completes the
Mac side.  Webkit is functional on Mac, plugins work.  The two
test programs, llfbconnectest and llplugintest, need a little
more work to run without manual fixup ('.' on PATH and maybe a
symlink to libz.1.dylib and they run and function on Mac).  Also
need to address libz.dylib vs libz.a.  Currently resolving against
dylib which is not what I want.
meow-7.2.2
Monty Brandenberg 2014-04-11 19:19:22 -04:00
parent 6631dc22f0
commit e72d546fe3
7 changed files with 243 additions and 69 deletions

View File

@ -1420,9 +1420,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>1ae810af805a93184bbd3aeaf0a4a617</string>
<string>89b46227fa477735163f7272be1a4fdc</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288841/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20140408.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288966/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20140411.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -1432,9 +1432,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ca7be91df38c0cf97ca21def939f010f</string>
<string>77750a0a921c78cc6344156b1c935623</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288841/arch/Linux/installer/llqtwebkit-4.7.1-linux-20140408.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288966/arch/Linux/installer/llqtwebkit-4.7.1-linux-20140411.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@ -1444,9 +1444,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>22a3737d53f2cc46897ec1801ab6f271</string>
<string>9ef4ec6355ee5c3dd528da6c4c3a309d</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288841/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20140408.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/288966/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20140411.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>

View File

@ -225,7 +225,6 @@ elseif(DARWIN)
libexpat.dylib
libGLOD.dylib
libhunspell-1.3.0.dylib
libllqtwebkit.dylib
libminizip.a
libndofdev.dylib
libssl.dylib

View File

@ -6,6 +6,7 @@ set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
include(Variables)
set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib)
set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins)
set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release)
set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug)
if (WINDOWS)

View File

@ -121,12 +121,12 @@ if (DARWIN)
)
# copy the webkit dylib to the build directory
add_custom_command(
TARGET media_plugin_webkit POST_BUILD
# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib
COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
DEPENDS media_plugin_webkit ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
)
# add_custom_command(
# TARGET media_plugin_webkit POST_BUILD
# # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib
# COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
# DEPENDS media_plugin_webkit ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
# )
endif (DARWIN)

View File

@ -804,14 +804,42 @@ class Darwin_i386_Manifest(ViewerManifest):
symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile),
os.path.join(resource_path, libfile))
# plugins
# SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs.
if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"):
for libfile in ('libQtCore.4.dylib',
'libQtCore.4.7.1.dylib',
'libQtGui.4.dylib',
'libQtGui.4.7.1.dylib',
'libQtNetwork.4.dylib',
'libQtNetwork.4.7.1.dylib',
'libQtOpenGL.4.dylib',
'libQtOpenGL.4.7.1.dylib',
'libQtSvg.4.dylib',
'libQtSvg.4.7.1.dylib',
'libQtWebKit.4.dylib',
'libQtWebKit.4.7.1.dylib',
'libQtXml.4.dylib',
'libQtXml.4.7.1.dylib'):
self.path2basename("../packages/lib/release", libfile)
self.end_prefix("SLPlugin.app/Contents/Resources")
# Qt4 codecs go to llplugin. Not certain why but this is the first
# location probed according to dtruss so we'll go with that.
if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"):
self.path("libq*.dylib")
self.end_prefix("llplugin/codecs")
# Similarly for imageformats.
if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"):
self.path("libq*.dylib")
self.end_prefix("llplugin/imageformats")
# SLPlugin plugins proper
if self.prefix(src="", dst="llplugin"):
self.path2basename("../media_plugins/quicktime/" + self.args['configuration'],
"media_plugin_quicktime.dylib")
self.path2basename("../media_plugins/webkit/" + self.args['configuration'],
"media_plugin_webkit.dylib")
self.path2basename("../packages/lib/release", "libllqtwebkit.dylib")
self.end_prefix("llplugin")
self.end_prefix("Resources")

View File

@ -122,34 +122,26 @@ add_custom_command(TARGET llfbconnecttest POST_BUILD
)
if (DARWIN OR WINDOWS)
get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_WEBKIT_PLUGIN}
)
get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_WEBKIT_PLUGIN}
)
# copy over bookmarks file if llfbconnecttest gets built
get_target_property(BUILT_LLFBCONNECTTEST llfbconnecttest LOCATION)
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
DEPENDS ${BUILT_LLFBCONNECTTEST}
)
# also copy it to the same place as SLPlugin, which is what the mac wants...
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_LLFBCONNECTTEST}
)
endif (DARWIN OR WINDOWS)
# copy over bookmarks file if llfbconnecttest gets built
get_target_property(BUILT_LLFBCONNECTTEST llfbconnecttest LOCATION)
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
DEPENDS ${BUILT_LLFBCONNECTTEST}
)
if (DARWIN)
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
)
endif (DARWIN)
# also copy it to the same place as SLPlugin, which is what the mac wants...
add_custom_command(TARGET llfbconnecttest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_LLFBCONNECTTEST}
)
if(WINDOWS)
if (WINDOWS)
#********************
# Plugin test library deploy
#
@ -301,4 +293,83 @@ if(WINDOWS)
endif(WINDOWS)
if (DARWIN)
set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
set(fbconnecttest_release_files
libexception_handler.dylib
libaprutil-1.0.dylib
libapr-1.0.dylib
libexpat.1.5.2.dylib
libz.1.dylib
libssl.1.0.0.dylib
libcrypto.1.0.0.dylib
libQtCore.4.7.1.dylib
libQtCore.4.dylib
libQtGui.4.7.1.dylib
libQtGui.4.dylib
libQtNetwork.4.7.1.dylib
libQtNetwork.4.dylib
libQtOpenGL.4.7.1.dylib
libQtOpenGL.4.dylib
libQtWebKit.4.7.1.dylib
libQtWebKit.4.dylib
libQtSvg.4.7.1.dylib
libQtSvg.4.dylib
libQtXml.4.7.1.dylib
libQtXml.4.dylib
)
copy_if_different(
${fbconnecttest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}"
out_targets
${fbconnecttest_release_files}
)
set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt image format plugins)
set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/imageformats")
set(fbconnecttest_release_files
libqgif.dylib
libqico.dylib
libqjpeg.dylib
libqmng.dylib
libqsvg.dylib
libqtiff.dylib
)
copy_if_different(
${fbconnecttest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}/imageformats"
out_targets
${fbconnecttest_release_files}
)
set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt codec plugins)
set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/codecs")
set(fbconnecttest_release_files
libqcncodecs.dylib
libqjpcodecs.dylib
libqkrcodecs.dylib
libqtwcodecs.dylib
)
copy_if_different(
${fbconnecttest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}/codecs"
out_targets
${fbconnecttest_release_files}
)
set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
add_custom_target(copy_fbconnecttest_libs ALL
DEPENDS
${fbconnect_test_targets}
)
add_dependencies(llfbconnecttest copy_fbconnecttest_libs)
endif (DARWIN)
if (LINUX)
endif (LINUX)
ll_deploy_sharedlibs_command(llfbconnecttest)

View File

@ -346,44 +346,44 @@ add_custom_command(TARGET llmediaplugintest POST_BUILD
DEPENDS ${BUILT_LLCOMMON}
)
get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_WEBKIT_PLUGIN}
)
if (DARWIN OR WINDOWS)
get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_WEBKIT_PLUGIN}
)
get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_QUICKTIME_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_QUICKTIME_PLUGIN}
)
get_target_property(BUILT_EXAMPLE_PLUGIN media_plugin_example LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_EXAMPLE_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_EXAMPLE_PLUGIN}
)
# copy over bookmarks file if llmediaplugintest gets built
get_target_property(BUILT_LLMEDIAPLUGINTEST llmediaplugintest LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
)
# also copy it to the same place as SLPlugin, which is what the mac wants...
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
)
endif (DARWIN OR WINDOWS)
get_target_property(BUILT_EXAMPLE_PLUGIN media_plugin_example LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_EXAMPLE_PLUGIN} ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_EXAMPLE_PLUGIN}
)
# copy over bookmarks file if llmediaplugintest gets built
get_target_property(BUILT_LLMEDIAPLUGINTEST llmediaplugintest LOCATION)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
)
# also copy it to the same place as SLPlugin, which is what the mac wants...
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
)
if (DARWIN)
add_custom_command(TARGET llmediaplugintest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
)
# add_custom_command(TARGET llmediaplugintest POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
# DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
# )
endif (DARWIN)
if(WINDOWS)
@ -538,4 +538,79 @@ if(WINDOWS)
endif(WINDOWS)
if (DARWIN)
set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
set(plugintest_release_files
libexception_handler.dylib
libaprutil-1.0.dylib
libapr-1.0.dylib
libexpat.1.5.2.dylib
libz.1.dylib
libssl.1.0.0.dylib
libcrypto.1.0.0.dylib
libQtCore.4.7.1.dylib
libQtCore.4.dylib
libQtGui.4.7.1.dylib
libQtGui.4.dylib
libQtNetwork.4.7.1.dylib
libQtNetwork.4.dylib
libQtOpenGL.4.7.1.dylib
libQtOpenGL.4.dylib
libQtWebKit.4.7.1.dylib
libQtWebKit.4.dylib
libQtSvg.4.7.1.dylib
libQtSvg.4.dylib
libQtXml.4.7.1.dylib
libQtXml.4.dylib
)
copy_if_different(
${plugintest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}"
out_targets
${plugintest_release_files}
)
set(plugin_test_targets ${plugin_test_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt image format plugins)
set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/imageformats")
set(plugintest_release_files
libqgif.dylib
libqico.dylib
libqjpeg.dylib
libqmng.dylib
libqsvg.dylib
libqtiff.dylib
)
copy_if_different(
${plugintest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}/imageformats"
out_targets
${plugintest_release_files}
)
set(plugin_test_targets ${plugin_test_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt codec plugins)
set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/codecs")
set(plugintest_release_files
libqcncodecs.dylib
libqjpcodecs.dylib
libqkrcodecs.dylib
libqtwcodecs.dylib
)
copy_if_different(
${plugintest_release_src_dir}
"${PLUGINS_DESTINATION_DIR}/codecs"
out_targets
${plugintest_release_files}
)
set(plugin_test_targets ${plugin_test_targets} ${out_targets})
add_custom_target(copy_plugintest_libs ALL
DEPENDS
${plugin_test_targets}
)
add_dependencies(llmediaplugintest copy_plugintest_libs)
endif (DARWIN)
ll_deploy_sharedlibs_command(llmediaplugintest)