From 08f505ce7895f3bbad92484cd2a6050030326e6e Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Wed, 28 Jan 2009 13:20:05 -0700 Subject: Added GStreamer to Cmake --- ChangeLog.txt | 14 ++ linden/indra/cmake/CopyWinLibs.cmake | 174 +++++++++++++++++++++ linden/indra/cmake/GStreamer.cmake | 62 +++++++- linden/indra/llmedia/llmediaimplgstreamervidplug.h | 2 +- linden/indra/newview/llappviewer.cpp | 2 +- linden/install.xml | 55 ++++++- 6 files changed, 297 insertions(+), 12 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index b7b1122..db2b715 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -2,6 +2,20 @@ =- 1.1.0 -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +2009-01-26 McCabe Maxsted + + * linden/indra/cmake/CopyWinLibs.cmake: + Added GStreamer to Cmake. + * linden/indra/cmake/GStreamer.cmake: + Ditto. + * linden/indra/llmedia/llmediaimplgstreamervidplug.h: + Ditto. + * linden/indra/newview/llappviewer.cpp: + Ditto. + * linden/install.xml: + Ditto. + + 2009-01-24 McCabe Maxsted * linden/indra/newview/llfloaterhtmlhelp.cpp: diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake index 3d70c8f..fdfcb3f 100644 --- a/linden/indra/cmake/CopyWinLibs.cmake +++ b/linden/indra/cmake/CopyWinLibs.cmake @@ -6,6 +6,104 @@ include(CMakeCopyIfDifferent) +set(gst_plugin_debug_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/gstreamer-plugins") +set(gst_plugin_debug_files + libgstadder.dll + libgstalaw.dll + libgstaudioconvert.dll + libgstaudiorate.dll + libgstaudioresample.dll + libgstaudiotestsrc.dll + libgstautodetect.dll + libgstavi.dll + libgstcutter.dll + libgstdecodebin2.dll + libgstdecodebin.dll + libgstdirectdraw.dll + libgstdirectsound.dll + libgsteffectv.dll + libgstffmpeg.dll + libgstffmpegcolorspace.dll + libgstgdp.dll + libgstjpeg.dll + libgstmulaw.dll + libgstogg.dll + libgstplaybin.dll + libgstqtdemux.dll + libgstrtp.dll + libgstrtsp.dll + libgsttheora.dll + libgsttypefindfunctions.dll + libgstudp.dll + libgstvideobalance.dll + libgstvideobox.dll + libgstvideocrop.dll + libgstvideoflip.dll + libgstvideomixer.dll + libgstvideorate.dll + libgstvideoscale.dll + libgstvideotestsrc.dll + libgstvolume.dll + libgstvorbis.dll + ) + +copy_if_different( + ${gst_plugin_debug_dir} + "${CMAKE_CURRENT_BINARY_DIR}/Debug/lib/gstreamer-plugins" + out_targets + ${gst_plugin_debug_files} + ) +set(all_targets ${all_targets} ${out_targets}) + +set(gst_plugin_release_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/gstreamer-plugins") +set(gst_plugin_release_files + libgstadder.dll + libgstalaw.dll + libgstaudioconvert.dll + libgstaudiorate.dll + libgstaudioresample.dll + libgstaudiotestsrc.dll + libgstautodetect.dll + libgstavi.dll + libgstcutter.dll + libgstdecodebin2.dll + libgstdecodebin.dll + libgstdirectdraw.dll + libgstdirectsound.dll + libgsteffectv.dll + libgstffmpeg.dll + libgstffmpegcolorspace.dll + libgstgdp.dll + libgstjpeg.dll + libgstmulaw.dll + libgstogg.dll + libgstplaybin.dll + libgstqtdemux.dll + libgstrtp.dll + libgstrtsp.dll + libgsttheora.dll + libgsttypefindfunctions.dll + libgstudp.dll + libgstvideobalance.dll + libgstvideobox.dll + libgstvideocrop.dll + libgstvideoflip.dll + libgstvideomixer.dll + libgstvideorate.dll + libgstvideoscale.dll + libgstvideotestsrc.dll + libgstvolume.dll + libgstvorbis.dll + ) + +copy_if_different( + ${gst_plugin_release_dir} + "${CMAKE_CURRENT_BINARY_DIR}/Release/lib/gstreamer-plugins" + out_targets + ${gst_plugin_release_files} + ) +set(all_targets ${all_targets} ${out_targets}) + set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32") set(vivox_files tntk.dll @@ -38,6 +136,44 @@ set(debug_files xpcom.dll xul.dll windbgdlg.exe + iconv.dll + libxml2.dll + libgio-2.0-0.dll + libglib-2.0-0.dll + libgmodule-2.0-0.dll + libgobject-2.0-0.dll + libgthread-2.0-0.dll + avcodec-51.dll + avformat-52.dll + avutil-49.dll + intl.dll + libgstapp-0.10.dll + libgstaudio-0.10.dll + libgstbase-0.10.dll + libgstcdda-0.10.dll + libgstcontroller-0.10.dll + libgstdataprotocol-0.10.dll + libgstdshow-0.10.dll + libgstfft-0.10.dll + libgstinterfaces-0.10.dll + libgstnet-0.10.dll + libgstnetbuffer-0.10.dll + libgstpbutils-0.10.dll + libgstreamer-0.10.dll + libgstriff-0.10.dll + libgstrtp-0.10.dll + libgstrtsp-0.10.dll + libgstsdp-0.10.dll + libgsttag-0.10.dll + libgstvideo-0.10.dll + libjpeg.dll + libmms.dll + liboil-0.3-0.dll + libpng13.dll + xvidcore.dll + zlib1.dll + ogg.dll + vorbis.dll ) copy_if_different( @@ -74,6 +210,44 @@ set(release_files ssl3.dll xpcom.dll xul.dll + iconv.dll + libxml2.dll + libgio-2.0-0.dll + libglib-2.0-0.dll + libgmodule-2.0-0.dll + libgobject-2.0-0.dll + libgthread-2.0-0.dll + avcodec-51.dll + avformat-52.dll + avutil-49.dll + intl.dll + libgstapp-0.10.dll + libgstaudio-0.10.dll + libgstbase-0.10.dll + libgstcdda-0.10.dll + libgstcontroller-0.10.dll + libgstdataprotocol-0.10.dll + libgstdshow-0.10.dll + libgstfft-0.10.dll + libgstinterfaces-0.10.dll + libgstnet-0.10.dll + libgstnetbuffer-0.10.dll + libgstpbutils-0.10.dll + libgstreamer-0.10.dll + libgstriff-0.10.dll + libgstrtp-0.10.dll + libgstrtsp-0.10.dll + libgstsdp-0.10.dll + libgsttag-0.10.dll + libgstvideo-0.10.dll + libjpeg.dll + libmms.dll + liboil-0.3-0.dll + libpng13.dll + xvidcore.dll + zlib1.dll + ogg.dll + vorbis.dll ) copy_if_different( diff --git a/linden/indra/cmake/GStreamer.cmake b/linden/indra/cmake/GStreamer.cmake index 4369445..fc256a8 100644 --- a/linden/indra/cmake/GStreamer.cmake +++ b/linden/indra/cmake/GStreamer.cmake @@ -1,17 +1,61 @@ # -*- cmake -*- include(Prebuilt) -if (STANDALONE) - include(FindPkgConfig) - - pkg_check_modules(GSTREAMER REQUIRED gstreamer-0.10) - pkg_check_modules(GSTREAMER_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10) -elseif (LINUX) - use_prebuilt_binary(gstreamer) # possible libxml should have its own .cmake file instead use_prebuilt_binary(libxml) set(GSTREAMER_FOUND ON FORCE BOOL) set(GSTREAMER_PLUGINS_BASE_FOUND ON FORCE BOOL) + use_prebuilt_binary(gstreamer) + +if (WINDOWS) + + use_prebuilt_binary(libxml) + set(GSTREAMER_FOUND ON FORCE BOOL) + set(GSTREAMER_INCLUDE_DIRS + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gio + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gobject + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/iconv + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gst + ) + + set(GSTREAMER_LIBRARIES + glib-2.0 + gio-2.0 + gmodule-2.0 + gobject-2.0 + gthread-2.0 + libgstvideo-0.10 + libgsttag-0.10 + libgstsdp-0.10 + libgstrtsp-0.10 + libgstrtp-0.10 + libgstriff-0.10 + libgstreamer-0.10 + libgstpbutils-0.10 + libgstnetbuffer-0.10 + libgstnet-0.10 + libgstinterfaces-0.10 + libgstdshow-0.10 + libgstdataprotocol-0.10 + libgstcontroller-0.10 + libgstbase-0.10 + libgstaudio-0.10 + libgstapp-0.10 + libxml2 + libxml2_a + libxml2_a_dll + iconv + iconv_a + ) + +else (WINDOWS) + + include(FindPkgConfig) + + pkg_check_modules(GSTREAMER REQUIRED gstreamer-0.10) + pkg_check_modules(GSTREAMER_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10) set(GSTREAMER_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 @@ -19,6 +63,7 @@ elseif (LINUX) ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0/gobject ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 ) + # We don't need to explicitly link against gstreamer itself, because # LLMediaImplGStreamer probes for the system's copy at runtime. set(GSTREAMER_LIBRARIES @@ -29,7 +74,8 @@ elseif (LINUX) rt glib-2.0 ) -endif (STANDALONE) + +endif (WINDOWS) if (GSTREAMER_FOUND AND GSTREAMER_PLUGINS_BASE_FOUND) set(GSTREAMER ON CACHE BOOL "Build with GStreamer streaming media support.") diff --git a/linden/indra/llmedia/llmediaimplgstreamervidplug.h b/linden/indra/llmedia/llmediaimplgstreamervidplug.h index 026a52d..88caf3b 100644 --- a/linden/indra/llmedia/llmediaimplgstreamervidplug.h +++ b/linden/indra/llmedia/llmediaimplgstreamervidplug.h @@ -38,7 +38,7 @@ extern "C" { #include #include #include -#include +#include } G_BEGIN_DECLS diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 4bb235e..acc512f 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -337,7 +337,7 @@ void LLAppViewer::gst_plugin_path() char plugin_path[255]; strcpy (plugin_path,"GST_PLUGIN_PATH="); strcat (plugin_path,buffer); - strcat (plugin_path,"\\lib"); + strcat (plugin_path,"\\lib\\gstreamer-plugins"); // Place GST_PLUGIN_PATH in the environment settings for imprudence.exe putenv(plugin_path); diff --git a/linden/install.xml b/linden/install.xml index fd8f6ff..4e66880 100644 --- a/linden/install.xml +++ b/linden/install.xml @@ -390,6 +390,13 @@ url http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glib-2.0-linux-20080817.tar.bz2 + windows + + md5sum + B6B8B7A2CEB038C31BAD0EE4A1FBDF41 + url + http://imprudence.s3.amazonaws.com/extras/glib-2.18.3.1-windows-01262009.tar.bz2 + google @@ -420,6 +427,28 @@ url http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gstreamer-linux-20080613.tar.bz2 + windows + + md5sum + F4005971943595712212C4E0B9418DB5 + url + http://imprudence.s3.amazonaws.com/extras/gstreamer-0.10.21-windows-01262009.tar.bz2 + + + + gstreamer-plugins + + license + lgpl + packages + + windows + + md5sum + 51C077A953620D9E55AFCAB0FEAE56FC + url + http://imprudence.s3.amazonaws.com/extras/gstreamer-plugins-windows-01262009.tar.bz2 + gtk-atk-pango-glib @@ -481,6 +510,21 @@ + iconv + + license + gpl + packages + + windows + + md5sum + F20BDA1058BFD3AF7AC2C23EB3FD7F12 + url + http://imprudence.s3.amazonaws.com/extras/iconv-1.9.2-windows-01262009.tar.bz2 + + + jpeglib copyright @@ -632,6 +676,13 @@ anguage Infrstructure (CLI) international standard url http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libxml-2.6.24-linux-20080613.tar.bz2 + windows + + md5sum + E8DACED68B2165918B82C771D3480AA2 + url + http://imprudence.s3.amazonaws.com/extras/libxml2-2.7.2-windows-01262009.tar.bz2 + llmozlib @@ -804,9 +855,9 @@ anguage Infrstructure (CLI) international standard windows md5sum - a0757244e3e6688fde2ffeea35cc1f96 + 80C8AA77BDE113635FEABCD0E342F3C0 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-windows-20080924.tar.bz2 + http://imprudence.s3.amazonaws.com/extras/openal-soft-1.6.372-windows-01262009.tar.bz2 -- cgit v1.1