diff --git a/autobuild.xml b/autobuild.xml index 0e319d5fb9..1ad935b229 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -158,9 +158,9 @@ archive hash - 2dfcd809e747f714b3fe0bf82a175812 + 508c560cb2ac234e62efe2d4d5049789 url - 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 + http://bitbucket.org/cinderblocks/3p-apr/downloads/apr_suite-1.4.5-darwin-20140519u.tar.bz2 name darwin @@ -218,9 +218,9 @@ archive hash - 5c588beb693030f321dcf23d06ed934a + e3e2d26c6d15667c5ceddcec68ae7c32 url - http://downloads.phoenixviewer.com/ares-1.7.5-darwin-20131027u.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/ares-1.10.0-darwin-20140521u.tar.bz2 name darwin @@ -278,9 +278,9 @@ archive hash - 427a2adfc293fad4ff516bdbacb8d817 + 1eb36db04aa34dd2a9fcd7af1ff14d45 url - http://downloads.phoenixviewer.com/boost-1.52.0-darwin-20130709.tar.bz2 + http://bitbucket.org/cinderblocks/3p-boost152/downloads/boost-1.52.0-darwin-20140518u.tar.bz2 name darwin @@ -338,9 +338,9 @@ archive hash - 480b27a0cb39a4adfcdeabef895de3e1 + dc28ae49a8917ad39d9432b86ff91c82 url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-colladadom/rev/227230/arch/Darwin/installer/colladadom-2.2-darwin-20110420.tar.bz2 + http://bitbucket.org/cinderblocks/3p-colladadom/downloads/colladadom-2.2-darwin-20140519u.tar.bz2 name darwin @@ -398,9 +398,9 @@ archive hash - e7c8008b524fe9105955cb292fcaac66 + 2367231226757031ef71c58d6e47df55 url - http://downloads.phoenixviewer.com/curl-7.24.0-darwin-20131112u.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/curl-7.37.0-darwin-20140521u.tar.bz2 name darwin @@ -626,9 +626,9 @@ archive hash - b3a3849d44710ade63e8951c936ca829 + 600080e0ee370be7c4f563215c4f0033 url - http://downloads.phoenixviewer.com/expat-2.0.1-darwin-20131028u.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/expat-2.0.1-darwin-20140522u.tar.bz2 name darwin @@ -1598,9 +1598,9 @@ archive hash - ad7768b85116c3016a36151e0b7b5001 + b7070be15ab964fc5b3c1e3be25adb40 url - http://downloads.phoenixviewer.com/libpng-1.5.1-darwin-20131112u.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/libpng-1.5.1-darwin-20140521u.tar.bz2 name darwin @@ -1793,58 +1793,6 @@ version 0.2 - llphysicsextensions_stub - - license - TEMPORARY - license_file - LICENSES/llphysicsextensions.txt - name - llphysicsextensions_stub - platforms - - darwin - - archive - - hash - 3ae798d4dfb54a1d806ee5f8b31f7626 - hash_algorithm - md5 - url - 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 - - name - darwin - - linux - - archive - - hash - aa8a2f25e8629cf5e6a96cc0eb93de8e - url - 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 - - name - linux - - windows - - archive - - hash - 3ea4cee6a8dd4c89fbfd3ad6abd703c2 - url - 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 - - name - windows - - - version - 0.2 - llqtwebkit license @@ -2088,9 +2036,9 @@ archive hash - e849bc2b779fb7cc5e81aeb021a542c0 + 1772c222adf5376451bc320d49946d05 url - 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 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/ogg_vorbis-1.3.1-1.3.4-darwin-20140521u.tar.bz2 name darwin @@ -2148,9 +2096,9 @@ archive hash - a265c0f38a7934fbe7ae7c020ddddf2c + 75a77beadd5dbf5f12a2c59c64763045 url - http://downloads.phoenixviewer.com/openssl-1.0.0g-darwin-20131112u.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/openssl-1.0.1g-darwin-20140521u.tar.bz2 name darwin @@ -2260,9 +2208,9 @@ archive hash - 4be51c7cca7d84831e30b63279df7ae5 + bd42f49f2977ce4aa9bbd04b39999f08 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-darwin-20110302.tar.bz2 + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/openjpeg-1.4-darwin-20140524u.tar.bz2 name darwin @@ -2380,13 +2328,25 @@ slplugin_x86 license - OpenSSL/LGPL + LGPL license_file LICENSES/slplugin.txt name slplugin_x86 platforms + darwin + + archive + + hash + c86e0a8e3977e6e27a61f78d625295d3 + url + http://bitbucket.org/cinderblocks/darwin64-libs/downloads/slplugin_x86-1.0-darwin-20140410.tar.bz2 + + name + darwin + windows archive @@ -2817,7 +2777,6 @@ name ReleaseFS - ReleaseFS_AVX configure @@ -2835,7 +2794,6 @@ name ReleaseFS_AVX - ReleaseFS_open configure @@ -3142,7 +3100,6 @@ name ReleaseFS - ReleaseFS_AVX build @@ -3171,7 +3128,6 @@ name ReleaseFS_AVX - ReleaseFS_open build @@ -3460,7 +3416,6 @@ name ReleaseFS - ReleaseFS_AVX build @@ -3485,7 +3440,6 @@ name ReleaseFS_AVX - ReleaseFS_open build @@ -3911,7 +3865,6 @@ name ReleaseFS - ReleaseFS_AVX build @@ -3949,7 +3902,6 @@ name ReleaseFS_AVX - ReleaseFS_open build diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index a698f7515d..f176cb8408 100755 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -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 ) ) # #teapot helper library diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 844e03248e..12f88496b5 100755 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -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 diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 6700bd72b1..00d3147367 100755 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -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) diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index 72878987c8..cff3e46875 100755 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -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 } diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h index 8c7143304f..e2d863d141 100755 --- a/indra/llcommon/llthread.h +++ b/indra/llcommon/llthread.h @@ -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; diff --git a/indra/llvfs/lldir_mac.cpp b/indra/llvfs/lldir_mac.cpp index 4bf724aee0..ed6bbcb390 100755 --- a/indra/llvfs/lldir_mac.cpp +++ b/indra/llvfs/lldir_mac.cpp @@ -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 diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f69a129542..234f173d7d 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -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}") diff --git a/indra/newview/fsfloaternearbychat.cpp b/indra/newview/fsfloaternearbychat.cpp index 8dd1db7f6f..ed9d0e3c26 100644 --- a/indra/newview/fsfloaternearbychat.cpp +++ b/indra/newview/fsfloaternearbychat.cpp @@ -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); diff --git a/indra/newview/fsnearbychatcontrol.cpp b/indra/newview/fsnearbychatcontrol.cpp index 4f1d7f0989..d9bbff2c1a 100644 --- a/indra/newview/fsnearbychatcontrol.cpp +++ b/indra/newview/fsnearbychatcontrol.cpp @@ -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); diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 2723f0b90d..9ec6f7b312 100755 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -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) diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index 77fd5752d4..555c10e030 100755 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -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); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index d0f6e0e982..7dd9c47879 100755 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -635,7 +635,7 @@ void LLPanelLogin::getFields(LLPointer& credential, std::string username = sInstance->getChild("username_combo")->getValue().asString(); LLStringUtil::trim(username); // - U32 arobase = username.find("@"); + size_t arobase = username.find("@"); if(arobase != std::string::npos) username = username.substr(0, arobase); // @@ -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("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); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index dbd4cce163..6477b7cf47 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -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); diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 21e0c12501..7d18c92870 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -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):