generate the run-time dependency according to the build system, not
hard-coded
The advantage for CI is that it does no longer need to be upgraded every
time the GH runner was updated.
This also generalizes for non-CI builds, when the build macOS version
can obviously differ from the CI macos runner.
Do not use both Darwin and macOS version, use just macOS ver.
It seems like libbrotlidec.1.dylib is dependency of Qt but
incorrectly deployed by macdepoloyqt - just the library (that
is symlink to libbrotlidec.1.2.dylib) but not its dependency
@rpath/libbrotlicommon.1.dylib (+ fix path).
Since libbrotlidec.1.2.dylib is already deployed and fixed as a dependency
of uv (AFAIK through lavc->libjxl), just symlink that.
fixes <https://github.com/CESNET/UltraGrid/issues/478>
Remove commands that actually do nothing because uv-qt.exe is installed
by make install and the contents of bin/ subdirectory is not copied
"as is" as the command seem to imply.
+ use $(TARGET) in Makefile instead of bin/uv (which will be bin/uv.exe
in MSW but obviously it worked even without the extension)
install -D in coreutil 8.22 (CentOS 7) didn't have the same semantic
as later versions if specified together with --target-dir (creating the
target dir). Syntax `install -D -m 644 x dst/x` (specifying dstfile name)
would also work as one command as well.
The name default.sf3 is no longer required, the soundfont name is resolved
directly so use the original name. It is TimGM6mb derivative with just
piano downloaded from:
<https://musical-artifacts.com/artifacts/2642>
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).
Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.
Moving just the X.dSYM directory isn't enough since the executable is
identified by name inside the .dSYM tree. But it may be possible to move
the symbols to the "main" tree, since the subtree mimics the hierarchy, eg.
for uv, the symbols are in uv.dSYM/Contents/Resources.
This is more convenient and allow the users that honor that behave more
correctly, eg. he macOS legacy compat wrapper in Makefile adding -real
to executable binaries.
This improves the commit f8b54ea9 from 2013 - currently _GNU_SOURCE is
required eg. for pthread_setname_np. Intantionally used not only with
glibc but also with musl - if not defined pthread_setname_np is not
defined.
+ add COMMON_FLAGS also to CPPFLAGS (doesn't matter much but better)
In the workaround rules, try to use first word of $+ (list of
prerequisities) in place of $<, which is part of POSIX Issue 8 (2024)
but not yet implemented by BSDs. On contrary, it is implemented by GNU
Make. For the first case, use $@ (target) as a fallback.
Extend the script added by previous commit to one handling the entire
bundling from Makefile.
It is nicer having the scripting outside the Makefile, anyways, and the
bundle LC_RPATH fix workaround closly relates to bundling.
Fixes the UG crashes caused by the multiplication of
"@executable_path/../libs/" caused by replacing multiple (originally
distinct) LC_RPATH values with this one.
+ removed invalid comment from Makefile (actually was related to
"bundle-nolib" target that is no longer present)
closes GH-436
Start rewrite with coefficients not hard-coded in the macro. For the
beginning, the new implementation used in pixfmt_conv.o. From
the performance evaluation it doesn't have impact on performance
(`tools/convert benchmark`).
see the commit 085b6e60 (today)
autoconf generally dislikes spaces inside paths, which is true for CUDA
in MSW (path to CUDA libs is something like `-L"/c/Program Files/NVIDIA
GPU Computing Toolkit/CUDA/v11.8/lib"`), so do not use it for tests but
add it just when linking.
- moved ultragrid-bugreport-collect.sh to doc (will be bundled automatically)
- moved data/MacOS-bundle-template to data/template (just a move)
- added data/template/README.md
\+ build x86_64 from source as well to:
1. be consistent with the arm64 build
2. the binary x86_64 already had hardcoded the path @loader_path/../Frameworks/
instead of @rpath, which would require yet another handling
Prepare for the VideoMasterHD to be bundled automatically with
dylibbundler v2.
VideoMasterHD is installed to /Library/Frameworks, which is currently
no longer being looked for frameworks by default, so it needs to be
passed as a -F flag to the compiler.
CXX was used for ObjC compilation but with some recent autoconf update
to 2.72, CXX is set to "g++ -std=gnu++11" because clang there without
-std uses C++98, which was perhaps mishandled by the former autoconf
versions. Using CC (== gcc) corrects that.