mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 05:59:10 +00:00
Add meson as a submodule for now
Allowing us to control the meson version in use so that it just works.
This commit is contained in:
parent
2f3c89b321
commit
76e946465f
7 changed files with 71 additions and 66 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "meson"]
|
||||
path = meson
|
||||
url = https://github.com/mesonbuild/meson.git
|
|
@ -5,6 +5,15 @@ GStreamer [meson](http://mesonbuild.com/) based repositories aggregrator
|
|||
You can build GStreamer and all its component at once using
|
||||
meson and its "subproject" feature.
|
||||
|
||||
## Getting started
|
||||
|
||||
We have an helper script to get started, will get the right [meson](http://mesonbuild.com/)
|
||||
version and get you ready to build. You can just get all GStreamer built running:
|
||||
|
||||
```
|
||||
./configure && ninja -C build/
|
||||
```
|
||||
|
||||
## GStreamer uninstalled
|
||||
|
||||
gst-all also contains a special `uninstalled` target that lets you enter
|
||||
|
|
44
common.py
Normal file
44
common.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
import argparse
|
||||
import subprocess
|
||||
|
||||
class Colors:
|
||||
HEADER = '\033[95m'
|
||||
OKBLUE = '\033[94m'
|
||||
OKGREEN = '\033[92m'
|
||||
WARNING = '\033[93m'
|
||||
FAIL = '\033[91m'
|
||||
ENDC = '\033[0m'
|
||||
|
||||
force_disable = False
|
||||
|
||||
@classmethod
|
||||
def disable(cls):
|
||||
cls.HEADER = ''
|
||||
cls.OKBLUE = ''
|
||||
cls.OKGREEN = ''
|
||||
cls.WARNING = ''
|
||||
cls.FAIL = ''
|
||||
cls.ENDC = ''
|
||||
|
||||
@classmethod
|
||||
def enable(cls):
|
||||
if cls.force_disable:
|
||||
return
|
||||
|
||||
cls.HEADER = '\033[95m'
|
||||
cls.OKBLUE = '\033[94m'
|
||||
cls.OKGREEN = '\033[92m'
|
||||
cls.WARNING = '\033[93m'
|
||||
cls.FAIL = '\033[91m'
|
||||
cls.ENDC = '\033[0m'
|
||||
|
||||
|
||||
|
||||
def git(args, repository_path):
|
||||
if not isinstance(args, list):
|
||||
args = [args]
|
||||
|
||||
return subprocess.check_output(["git"] + args, cwd=repository_path,
|
||||
stderr=subprocess.STDOUT).decode()
|
||||
|
||||
|
36
configure
vendored
36
configure
vendored
|
@ -7,26 +7,22 @@ import sys
|
|||
import shutil
|
||||
import subprocess
|
||||
|
||||
from common import git
|
||||
from common import Colors
|
||||
|
||||
|
||||
PROJECTNAME = "GStreamer 'all'"
|
||||
|
||||
ROOTDIR = os.path.abspath(os.path.dirname(__file__))
|
||||
MAKEFILE_TMPL = """all:
|
||||
%(tab)scd %(build_dir)s && %(ninja)s -k 100; %(ninja)s
|
||||
|
||||
install:
|
||||
%(tab)scd %(build_dir)s && DESTDIR="${DESTDIR}" %(ninja)s install
|
||||
|
||||
check:
|
||||
%(tab)scd %(build_dir)s && %(ninja)s test
|
||||
def get_meson():
|
||||
print("Updating meson submodule...", end='')
|
||||
sys.stdout.flush()
|
||||
git(['submodule', 'update', '--init'], ROOTDIR)
|
||||
print("DONE")
|
||||
|
||||
uninstalled:
|
||||
%(tab)scd %(build_dir)s && %(ninja)s uninstalled
|
||||
|
||||
clean:
|
||||
%(tab)srm -Rf %(build_dir)s
|
||||
%(tab)srm Makefile
|
||||
"""
|
||||
return os.path.join(ROOTDIR, 'meson', 'meson.py')
|
||||
|
||||
|
||||
def accept_command(commands):
|
||||
|
@ -42,19 +38,12 @@ def accept_command(commands):
|
|||
|
||||
|
||||
def get_configs(meson):
|
||||
meson_version = subprocess.check_output([meson, '--version']).decode().strip()
|
||||
if meson_version <= '0.33.0':
|
||||
print("Disabling the introspection as support for the introspection with subproject was introduced in 0.34")
|
||||
return ['-Dgstreamer:disable_introspection=true',
|
||||
'-Dgst-editing-services:disable_introspection=true',
|
||||
'-Dgst-devtools:disable_introspection=true']
|
||||
|
||||
return ['-Dwerror=true']
|
||||
|
||||
|
||||
def configure_meson(args):
|
||||
"""Configures meson and generate the Makefile."""
|
||||
meson = accept_command(["meson", "meson.py"])
|
||||
meson = get_meson()
|
||||
if not meson:
|
||||
print("Install mesonbuild to build %s: http://mesonbuild.com/\n"
|
||||
"You can simply install it with:\n"
|
||||
|
@ -78,11 +67,6 @@ def configure_meson(args):
|
|||
print("EXIT meson return %s" % e.returncode)
|
||||
exit(1)
|
||||
|
||||
with open(os.path.join(ROOTDIR, "Makefile"), "w") as makefile:
|
||||
makefile.write(MAKEFILE_TMPL %
|
||||
{"build_dir": build_dir,
|
||||
"ninja": ninja,
|
||||
"tab": " "})
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Process some integers.')
|
||||
|
|
43
git-update
43
git-update
|
@ -4,49 +4,12 @@ import os
|
|||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from common import git
|
||||
from common import Colors
|
||||
|
||||
|
||||
SCRIPTDIR = os.path.dirname(__file__)
|
||||
|
||||
class Colors:
|
||||
HEADER = '\033[95m'
|
||||
OKBLUE = '\033[94m'
|
||||
OKGREEN = '\033[92m'
|
||||
WARNING = '\033[93m'
|
||||
FAIL = '\033[91m'
|
||||
ENDC = '\033[0m'
|
||||
|
||||
force_disable = False
|
||||
|
||||
@classmethod
|
||||
def disable(cls):
|
||||
cls.HEADER = ''
|
||||
cls.OKBLUE = ''
|
||||
cls.OKGREEN = ''
|
||||
cls.WARNING = ''
|
||||
cls.FAIL = ''
|
||||
cls.ENDC = ''
|
||||
|
||||
@classmethod
|
||||
def enable(cls):
|
||||
if cls.force_disable:
|
||||
return
|
||||
|
||||
cls.HEADER = '\033[95m'
|
||||
cls.OKBLUE = '\033[94m'
|
||||
cls.OKGREEN = '\033[92m'
|
||||
cls.WARNING = '\033[93m'
|
||||
cls.FAIL = '\033[91m'
|
||||
cls.ENDC = '\033[0m'
|
||||
|
||||
|
||||
|
||||
def git(args, repository_path):
|
||||
if not isinstance(args, list):
|
||||
args = [args]
|
||||
|
||||
return subprocess.check_output(["git"] + args, cwd=repository_path,
|
||||
stderr=subprocess.STDOUT).decode()
|
||||
|
||||
|
||||
def manifest_get_commits(manifest):
|
||||
res = {}
|
||||
|
|
|
@ -65,6 +65,7 @@ def get_subprocess_env(options):
|
|||
"%s/subprojects/gst-editing-services/tests/validate" % SCRIPTDIR)
|
||||
prepend_env_var(env, "PATH", os.path.normpath(
|
||||
"%s/subprojects/gst-devtools/validate/tools" % options.builddir))
|
||||
prepend_env_var(env, "PATH", os.path.join(SCRIPTDIR, 'meson'))
|
||||
env["PATH"] += os.pathsep + PATH
|
||||
env["GST_VERSION"] = options.gst_version
|
||||
env["GST_PLUGIN_SYSTEM_PATH"] = ""
|
||||
|
|
1
meson
Submodule
1
meson
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit a513bcfde613f2a0403f7b0cd34d4bd62674c1d8
|
Loading…
Reference in a new issue