mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-26 06:35:46 +03:00
build: Build gstreamer with orc.
This commit is contained in:
parent
6e821c774f
commit
b6b52d19f1
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -40,3 +40,6 @@
|
||||
[submodule "glib"]
|
||||
path = glib
|
||||
url = https://gitlab.gnome.org/GNOME/glib.git
|
||||
[submodule "gst-orc"]
|
||||
path = gst-orc
|
||||
url = https://gitlab.freedesktop.org/gstreamer/orc.git
|
||||
|
@ -198,6 +198,10 @@ GLIB := $(SRCDIR)/glib
|
||||
GLIB_OBJ32 := ./obj-glib32
|
||||
GLIB_OBJ64 := ./obj-glib64
|
||||
|
||||
GST_ORC := $(SRCDIR)/gst-orc
|
||||
GST_ORC_OBJ32 := ./obj-gst-orc32
|
||||
GST_ORC_OBJ64 := ./obj-gst-orc64
|
||||
|
||||
GSTREAMER := $(SRCDIR)/gstreamer
|
||||
GSTREAMER_OBJ32 := ./obj-gstreamer32
|
||||
GSTREAMER_OBJ64 := ./obj-gstreamer64
|
||||
@ -294,6 +298,7 @@ FONTS_OBJ := ./obj-fonts
|
||||
OBJ_DIRS := $(TOOLS_DIR32) $(TOOLS_DIR64) \
|
||||
$(FFMPEG_OBJ32) $(FFMPEG_OBJ64) \
|
||||
$(GLIB_OBJ32) $(GLIB_OBJ64) \
|
||||
$(GST_ORC_OBJ32) $(GST_ORC_OBJ64) \
|
||||
$(GSTREAMER_OBJ32) $(GSTREAMER_OBJ64) \
|
||||
$(GST_BASE_OBJ32) $(GST_BASE_OBJ64) \
|
||||
$(GST_GOOD_OBJ32) $(GST_GOOD_OBJ64) \
|
||||
@ -579,24 +584,89 @@ glib32: $(GLIB_CONFIGURE_FILES32)
|
||||
cp -a $(TOOLS_DIR32)/lib/libgthread* $(DST_DIR)/lib/
|
||||
|
||||
|
||||
##
|
||||
## gstreamer
|
||||
##
|
||||
|
||||
GST_COMMON_MESON_ARGS := \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=disabled \
|
||||
-Dtools=disabled \
|
||||
-Dgtk_doc=disabled \
|
||||
-Dintrospection=disabled \
|
||||
-Dgobject-cast-checks=disabled \
|
||||
-Dglib-asserts=disabled \
|
||||
-Dglib-checks=disabled \
|
||||
-Dnls=disabled
|
||||
-Dnls=disabled \
|
||||
-Dbenchmarks=disabled
|
||||
|
||||
##
|
||||
## gst-orc
|
||||
##
|
||||
|
||||
GST_ORC_MESON_ARGS := \
|
||||
$(GST_COMMON_MESON_ARGS) \
|
||||
-Dorc-test=disabled
|
||||
|
||||
|
||||
GST_ORC_CONFIGURE_FILES32 := $(GST_ORC_OBJ32)/build.ninja
|
||||
GST_ORC_CONFIGURE_FILES64 := $(GST_ORC_OBJ64)/build.ninja
|
||||
|
||||
# 64-bit configure. Remove coredata file if already configured (due to e.g. makefile changing)
|
||||
$(GST_ORC_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
|
||||
$(GST_ORC_CONFIGURE_FILES64): $(MAKEFILE_DEP) glib64 | $(GST_ORC_OBJ64)
|
||||
if [ -e "$(abspath $(GST_ORC_OBJ64))"/build.ninja ]; then \
|
||||
rm -f "$(abspath $(GST_ORC_OBJ64))"/meson-private/coredata.dat; \
|
||||
fi
|
||||
cd "$(abspath $(GST_ORC))" && \
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" \
|
||||
PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \
|
||||
meson --prefix="$(abspath $(TOOLS_DIR64))" --libdir="lib" $(GST_ORC_MESON_ARGS) $(MESON_STRIP_ARG) "$(abspath $(GST_ORC_OBJ64))"
|
||||
|
||||
# 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing)
|
||||
$(GST_ORC_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
|
||||
$(GST_ORC_CONFIGURE_FILES32): $(MAKEFILE_DEP) glib32 | $(GST_ORC_OBJ32)
|
||||
if [ -e "$(abspath $(GST_ORC_OBJ32))"/build.ninja ]; then \
|
||||
rm -f "$(abspath $(GST_ORC_OBJ32))"/meson-private/coredata.dat; \
|
||||
fi
|
||||
cd "$(abspath $(GST_ORC))" && \
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \
|
||||
PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \
|
||||
meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GST_ORC_MESON_ARGS) $(MESON_STRIP_ARG) "$(abspath $(GST_ORC_OBJ32))"
|
||||
|
||||
## gst-orc goals
|
||||
GST_ORC_TARGETS = gst_orc gst_orc_configure gst_orc32 gst_orc64 gst_orc_configure32 gst_orc_configure64
|
||||
|
||||
ALL_TARGETS += $(GST_ORC_TARGETS)
|
||||
GOAL_TARGETS_LIBS += gst_orc
|
||||
|
||||
.PHONY: $(GST_ORC_TARGETS)
|
||||
|
||||
gst_orc_configure: $(GST_ORC_CONFIGURE_FILES32) $(GST_ORC_CONFIGURE_FILES64)
|
||||
|
||||
gst_orc_configure64: $(GST_ORC_CONFIGURE_FILES64)
|
||||
|
||||
gst_orc_configure32: $(GST_ORC_CONFIGURE_FILES32)
|
||||
|
||||
gst_orc: gst_orc32 gst_orc64
|
||||
|
||||
gst_orc64: SHELL = $(CONTAINER_SHELL64)
|
||||
gst_orc64: $(GST_ORC_CONFIGURE_FILES64)
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR64))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_ORC_OBJ64)" install
|
||||
cp -a $(TOOLS_DIR64)/lib/liborc* $(DST_DIR)/lib64/
|
||||
|
||||
gst_orc32: SHELL = $(CONTAINER_SHELL32)
|
||||
gst_orc32: $(GST_ORC_CONFIGURE_FILES32)
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR32))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_ORC_OBJ32)" install
|
||||
cp -a $(TOOLS_DIR32)/lib/liborc* $(DST_DIR)/lib/
|
||||
|
||||
##
|
||||
## gstreamer
|
||||
##
|
||||
|
||||
GSTREAMER_MESON_ARGS := \
|
||||
-Dgst_parse=false \
|
||||
-Dbenchmarks=disabled \
|
||||
-Dtools=disabled \
|
||||
$(GST_COMMON_MESON_ARGS)
|
||||
|
||||
GSTREAMER_CONFIGURE_FILES32 := $(GSTREAMER_OBJ32)/build.ninja
|
||||
@ -604,7 +674,7 @@ GSTREAMER_CONFIGURE_FILES64 := $(GSTREAMER_OBJ64)/build.ninja
|
||||
|
||||
# 64-bit configure. Remove coredata file if already configured (due to e.g. makefile changing)
|
||||
$(GSTREAMER_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
|
||||
$(GSTREAMER_CONFIGURE_FILES64): $(MAKEFILE_DEP) glib64 | $(GSTREAMER_OBJ64)
|
||||
$(GSTREAMER_CONFIGURE_FILES64): $(MAKEFILE_DEP) gst_orc64 | $(GSTREAMER_OBJ64)
|
||||
if [ -e "$(abspath $(GSTREAMER_OBJ64))"/build.ninja ]; then \
|
||||
rm -f "$(abspath $(GSTREAMER_OBJ64))"/meson-private/coredata.dat; \
|
||||
fi
|
||||
@ -615,7 +685,7 @@ $(GSTREAMER_CONFIGURE_FILES64): $(MAKEFILE_DEP) glib64 | $(GSTREAMER_OBJ64)
|
||||
|
||||
# 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing)
|
||||
$(GSTREAMER_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
|
||||
$(GSTREAMER_CONFIGURE_FILES32): $(MAKEFILE_DEP) glib32 | $(GSTREAMER_OBJ32)
|
||||
$(GSTREAMER_CONFIGURE_FILES32): $(MAKEFILE_DEP) gst_orc32 | $(GSTREAMER_OBJ32)
|
||||
if [ -e "$(abspath $(GSTREAMER_OBJ32))"/build.ninja ]; then \
|
||||
rm -f "$(abspath $(GSTREAMER_OBJ32))"/meson-private/coredata.dat; \
|
||||
fi
|
||||
@ -642,13 +712,17 @@ gstreamer: gstreamer32 gstreamer64
|
||||
|
||||
gstreamer64: SHELL = $(CONTAINER_SHELL64)
|
||||
gstreamer64: $(GSTREAMER_CONFIGURE_FILES64)
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" ninja -C "$(GSTREAMER_OBJ64)" install
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR64))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GSTREAMER_OBJ64)" install
|
||||
cp -a $(TOOLS_DIR64)/lib/libgst* $(DST_DIR)/lib64/ && \
|
||||
cp -a $(TOOLS_DIR64)/lib/gstreamer-1.0 $(DST_DIR)/lib64/
|
||||
|
||||
gstreamer32: SHELL = $(CONTAINER_SHELL32)
|
||||
gstreamer32: $(GSTREAMER_CONFIGURE_FILES32)
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" ninja -C "$(GSTREAMER_OBJ32)" install
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR32))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GSTREAMER_OBJ32)" install
|
||||
cp -a $(TOOLS_DIR32)/lib/libgst* $(DST_DIR)/lib/ && \
|
||||
cp -a $(TOOLS_DIR32)/lib/gstreamer-1.0 $(DST_DIR)/lib/
|
||||
|
||||
@ -681,6 +755,7 @@ GST_BASE_MESON_ARGS := \
|
||||
-Dx11=disabled \
|
||||
-Dxshm=disabled \
|
||||
-Dxvideo=disabled \
|
||||
-Dtools=disabled \
|
||||
$(GST_COMMON_MESON_ARGS)
|
||||
|
||||
GST_BASE_CONFIGURE_FILES32 := $(GST_BASE_OBJ32)/build.ninja
|
||||
@ -726,13 +801,17 @@ gst_base: gst_base32 gst_base64
|
||||
|
||||
gst_base64: SHELL = $(CONTAINER_SHELL64)
|
||||
gst_base64: $(GST_BASE_CONFIGURE_FILES64)
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" ninja -C "$(GST_BASE_OBJ64)" install
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR64))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_BASE_OBJ64)" install
|
||||
cp -a $(TOOLS_DIR64)/lib/libgst* $(DST_DIR)/lib64/ && \
|
||||
cp -a $(TOOLS_DIR64)/lib/gstreamer-1.0 $(DST_DIR)/lib64/
|
||||
|
||||
gst_base32: SHELL = $(CONTAINER_SHELL32)
|
||||
gst_base32: $(GST_BASE_CONFIGURE_FILES32)
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" ninja -C "$(GST_BASE_OBJ32)" install
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR32))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_BASE_OBJ32)" install
|
||||
cp -a $(TOOLS_DIR32)/lib/libgst* $(DST_DIR)/lib/ && \
|
||||
cp -a $(TOOLS_DIR32)/lib/gstreamer-1.0 $(DST_DIR)/lib/
|
||||
|
||||
@ -790,6 +869,7 @@ GST_GOOD_MESON_ARGS := \
|
||||
-Dwavenc=disabled \
|
||||
-Dximagesrc=disabled \
|
||||
-Dy4m=disabled \
|
||||
-Dtools=disabled \
|
||||
$(GST_COMMON_MESON_ARGS)
|
||||
|
||||
GST_GOOD_CONFIGURE_FILES32 := $(GST_GOOD_OBJ32)/build.ninja
|
||||
@ -835,13 +915,17 @@ gst_good: gst_good32 gst_good64
|
||||
|
||||
gst_good64: SHELL = $(CONTAINER_SHELL64)
|
||||
gst_good64: $(GST_GOOD_CONFIGURE_FILES64)
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" ninja -C "$(GST_GOOD_OBJ64)" install
|
||||
PATH="$(abspath $(TOOLS_DIR64))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR64))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_GOOD_OBJ64)" install
|
||||
cp -a $(TOOLS_DIR64)/lib/libgst* $(DST_DIR)/lib64/ && \
|
||||
cp -a $(TOOLS_DIR64)/lib/gstreamer-1.0 $(DST_DIR)/lib64/
|
||||
|
||||
gst_good32: SHELL = $(CONTAINER_SHELL32)
|
||||
gst_good32: $(GST_GOOD_CONFIGURE_FILES32)
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" ninja -C "$(GST_GOOD_OBJ32)" install
|
||||
PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \
|
||||
LD_LIBRARY_PATH="$(abspath $(TOOLS_DIR32))/lib:$(LD_LIBRARY_PATH)" \
|
||||
ninja -C "$(GST_GOOD_OBJ32)" install
|
||||
cp -a $(TOOLS_DIR32)/lib/libgst* $(DST_DIR)/lib/ && \
|
||||
cp -a $(TOOLS_DIR32)/lib/gstreamer-1.0 $(DST_DIR)/lib/
|
||||
|
||||
|
65
dist.LICENSE
65
dist.LICENSE
@ -178,6 +178,71 @@ View our modifications at
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
This software contains orc. Orc is
|
||||
|
||||
Copyright 2002 - 2009 David A. Schleef <ds@schleef.org>
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The source code implementing the Mersenne Twister algorithm is
|
||||
subject to the following license:
|
||||
|
||||
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. The names of its contributors may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Visit orc at
|
||||
|
||||
https://gitlab.freedesktop.org/gstreamer/orc
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
Parts of this software are based on the OpenVR SDK, which is
|
||||
|
||||
Copyright (c) 2015, Valve Corporation
|
||||
|
1
gst-orc
Submodule
1
gst-orc
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 9901a96eaff271c2d3b595214213f6805ff803c8
|
Loading…
Reference in New Issue
Block a user