In order to separate build folder from src folder, the license
will be taken from config_src_dir.
In the case of librtmp, the license is not in the config_src_dir where
the CMakeLists.txt is located but one level up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/488>
In order to support a different build folder from
a src folder where srcdir is not the root of the package
folder, we need to to differentiate these 3 variables.
-H will use make_dir(where cmakelist.txt is)
-B will use build_dir where the build will be performed.
make_dir after build_dir after configure because the Makefile
is actually in the build_dir.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/488>
We do not need to compile against any Nvidia SDKs now, so we can build
this by default and ship it out of the box in our binary releases.
It's still disabled on UWP, iOS, and Android since it's not usable on
those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/587>
Before we would output mingw, msvc, msvc-debug into the same prefixes,
and would set the same env var for all:
C:\gstreamer\1.0\x86_64
C:\gstreamer\1.0\x86
GSTREAMER_1_0_ROOT_X86_64
GSTREAMER_1_0_ROOT_X86
Now we will output into:
-v novisualstudio (default)
C:\gstreamer\1.0\mingw_x86_64
C:\gstreamer\1.0\mingw_x86
GSTREAMER_1_0_ROOT_MINGW_X86_64
GSTREAMER_1_0_ROOT_MINGW_X86
-v visualstudio
C:\gstreamer\1.0\msvc_x86_64
C:\gstreamer\1.0\msvc_x86
GSTREAMER_1_0_ROOT_MSVC_X86_64
GSTREAMER_1_0_ROOT_MSVC_X86
-v visualstudio,vscrt=mdd
C:\gstreamer\1.0\msvc-debug_x86_64
C:\gstreamer\1.0\msvc-debug_x86
GSTREAMER_1_0_ROOT_MSVC_DEBUG_X86_64
GSTREAMER_1_0_ROOT_MSVC_DEBUG_X86
Fixes https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/281
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/567>
Tested on a Debian system with none of these packages installed, and
the new list of packages is all we really need. We do not need gtkdoc,
docbook, texlib, alsa-dev, etc. Can probably be trimmed even further.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/562>
Tested and compared with autotools build on:
Windows (UWP, MSVC, MinGW) x (x86, x86_64, ARM64)
Android Universal (ARM64, x86, x86_64, ARMv7)
iOS Universal (ARM64, X86_64)
macOS (x86_64)
Linux (x86_64, ARMv7)
Comparison was done by ensuring that the same options were enabled,
and that the static library had the same objects inside it when built
with Autotools and Meson.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/560>
Instead of only printing the log for the current step, print the logs
for all previous steps that are available. Helps in figuring out,
f.ex., compile issues that might be caused by incorrect configuration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/556>
The cross and native files should be written as utf-8 because that is
what Meson expects, and we should read meson_options.txt as utf-8,
because that is what it will always be.
Fixes the following error on macOS while reading meson_options.txt:
```
Traceback (most recent call last):
File "cerbero/build/oven.py", line 451, in _cook_recipe_step
await ret
File "cerbero/build/recipe.py", line 82, in async_wrapped
await stepfunc()
File "cerbero/build/build.py", line 63, in async_call
res = await func(*args)
File "cerbero/build/build.py", line 1011, in configure
self._set_option({'introspection', 'gir'}, 'gi')
File "cerbero/build/build.py", line 771, in _set_option
options = f.read()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 12: ordinal not in range(128)
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/555>
On Windows py_prefix is detected as 'Lib' whereas recipes still install
their python files in the posix prefix: 'lib/python[version]'. So we
override the py_prefix in FilesProvider on Windows in order to fetch
python files from the right place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/487>
There is no use splitting into separate runtime and development
tarballs because Visual Studio requires both to be present when
building the package, and the project will have to manually
include DLLs as assets anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/551>