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).
Disable non-essential modules with --disable-all even if doesn't have
external dependencies and thus has been built unconditionally until
now. Individual files can then be re-enabled with --enable-file=src1,src2
option.
The option will likely not be used alone but rather implicitly by
--disable-all and it can be used to speed-up the compilation if reflector
is not needed (and maybe also if its compilation is failing).
Always create clean bundles (both with and without GUI).
The former approach was quite fragile and althoug it offered some
advantage that it wasn't needed to rebundle the libs all the time, it
perhaps doesn't overcome the disadvantages, eg. that it was actually
broken until now - first run was successfull but when the macos-wrapper
was deployed second time, it created broken bundle (the script doesn't
handle this case).
Some kind of caching of already processed steps may be readded in future
but definitely made in a more clean way.
+ removed bundle-nolib - doesn't seem to be needed; can be readded if
needed, anyways
+ removed '; \' at line before 'cp -R $(GUI_BUNDLE_DEP)/* $(GUI_BUNDLE)'
Not sure how it affects the behavior but that made the cp command
part of the previous command, which is certainly not intended.
the former was a bit error-prone and eg. since 2b9ed6c7 (2023-05-15),
icon.icns was not copied (just to old bundle but not re-copied to GUI
bundle). Also things like Vulcan shaderes were not copied.
Here, we use a no-clobber option not to override files specific to GUI
bundle.
+ fixed the actaull path of icon.icns inside the bundle
Limits frame rate to specified value.
This can be used if source doesn't keep its nominal frame rate, as some
Magewells do and use higher.
Another use case is just to limit the framerate from eg. 60 to 25 (which
are coprimes, for 60 and 30, already existing capture filter 'every')
can be used.
The compiler is run twice - first for real compilation, second for
dependency tracking. Do not print compilation message the second one
since it may be confusing.