Age | Commit message (Collapse) | Author |
|
JsonCpp isn't used any more and Boost is linked statically now, so
SLPlugin doesn't need to link to any Boost dynamic libraries upwards
(which are of an older version and are there because they're still
needed by Collada DOM).
I suspect links to non-existent files have been the cause of why
Gatekeeper just wouldn't identify the developer despite the fact
that Apple notarisation service would still accept the bundle and
various Apple's integrity (command-line) tools would still validate
the bundle too.
This commit also removes unnecessary linkage changes for the media
plugins.
|
|
|
|
|
|
https://megapahit.com/show_bug.cgi?id=56
I could make such metadata setting triggered by an event only on the
media plugin's side, not on the viewer's side. I had tried adding
a MEDIA_EVENT_NOWPLAYING_CHANGED and hoped that mediactrl, viewerparcelmedia,
or viewermedia would react to it, but no, so this is the best I could
come up with for now, to keep checking if what's now playing has been
updated or not. I intentionally didn't clear mNowPlaying the way mURL is,
so that it wouldn't notify one last double after the player stops streaming.
mNowPlaying and mMediaNowPlaying need to be kept in their last states so
that the comparison is correct. I also intentionally didn't put the
notification inside the MEDIA_PLAYING scope, cause the flow somehow never
got into that scope.
|
|
since the app links to Meshoptimizer statically now on macOS.
|
|
This reverts commit 9268fdd5b99bb8e426e7c1232916dfd909039f96.
|
|
Somehow it wouldn't work when the libvlc dylibs linked by
media_plugin_libvlc were far in Frameworks, even with all the
linkages and VLC_PLUGIN_PATH set correctly.
Because of this, I had to make the libvlc files redundantly copied
(they're under 1 MB so we'll live with it) in llplugin just like
upstream for media_plugin_libvlc to link to instead, though it seems
the directory name can be anything, so I just let it be "plugins"
for installation convenience using CMake.
Also now the builder is assumed to not necessarily want VLC.app to
be installed in /Applications, though they would need to keep the
downloaded VLC disc image open.
|
|
and without having to rename the containing folder.
VLC streaming still hasn't worked (it used to) since using fixup_bundle,
since switching to FMOD, since switching from SDL to Cocoa, since
merging Maintenance B, so still no idea which of these is causing it.
|
|
on macOS and at least the one directly. Collada DOM's Boost dependency
is still 1.76 in MacPorts' case, and that's why we still have Boost
filesystem and system dylibs in Frameworks. On the other hand, the
viewer codebase now really depends on newer Boost, in my case I can
use MacPorts' 1.81. I had to switch to static because Boost 1.81
filesystem crashed for not finding the implementation of something
declared using BOOST_FORCEINLINE in boost/filesystem/path.hpp.
I think I know why, now. Cause the filesystem dylib that eventually
got installed was the 1.76 one depended on by Collada DOM, so there
was a conflict, there. For now the temporary MacPorts solution for
this is to install boost181 with -no_static variant (notice the "-"
there, so the static libraries are built and installed too). The
rest is so hack-ish, I had to manually recreate Boost links pointing
to 1.81 ones, only the ones needed, and for the libraries, only the
static ones.
|
|
|
|
Root project finally renamed to Megapahit, which has a nice effect of
CPack: - Run preinstall target for: Megapahit
CPack: - Install project: Megapahit []
but it's really because CPack Bundle file couldn't be renamed via
CPACK_PACKAGE_NAME like on DEB, RPM, and FREEBSD.
CPack determines its own destination root folder, which is Resources
(I didn't find a way to set it to Contents).
fixup_bundle is now run on the .app deep inside CPack staging folders
so that the dependency copies will be included in the DMG.
|
|
|
|
but set CMAKE_INSTALL_PREFIX to newview/Megapahit.app/Contents.
|
|
Must have been residues before, they really were in llplugin/lib
when I was doing the media plugin before.
|
|
Somehow fixup_bundle misses fixing the plugins.
These fixes are in effect when MacPorts is used, though it wouldn't
hurt if you're using HomeBrew, it's just you'd need to add the
references to the HomeBrew libraries just like the MacPorts ones.
|
|
|
|
Except for SLPlugin since there's already a custom command for it.
|
|
|
|
source for viewer 7.1.7.8974243247
|
|
# Conflicts:
# autobuild.xml
# indra/cmake/ConfigurePkgConfig.cmake
# indra/cmake/ICU4C.cmake
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp
# indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h
# indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
# indra/newview/llappviewerlinux_api.h
# indra/newview/llappviewerlinux_api_dbus.cpp
# indra/newview/llappviewerlinux_api_dbus.h
# indra/newview/llfloateremojipicker.cpp
# indra/newview/lloutfitslist.cpp
|
|
LF, and trim trailing whitespaces as needed
|
|
* Enable CEF browser for Linux
* Disable the update for Linux, we don't have that one right now
* Update build_linux.yaml
We need libpulse-dev for volume_catcher Linux
* Add linux_volum_catcher* files
* Enable OpenAL for Linux-ReleaseOS
* Linux: Update OpenAL
* Update SDL2
* Add libsndio-dev to the dependencies.
* Update CEF to an official LL version
* Remove dupe of emoji_shortcodes
* Reording autobuild does because it can and wants to
* Linux: Disable NDOF for the time being. After updating the ndof 3P needs to be rebuilt and we do not have a fresh one from LL yet.
Forcefully undefine LIB_NDOF, it gets defined in the build variables no matter if it is safe to define.
* Remove wrestling with mutliarch and LIBGL_DRIVERS_PATH
* Remove tcmalloc snippet, tcmalloc is a very faint bad dream of the past
* Putting out a warning this viewer ran on a x64 arch and then suggesting to install 32 bit compat packages makes no sense at all
* CEF resources need to be in lib
* It;'s okay to warn about missing plugins
* Linux: CEF keyboard handling
* Remove old gstreamer 0.10 implementation
* Linux DSO loading always had been very peculiar due to macro magic.
At least now it is peculiar shared magic with only one implementation.
* Remove -fPIC. We get that one from LL_BUILD
* /proc/cpuinfo is not reliable to detrmine the max CPU clock. Try to determine this by reading "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq".
Only if this fails go back to /proc/cpuinfo
* Cleanup
* Cleanup common linker and compiler flags, make it more obvious which flags are for which OS/compiler
* Switch to correct plugin file
* Install libpulse-dev for volume catcher.
* And the runner needs libsndio-dev as well.
* check for runner.os=='linux'. matrix.os is the full name of the image (limux-large).
|
|
The lllibs need to be built as static libs now, otherwise SLPlugin
would lose reference to gSavedSettings. The media plugins still need to
be built as dynamic libs however, so they can't rely on the condition in
LibraryInstall.cmake any more.
Since the Megapahit viewer, when built using GCC, is using the default
value for _GLIBCXX_USE_CXX11_ABI (which is 1 for the newer C++11 ABI as
opposed to 0 for the older C++03 ABI), the Dullahan dependency needs to
be built with the very same _GLIBCXX_USE_CXX11_ABI setting too, otherwise
apr_dso would fail at loading libmedia_plugin_cef.so because of the failure
to refer to the setOnConsoleMessageCallback function with strictly the same
(not differing between std::__cxx11::basic_string vs. std::basic_string)
parameter types.
The CEF build is Spotify's, so no live streaming support, while the
Dullahan package used by the viewer was built using Kokua's dullahan
fork. After rebuilding it with _GLIBCXX_USE_CXX11_ABI kept at default
by not overriding it in variables (from the build-variables repo), the
order of the target link libraries in CEFPlugin.cmake doesn't seem to
matter any more (it did before!).
Now EXTERNAL_TOS can be safely omitted from GNU/Linux added compile
definitions (but still used on FreeBSD).
|
|
because (at least) the vlc/plugins dirs are inside it in the same way
it's been inside llplugin. This is so the app can find system VLC
plugins. And for this, BUILD_SHARED_LIBS set on must work first on Linux
(has already been working on FreeBSD), since libmedia_plugin_libvlc is a
shared library (which now gets installed to system library dir too, on
both OSes).
|
|
Since we could use the dynamic versioning from the configuration phase
of CMake, the inclusion is put in BuildVersion.cmake.
Other CPACK variables are usually static so can be set when running
cmake.
CPack somehow doesn't pick up the DESTINATION values in ViewerInstall
(slplugin & libvlc too) from UnixInstall, so they're they're partially
hardcoded again there.
|
|
libmedia_plugin_base is now explicitly set as static, since it could be
set as shared when BUILD_SHARED_LIBS is on and it's just easier to have
it compiled into with every media plugin cause it's small and would only
be shared by 2 dynamic libraries anyway. Trying to put a dynamic version
where the media plugin can find it so the reference is not broken, seems
like a hassle.
|
|
DRTVWR-568_cmake
|
|
with the same name (that's why 3ps had names like apr::apr),
but it's safer and saner to put the LL 3ps under the ll:: prefix.
This also allows means it is possible to get rid of that bad "if( TRAGET ...) return() endif()" pattern and rather use include_guard().
|
|
Change projects to cmake targetsto get rid of havig to hardcore
include directories and link libraries in consumer projects.
|
|
|
|
|
|
|
|
|
|
|
|
by Callum
|
|
by Callum
|
|
|
|
|
|
|
|
|
|
about audio not playing when a media stream started. There is some as yet, unknown interaction between the volume catcher code in the CEF plugin and the VLC volume controls. The fix for now is to add a Windows call to the VLC code that sets the process volume explicitly. Later we will address the volume catcher code, move it to a common spot so both CEF and LibVLC can use the same bytes
|
|
/INCREMENTAL due to '/LTCG' specification' in LibVLC, JPEGLIB etc.
|
|
|
|
|
|
fails to start because of an as-yet undiagnosed issue with VLC plugin files related to their extyended attributes
|
|
|
|
The present CMake logic wants to pass FIXED:NO to the linker for 64-bit
builds, which on the face of it seems like a Good Thing: it permits code to be
relocated in memory, preventing collisions if two libraries happen to want to
load into overlapping address ranges.
However the way it's being specified is wrong and harmful. Passing /FIXED:NO
to the compiler command line engages /FI (Forced Include!) of a nonexistent
file XED:NO -- producing lots of baffling fatal compile errors.
Thanks Callum for diagnosing this!
|
|
autobuild 1.1 now supports expanding $variables within a config file --
support that was explicitly added to address this very problem. So now the
windows platform in autobuild.xml uses $AUTOBUILD_ADDRSIZE,
$AUTOBUILD_WIN_VSPLATFORM and $AUTOBUILD_WIN_CMAKE_GEN, which should handle
most of the deltas between the windows platform and windows64.
This permits removing the windows64 platform definition from autobuild.xml.
The one remaining delta between the windows64 and windows platform definitions
was -DLL_64BIT_BUILD=TRUE. But we can handle that instead by checking
ADDRESS_SIZE. Change all existing references to WORD_SIZE to ADDRESS_SIZE
instead, and set ADDRESS_SIZE to $AUTOBUILD_ADDRSIZE. Change the one existing
LL_64BIT_BUILD reference to test (ADDRESS_SIZE EQUAL 64) instead.
|
|
|
|
|