Merging from FS tip.
commit
52dfd7b31e
|
|
@ -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://downloads.phoenixviewer.com/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://downloads.phoenixviewer.com/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://downloads.phoenixviewer.com/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://downloads.phoenixviewer.com/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>b1954c2c6fefb38a312a610f0adcbb11</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-20140605u.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://downloads.phoenixviewer.com/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://downloads.phoenixviewer.com/libpng-1.5.1-darwin-20140521u.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -2088,9 +2088,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://downloads.phoenixviewer.com/ogg_vorbis-1.3.1-1.3.4-darwin-20140521u.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -2148,9 +2148,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>fb0bd369c8c34cdb783de13f2689a34f</string>
|
||||
<string>86f2c270b64be8140e2c622b06d34034</string>
|
||||
<key>url</key>
|
||||
<string>http://downloads.phoenixviewer.com/openssl-1.0.1h-darwin-20140606.tar.bz2</string>
|
||||
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/openssl-1.0.1h-darwin-20140605u.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -2260,9 +2260,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://downloads.phoenixviewer.com/openjpeg-1.4-darwin-20140524u.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
@ -2387,6 +2387,18 @@
|
|||
<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://downloads.phoenixviewer.com/slplugin_x86-1.0-darwin-20140410.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
</map>
|
||||
<key>windows</key>
|
||||
<map>
|
||||
<key>archive</key>
|
||||
|
|
@ -2588,9 +2600,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>591ecfbf877e28c01ed8fe857a5316c3</string>
|
||||
<string>40f752c0c22c02a5b29217245d6bc230</string>
|
||||
<key>url</key>
|
||||
<string>http://downloads.phoenixviewer.com/zlib-1.2.8-darwin-20140606.tar.bz2</string>
|
||||
<string>http://bitbucket.org/cinderblocks/darwin64-libs/downloads/zlib-1.2.8-darwin-20140527u.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin</string>
|
||||
|
|
|
|||
|
|
@ -88,9 +88,9 @@ add_subdirectory(${VIEWER_PREFIX}test)
|
|||
endif (LL_TESTS OR NOT STANDALONE)
|
||||
|
||||
# viewer media plugins
|
||||
if( NOT WINDOWS OR NOT ND_BUILD64BIT_ARCH )
|
||||
if( NOT (WINDOWS OR DARWIN) OR NOT ND_BUILD64BIT_ARCH )
|
||||
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins)
|
||||
endif( NOT WINDOWS OR NOT ND_BUILD64BIT_ARCH )
|
||||
endif( NOT (WINDOWS OR DARWIN) OR NOT ND_BUILD64BIT_ARCH )
|
||||
|
||||
# <FS:AW opensim currency support>
|
||||
#teapot helper library
|
||||
|
|
|
|||
|
|
@ -320,11 +320,12 @@ if (LINUX OR DARWIN)
|
|||
set(GCC_WARNINGS "${GCC_WARNINGS} -Werror")
|
||||
endif (NOT GCC_DISABLE_FATAL_WARNINGS)
|
||||
|
||||
if (XCODE_VERSION GREATER 4.9)
|
||||
set(GCC_CXX_WARNINGS "$[GCC_WARNINGS] -Wno-reorder -Wno-non-virtual-dtor -Wno-format-extra-args -Wunused-function -Wunused-variable")
|
||||
else (XCODE_VERSION GREATER 4.9)
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND DARWIN AND XCODE_VERSION GREATER 4.9)
|
||||
set(GCC_CXX_WARNINGS "$[GCC_WARNINGS] -Wno-reorder -Wno-unused-const-variable -Wno-format-extra-args -Wno-unused-private-field -Wno-unused-function -Wno-tautological-compare -Wno-empty-body -Wno-unused-variable -Wno-unused-value")
|
||||
else (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND DARWIN AND XCODE_VERSION GREATER 4.9)
|
||||
#elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor")
|
||||
endif (XCODE_VERSION GREATER 4.9)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}")
|
||||
|
|
|
|||
|
|
@ -16,9 +16,8 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n
|
|||
|
||||
else (DEFINED ENV{revision})
|
||||
find_program(MERCURIAL hg)
|
||||
find_program(WORDCOUNT wc)
|
||||
find_program(SED sed)
|
||||
if (DEFINED MERCURIAL AND DEFINED WORDCOUNT AND DEFINED SED)
|
||||
if (DEFINED MERCURIAL AND DEFINED SED)
|
||||
execute_process(
|
||||
# <FS:TS> FIRE-11737: Reverting to old revisions shows tip in build string
|
||||
# This command gets the revision number of the current
|
||||
|
|
@ -30,23 +29,20 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n
|
|||
#COMMAND ${WORDCOUNT} -l
|
||||
#COMMAND ${SED} "s/ //g"
|
||||
COMMAND ${MERCURIAL} identify -n
|
||||
COMMAND ${SED} "s/+//" # [CR] Strip off any + from the revision number
|
||||
OUTPUT_VARIABLE VIEWER_VERSION_REVISION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
# <FS:TS> Now strip off a trailing + if it's there, showing that
|
||||
# there are uncommitted changes.
|
||||
string (REGEX REPLACE "\\+$" "" VIEWER_VERSION_REVISION ${VIEWER_VERSION_REVISION})
|
||||
# </FS:TS> FIRE-11737
|
||||
if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||
message("Revision (from hg) ${VIEWER_VERSION_REVISION}")
|
||||
else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||
message("Revision not set (repository not found?); using 0")
|
||||
set(VIEWER_VERSION_REVISION 0 )
|
||||
endif ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
|
||||
else (DEFINED MERCURIAL AND DEFINED WORDCOUNT AND DEFINED SED)
|
||||
message("Revision not set: 'hg', 'wc' or 'sed' not found; using 0")
|
||||
else (DEFINED MERCURIAL AND DEFINED SED)
|
||||
message("Revision not set: 'hg' or 'sed' not found; using 0")
|
||||
set(VIEWER_VERSION_REVISION 0)
|
||||
endif (DEFINED MERCURIAL AND DEFINED WORDCOUNT AND DEFINED SED)
|
||||
endif (DEFINED MERCURIAL AND DEFINED SED)
|
||||
endif (DEFINED ENV{revision})
|
||||
message("Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")
|
||||
else ( EXISTS ${VIEWER_VERSION_BASE_FILE} )
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@ else (STANDALONE)
|
|||
optimized libcurl.lib)
|
||||
else (WINDOWS)
|
||||
set(CURL_LIBRARIES libcurl.a)
|
||||
if (DARWIN)
|
||||
list(APPEND CURL_LIBRARIES
|
||||
idn
|
||||
iconv
|
||||
)
|
||||
endif (DARWIN)
|
||||
endif (WINDOWS)
|
||||
set(CURL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
|
||||
endif (STANDALONE)
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ elseif(DARWIN)
|
|||
libexpat.1.5.2.dylib
|
||||
libexpat.dylib
|
||||
libGLOD.dylib
|
||||
libllqtwebkit.dylib
|
||||
#libllqtwebkit.dylib
|
||||
libminizip.a
|
||||
libndofdev.dylib
|
||||
libhunspell-1.3.0.dylib
|
||||
|
|
@ -251,6 +251,13 @@ elseif(DARWIN)
|
|||
libgrowl++.dylib
|
||||
)
|
||||
|
||||
# <FS:ND> libllqtwebkit.dylib comes from a prebuild slplugin. It needs to be fetched from somewhere else
|
||||
# when building x64/universal. Probably it's best to copy it in fs_viewer_manifest.py for those cases.
|
||||
if( NOT ND_BUILD64BIT_ARCH )
|
||||
set(release_files ${release_files} libllqtwebkit.dylib )
|
||||
endif( NOT ND_BUILD64BIT_ARCH )
|
||||
# </FS:ND>
|
||||
|
||||
# <FS:ND> We only ever need google breakpad when crash reporting is used
|
||||
if(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
|
||||
set(release_files ${release_files} "libexception_handler.dylib")
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ void LLMutex::lock()
|
|||
|
||||
#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)
|
||||
LL_ERRS() << "Already locked in Thread: " << id << LL_ENDL;
|
||||
mIsLocked[id] = TRUE;
|
||||
|
|
@ -99,7 +99,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)
|
||||
LL_ERRS() << "Not locked in Thread: " << id << LL_ENDL;
|
||||
mIsLocked[id] = FALSE;
|
||||
|
|
@ -128,7 +128,7 @@ bool LLMutex::isSelfLocked()
|
|||
return mLockingThread == LLThread::currentID();
|
||||
}
|
||||
|
||||
U32 LLMutex::lockingThread() const
|
||||
uintptr_t LLMutex::lockingThread() const
|
||||
{
|
||||
return mLockingThread;
|
||||
}
|
||||
|
|
@ -149,7 +149,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)
|
||||
LL_ERRS() << "Already locked in Thread: " << id << LL_ENDL;
|
||||
mIsLocked[id] = TRUE;
|
||||
|
|
@ -184,7 +184,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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,18 +53,18 @@ public:
|
|||
void unlock(); // undefined behavior when called on mutex not being held
|
||||
bool isLocked(); // non-blocking, but does do a lock/unlock so not free
|
||||
bool isSelfLocked(); //return true if locked in a same thread
|
||||
U32 lockingThread() const; //get ID of locking thread
|
||||
uintptr_t lockingThread() const; //get ID of locking thread
|
||||
|
||||
protected:
|
||||
apr_thread_mutex_t *mAPRMutexp;
|
||||
mutable U32 mCount;
|
||||
mutable U32 mLockingThread;
|
||||
mutable uintptr_t mLockingThread;
|
||||
|
||||
apr_pool_t *mAPRPoolp;
|
||||
BOOL mIsLocalPool;
|
||||
|
||||
#if MUTEX_DEBUG
|
||||
std::map<U32, BOOL> mIsLocked;
|
||||
std::map<uintptr_t, BOOL> mIsLocked;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ namespace LLPredicate
|
|||
|
||||
void require(ENUM e)
|
||||
{
|
||||
mRule.set(e, require);
|
||||
mRule.set(e, this->require);
|
||||
}
|
||||
|
||||
void allow(ENUM e)
|
||||
|
|
@ -164,7 +164,7 @@ namespace LLPredicate
|
|||
return (mRule && value).someSet() && (!mRule && value).someSet();
|
||||
}
|
||||
|
||||
bool acceptsAll() const
|
||||
bool acceptsAll() const
|
||||
{
|
||||
return mRule.allSet();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ private:
|
|||
|
||||
#if LL_REF_COUNT_DEBUG
|
||||
LLMutex* mMutexp ;
|
||||
mutable U32 mLockedThreadID ;
|
||||
mutable uintptr_t mLockedThreadID ;
|
||||
mutable BOOL mCrashAtUnlock ;
|
||||
#endif
|
||||
};
|
||||
|
|
|
|||
|
|
@ -98,21 +98,21 @@ void set_thread_name( DWORD dwThreadID, const char* threadName)
|
|||
#if LL_DARWIN
|
||||
// statically allocated thread local storage not supported in Darwin executable formats
|
||||
#elif LL_WINDOWS
|
||||
U32 __declspec(thread) sThreadID = 0;
|
||||
uintptr_t __declspec(thread) sThreadID = 0;
|
||||
#elif LL_LINUX
|
||||
U32 __thread sThreadID = 0;
|
||||
uintptr_t __thread sThreadID = 0;
|
||||
#endif
|
||||
|
||||
U32 LLThread::sIDIter = 0;
|
||||
uintptr_t 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)
|
||||
{
|
||||
LL_WARNS() << "Illegal execution from thread id " << (S32) LLThread::currentID()
|
||||
<< " outside main thread " << (S32) s_thread_id << LL_ENDL;
|
||||
LL_WARNS() << "Illegal execution from thread id " << LLThread::currentID()
|
||||
<< " outside main thread " << s_thread_id << LL_ENDL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -348,11 +348,11 @@ void LLThread::setQuitting()
|
|||
}
|
||||
|
||||
// static
|
||||
U32 LLThread::currentID()
|
||||
uintptr_t LLThread::currentID()
|
||||
{
|
||||
#if LL_DARWIN
|
||||
// statically allocated thread local storage not supported in Darwin executable formats
|
||||
return (U32)apr_os_thread_current();
|
||||
return reinterpret_cast<uintptr_t>(apr_os_thread_current());
|
||||
#else
|
||||
return sThreadID;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class LL_COMMON_API LLThread
|
|||
{
|
||||
private:
|
||||
friend class LLMutex;
|
||||
static U32 sIDIter;
|
||||
static uintptr_t sIDIter;
|
||||
|
||||
public:
|
||||
typedef enum e_thread_status
|
||||
|
|
@ -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:
|
||||
|
|
@ -87,7 +87,7 @@ public:
|
|||
apr_pool_t *getAPRPool() { return mAPRPoolp; }
|
||||
LLVolatileAPRPool* getLocalAPRFilePool() { return mLocalAPRFilePoolp ; }
|
||||
|
||||
U32 getID() const { return mID; }
|
||||
uintptr_t getID() const { return mID; }
|
||||
|
||||
// Called by threads *not* created via LLThread to register some
|
||||
// internal state used by LLMutex. You must call this once early
|
||||
|
|
@ -109,7 +109,7 @@ protected:
|
|||
apr_pool_t *mAPRPoolp;
|
||||
BOOL mIsLocalPool;
|
||||
EThreadStatus mStatus;
|
||||
U32 mID;
|
||||
uintptr_t mID;
|
||||
LLTrace::ThreadRecorder* mRecorder;
|
||||
|
||||
//a local apr_pool for APRFile operations in this thread. If it exists, LLAPRFile::sAPRFilePoolp should not be used.
|
||||
|
|
|
|||
|
|
@ -40,9 +40,7 @@ HttpStatus::type_enum_t LLCORE;
|
|||
|
||||
HttpStatus::operator unsigned long() const
|
||||
{
|
||||
static const int shift(sizeof(unsigned long) * 4);
|
||||
|
||||
unsigned long result(((unsigned long) mType) << shift | (unsigned long) (int) mStatus);
|
||||
unsigned long result(((unsigned long) mType) << 16 | (unsigned long) (int) mStatus);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +50,7 @@ std::string HttpStatus::toHex() const
|
|||
std::ostringstream result;
|
||||
result.width(8);
|
||||
result.fill('0');
|
||||
result << std::hex << operator unsigned long();
|
||||
result << std::hex << operator unsigned long() << std::dec;
|
||||
return result.str();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ std::string getStartupStateFromLog(std::string& sllog)
|
|||
std::string startup_state = "STATE_FIRST";
|
||||
std::string startup_token = "Startup state changing from ";
|
||||
|
||||
int index = sllog.rfind(startup_token);
|
||||
if (index < 0 || index + startup_token.length() > sllog.length()) {
|
||||
size_t index = sllog.rfind(startup_token);
|
||||
if (index != std::string::npos || index + startup_token.length() > sllog.length()) {
|
||||
return startup_state;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1727,7 +1727,7 @@ void LLCurl::ssl_locking_callback(int mode, int type, const char *file, int line
|
|||
//static
|
||||
unsigned long LLCurl::ssl_thread_id(void)
|
||||
{
|
||||
return LLThread::currentID();
|
||||
return static_cast<unsigned long>(LLThread::currentID());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -27,6 +27,11 @@
|
|||
#import <Cocoa/Cocoa.h>
|
||||
#import "llopenglview-objc.h"
|
||||
|
||||
// [Cinder] Override NSApplication to give us access to sendEvent
|
||||
@interface LLNSApplication : NSApplication
|
||||
@end
|
||||
// [/Cinder]
|
||||
|
||||
@interface LLAppDelegate : NSObject <NSApplicationDelegate> {
|
||||
LLNSWindow *window;
|
||||
NSWindow *inputWindow;
|
||||
|
|
|
|||
|
|
@ -412,18 +412,11 @@ attributedStringInfo getSegments(NSAttributedString *str)
|
|||
[[theEvent charactersIgnoringModifiers] characterAtIndex:0] != NSRightArrowFunctionKey)
|
||||
{
|
||||
[(LLAppDelegate*)[NSApp delegate] showInputWindow:true withEvent:theEvent];
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
[[self inputContext] handleEvent:theEvent];
|
||||
}
|
||||
|
||||
// OS X intentionally does not send us key-up information on cmd-key combinations.
|
||||
// This behaviour is not a bug, and only applies to cmd-combinations (no others).
|
||||
// Since SL assumes we receive those, we fake it here.
|
||||
if (mModifiers & NSCommandKeyMask && !mHasMarkedText)
|
||||
{
|
||||
callKeyUp([theEvent keyCode], mModifiers);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)flagsChanged:(NSEvent *)theEvent {
|
||||
|
|
|
|||
|
|
@ -2362,7 +2362,7 @@ if (DARWIN)
|
|||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${VIEWER_SHORT_VERSION}${VIEWER_MACOSX_PHASE}${VIEWER_REVISION}")
|
||||
set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2010-2014 The Phoenix Firestorm Project, Inc.")
|
||||
set(MACOSX_BUNDLE_NSMAIN_NIB_FILE "Firestorm.nib")
|
||||
set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication")
|
||||
set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "LLNSApplication")
|
||||
|
||||
set_target_properties(
|
||||
${VIEWER_BINARY_NAME}
|
||||
|
|
@ -2403,7 +2403,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}")
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -822,7 +822,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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,21 @@
|
|||
#include "llwindowmacosx-objc.h"
|
||||
#include <Carbon/Carbon.h> // Used for Text Input Services ("Safe" API - it's supported)
|
||||
|
||||
// [Cinder] We need to override sendEvent in NSApplication and force those
|
||||
// Apple bastards to send us Command keyUp events!
|
||||
@implementation LLNSApplication
|
||||
|
||||
- (void)sendEvent:(NSEvent *)event {
|
||||
// Fuck you, conventions!
|
||||
if ([event type] == NSKeyUp && ([event modifierFlags] & NSCommandKeyMask))
|
||||
[[self keyWindow] sendEvent:event];
|
||||
else
|
||||
[super sendEvent:event];
|
||||
}
|
||||
|
||||
@end
|
||||
// [Cinder]
|
||||
|
||||
@implementation LLAppDelegate
|
||||
|
||||
@synthesize window;
|
||||
|
|
|
|||
|
|
@ -263,7 +263,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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -634,7 +634,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>
|
||||
|
|
@ -1221,7 +1221,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);
|
||||
|
|
@ -1381,7 +1381,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);
|
||||
|
|
|
|||
|
|
@ -3048,7 +3048,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);
|
||||
|
|
|
|||
|
|
@ -835,7 +835,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
|
||||
|
|
@ -860,7 +860,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")
|
||||
|
|
@ -1186,6 +1186,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");
|
||||
|
||||
|
||||
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):
|
||||
|
|
|
|||
|
|
@ -410,6 +410,11 @@ if [ $WANTS_CONFIG -eq $TRUE ] ; then
|
|||
|
||||
if [ $PLATFORM == "darwin" ] ; then
|
||||
TARGET="Xcode"
|
||||
if [ "${AUTOBUILD_ARCH}" == "x64" ]
|
||||
then
|
||||
TARGET_ARCH="x64"
|
||||
WORD_SIZE=64
|
||||
fi
|
||||
elif [ \( $PLATFORM == "linux32" \) -o \( $PLATFORM == "linux64" \) ] ; then
|
||||
TARGET="Unix Makefiles"
|
||||
if [ "${AUTOBUILD_ARCH}" == "x64" ]
|
||||
|
|
|
|||
Loading…
Reference in New Issue