Initial 64-bit and universal darwin support

--HG--
branch : Mac64
master
Cinder 2014-05-24 23:13:01 -06:00
parent ec8da7c32f
commit 8fd6092917
15 changed files with 127 additions and 126 deletions

View File

@ -158,9 +158,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>2dfcd809e747f714b3fe0bf82a175812</string>
<string>508c560cb2ac234e62efe2d4d5049789</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-apr/rev/259951/arch/Darwin/installer/apr_suite-1.4.5-darwin-20120618.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/3p-apr/downloads/apr_suite-1.4.5-darwin-20140519u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -218,9 +218,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>5c588beb693030f321dcf23d06ed934a</string>
<string>e3e2d26c6d15667c5ceddcec68ae7c32</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/ares-1.7.5-darwin-20131027u.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/ares-1.10.0-darwin-20140521u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -278,9 +278,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>427a2adfc293fad4ff516bdbacb8d817</string>
<string>1eb36db04aa34dd2a9fcd7af1ff14d45</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/boost-1.52.0-darwin-20130709.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/3p-boost152/downloads/boost-1.52.0-darwin-20140518u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -338,9 +338,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>480b27a0cb39a4adfcdeabef895de3e1</string>
<string>dc28ae49a8917ad39d9432b86ff91c82</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-colladadom/rev/227230/arch/Darwin/installer/colladadom-2.2-darwin-20110420.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/3p-colladadom/downloads/colladadom-2.2-darwin-20140519u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -398,9 +398,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>e7c8008b524fe9105955cb292fcaac66</string>
<string>2367231226757031ef71c58d6e47df55</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/curl-7.24.0-darwin-20131112u.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/curl-7.37.0-darwin-20140521u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -626,9 +626,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>b3a3849d44710ade63e8951c936ca829</string>
<string>600080e0ee370be7c4f563215c4f0033</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/expat-2.0.1-darwin-20131028u.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/expat-2.0.1-darwin-20140522u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -1598,9 +1598,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ad7768b85116c3016a36151e0b7b5001</string>
<string>b7070be15ab964fc5b3c1e3be25adb40</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/libpng-1.5.1-darwin-20131112u.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/libpng-1.5.1-darwin-20140521u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -1793,58 +1793,6 @@
<key>version</key>
<string>0.2</string>
</map>
<key>llphysicsextensions_stub</key>
<map>
<key>license</key>
<string>TEMPORARY</string>
<key>license_file</key>
<string>LICENSES/llphysicsextensions.txt</string>
<key>name</key>
<string>llphysicsextensions_stub</string>
<key>platforms</key>
<map>
<key>darwin</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>3ae798d4dfb54a1d806ee5f8b31f7626</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub/rev/263415/arch/Darwin/installer/llphysicsextensions_stub-0.3-darwin-20120814.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>aa8a2f25e8629cf5e6a96cc0eb93de8e</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub/rev/263415/arch/Linux/installer/llphysicsextensions_stub-0.3-linux-20120814.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
</map>
<key>windows</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>3ea4cee6a8dd4c89fbfd3ad6abd703c2</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub/rev/263415/arch/CYGWIN/installer/llphysicsextensions_stub-0.3-windows-20120814.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
<key>version</key>
<string>0.2</string>
</map>
<key>llqtwebkit</key>
<map>
<key>license</key>
@ -2088,9 +2036,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>e849bc2b779fb7cc5e81aeb021a542c0</string>
<string>1772c222adf5376451bc320d49946d05</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ogvorbis/rev/229529/arch/Darwin/installer/ogg_vorbis-1.2.2-1.3.2-darwin-20110510.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/ogg_vorbis-1.3.1-1.3.4-darwin-20140521u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -2148,9 +2096,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>a265c0f38a7934fbe7ae7c020ddddf2c</string>
<string>75a77beadd5dbf5f12a2c59c64763045</string>
<key>url</key>
<string>http://downloads.phoenixviewer.com/openssl-1.0.0g-darwin-20131112u.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/openssl-1.0.1g-darwin-20140521u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -2260,9 +2208,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>4be51c7cca7d84831e30b63279df7ae5</string>
<string>bd42f49f2977ce4aa9bbd04b39999f08</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-darwin-20110302.tar.bz2</string>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/openjpeg-1.4-darwin-20140524u.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@ -2380,13 +2328,25 @@
<key>slplugin_x86</key>
<map>
<key>license</key>
<string>OpenSSL/LGPL</string>
<string>LGPL</string>
<key>license_file</key>
<string>LICENSES/slplugin.txt</string>
<key>name</key>
<string>slplugin_x86</string>
<key>platforms</key>
<map>
<key>darwin</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>c86e0a8e3977e6e27a61f78d625295d3</string>
<key>url</key>
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/slplugin_x86-1.0-darwin-20140410.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
</map>
<key>windows</key>
<map>
<key>archive</key>
@ -2817,7 +2777,6 @@
<key>name</key>
<string>ReleaseFS</string>
</map>
<!-- FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_AVX</key>
<map>
<key>configure</key>
@ -2835,7 +2794,6 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<!-- END FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_open</key>
<map>
<key>configure</key>
@ -3142,7 +3100,6 @@
<key>name</key>
<string>ReleaseFS</string>
</map>
<!-- FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_AVX</key>
<map>
<key>build</key>
@ -3171,7 +3128,6 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<!-- END FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_open</key>
<map>
<key>build</key>
@ -3460,7 +3416,6 @@
<key>name</key>
<string>ReleaseFS</string>
</map>
<!-- FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_AVX</key>
<map>
<key>build</key>
@ -3485,7 +3440,6 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<!-- END FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_open</key>
<map>
<key>build</key>
@ -3911,7 +3865,6 @@
<key>name</key>
<string>ReleaseFS</string>
</map>
<!-- FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_AVX</key>
<map>
<key>build</key>
@ -3949,7 +3902,6 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<!-- END FS:Ansariel: [AVX Optimization] -->
<key>ReleaseFS_open</key>
<map>
<key>build</key>

View File

@ -88,9 +88,9 @@ add_subdirectory(${VIEWER_PREFIX}test)
endif (LL_TESTS OR NOT STANDALONE)
# viewer media plugins
if( NOT ( WINDOWS AND ND_BUILD64BIT_ARCH ) )
if( NOT ( (WINDOWS OR DARWIN) AND ND_BUILD64BIT_ARCH ) )
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins)
endif( NOT ( WINDOWS AND ND_BUILD64BIT_ARCH ) )
endif( NOT ( (WINDOWS OR DARWIN) AND ND_BUILD64BIT_ARCH ) )
# <FS:AW opensim currency support>
#teapot helper library

View File

@ -10,8 +10,11 @@
# WINDOWS - Windows
if( ${NDTARGET_ARCH} STREQUAL "x64" )
set( ND_BUILD64BIT_ARCH ON )
endif( ${NDTARGET_ARCH} STREQUAL "x64" )
set( ND_BUILD64BIT_ARCH ON )
elseif( ${NDTARGET_ARCH} STREQUAL "universal" )
set( ND_BUILD64BIT_ARCH ON )
set( OSX_UNIVERSAL_ARCH ON )
endif()
# Relative and absolute paths to subtrees.
@ -165,34 +168,43 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
endif (XCODE_VERSION GREATER 4.9)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
if (LL_RELEASE_FOR_DOWNLOAD)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
else (LL_RELEASE_FOR_DOWNLOAD)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf)
endif (LL_RELEASE_FOR_DOWNLOAD)
# Build only for i386 by default, system default on MacOSX 10.6 is x86_64
if (NOT CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES i386)
set(CMAKE_OSX_ARCHITECTURES "i386")
if(ND_BUILD64BIT_ARCH)
set(CMAKE_OSX_ARCHITECTURES "x86_64")
endif(ND_BUILD64BIT_ARCH)
if(OSX_UNIVERSAL_ARCH)
set(CMAKE_OSX_ARCHITECTURES "i386;x86_64")
endif(OSX_UNIVERSAL_ARCH)
endif (NOT CMAKE_OSX_ARCHITECTURES)
# [FS:CR] Can't build ppc since forever.
# if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
# set(ARCH universal)
# else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
# if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
# set(ARCH ppc)
# else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
# set(ARCH i386)
# endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
# endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
if (CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
error("Can't build on PowerPC. You need an upgrade.")
endif (CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
# *TODO: Universal Build
set(ARCH i386)
if(ND_BUILD64BIT_ARCH)
set(ARCH x86_64)
endif(ND_BUILD64BIT_ARCH)
if(OSX_UNIVERSAL_ARCH)
set(ARCH universal)
endif(OSX_UNIVERSAL_ARCH)
# [/FS:CR]
set(LL_ARCH ${ARCH}_darwin)
set(LL_ARCH_DIR universal-darwin)
set(WORD_SIZE 32)
if(ND_BUILD64BIT_ARCH)
set(WORD_SIZE 64)
else (ND_BUILD64BIT_ARCH)
set(WORD_SIZE 32)
endif(ND_BUILD64BIT_ARCH)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Default deploy grid

View File

@ -7,11 +7,13 @@ if (NOT STANDALONE)
use_prebuilt_binary(slvoice)
use_prebuilt_binary(fontconfig)
if( WINDOWS )
if( ND_BUILD64BIT_ARCH )
if( ND_BUILD64BIT_ARCH )
if( WINDOWS )
use_prebuilt_binary( slplugin_x86 )
use_prebuilt_binary( wix )
endif( ND_BUILD64BIT_ARCH )
endif( WINDOWS )
elseif(DARWIN)
use_prebuilt_binary(slplugin_x86)
endif()
endif( ND_BUILD64BIT_ARCH )
endif(NOT STANDALONE)

View File

@ -64,11 +64,11 @@ U32 LLThread::sIDIter = 0;
LL_COMMON_API void assert_main_thread()
{
static U32 s_thread_id = LLThread::currentID();
static uintptr_t s_thread_id = LLThread::currentID();
if (LLThread::currentID() != s_thread_id)
{
llwarns << "Illegal execution from thread id " << (S32) LLThread::currentID()
<< " outside main thread " << (S32) s_thread_id << llendl;
llwarns << "Illegal execution from thread id " << (intptr_t) LLThread::currentID()
<< " outside main thread " << (intptr_t) s_thread_id << llendl;
}
}
@ -281,9 +281,9 @@ void LLThread::setQuitting()
}
// static
U32 LLThread::currentID()
uintptr_t LLThread::currentID()
{
return (U32)apr_os_thread_current();
return (uintptr_t)apr_os_thread_current();
}
// static
@ -401,7 +401,7 @@ bool LLMutex::trylock()
#if MUTEX_DEBUG
// Have to have the lock before we can access the debug info
U32 id = LLThread::currentID();
uintptr_t id = LLThread::currentID();
if (mIsLocked[id] != FALSE)
llerrs << "Already locked in Thread: " << id << llendl;
mIsLocked[id] = TRUE;
@ -425,7 +425,7 @@ void LLMutex::unlock()
#if MUTEX_DEBUG
// Access the debug info while we have the lock
U32 id = LLThread::currentID();
uintptr_t id = LLThread::currentID();
if (mIsLocked[id] != TRUE)
llerrs << "Not locked in Thread: " << id << llendl;
mIsLocked[id] = FALSE;
@ -488,7 +488,7 @@ void LLCondition::wait()
apr_thread_mutex_lock(mAPRMutexp);
#if MUTEX_DEBUG
// avoid asserts on destruction in non-release builds
U32 id = LLThread::currentID();
uintptr_t id = LLThread::currentID();
mIsLocked[id] = TRUE;
#endif
}

View File

@ -62,7 +62,7 @@ public:
bool isQuitting() const { return (QUITTING == mStatus); }
bool isStopped() const { return (STOPPED == mStatus); }
static U32 currentID(); // Return ID of current thread
static uintptr_t currentID(); // Return ID of current thread
static void yield(); // Static because it can be called by the main thread, which doesn't have an LLThread data structure.
public:
@ -165,7 +165,7 @@ public:
protected:
apr_thread_mutex_t *mAPRMutexp;
mutable U32 mCount;
mutable U32 mLockingThread;
mutable uintptr_t mLockingThread;
apr_pool_t *mAPRPoolp;
BOOL mIsLocalPool;

View File

@ -94,7 +94,7 @@ LLDir_Mac::LLDir_Mac()
// MBW -- This keeps the mac application from finding other things.
// If this is really for skins, it should JUST apply to skins.
U32 build_dir_pos = mExecutableDir.rfind("/build-darwin-");
size_t build_dir_pos = mExecutableDir.rfind("/build-darwin-");
if (build_dir_pos != std::string::npos)
{
// ...we're in a dev checkout

View File

@ -2391,7 +2391,7 @@ if (DARWIN)
generate_viewer_version
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit mac-crash-logger)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin mac-crash-logger)
if (ENABLE_SIGNING)
set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}")

View File

@ -829,7 +829,7 @@ void FSFloaterNearbyChat::onChatBoxKeystroke()
{
suffix = wstring_to_utf8str(raw_text.substr(cur_pos)); // Text after search string
}
U32 last_space = prefix.rfind(" ");
size_t last_space = prefix.rfind(" ");
std::string pattern = prefix.substr(last_space + 1, prefix.length() - last_space - 1); // Search pattern
prefix = prefix.substr(0, last_space + 1);

View File

@ -185,7 +185,7 @@ void FSNearbyChatControl::onKeystroke(LLLineEditor* caller,void* userdata)
{
suffix = wstring_to_utf8str(raw_text.substr(cur_pos)); // Text after search string
}
U32 last_space = prefix.rfind(" ");
size_t last_space = prefix.rfind(" ");
std::string pattern = prefix.substr(last_space + 1, prefix.length() - last_space - 1); // Search pattern
prefix = prefix.substr(0, last_space + 1);

View File

@ -231,7 +231,7 @@ bool LLAppViewerMacOSX::restoreErrorTrap()
unsigned int reset_count = 0;
#define SET_SIG(S) sigaction(SIGABRT, &act, &old_act); \
if((unsigned int)act.sa_sigaction != (unsigned int) old_act.sa_sigaction) \
if((uintptr_t)act.sa_sigaction != (uintptr_t) old_act.sa_sigaction) \
++reset_count;
// Synchronous signals
SET_SIG(SIGABRT)

View File

@ -948,7 +948,7 @@ bool LLChatLogParser::parse(std::string& raw, LLSD& im, const LLSD& parse_params
// Ansariel: Handle the case an IM was stored in nearby chat history
if (name == "IM:")
{
U32 divider_pos = stuff.find(NAME_TEXT_DIVIDER, 3);
size_t divider_pos = stuff.find(NAME_TEXT_DIVIDER, 3);
if (divider_pos != std::string::npos && divider_pos < (stuff.length() - NAME_TEXT_DIVIDER.length()))
{
im[LL_IM_FROM] = stuff.substr(0, divider_pos);

View File

@ -635,7 +635,7 @@ void LLPanelLogin::getFields(LLPointer<LLCredential>& credential,
std::string username = sInstance->getChild<LLUICtrl>("username_combo")->getValue().asString();
LLStringUtil::trim(username);
// <FS:CR>
U32 arobase = username.find("@");
size_t arobase = username.find("@");
if(arobase != std::string::npos)
username = username.substr(0, arobase);
// </FS:CR>
@ -1222,7 +1222,7 @@ void LLPanelLogin::addUsersToCombo(BOOL show_server)
std::string credname = name;
std::string gridname = name;
U32 arobase = gridname.find("@");
size_t arobase = gridname.find("@");
if (arobase != std::string::npos && arobase + 1 < gridname.length() && arobase > 1)
{
gridname = gridname.substr(arobase + 1, gridname.length() - arobase - 1);
@ -1382,7 +1382,7 @@ std::string LLPanelLogin::credentialName()
std::string username = sInstance->getChild<LLUICtrl>("username_combo")->getValue().asString();
LLStringUtil::trim(username);
U32 arobase = username.find("@");
size_t arobase = username.find("@");
if (arobase != std::string::npos && arobase + 1 < username.length())
username = username.substr(0,arobase);
LLStringUtil::trim(username);

View File

@ -3038,7 +3038,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
// The group notice packet does not have an AgentID. Obtain one from the name cache.
// If last name is "Resident" strip it out so the cache name lookup works.
U32 index = original_name.find(" Resident");
size_t index = original_name.find(" Resident");
if (index != std::string::npos)
{
original_name = original_name.substr(0, index);

View File

@ -833,7 +833,7 @@ class Windows_i686_Manifest(ViewerManifest):
self.package_file = installer_file
class Darwin_i386_Manifest(ViewerManifest):
class DarwinManifest(ViewerManifest):
def is_packaging_viewer(self):
# darwin requires full app bundle packaging even for debugging.
return True
@ -858,7 +858,7 @@ class Darwin_i386_Manifest(ViewerManifest):
# most everything goes in the Resources directory
if self.prefix(src="", dst="Resources"):
super(Darwin_i386_Manifest, self).construct()
super(DarwinManifest, self).construct()
if self.prefix("cursors_mac"):
self.path("*.tif")
@ -1184,6 +1184,41 @@ class Darwin_i386_Manifest(ViewerManifest):
self.args['viewer_flavor']))
class Darwin_i386_Manifest(DarwinManifest):
def construct(self):
super(Darwin_i386_Manifest, self).construct()
class Darwin_universal_Manifest(DarwinManifest):
def construct(self):
super(Darwin_universal_Manifest, self).construct()
if(self.prefix(src="../packages/bin_x86", dst="Contents/Resources/")):
self.path("slplugin.app")
if self.prefix(src = "llplugin", dst="llplugin"):
self.path("media_plugin_quicktime.dylib")
self.path("media_plugin_webkit.dylib")
self.path("libllqtwebkit.dylib")
self.end_prefix("llplugin")
self.end_prefix("../packages/bin_x86/slplugin");
class Darwin_x86_64_Manifest(DarwinManifest):
def construct(self):
super(Darwin_x86_64_Manifest, self).construct()
if(self.prefix("../packages/bin_x86", dst="Contents/Resources/")):
self.path("slplugin.app", "slplugin.app")
if self.prefix(src = "llplugin", dst="llplugin"):
self.path("media_plugin_quicktime.dylib", "media_plugin_quicktime.dylib")
self.path("media_plugin_webkit.dylib", "media_plugin_webkit.dylib")
self.path("libllqtwebkit.dylib", "libllqtwebkit.dylib")
self.end_prefix("llplugin")
self.end_prefix("../packages/bin_x86");
class LinuxManifest(ViewerManifest):