Merge branch 'windows64' of github.com:lkalif/SingularityViewer

This commit is contained in:
Latif Khalifa
2013-10-24 01:37:45 +02:00
33 changed files with 404 additions and 197 deletions

View File

@@ -46,6 +46,10 @@ if (WINDOWS)
set(MSVC_DIR 10.0)
set(MSVC_SUFFIX 100)
endif (MSVC10)
if (MSVC11)
set(MSVC_DIR 11.0)
set(MSVC_SUFFIX 110)
endif (MSVC11)
# Remove default /Zm1000 flag that cmake inserts
string (REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
@@ -78,11 +82,17 @@ if (WINDOWS)
/W3
/c
/Zc:forScope
/Zc:wchar_t-
/Zc:wchar_t-
/nologo
/Oy-
/arch:SSE2
)
# SSE2 is implied on win64
if(WORD_SIZE EQUAL 32)
add_definitions(/arch:SSE2)
else(WORD_SIZE EQUAL 32)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4267 /wd4250 /wd4244")
endif(WORD_SIZE EQUAL 32)
# configure win32 API for windows XP+ compatibility
set(WINVER "0x0501" CACHE STRING "Win32 API Target version (see http://msdn.microsoft.com/en-us/library/aa383745%28v=VS.85%29.aspx)")

View File

@@ -6,6 +6,14 @@
include(CMakeCopyIfDifferent)
if(WORD_SIZE EQUAL 32)
set(debug_libs_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
set(release_libs_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
else(WORD_SIZE EQUAL 32)
set(debug_libs_dir "${CMAKE_SOURCE_DIR}/../libraries/x86_64-win/lib/debug")
set(release_libs_dir "${CMAKE_SOURCE_DIR}/../libraries/x86_64-win/lib/release")
endif(WORD_SIZE EQUAL 32)
set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32")
set(vivox_files
SLVoice.exe
@@ -23,7 +31,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
set(debug_src_dir "${debug_libs_dir}")
set(debug_files
libhunspell.dll
libapr-1.dll
@@ -44,7 +52,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Debug config runtime files required for the plugin test mule
set(plugintest_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
set(plugintest_debug_src_dir "${debug_libs_dir}")
set(plugintest_debug_files
libeay32.dll
qtcored4.dll
@@ -63,7 +71,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Debug config runtime files required for the plugin test mule (Qt image format plugins)
set(plugintest_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/imageformats")
set(plugintest_debug_src_dir "${debug_libs_dir}/imageformats")
set(plugintest_debug_files
qgifd4.dll
qicod4.dll
@@ -89,7 +97,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the plugin test mule
set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
set(plugintest_release_src_dir "${release_libs_dir}")
set(plugintest_release_files
libeay32.dll
qtcore4.dll
@@ -116,7 +124,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the plugin test mule (Qt image format plugins)
set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/imageformats")
set(plugintest_release_src_dir "${release_libs_dir}/imageformats")
set(plugintest_release_files
qgif4.dll
qico4.dll
@@ -158,7 +166,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Debug config runtime files required for the plugins
set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
set(plugins_debug_src_dir "${debug_libs_dir}")
set(plugins_debug_files
libeay32.dll
qtcored4.dll
@@ -177,7 +185,7 @@ copy_if_different(
set(all_targets ${all_targets} ${out_targets})
# Release & ReleaseDebInfo config runtime files required for the plugins
set(plugins_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
set(plugins_release_src_dir "${release_libs_dir}")
set(plugins_release_files
libeay32.dll
qtcore4.dll
@@ -203,9 +211,9 @@ copy_if_different(
)
set(all_targets ${all_targets} ${out_targets})
set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
set(release_src_dir "${release_libs_dir}")
set(release_files
libtcmalloc_minimal.dll
libhunspell.dll
libapr-1.dll
libaprutil-1.dll
@@ -216,8 +224,21 @@ set(release_files
glod.dll
)
if(WORD_SIZE EQUAL 32)
set(release_files ${release_files}
libtcmalloc_minimal.dll
)
endif(WORD_SIZE EQUAL 32)
if(FMODEX)
find_path(FMODEX_BINARY_DIR fmodex.dll
if (WORD_SIZE EQUAL 32)
set(fmodex_dll_file "fmodex.dll")
else (WORD_SIZE EQUAL 32)
set(fmodex_dll_file "fmodex64.dll")
endif (WORD_SIZE EQUAL 32)
find_path(FMODEX_BINARY_DIR "${fmodex_dll_file}"
"${release_src_dir}"
"${FMODEX_SDK_DIR}/api"
"${FMODEX_SDK_DIR}"
@@ -225,11 +246,11 @@ if(FMODEX)
)
if(FMODEX_BINARY_DIR)
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Release" out_targets fmodex.dll)
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Release" out_targets "${fmodex_dll_file}")
set(all_targets ${all_targets} ${out_targets})
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo" out_targets fmodex.dll)
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo" out_targets "${fmodex_dll_file}")
set(all_targets ${all_targets} ${out_targets})
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Debug" out_targets fmodex.dll)
copy_if_different("${FMODEX_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Debug" out_targets "${fmodex_dll_file}")
set(all_targets ${all_targets} ${out_targets})
endif(FMODEX_BINARY_DIR)
endif(FMODEX)
@@ -285,105 +306,6 @@ copy_if_different(
)
set(all_targets ${all_targets} ${out_targets})
# Copy MS C runtime dlls, required for packaging.
# *TODO - Adapt this to support VC9
if (MSVC80)
FIND_PATH(debug_msvc8_redist_path msvcr80d.dll
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT
NO_DEFAULT_PATH
NO_DEFAULT_PATH
)
if(EXISTS ${debug_msvc8_redist_path})
set(debug_msvc8_files
msvcr80d.dll
msvcp80d.dll
Microsoft.VC80.DebugCRT.manifest
)
copy_if_different(
${debug_msvc8_redist_path}
"${CMAKE_CURRENT_BINARY_DIR}/Debug"
out_targets
${debug_msvc8_files}
)
set(all_targets ${all_targets} ${out_targets})
set(debug_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Debug/${VIEWER_BINARY_NAME}.exe.config)
add_custom_command(
OUTPUT ${debug_appconfig_file}
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
${CMAKE_CURRENT_BINARY_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest
${CMAKE_CURRENT_SOURCE_DIR}/SecondLifeDebug.exe.config
${debug_appconfig_file}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest
COMMENT "Creating debug app config file"
)
endif (EXISTS ${debug_msvc8_redist_path})
FIND_PATH(release_msvc8_redist_path msvcr80.dll
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT
NO_DEFAULT_PATH
NO_DEFAULT_PATH
)
if(EXISTS ${release_msvc8_redist_path})
set(release_msvc8_files
msvcr80.dll
msvcp80.dll
Microsoft.VC80.CRT.manifest
)
copy_if_different(
${release_msvc8_redist_path}
"${CMAKE_CURRENT_BINARY_DIR}/Release"
out_targets
${release_msvc8_files}
)
set(all_targets ${all_targets} ${out_targets})
copy_if_different(
${release_msvc8_redist_path}
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo"
out_targets
${release_msvc8_files}
)
set(all_targets ${all_targets} ${out_targets})
set(release_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Release/${VIEWER_BINARY_NAME}.exe.config)
add_custom_command(
OUTPUT ${release_appconfig_file}
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
${CMAKE_CURRENT_BINARY_DIR}/Release/Microsoft.VC80.CRT.manifest
${CMAKE_CURRENT_SOURCE_DIR}/SecondLife.exe.config
${release_appconfig_file}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Release/Microsoft.VC80.CRT.manifest
COMMENT "Creating release app config file"
)
set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/${VIEWER_BINARY_NAME}.exe.config)
add_custom_command(
OUTPUT ${relwithdebinfo_appconfig_file}
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
${CMAKE_CURRENT_SOURCE_DIR}/SecondLife.exe.config
${relwithdebinfo_appconfig_file}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
COMMENT "Creating relwithdebinfo app config file"
)
endif (EXISTS ${release_msvc8_redist_path})
endif (MSVC80)
add_custom_target(copy_win_libs ALL
DEPENDS
${all_targets}

View File

@@ -16,7 +16,7 @@ if (NOT FMODEX_LIBRARY)
)
elseif(WORD_SIZE EQUAL 64)
find_library(FMODEX_LIBRARY
fmodex64 fmodexL64
fmodex64_vc fmodexL64_vc fmodex64 fmodexL64
PATHS
"${FMODEX_SDK_DIR}/api/lib"
"${FMODEX_SDK_DIR}/api"
@@ -25,21 +25,31 @@ if (NOT FMODEX_LIBRARY)
)
endif(WORD_SIZE EQUAL 32)
endif(FMODEX_SDK_DIR)
if(WINDOWS AND NOT FMODEX_LIBRARY)
if(WINDOWS AND NOT FMODEX_SDK_DIR)
set(FMODEX_PROG_DIR "$ENV{PROGRAMFILES}/FMOD SoundSystem/FMOD Programmers API Windows")
find_library(FMODEX_LIBRARY
fmodex_vc fmodexL_vc
PATHS
"${FMODEX_PROG_DIR}/api/lib"
"${FMODEX_PROG_DIR}/api"
"${FMODEX_PROG_DIR}"
)
if(WORD_SIZE EQUAL 32)
find_library(FMODEX_LIBRARY
fmodex_vc fmodexL_vc
PATHS
"${FMODEX_PROG_DIR}/api/lib"
"${FMODEX_PROG_DIR}/api"
"${FMODEX_PROG_DIR}"
)
else(WORD_SIZE EQUAL 32)
find_library(FMODEX_LIBRARY
fmodex64_vc fmodexL64_vc
PATHS
"${FMODEX_PROG_DIR}/api/lib"
"${FMODEX_PROG_DIR}/api"
"${FMODEX_PROG_DIR}"
)
endif(WORD_SIZE EQUAL 32)
if(FMODEX_LIBRARY)
message(STATUS "Found fmodex in ${FMODEX_PROG_DIR}")
set(FMODEX_SDK_DIR "${FMODEX_PROG_DIR}")
set(FMODEX_SDK_DIR "${FMODEX_PROG_DIR}" CACHE PATH "Path to the FMOD Ex SDK." FORCE)
endif(FMODEX_LIBRARY)
endif(WINDOWS AND NOT FMODEX_LIBRARY)
endif(WINDOWS AND NOT FMODEX_SDK_DIR)
endif (NOT FMODEX_LIBRARY)
find_path(FMODEX_INCLUDE_DIR fmod.hpp

View File

@@ -12,10 +12,10 @@ else (STANDALONE)
if (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
use_prebuilt_binary(gperftools)
endif (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
if (WINDOWS AND NOT DISABLE_TCMALLOC)
if (WINDOWS AND NOT DISABLE_TCMALLOC AND USE_GOOGLE_PERFTOOLS)
set(TCMALLOC_LIBRARIES libtcmalloc_minimal.lib)
set(TCMALLOC_LINKER_FLAGS "/INCLUDE:\"__tcmalloc\"")
endif (WINDOWS AND NOT DISABLE_TCMALLOC)
endif (WINDOWS AND NOT DISABLE_TCMALLOC AND USE_GOOGLE_PERFTOOLS)
if (LINUX)
if(USE_GOOGLE_PERFTOOLS)
set(TCMALLOC_LIBRARIES tcmalloc)

View File

@@ -37,10 +37,15 @@ set(LIBS_PREBUILT_DIR ${CMAKE_SOURCE_DIR}/../libraries CACHE PATH
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(WINDOWS ON BOOL FORCE)
set(ARCH i686)
set(LL_ARCH ${ARCH}_win32)
set(LL_ARCH_DIR ${ARCH}-win32)
set(WORD_SIZE 32)
if (WORD_SIZE EQUAL 32)
set(ARCH i686)
set(LL_ARCH ${ARCH}_win32)
set(LL_ARCH_DIR ${ARCH}-win32)
elseif (WORD_SIZE EQUAL 64)
set(ARCH x86_64)
set(LL_ARCH ${ARCH}_win)
set(LL_ARCH_DIR ${ARCH}-win)
endif (WORD_SIZE EQUAL 32)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
@@ -119,15 +124,17 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(LL_ARCH_DIR universal-darwin)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
if (WINDOWS)
if (WINDOWS AND WORD_SIZE EQUAL 32)
set(PREBUILT_TYPE windows)
elseif (WINDOWS AND WORD_SIZE EQUAL 64)
set(PREBUILT_TYPE windows64)
elseif(DARWIN)
set(PREBUILT_TYPE darwin)
elseif(LINUX AND WORD_SIZE EQUAL 32)
set(PREBUILT_TYPE linux)
elseif(LINUX AND WORD_SIZE EQUAL 64)
set(PREBUILT_TYPE linux64)
endif(WINDOWS)
endif(WINDOWS AND WORD_SIZE EQUAL 32)
# Default deploy grid
set(GRID agni CACHE STRING "Target Grid")

View File

@@ -443,9 +443,15 @@ class WindowsSetup(PlatformSetup):
'vc100' : {
'gen' : r'Visual Studio 10',
'ver' : r'10.0'
},
'vc110' : {
'gen' : r'Visual Studio 11',
'ver' : r'11.0'
}
}
gens['vs2010'] = gens['vc100']
gens['vs2012'] = gens['vc110']
search_path = r'C:\windows'
exe_suffixes = ('.exe', '.bat', '.com')
@@ -503,6 +509,9 @@ class WindowsSetup(PlatformSetup):
project_name=self.project_name,
word_size=self.word_size,
)
if self.word_size == 64:
args["generator"] += r' Win64'
#if simple:
# return 'cmake %(opts)s "%(dir)s"' % args
return ('cmake -G "%(generator)s" '

View File

@@ -192,6 +192,8 @@ def usage(srctree=""):
arg['description'] % nd)
def main():
print "cwd:", os.getcwd()
print " ".join(sys.argv)
option_names = [arg['name'] + '=' for arg in ARGUMENTS]
option_names.append('help')
options, remainder = getopt.getopt(sys.argv[1:], "", option_names)
@@ -266,7 +268,7 @@ class LLManifest(object):
__metaclass__ = LLManifestRegistry
manifests = {}
def for_platform(self, platform, arch = None):
if arch:
if arch and platform != "windows":
platform = platform + '_' + arch
return self.manifests[platform.lower()]
for_platform = classmethod(for_platform)

View File

@@ -22,7 +22,9 @@
#include <set>
#include <vector>
#include <queue>
#if defined(_MSC_VER) && _MSC_VER >= 1700
#include <functional>
#endif
namespace HACD
{
const double sc_pi = 3.14159265;

View File

@@ -59,8 +59,13 @@ bool attemptDelayLoad()
{
__try
{
#if defined(_WIN64)
if( FAILED( __HrLoadAllImportsForDll( "fmodex64.dll" ) ) )
return false;
#else
if( FAILED( __HrLoadAllImportsForDll( "fmodex.dll" ) ) )
return false;
#endif
}
__except( EXCEPTION_EXECUTE_HANDLER )
{

View File

@@ -184,7 +184,7 @@ LLMutex* LLFastTimer::sLogLock = NULL;
std::queue<LLSD> LLFastTimer::sLogQueue;
const int LLFastTimer::NamedTimer::HISTORY_NUM = 300;
#if LL_WINDOWS
#if defined(LL_WINDOWS) && !defined(_WIN64)
#define USE_RDTSC 1
#endif

View File

@@ -416,7 +416,7 @@ static F64 calculate_cpu_frequency(U32 measure_msecs)
unsigned long dwCurPriorityClass = GetPriorityClass(hProcess);
int iCurThreadPriority = GetThreadPriority(hThread);
unsigned long dwProcessMask, dwSystemMask, dwNewMask = 1;
GetProcessAffinityMask(hProcess, &dwProcessMask, &dwSystemMask);
GetProcessAffinityMask(hProcess, (PDWORD_PTR)&dwProcessMask, (PDWORD_PTR)&dwSystemMask);
SetPriorityClass(hProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(hThread, THREAD_PRIORITY_TIME_CRITICAL);

View File

@@ -140,7 +140,7 @@ inline F64 llabs(const F64 a)
inline S32 lltrunc( F32 f )
{
#if LL_WINDOWS && !defined( __INTEL_COMPILER )
#if LL_WINDOWS && !defined( __INTEL_COMPILER ) && !defined(_WIN64)
// Avoids changing the floating point control word.
// Add or subtract 0.5 - epsilon and then round
const static U32 zpfp[] = { 0xBEFFFFFF, 0x3EFFFFFF };
@@ -166,7 +166,7 @@ inline S32 lltrunc( F64 f )
inline S32 llfloor( F32 f )
{
#if LL_WINDOWS && !defined( __INTEL_COMPILER )
#if LL_WINDOWS && !defined( __INTEL_COMPILER ) && !defined(_WIN64)
// Avoids changing the floating point control word.
// Accurate (unlike Stereopsis version) for all values between S32_MIN and S32_MAX and slightly faster than Stereopsis version.
// Add -(0.5 - epsilon) and then round

View File

@@ -31,7 +31,7 @@
#error "Please include llmath.h before this file."
#endif
#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 ) )
#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 ) && !defined(_WIN64) )
#error SSE2 not enabled. LLVector4a and related class will not compile.
#endif

View File

@@ -49,7 +49,7 @@ set_source_files_properties(${llplugin_HEADER_FILES}
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -749,7 +749,7 @@ void LLWindowWin32::close()
LL_DEBUGS("Window") << "Destroying Window" << LL_ENDL;
// Don't process events in our mainWindowProc any longer.
SetWindowLong(mWindowHandle, GWL_USERDATA, NULL);
SetWindowLongPtr(mWindowHandle, GWLP_USERDATA, NULL);
// Make sure we don't leave a blank toolbar button.
ShowWindow(mWindowHandle, SW_HIDE);
@@ -1660,7 +1660,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
LL_DEBUGS("Window") << "Keeping vertical sync" << LL_ENDL;
}
SetWindowLong(mWindowHandle, GWL_USERDATA, (U32)this);
SetWindowLongPtr(mWindowHandle, GWLP_USERDATA, (LONG_PTR)this);
// register this window as handling drag/drop events from the OS
DragAcceptFiles( mWindowHandle, TRUE );
@@ -1983,7 +1983,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
// This helps prevent avatar walking after maximizing the window by double-clicking the title bar.
static bool sHandleLeftMouseUp = true;
LLWindowWin32 *window_imp = (LLWindowWin32 *)GetWindowLong(h_wnd, GWL_USERDATA);
LLWindowWin32 *window_imp = (LLWindowWin32 *)GetWindowLongPtr(h_wnd, GWLP_USERDATA);
if (NULL != window_imp)

View File

@@ -47,6 +47,8 @@ include(LLAppearance)
if (WINDOWS)
include(CopyWinLibs)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
include(InstallRequiredSystemLibraries)
endif (WINDOWS)
include_directories(
@@ -1437,11 +1439,7 @@ set(PACKAGE ${PACKAGE_DEFAULT} CACHE BOOL
"Add a package target that builds an installer package.")
if (WINDOWS)
if(MSVC10)
set(release_flags "/MAPRelease/${VIEWER_BINARY_NAME}.map")
else(MSVC10)
set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map")
endif(MSVC10)
set(release_flags "/MAPRelease/${VIEWER_BINARY_NAME}.map")
if (FMOD)
if(MANIFEST_LIBRARIES)
@@ -1451,12 +1449,18 @@ if (WINDOWS)
endif(MANIFEST_LIBRARIES)
endif (FMOD)
if (FMODEX)
if (WORD_SIZE EQUAL 32)
set(fmodex_dll_file "fmodex.dll")
else (WORD_SIZE EQUAL 32)
set(fmodex_dll_file "fmodex64.dll")
endif (WORD_SIZE EQUAL 32)
if(MANIFEST_LIBRARIES)
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/fmodex.dll")
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/${fmodex_dll_file}")
else(MANIFEST_LIBRARIES)
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/fmodex.dll")
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/${fmodex_dll_file}")
endif(MANIFEST_LIBRARIES)
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:fmodex.dll")
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:${fmodex_dll_file}")
endif (FMODEX)
set_target_properties(${VIEWER_BINARY_NAME}
@@ -1514,6 +1518,7 @@ if (WINDOWS)
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
@@ -1535,6 +1540,7 @@ if (WINDOWS)
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--actions=copy
--branding_id=${VIEWER_BRANDING_ID}
@@ -1855,6 +1861,21 @@ endif (LL_TESTS)
# Don't do these for DARWIN or LINUX here -- they're taken care of by viewer_manifest.py
if (WINDOWS)
IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
FOREACH(RUNTIME_LIB ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
add_custom_command(
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS
-E
copy_if_different
${RUNTIME_LIB}
${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Copying ${RUNTIME_LIB} to the runtime folder."
)
ENDFOREACH(RUNTIME_LIB ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
get_target_property(BUILT_LLCOMMON llcommon LOCATION)
set_target_properties(llcommon
@@ -1910,7 +1931,7 @@ if (WINDOWS)
COMMENT "Copying Quicktime Plugin to the runtime folder."
)
get_target_property(BUILT_FILEPICKER_PLUGIN basic_plugin_filepicker LOCATION)
get_target_property(BUILT_FILEPICKER_PLUGIN basic_plugin_filepicker LOCATION)
add_custom_command(
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND}
@@ -1922,7 +1943,9 @@ if (WINDOWS)
COMMENT "Copying filepicker Plugin to the runtime folder."
)
get_target_property(BUILT_WINMM_SHIM_PLUGIN winmm_shim LOCATION)
# winmm doesn't build on windows 64
if(WORD_SIZE EQUAL 32)
get_target_property(BUILT_WINMM_SHIM_PLUGIN winmm_shim LOCATION)
add_custom_command(
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND}
@@ -1933,6 +1956,8 @@ if (WINDOWS)
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
COMMENT "Copying winmm.dll to the runtime folder."
)
endif(WORD_SIZE EQUAL 32)
# Copying the mime_types.xml file to app_settings
set(mime_types_source "${CMAKE_SOURCE_DIR}/newview/skins/default/xui/en-us")
set(mime_types_dest "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings")

View File

@@ -63,7 +63,7 @@ LangString LanguageCode ${LANG_DUTCH} "nl"
LangString LanguageCode ${LANG_PORTUGUESEBR} "pt"
LangString LanguageCode ${LANG_SIMPCHINESE} "zh"
Name ${VIEWERNAME}
Name "${VIEWERNAME}"
SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text
@@ -71,7 +71,7 @@ BrandingText "Prepare to Implode!" ; bottom of window text
Icon %%SOURCE%%\installers\windows\install_icon_singularity.ico
UninstallIcon %%SOURCE%%\installers\windows\uninstall_icon_singularity.ico
WindowIcon off ; show our icon in left corner
BGGradient 9090b0 000000 notext
# BGGradient 9090b0 000000 notext
CRCCheck on ; make sure CRC is OK
#InstProgressFlags smooth colored ; new colored smooth look
InstProgressFlags
@@ -80,7 +80,7 @@ ShowInstDetails show ; no details, no "show" button
SetOverwrite on ; stomp files by default
AutoCloseWindow true ; after all files install, close window
InstallDir "$PROGRAMFILES\${INSTNAME}"
InstallDir "%%INSTALLDIR%%"
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" ""
DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup)

View File

@@ -1860,15 +1860,12 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
LLVector4a texIdx;
U8 index = mTextureIndex < 255 ? mTextureIndex : 0;
S32 index = mTextureIndex < 255 ? mTextureIndex : 0;
F32 val = 0.f;
U8* vp = (U8*) &val;
vp[0] = index;
vp[1] = 0;
vp[2] = 0;
vp[3] = 0;
S32* vp = (S32*) &val;
*vp = index;
llassert(index <= LLGLSLShader::sIndexedTextureChannels-1);
LLVector4Logical mask;

View File

@@ -136,6 +136,9 @@ LLFloaterAbout::LLFloaterAbout()
// Version string
std::string version = std::string(LLAppViewer::instance()->getSecondLifeTitle()
#if defined(_WIN64) || defined(__x86_64__)
+ " (64 bit)"
#endif
+ llformat(" %d.%d.%d (%d) %s %s (%s)\n",
gVersionMajor, gVersionMinor, gVersionPatch, LL_VIEWER_BUILD,
__DATE__, __TIME__,

View File

@@ -397,10 +397,9 @@ void LLFloaterPathfindingObjects::addObjectToScrollList(const LLPathfindingObjec
}
LLScrollListItem *scrollListItem = mObjectsScrollList->addElement(rowParams);
if (pObjectPtr->hasOwner() && !pObjectPtr->hasOwnerName())
{
mMissingNameObjectsScrollListItems.insert(std::make_pair<std::string, LLScrollListItem *>(pObjectPtr->getUUID().asString(), scrollListItem));
mMissingNameObjectsScrollListItems.insert(std::make_pair(pObjectPtr->getUUID().asString(), scrollListItem));
pObjectPtr->registerOwnerNameListener(boost::bind(&LLFloaterPathfindingObjects::handleObjectNameResponse, this, _1));
}
}

View File

@@ -1551,16 +1551,22 @@ void LLViewerMedia::proxyWindowClosed(const std::string &uuid)
// static
void LLViewerMedia::createSpareBrowserMediaSource()
{
static bool failedLoading = false;
// If we don't have a spare browser media source, create one.
// However, if PluginAttachDebuggerToPlugins is set then don't spawn a spare
// SLPlugin process in order to not be confused by an unrelated gdb terminal
// popping up at the moment we start a media plugin.
if (!sSpareBrowserMediaSource && !gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))
if (!failedLoading && !sSpareBrowserMediaSource && !gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))
{
// The null owner will keep the browser plugin from fully initializing
// (specifically, it keeps LLPluginClassMedia from negotiating a size change,
// which keeps MediaPluginWebkit::initBrowserWindow from doing anything until we have some necessary data, like the background color)
sSpareBrowserMediaSource = LLViewerMediaImpl::newSourceFromMediaType("text/html", NULL, 0, 0);
if (!sSpareBrowserMediaSource)
{
failedLoading = true;
}
}
}
@@ -1916,10 +1922,11 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
}
LL_WARNS_ONCE("Plugin") << "plugin initialization failed for mime type: " << media_type << LL_ENDL;
/* There is a reason why ^^ is ONCE
LLSD args;
args["MIME_TYPE"] = media_type;
LLNotificationsUtil::add("NoPlugin", args);
*/
return NULL;
}

View File

@@ -176,6 +176,9 @@ class ViewerManifest(LLManifest):
return " ".join((channel_flags, grid_flags, setting_flags)).strip()
class WindowsManifest(ViewerManifest):
def is_win64(self):
return self.args.get('arch') == "x86_64"
def final_exe(self):
return self.channel_oneword() + 'Viewer.exe'
@@ -185,6 +188,11 @@ class WindowsManifest(ViewerManifest):
# the final exe is complicated because we're not sure where it's coming from,
# nor do we have a fixed name for the executable
self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
if self.is_win64():
release_lib_dir = "../../libraries/x86_64-win/lib/release"
else:
release_lib_dir = "../../libraries/i686-win32/lib/release"
# Plugin host application
self.path(os.path.join(os.pardir,
@@ -192,7 +200,7 @@ class WindowsManifest(ViewerManifest):
"SLPlugin.exe")
# Plugin volume control
if self.prefix(src=self.args['configuration'], dst=""):
if not self.is_win64() and self.prefix(src=self.args['configuration'], dst=""):
self.path("winmm.dll")
self.end_prefix()
@@ -216,7 +224,7 @@ class WindowsManifest(ViewerManifest):
#is shipped with windows anyway
# For using FMOD for sound... DJS
#~if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
#~if self.prefix(src=release_lib_dir, dst=""):
#~try:
#~self.path("fmod.dll")
#~pass
@@ -226,7 +234,7 @@ class WindowsManifest(ViewerManifest):
#~self.end_prefix()
# For textures
#if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
#if self.prefix(src=release_lib_dir, dst=""):
# self.path("openjpeg.dll")
# self.end_prefix()
@@ -246,7 +254,7 @@ class WindowsManifest(ViewerManifest):
self.end_prefix()
# For WebKit/Qt plugin runtimes
if self.prefix(src="../../libraries/i686-win32/lib/release", dst="llplugin"):
if self.prefix(src=release_lib_dir, dst="llplugin"):
self.path("libeay32.dll")
self.path("qtcore4.dll")
self.path("qtgui4.dll")
@@ -258,7 +266,7 @@ class WindowsManifest(ViewerManifest):
self.end_prefix()
# For WebKit/Qt plugin runtimes (image format plugins)
if self.prefix(src="../../libraries/i686-win32/lib/release/imageformats", dst="llplugin/imageformats"):
if self.prefix(src=release_lib_dir+"/imageformats", dst="llplugin/imageformats"):
self.path("qgif4.dll")
self.path("qico4.dll")
self.path("qjpeg4.dll")
@@ -267,7 +275,7 @@ class WindowsManifest(ViewerManifest):
self.path("qtiff4.dll")
self.end_prefix()
if self.prefix(src="../../libraries/i686-win32/lib/release/codecs", dst="llplugin/codecs"):
if self.prefix(src=release_lib_dir+"/codecs", dst="llplugin/codecs"):
self.path("qcncodecs4.dll")
self.path("qjpcodecs4.dll")
self.path("qkrcodecs4.dll")
@@ -282,7 +290,7 @@ class WindowsManifest(ViewerManifest):
print err.message
print "Skipping llcommon.dll (assuming llcommon was linked statically)"
self.end_prefix()
if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
if self.prefix(src=release_lib_dir, dst=""):
self.path("libeay32.dll")
self.path("ssleay32.dll")
try:
@@ -294,13 +302,19 @@ class WindowsManifest(ViewerManifest):
self.end_prefix()
# For google-perftools tcmalloc allocator.
self.path("../../libraries/i686-win32/lib/release/libtcmalloc_minimal.dll", dst="libtcmalloc_minimal.dll")
if not self.is_win64():
self.path(release_lib_dir+"/libtcmalloc_minimal.dll", dst="libtcmalloc_minimal.dll")
#try:
# if self.prefix(release_lib_dir+"/msvcrt", dst=""):
# self.path("*.dll")
# self.path("*.manifest")
# self.end_prefix()
#except:
# pass
try:
if self.prefix("../../libraries/i686-win32/lib/release/msvcrt", dst=""):
self.path("*.dll")
self.path("*.manifest")
self.end_prefix()
self.path("msvc*.dll")
except:
pass
@@ -386,6 +400,13 @@ class WindowsManifest(ViewerManifest):
prev = d
return result
def installer_file(self):
if self.is_win64():
mask = "%s_%s_x86-64_Setup.exe"
else:
mask = "%s_%s_Setup.exe"
return mask % (self.channel_oneword(), '-'.join(self.args['version']))
def package_finish(self):
# a standard map of strings for replacing in the templates
@@ -401,6 +422,9 @@ class WindowsManifest(ViewerManifest):
'channel':self.channel(),
'channel_oneword':self.channel_oneword(),
'channel_unique':self.channel_unique(),
'inst_name':self.channel_oneword() + ' (64 bit)' if self.is_win64() else self.channel_oneword(),
'installer_file':self.installer_file(),
'viewer_name': "%s%s" % (self.channel(), " (64 bit)" if self.is_win64() else "" ),
}
version_vars = """
@@ -409,13 +433,13 @@ class WindowsManifest(ViewerManifest):
!define VERSION_LONG "%(version)s"
!define VERSION_DASHES "%(version_dashes)s"
""" % substitution_strings
installer_file = "%(channel_oneword)s_%(version_dashes)s_Setup.exe"
installer_file = "%(installer_file)s"
grid_vars_template = """
OutFile "%(installer_file)s"
!define VIEWERNAME "%(channel)s"
!define VIEWERNAME "%(viewer_name)s"
!define INSTFLAGS "%(flags)s"
!define INSTNAME "%(channel_oneword)s"
!define SHORTCUT "%(channel)s Viewer"
!define INSTNAME "%(inst_name)s"
!define SHORTCUT "%(viewer_name)s Viewer"
!define URLNAME "secondlife"
!define INSTALL_ICON "install_icon_singularity.ico"
!define UNINSTALL_ICON "install_icon_singularity.ico"
@@ -435,7 +459,9 @@ class WindowsManifest(ViewerManifest):
"%%SOURCE%%":self.get_src_prefix(),
"%%GRID_VARS%%":grid_vars_template % substitution_strings,
"%%INSTALL_FILES%%":self.nsi_file_commands(True),
"%%DELETE_FILES%%":self.nsi_file_commands(False)})
"%%DELETE_FILES%%":self.nsi_file_commands(False),
"%%INSTALLDIR%%":"%s\\%s" % ('$PROGRAMFILES64' if self.is_win64() else '$PROGRAMFILES', self.channel_oneword()),
})
# We use the Unicode version of NSIS, available from
# http://www.scratchpaper.com/

View File

@@ -13,9 +13,9 @@ if (WINDOWS OR DARWIN)
add_subdirectory(quicktime)
endif (WINDOWS OR DARWIN)
if (WINDOWS)
if (WINDOWS AND WORD_SIZE EQUAL 32)
add_subdirectory(winmmshim)
endif (WINDOWS)
endif (WINDOWS AND WORD_SIZE EQUAL 32)
add_subdirectory(example_basic)
add_subdirectory(example_media)

View File

@@ -17,7 +17,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -31,7 +31,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -19,7 +19,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -30,7 +30,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -25,7 +25,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

View File

@@ -35,7 +35,7 @@ include_directories(
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
# add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)

Binary file not shown.

View File

@@ -554,6 +554,10 @@ namespace VSTool
case "11.00":
version = "VC100";
break;
case "12.00":
version = "VC110";
break;
default:
throw new ApplicationException("Unknown .sln version: " + format);
}
@@ -593,6 +597,10 @@ namespace VSTool
case "VC100":
progid = "VisualStudio.DTE.10.0";
break;
case "VC110":
progid = "VisualStudio.DTE.11.0";
break;
default:
throw new ApplicationException("Can't handle VS version: " + version);
}

View File

@@ -64,6 +64,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glod-1.0pre4-windows-20110610.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>df67aeb1ca4681dc4d9a556454203426</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glod-1.0pre4-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>SDL</key>
@@ -126,6 +133,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/apr_suite-1.4.2-windows-20110504.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>7dcae03cad9bc04ac7e937284e6d102e</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/apr_suite-1.4.5-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>ares</key>
@@ -166,6 +180,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/ares-1.7.1-windows-20110504.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>2ca54250b59170f3e5342dacad529859</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/ares-1.9.1-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>boost</key>
@@ -206,6 +227,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/boost-1.52.0-windows-20130221.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>68c056e920ba2b25c0acded6f482a2e4</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/boost-1.53.0-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>colladadom</key>
@@ -246,6 +274,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/colladadom-2.2-windows-20131006.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>acbe863e1b3df636e1245cc27c280e7b</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/colladadom-2.2-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>curl</key>
@@ -286,6 +321,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/curl-7.21.1-windows-20110504.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>ffb31d596f41b650bed49ac13bb513de</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/curl-7.24.0-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>db</key>
@@ -400,6 +442,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/expat-2.0.1-windows-20110215.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>3239d5c50d6f2c857cc1a95674dbd1f5</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/expat-2.1.0-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>fontconfig</key>
@@ -441,6 +490,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/freeglut-2.6.0-windows-20110214.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>74758efd7fc6246f704ea702c4b3e310</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/freeglut-2.6.0-windows-20110214.tar.bz2</uri>
</map>
</map>
</map>
<key>freetype</key>
@@ -481,6 +537,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/freetype-2.4.4-windows-20110218.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>bfde86bbd84536448ac2a717ed1646d8</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/freetype-2.5.0.1-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>glext</key>
@@ -496,21 +559,28 @@
<key>linux</key>
<map>
<key>md5sum</key>
<string>b94a97e60b37afee73f5525cd07ba959</string>
<string>efc62daedd2f89b46ef0e466b3ef460c</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glext-82-win32-linux.tar.bz2</uri>
</map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>b94a97e60b37afee73f5525cd07ba959</string>
<string>efc62daedd2f89b46ef0e466b3ef460c</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glext-82-win32-linux.tar.bz2</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
<string>b94a97e60b37afee73f5525cd07ba959</string>
<string>efc62daedd2f89b46ef0e466b3ef460c</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glext-82-win32-linux.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>efc62daedd2f89b46ef0e466b3ef460c</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glext-82-win32-linux.tar.bz2</uri>
</map>
@@ -560,6 +630,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glui-2.36-windows-20110214.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>eeec9982df843043a18748276bbf39ce</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/glui-2.36-windows-20110214.tar.bz2</uri>
</map>
</map>
</map>
<key>google_breakpad</key>
@@ -596,6 +673,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/google_breakpad-0.0.0-rev1099-windows-20131002.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>b13ebfa3a82d5396709c57ad83999d83</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/google_breakpad-0.0.0-rev1099-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>gperftools</key>
@@ -710,6 +794,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/hunspell-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>d3ee81e7dfe338b46efc2830930e771e</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/libhunspell-1.3.2-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>jpeglib</key>
@@ -750,6 +841,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/jpeglib-8c-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>79e328b10fae2090262c0bf02c9c5f71</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/jpeglib-8c-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>jsoncpp</key>
@@ -790,6 +888,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/jsoncpp-0.5.0-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>8cf95eef2a95b71eb4a8ab59779bed52</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/jsoncpp-0.5.0-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>libpng</key>
@@ -830,6 +935,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/libpng-1.5.2-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>00fc7bcb4016ecc57def9e3b3223d977</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/libpng-1.5.10-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>libuuid</key>
@@ -914,6 +1026,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/llqtwebkit-4.7.1-windows-20120228.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>cf9e5d1d79531a7e4d45f78657da9c9b</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/llqtwebkit-4.7.1-windows64-20131021.tar.bz2</uri>
</map>
</map>
</map>
<key>mesa</key>
@@ -980,6 +1099,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/libndofdev-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>b59b4ddab26d4441829f50b48925baf0</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/libndofdev-0.1-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>ogg-vorbis</key>
@@ -1020,6 +1146,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/ogg_vorbis-1.2.2-1.3.2-windows-20110510.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>a8ca0eef3d74936d504dab52ecc61ced</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/ogg_vorbis-1.2.2-1.3.2-windows64-20131020.tar.bz2</uri>
</map>
</map>
</map>
<key>openSSL</key>
@@ -1056,6 +1189,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/openssl-1.0.0g-windows-20120207.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>b50166f0b0a275c8ea0d3b11c578d792</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/openssl-1.0.0g-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>openal-soft</key>
@@ -1089,6 +1229,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/openal-1.12.854-1.1.0-windows-20110301.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>e75f1529adcaa6e508d1725f59d93a16</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/openal-1.12.854-1.1.0-windows-20110301.tar.bz2</uri>
</map>
</map>
</map>
<key>pcre</key>
@@ -1205,6 +1352,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/vivox-2.1.3010.6270-windows-20090309.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>752daa90e07c05202d1f76980cb955eb</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/vivox-2.1.3010.6270-windows-20090309.tar.bz2</uri>
</map>
</map>
</map>
<key>xmlrpc-epi</key>
@@ -1245,6 +1399,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/xmlrpc_epi-0.54.1-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>94c26b93b855f5816bb29f308d9997fb</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/xmlrpc_epi-0.54.1-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
<key>zlib</key>
@@ -1285,6 +1446,13 @@
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/zlib-1.2.5-windows-20120704.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>5aa50bd41d6cf0262a94760ef66bdbcf</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/zlib-1.2.8-windows64-20131019.tar.bz2</uri>
</map>
</map>
</map>
</map>

View File

@@ -5,7 +5,7 @@ usage() {
echo "Usage: repackage PLATFORM FILEIN.tar.bz2 [FILEOUT.tar.bz2]
Repackage an archive from llautobuild format into singularity format
PLATFORM can be one of windows, linux, linux64, mac.
PLATFORM can be one of windows, windows64 linux, linux64, mac.
"
exit 0
}
@@ -30,6 +30,13 @@ case "$1" in
INCPATH="libraries/i686-win32/include"
BINPATH="libraries/i686-win32/bin"
;;
--windows64|-w64|windows64|win64)
MODE=windows64
LIBPATH="libraries/x86_64-win/lib/release"
LIBDPATH="libraries/x86_64-win/lib/debug"
INCPATH="libraries/x86_64-win/include"
BINPATH="libraries/x86_64-win/bin"
;;
--mac|--osx|--darwin|-x|mac|osx|darwin)
MODE=osx
LIBPATH="libraries/universal-darwin/lib/release"
@@ -82,7 +89,7 @@ case "$FILEIN" in
http\:\/\/*|https\:\/\/*)
echo " Downloading..."
cd "$TMP"
wget "$FILEIN" -O package.tar.bz2
curl -L "$FILEIN" > package.tar.bz2
echo " Unpacking..."
tar -xjvf package.tar.bz2
rm package.tar.bz2