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.
This still causes the bundle rebuild. Under normal circumstances it
won't matter but as we sign the directory after creating the bundle
and before creating dmg, it actually hurts, becasue to the DMG goes the
freshly-created (unsigned) bundle.
This reverts commit 7294347a9b.
Currently macdeployqt distributed with Qt 6 in Homebrew fails to deploy
transitive dependency (QTDBus in this case). So as a workaround we
hard-copy that for now.
It may not be problem of Qt 6 itself but just the Homebrew distribution,
see also [1].
[1]:
a6a9f108df
Macdeployqt copies ordinal libraries to Frameworks/ while we use libs/
with macdeployqt, so use symlink to avoid having 2 copies when lib is
used by both uv and uv-qt.
Do not use hard-coded list of frameworks in Makefile, rather use list
generated by configure.ac in BIN_DEPS.
Needed frameworks are copied to Frameworks/ as part of BIN_DEPS target
(needed for TARGET), so that we can copy this directly to the bundle.
The whole stuff is no no longer needed - only qmake is needed to build
the GUI now (UG itself does no longer depend on Qt - shared IPC frame
now uses UNIX sockets).