Commit Graph

531 Commits

Author SHA1 Message Date
Martin Pulec
696fd4da47 Revert "CI macOS 14 (arm64) deployment fix"
This reverts commit f9963c42ad.

This workaround is no longer needed, on the contrary, it breaks the CI
now: <https://gist.github.com/MartinPulec/067c8e7ff87ddf04e1285556f33d8d2b>
2026-01-22 09:46:53 +01:00
Martin Pulec
99355fc1f2 vdisp/sdl3: allow setting custom hints
eg. `-d sdl:hint=SDL_VIDEO_WAYLAND_PREFER_LIBDECOR=0`
2026-01-06 09:14:23 +01:00
Martin Pulec
73e3a7ba84 rework macos-wrapper
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.
2025-12-05 12:28:40 +01:00
Martin Pulec
f9963c42ad CI macOS 14 (arm64) deployment fix
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>
2025-11-25 14:36:28 +01:00
Martin Pulec
24bd7bf7cc Makefile macOS: fix missing space
doesn't seem to be causing problems so far
2025-11-25 13:11:03 +01:00
Martin Piatka
d5f4b73d4f Makefile.in: Add sdp_parser to test build
sdp_parser is an non-essential object, but is needed to build the test for it
2025-11-18 14:36:11 +01:00
Martin Piatka
9c4df61c8d utils: Add SDP parser 2025-11-18 11:09:18 +01:00
Martin Pulec
c13daa7f16 CI win make bundle: remove unused commands
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)
2025-10-31 16:18:46 +01:00
Martin Pulec
d45c971cf8 Makefile: create share/ultragrid separately
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.
2025-10-23 10:38:30 +02:00
Martin Pulec
434d23ddd6 color.{c,h}: rename to color_space
color is too much general - the declarations relate to color spaces
2025-10-08 15:19:36 +02:00
Martin Pulec
a2c94dc2c7 Makefile.in: datarootdir->datadir for sf3
mostly harmless - datadir almost always set to datarootdir
2025-09-18 09:22:52 +02:00
Martin Pulec
0578d809c1 default sountfont: use original name
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>
2025-09-04 09:25:44 +02:00
Martin Pulec
4357452c32 move soundfont to shared + always install
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.
2025-09-03 16:42:28 +02:00
Martin Pulec
b3368a0182 Makefile macOS: generate symbols in GUI bundle
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.
2025-08-14 10:16:49 +02:00
Martin Pulec
4a8c12f416 add .sh suffix to hd-rum-av
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.
2025-08-14 09:08:28 +02:00
Martin Pulec
6651e0efb1 Makefile macOS bundle: copy debug symbols 2025-08-14 09:06:30 +02:00
Martin Pulec
c82282949f Makefile: run dsymutil [mac]
needed for libbacktrace
2025-08-14 08:27:58 +02:00
Martin Pulec
cc2e7103b1 configure.ac: generate debug symbols for Win
<https://stackoverflow.com/questions/74416539/clang-14-does-not-generate-pdb-file>

Set it only when linking, not for configure.
2025-08-12 12:24:59 +02:00
Martin Piatka
3c0e7d5660 Makefile: Fix GUI build
Add missing $(srcdir)
2025-07-17 12:57:53 +02:00
Martin Pulec
4d32b60173 Makefile: DeckLinkAPIDispatch: fix out path
fixes the commit db3cef98 (22-05-2025) that broke out-of-tree builds if
DeckLink was enabled
2025-06-03 10:47:06 +02:00
Martin Pulec
4d4cd93546 build: -D_GNU_SOURCE for Linux only
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)
2025-05-30 14:25:36 +02:00
Martin Pulec
cf5f593e05 Makefile BSD compat improved
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.
2025-05-30 09:00:36 +02:00
Martin Pulec
99d3adaf45 Makefile: add POSTPROCESS_DEPS to manual rules 2025-05-30 08:10:32 +02:00
Martin Pulec
2f599f875d Makefile.in: improve POSTPROCESS_DEPS
In FreeBSD 14.2 Make, $*.d strips the path, eg. src/tst.o becomes tst.d
not src/tst.d.
2025-05-30 08:10:32 +02:00
Martin Pulec
db3cef984f Makefile: do not use $< in non-suffix rules
Using $< in a non-suffix rule context is a GNUmake idiom
2025-05-30 08:10:31 +02:00
Martin Pulec
943492eeff Makefile: replace rule syntax from GNU to POSIX
replace the GNU pattern rule syntax with POSIX suffix rules
2025-05-30 08:10:30 +02:00
Martin Pulec
d9ba59e442 Makefile: silence DLL_COPY
Since the previous commit, it is performed on all platforms but since
the variable is empty, do not spoil the stdout with irrelevant command.
2025-05-30 08:10:30 +02:00
Martin Pulec
90d755c076 Makefile: rewrite GNU Make-specific stuff 2025-05-30 08:10:28 +02:00
Martin Pulec
6bcac129b7 macOS lib bundle: move from Makefile to a script
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.
2025-03-25 14:12:43 +01:00
Martin Pulec
e8cd71b259 vcap/import: IWYU + aligned_malloc compat 2025-03-25 09:17:13 +01:00
Martin Pulec
641df59fcd fix macOS 15.4 beta crashes due to LC_RPATH dups
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
2025-03-19 10:46:30 +01:00
Martin Pulec
50b7207b5d add README.hdml to legacy macOS dmg
Redirects to a wiki page informing how to allow unsigned UG build
(alternative builds are not signed).
2024-10-15 09:37:45 +02:00
Martin Pulec
1a118aea3b color.c,pixfmt_conv.c: do not hard-code the coeffs
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`).
2024-09-27 17:06:16 +02:00
Martin Pulec
8cbc4af303 Makefile: fix -Ofast for pixfmt_conv.c
Since the move from video_codec.o to separate file in 2023-03-16 (commit
6ae7f268f), the conversions were compiled with just -O2.
2024-09-26 14:05:55 +02:00
Martin Pulec
d794c28b2d Makefile mac: get rid of error (non-fatal)
get rid of an error:
`cp: uv-qt.app/Contents/Frameworks: Not a directory`
2024-09-20 16:09:44 +02:00
Martin Pulec
9982928410 configure: do not add CUDA_LIB immediately to LIBS
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.
2024-07-29 12:28:12 +02:00
Martin Pulec
a4a2baf32e move some template files to auto places
- 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
2024-05-31 16:04:42 +02:00
Martin Pulec
1ee4f9622c added hd-rum-transcode A/V wrapper
allows running reflectors for both audio and video with one command
2024-05-28 08:51:01 +02:00
Martin Pulec
cd8dfee022 Makefile: compile CUDA code with debug symbols 2024-03-08 16:11:47 +01:00
Martin Pulec
a4c22c93fa build: link Window CUDA code directly
The workaround with linked DLLs is no longer required!
2024-03-08 16:11:47 +01:00
Martin Pulec
745edca768 Makefile.im: pass @DEFS@ to CUDA_FLAGS
It contains (at least) -DHAVE_CONFIG_H defined by autoconf, which should
be passed.
2024-03-04 14:44:23 +01:00
Martin Pulec
93f9dd074f build/CI macOS: do not handle Syphon specially
\+ 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
2024-02-12 11:57:48 +01:00
Martin Pulec
0927dcdabf Makefile Qt6 mac workaround: use dylibbundler without -f
This workaround doesn't work with `dylibbundler -f`. Perhaps nothing to
worry about, since it is just a workaround.
2024-02-12 11:57:48 +01:00
Martin Pulec
1acce2464e build macOS: do not handle Deltacast specially
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.
2024-02-12 11:57:47 +01:00
Martin Pulec
2da425de46 make: ObjC compile cmd fix
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.
2024-01-02 14:13:28 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
d648771854 Makefile: ensure copying to dir + use CP
- ensure copying to a directory where cp dst is assumed to be a directory
(see previous 2 commits)
- use CP macro instead of cp when already defined
2023-11-20 08:09:13 +01:00
Martin Pulec
72ffd5c5ed make: run AsciiDoc gen silently
message `Generated uv.1` is output, anyways
2023-11-15 09:09:16 +01:00
Martin Pulec
d617773a3a Makefile: install manpages to Mac bundle 2023-11-14 11:13:08 +01:00
Martin Pulec
54fbb7fd8b Makefile: build manual pages 2023-11-14 08:20:57 +01:00