diff --git a/autobuild.xml b/autobuild.xml index 816c0d0ec8..d4ebe848cb 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -195,14 +195,14 @@ ndPhysicsStub platforms - darwin + darwin64 archive hash - 7d375112b162e32e37262da4a6c0a702 + b0f4fd59a72cf04db2cc426241a3850c url - https://3p.firestormviewer.org/ndPhysicsStub-1.0-darwin-202330107.tar.bz2 + https://3p.firestormviewer.org/ndPhysicsStub-1.0-darwin64-252581439.tar.bz2 name darwin @@ -250,9 +250,9 @@ archive hash - 94fc457c46e1fb94b31251bd4747d10f + 439af4161d99a3d12e0d6d90cb948687 url - https://3p.firestormviewer.org/glod-1.0pre3.171101143-darwin64-171101143.tar.bz2 + https://3p.firestormviewer.org/glod-1.0pre3.252621603-darwin64-252621603.tar.bz2 name darwin64 @@ -297,14 +297,14 @@ gntp-growl platforms - darwin + darwin64 archive hash - 33300134846d0f00ac4f31c1a190e3e6 + 5362f98bf0b0c5b12acacd6b7b1e427e url - https://3p.firestormviewer.org/gntp_growl-1.0-darwin-201505101047-r12.tar.bz2 + https://3p.firestormviewer.org/gntp_growl-1.0-darwin64-252631716.tar.bz2 name darwin @@ -378,9 +378,9 @@ archive hash - 3bc297a0fa47094bb52d361f80186387 + 91b24b83d3f8461286f783f28fcd9a66 url - https://3p.firestormviewer.org/discord_rpc-3.4.0-darwin64-192522358.tar.bz2 + https://3p.firestormviewer.org/discord_rpc-3.4.0-darwin64-252621453.tar.bz2 name darwin64 diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake index 9741ff17f0..7ec96939b3 100644 --- a/indra/cmake/Discord.cmake +++ b/indra/cmake/Discord.cmake @@ -20,13 +20,13 @@ add_library(fs::discord INTERFACE IMPORTED) include(Prebuilt) use_prebuilt_binary(discord-rpc) -if (WINDOWS) - target_link_libraries(fs::discord INTERFACE discord-rpc) -elseif (LINUX) - target_link_libraries(fs::discord INTERFACE discord-rpc) -elseif (DARWIN) - target_link_libraries(fs::discord INTERFACE discord-rpc) -endif (WINDOWS) +find_library(DISCORD_LIBRARY + NAMES + discord-rpc.lib + libdiscord-rpc.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +target_link_libraries(fs::discord INTERFACE ${DISCORD_LIBRARY}) target_include_directories(fs::discord SYSTEM INTERFACE ${AUTOBUILD_INSTALL_DIR}/include/discord-rpc diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index 6f8912f7f1..f6b4a5c4d5 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -33,14 +33,15 @@ if (USE_FMODSTUDIO) # as accessing the private LL location will fail if you don't have the credential include(Prebuilt) use_prebuilt_binary(fmodstudio) - if (WINDOWS) - target_link_libraries( ll::fmodstudio INTERFACE fmod_vc) - elseif (DARWIN) - #despite files being called libfmod.dylib, we are searching for fmod - target_link_libraries( ll::fmodstudio INTERFACE fmod) - elseif (LINUX) - target_link_libraries( ll::fmodstudio INTERFACE fmod) - endif (WINDOWS) + + find_library(FMOD_LIBRARY + NAMES + fmod_vc.lib + libfmod.dylib + libfmod.so + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + + target_link_libraries(ll::fmodstudio INTERFACE ${FMOD_LIBRARY}) target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/fmodstudio) endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index 9a61267d50..9a0bc842a9 100644 --- a/indra/cmake/GLOD.cmake +++ b/indra/cmake/GLOD.cmake @@ -5,13 +5,24 @@ add_library( fs::glod INTERFACE IMPORTED ) include(Prebuilt) use_prebuilt_binary(glod) -if (WINDOWS) - target_link_libraries( fs::glod INTERFACE glod.lib) -elseif (DARWIN) - target_link_libraries( fs::glod INTERFACE libGLOD.dylib) + +find_library(GLOD_LIBRARY + NAMES + GLOD.lib + libGLOD.dylib + libGLOD.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +if (WINDOWS OR DARWIN) + target_link_libraries(fs::glod INTERFACE ${GLOD_LIBRARY}) elseif (LINUX) - target_link_libraries( fs::glod INTERFACE libGLOD.a libvds.a) -endif (WINDOWS) + find_library(VDS_LIBRARY + NAMES + libvds.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + + target_link_libraries(fs::glod INTERFACE ${GLOD_LIBRARY} ${VDS_LIBRARY}) +endif () target_include_directories( fs::glod SYSTEM INTERFACE ${AUTOBUILD_INSTALL_DIR}/include/glod diff --git a/indra/cmake/Growl.cmake b/indra/cmake/Growl.cmake index dc77e1c51e..a2cff584e9 100644 --- a/indra/cmake/Growl.cmake +++ b/indra/cmake/Growl.cmake @@ -9,11 +9,20 @@ add_library( fs::growl INTERFACE IMPORTED ) include(Prebuilt) use_prebuilt_binary(gntp-growl) -if (WINDOWS) - target_link_libraries( fs::growl INTERFACE growl.lib growl++.lib) -elseif (DARWIN) - target_link_libraries( fs::growl INTERFACE libgrowl.dylib libgrowl++.dylib) -endif (WINDOWS) + +find_library(GROWL_LIBRARY + NAMES + growl.lib + libgrowl.dylib + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +find_library(GROWL_PLUSPLUS_LIBRARY + NAMES + growl++.lib + libgrowl++.dylib + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +target_link_libraries(fs::growl INTERFACE ${GROWL_LIBRARY} ${GROWL_PLUSPLUS_LIBRARY}) target_include_directories( fs::growl SYSTEM INTERFACE ${AUTOBUILD_INSTALL_DIR}/include/Growl diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake index e27b746a14..454dbe0215 100644 --- a/indra/cmake/LLPhysicsExtensions.cmake +++ b/indra/cmake/LLPhysicsExtensions.cmake @@ -48,7 +48,27 @@ else (HAVOK) # set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub) # - target_link_libraries( llphysicsextensions_impl INTERFACE nd_hacdConvexDecomposition hacd nd_Pathing ) + # Use find_library to make our lives easier + find_library(ND_HACDCONVEXDECOMPOSITION_LIBRARY + NAMES + nd_hacdConvexDecomposition.lib + libnd_hacdConvexDecomposition.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + + find_library(HACD_LIBRARY + NAMES + hacd.lib + libhacd.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + + find_library(ND_PATHING_LIBRARY + NAMES + nd_pathing.lib + libnd_pathing.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + + target_link_libraries(llphysicsextensions_impl INTERFACE ${ND_HACDCONVEXDECOMPOSITION_LIBRARY} ${HACD_LIBRARY} ${ND_PATHING_LIBRARY}) + # # include paths for LLs version and ours are different. target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/ ) diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h index c08080223a..997987850e 100644 --- a/indra/llcommon/llpreprocessor.h +++ b/indra/llcommon/llpreprocessor.h @@ -97,6 +97,10 @@ # define LL_ARM64 1 #elif LL_GNUC && (defined(__arm64__) || defined(__aarch64__)) # define LL_ARM64 1 +// Check if using clang +#elif LL_CLANG && (defined(__arm64__) || defined(__aarch64__)) +# define LL_ARM64 1 +// #elif LL_MSVC && _M_X64 # define LL_X86_64 1 # define LL_X86 1 @@ -105,6 +109,13 @@ #elif LL_GNUC && ( defined(__amd64__) || defined(__x86_64__) ) # define LL_X86_64 1 # define LL_X86 1 +// Check if using clang +#elif LL_CLANG && ( defined(__amd64__) || defined(__x86_64__) ) +# define LL_X86_64 1 +# define LL_X86 1 +#elif LL_CLANG && ( defined(__i386__) ) +# define LL_X86 1 +// #elif LL_GNUC && ( defined(__i386__) ) # define LL_X86 1 #endif diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index ab87f9baca..40ad023e4d 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -2452,13 +2452,16 @@ bool LLWindowMacOSX::getInputDevices(U32 device_type_filter, void LLWindowMacOSX::openFile(const std::string& file_name ) { - LL_INFOS() << "Opening file " << file_name << LL_ENDL; - FSRef appRef; - OSStatus os_result = FSPathMakeRef((UInt8*)file_name.c_str(), - &appRef,NULL); - if(os_result >= 0) + LL_INFOS() << "Opening file " << file_name << LL_ENDL; + CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, + (const UInt8*)file_name.c_str(), + (CFIndex)file_name.size(), + false); + + if (url) { - os_result = LSOpenFSRef(&appRef, NULL); + OSStatus os_result = LSOpenCFURLRef(url, NULL); + CFRelease(url); } } diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0351994836..0ddda7b3a7 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2508,7 +2508,7 @@ if (WINDOWS) elseif (DARWIN) set_target_properties(${VIEWER_BINARY_NAME} PROPERTIES - RESOURCE SecondLife.xib + RESOURCE Firestorm.xib LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Xlinker -dead_strip" # Force the SDK version in the linked executable to be 10.12. This will fool # macOS into using the pre-Mojave display system, avoiding the blurry display that diff --git a/indra/newview/fsfloaterim.h b/indra/newview/fsfloaterim.h index 3d20957063..182f0d6ae3 100644 --- a/indra/newview/fsfloaterim.h +++ b/indra/newview/fsfloaterim.h @@ -292,7 +292,6 @@ private: S32 mInputEditorPad; S32 mChatLayoutPanelHeight; - S32 mFloaterHeight; uuid_vec_t mInvitedParticipants; uuid_vec_t mPendingParticipants; diff --git a/indra/newview/fsfloaternearbychat.h b/indra/newview/fsfloaternearbychat.h index ee485e5498..f707fe35c9 100644 --- a/indra/newview/fsfloaternearbychat.h +++ b/indra/newview/fsfloaternearbychat.h @@ -161,7 +161,6 @@ private: S32 mInputEditorPad; S32 mChatLayoutPanelHeight; - S32 mFloaterHeight; std::vector mMessageArchive; diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h index cd42328d28..11e72a4dc2 100644 --- a/indra/newview/llpanelface.h +++ b/indra/newview/llpanelface.h @@ -395,7 +395,7 @@ private: LLButton* mBtnAlign { nullptr }; LLButton* mBtnAlignTex { nullptr }; - LLButton* mBtnPbrFromInv { nullptr }; + //LLButton* mBtnPbrFromInv { nullptr }; // Done via texture picker LLButton* mBtnEditBbr { nullptr }; LLButton* mBtnSaveBbr { nullptr }; diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index 279573e478..f171c5a5e0 100644 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -169,7 +169,7 @@ private: // FIRE-4740: Friend counter in people panel LLTabContainer* mFriendsTabContainer; - LLAccordionCtrl* mFriendsAccordion = nullptr; + //LLAccordionCtrl* mFriendsAccordion = nullptr; // Friend list accordion replacement LLAccordionCtrlTab* mFriendsAllTab = nullptr; LLAccordionCtrlTab* mFriendsOnlineTab = nullptr; diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 20d15c34a2..600084fd48 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -321,13 +321,9 @@ public: void setRebakeStuck(bool stuck) { mRebakeStuck = stuck;} // FIRE-7639 - Stop the blinking after a while private: - LLTextBox *mTextBalance; - LLTextBox *mTextHealth; LLTextBox *mTextTime; LLTextBox *mFPSText; // FIRE-14482: Show FPS in status bar - LLTextBox* mTextParcelName; - LLStatGraph *mSGBandwidth; LLStatGraph *mSGPacketLoss; @@ -361,7 +357,6 @@ private: LLPanelNearByMedia* mPanelNearByMedia; LLPanel* mParcelInfoPanel; - LLButton* mInfoBtn; LLTextBox* mParcelInfoText; LLTextBox* mDamageText; LLIconCtrl* mParcelIcon[ICON_COUNT]; diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 407693a3a6..fe3f527d4e 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1588,12 +1588,6 @@ class Darwin_x86_64_Manifest(ViewerManifest): self.path("*.dylib") self.path("plugins.dat") - # do this install_name_tool *after* media plugin is copied over - dylibexecutablepath = self.dst_path_of('llplugin/media_plugin_cef.dylib') - self.run_command_shell('install_name_tool -change ' - '"@rpath/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" ' - '"@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "%s"' % dylibexecutablepath) - # NOTE: the -S argument to strip causes it to keep enough info for # annotated backtraces (i.e. function names in the crash log). 'strip' with no # arguments yields a slightly smaller binary but makes crash logs mostly useless.