For posix-style installations, use the defined directories
for libraries and data.
With that, running vlc from the install dirs works fine in principle.
What is left to do currently is to adapt the RPATH to find the
libvlc libraries.
This moves the main loop out of the macosx interface module.
Instead, the open callback only initializes the interface and the
close callback cleans up stuff. The mainloop is now started in
darwinvlc.m. In case the mac interface is not used, a CoreFoundation
mainloop is solely started to wait for termination events.
Additionally, this cleans up darwinvlc.m, and fixes signal
handling, which was dead code so far (in case the interface was used).
Now, GCD is used to catch SIGINT and SIGTERM in order to allow
ordinary shutdown.
refs #14362close#6354
As we do not want to break other os versions, the only way to
select the proper linker is to use another target for osx.
Still, "make install" should produce a binary named "vlc" in the
end, thus the binary is renamed at install stage.
This is the only supported way to terminate an cocoa application and also ensure
that the gui settings are getting saved. Adapted from similar code in the qt
module.
The actions of the hotkeys interface all affect the playlist, the
playlist's input, the playlist's input's vout(s), the playlist's aout
or the interfaces (controller). It has no use outside VLC.
...as for plugins directory. Most of the content is anyway per-process,
either because gettext and interfaces are per-process. The only caller
of the function that is not an interface or gettext is the DVB scanner.
This is even probably a bug.
...rather than with a command line option. This enables extending the
set of plugins paths globally, for all LibVLC applications.
Using an environment variable seems more logical than a command line
option considering that the module bank is shared by all VLC instances
in the process. In other words, it did not belong as a parameter to
libvlc_new().