[Helix-client-dev] Re: CR/CN: Solaris-Sparc-GCC patches for GMPMetaEditor branch
Petar Basic <[email protected]> Tue, 12 Jan 2010 13:19:44 +0100
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <[email protected]> |
Additional fixes for Solaris native compiler. On Mon, Jan 11, 2010 at 6:58 PM, Petar Basic <[email protected]> wrote: > Modified by: pbasic at real.com > Date: 2010/01/11 > Project: GMP MetaEditor (meta3gp.exe) > > Synopsis: > Solaris-Sparc-GCC patches for GMPMetaEditor branch > > Overview: > This CR includes patches needed to successfully build/run meta3gp > project with GCC on Solaris-Sparc. > > Checked into GMPMetaEditor branch immediately since I need to verify > the build on the farm ASAP. Some points below can be discussed and > improved on later, however, at this time they seem irrelevant in the > context of GMPMetaEditor. > > Details: > 1.) "audio/fixptutil/pub/math64.h" was failing to compile due to > missing implementation of 64-bit operations for Solaris-Sparc-GCC > combo. > > In the CVS log, one can find traces of Sparc specific blocks of code > which according to CVS comments had some bugs and were replaced by > platform independent (plain C) implementations for Solaris-SunStudio > combo. Relevant ifdef statement has now been modified to also compile > platform independent implementations under Solaris-Sparc-GCC combo. > > All tests performed by "audio/fixptutil/test/fixpttest.c" succeed, > although the execution proves slow. Testing with MetaEditor reveals > that these operations are not used during meta-data > extraction/injection, so at this time optimization for > Solaris-Sparc-GCC does not seem important. > > 2.) statvfs on Solaris fails if passed an empty path argument, which > causes calling method CHXFileSpecUtils::IsDiskLocal to print out an > error to the console. This is not acceptable for MetaEditor, > especially since everything works correctly. The culprit is actually > in MemoryMapDataFile::Bind method in > "common/fileio/platform/unix/mmapdatf.cpp". The code has been updated > to process empty paths as a special case before resorting to > CHXFileSpecUtils::IsDiskLocal. Also, what seems as a duplicate code > block due to a bad check-in has been removed. > > 3.) RMAShutdown entry point which is now required by plugin handler > has been added to metaeditor.dll. > > 4.) Defaulting meta3gp executable to DTDriver synchronous mode since > asynchronous mode is not implemented on Solaris. > > 5.) Fixed various build busters. > > 6.) Reordered library dependencies in a few projects to allow the > Solaris linker to link all symbols correctly. > > Testing: > Verified operation on GMP MetaEditor on Solaris 5.10 Sparc via > standard MetaEditor test scripts. > > Files Modified: > audio/fixptutil/pub/math64.h > client/medpltfm/hxmedpltfmdll > client/medpltfm/pub/chxmedpltfmkicker.h > client/medpltfm/pub/chxmedpltfmsched.h > common/fileio/platform/unix/mmapdatf.cpp > datatype/mp4/filewriter/m4avsh.cpp > datatype/mp4/filewriter/mp4atoms.h > datatype/mp4/filewriter/mp4sm.cpp > datatype/mp4/filewriter/ra10sh.cpp > datatype/tools/dtdriver/apps/meta3gp/HXXmlInputParser.h > datatype/tools/dtdriver/apps/meta3gp/Umakefil_meta3gp > datatype/tools/dtdriver/apps/meta3gp/Umakefil_tests > datatype/tools/dtdriver/apps/meta3gp/main.cpp > datatype/tools/dtdriver/dtdrplin/dtdr_genr_lib > datatype/tools/dtdriver/dtdrplin/dtdr_platform_dll > datatype/tools/metaeditor/Umakefil > datatype/tools/metaeditor/hxdll.cpp > > Platforms and Profiles Affected: > All > > Image Size and Heap Use impact: > None > > Platforms and Profiles Build Verified: > system id: win32-i386-vc7, sunos-5.8-sparc-gcc-server > profile: helix-client-all-defines > > Platforms and Profiles Functionality Verified: > x86 Windows XP SP2 > Sparc SunOS 5.10 > > Branch: > GMPMetaEditor > > Copyright assignment: > I am a RealNetworks employee or contractor. > _______________________________________________ Helix-client-dev mailing list [email protected] http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
client_core.2.diff
(application/octet-stream, 2.9 KB)
Index: hxmedengpln
===================================================================
RCS file: /cvsroot/client/core/hxmedengpln,v
retrieving revision 1.5
diff -d -H -w -U30 -r1.5 hxmedengpln
--- hxmedengpln 18 Dec 2009 18:36:36 -0000 1.5
+++ hxmedengpln 12 Jan 2010 00:28:07 -0000
@@ -45,60 +45,61 @@
# Technology Compatibility Kit Test Suite(s) Location:
# http://www.helixcommunity.org/content/tck
#
# Contributor(s):
#
# ***** END LICENSE BLOCK *****
#
UmakefileVersion(2,2)
project.AddModuleIncludes("common/include",
"common/container/pub",
"common/util/pub",
"common/system/pub",
"common/dbgtool/pub",
"common/runtime/pub",
"common/fileio/pub",
"common/lang/xml/pub",
"common/netio/pub",
"protocol/transport/common/system/pub",
"protocol/transport/rtp/pub",
"protocol/common/util/pub",
"protocol/rtsp/pub",
"protocol/rtsp/include",
"protocol/pna/pub",
"protocol/sdp/pub",
"audio/include",
"video/include",
"video/colconverter/pub")
+project.AddModuleIncludes("client/core")
project.AddIncludes("../include",
"../common/container/pub",
"../common/util/pub",
"../common/netio/pub",
"../common/system/pub",
"../audiosvc/pub",
"../videosvc/pub",
"../netwksvc/pub",
"../resource/pub")
project.AddModuleLibraries("common/dbgtool[debuglib]",
"common/util[utillib]",
"common/container[contlib]",
"common/system[syslib]",
"common/runtime[runtlib]",
"common/fileio[fileiolib]",
"common/log/logutil[logutillib]",
"client/common/system[sysclntlib]",
"client/common/container[contclntlib]",
"client/common/util[utlclntlib]",
"client/core[clntcorelib]",
"datatype/common/container[dtcomcontlib]")
if project.IsDefined('HELIX_FEATURE_AUDIO'):
project.AddModuleLibraries("audio/device[auddevlib]",
"client/audiosvc[audsvclib]")
if project.IsDefined('HELIX_FEATURE_GAINTOOL'):
project.AddModuleLibraries("audio/gaintool[audgainlib]" )
datatype_tools_dtdriver_dtdrplin.2.diff
(application/octet-stream, 3.4 KB)
Index: dtdr_genr_dll
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/dtdrplin/dtdr_genr_dll,v
retrieving revision 1.6
diff -d -H -w -U30 -r1.6 dtdr_genr_dll
--- dtdr_genr_dll 18 Dec 2009 18:38:58 -0000 1.6
+++ dtdr_genr_dll 12 Jan 2010 00:25:07 -0000
@@ -35,60 +35,62 @@
# developer of the Original Code and owns the copyrights in the
# portions it created.
#
# This file, and the files included with this file, is distributed
# and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
# KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
# ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
# ENJOYMENT OR NON-INFRINGEMENT.
#
# Technology Compatibility Kit Test Suite(s) Location:
# http://www.helixcommunity.org/content/tck
#
# Contributor(s):
#
# ***** END LICENSE BLOCK *****
#
project.AddModuleIncludes("common/include",
"common/log/logobserverfile/pub",
"datatype/tools/dtdriver/engine",
"common/system/pub",
"common/container/pub",
"common/dbgtool/pub",
"common/util/pub",
"datatype/tools/dtdriver/engine/pub",
"client/common/system/pub",
"datatype/tools/minicntx/pub",
"client/encodesvc/include")
+project.AddModuleIncludes("datatype/tools/dtdriver/dtdrplin")
+
project.AddModuleLibraries("datatype/common/util[dtutillib]")
project.AddModuleLibraries( "datatype/tools/dtdriver/loader[SourceHandlerLoader]",
"datatype/tools/dtdriver/engine[dtdrengine]",
"datatype/tools/dtdriver/common[dtdrcomlib]",
"datatype/tools/dtdriver/decoder/common[dtdrdeclib]",
"datatype/tools/dtdriver/decoder/audio[dtdrauddec]",
"datatype/tools/dtdriver/decoder/video[dtdrviddec]",
"client/common/container[contclntlib]",
"client/common/system[sysclntlib]",
"client/common/util[utlclntlib]",
"common/runtime[runtlib]",
"common/dbgtool[debuglib]",
"common/util[utillib]",
"common/container[contlib]",
"common/system[syslib]",
"common/fileio[fileiolib]",
"common/lang/xml[xmllib]")
if project.IsDefined("HELIX_FEATURE_MISU"):
project.AddModuleLibraries( "client/videosvc[vidsvclib]")
if project.IsDefined("HELIX_FEATURE_DTDR_MIXER"):
project.AddModuleLibraries("client/audiosvc[audsvclib]")
if ('HELIX_FEATURE_GAINTOOL' in project.defines):
project.AddModuleLibraries("audio/gaintool[audgainlib]" )
if ('HELIX_FEATURE_CROSSFADE' in project.defines):
project.AddModuleLibraries("audio/crossfade[audxfadelib]")
if ('HELIX_FEATURE_LIMITER' in project.defines):
project.AddModuleLibraries('audio/limiter[audlimiter]')
if ('HELIX_FEATURE_RESAMPLER' in project.defines):