[vlc-devel] [PATCH] contrib: disable packages not usable on Winstore builds
Steve Lhomme
robux4 at ycbcr.xyz
Tue Mar 5 13:21:02 CET 2019
This more or less matches contribs disabled here
https://code.videolan.org/videolan/vlc-winrt/blob/master/libvlc/compile.sh#L142
and here
https://github.com/robUx4/vlc-msvc/blob/master/scripts/build-contribs.sh#L49
In the end when building for winstore it should not try to build targets
we know won't work. Just like when we disable network or disc contribs.
On 3/5/2019 1:17 PM, Steve Lhomme wrote:
> - SDL_image : uses forbidden APIs
> - aribb25 : uses forbidden APIs
> - bluray : missing JAVA on UWP
> - caca : no console (may change in the future)
> - cddb : no disc access (may change in the future)
> - d3d9 : no access to D3D9 on store supported OSes
> - gettext : not supported and uses forbidden APIs
> - glslang : not supported
> - mfx : needs an update to build properly
> - modplug : uses forbidden APIs
> - projectM : uses forbidden APIs
> - qt : not used in our winstore build and likely won't build (could be removed when selecting a libvlc only build)
> - qtdeclarative : same as qt
> - qtgraphicaleffects : same as qt
> - qtquickcontrols2 : same as qt
> - qtsvg : same as qt
> - sdl : uses forbidden APIs
> - srt : uses forbidden APIs
> - vncclient : uses forbidden APIs
> ---
> contrib/src/SDL_image/rules.mak | 2 ++
> contrib/src/aribb25/rules.mak | 2 ++
> contrib/src/bluray/rules.mak | 2 ++
> contrib/src/caca/rules.mak | 2 ++
> contrib/src/cddb/rules.mak | 2 ++
> contrib/src/d3d9/rules.mak | 2 +-
> contrib/src/gettext/rules.mak | 2 ++
> contrib/src/glslang/rules.mak | 2 ++
> contrib/src/mfx/rules.mak | 2 ++
> contrib/src/modplug/rules.mak | 2 ++
> contrib/src/projectM/rules.mak | 2 ++
> contrib/src/qt/rules.mak | 2 ++
> contrib/src/qtdeclarative/rules.mak | 2 ++
> contrib/src/qtgraphicaleffects/rules.mak | 2 ++
> contrib/src/qtquickcontrols2/rules.mak | 2 ++
> contrib/src/qtsvg/rules.mak | 2 ++
> contrib/src/sdl/rules.mak | 2 ++
> contrib/src/srt/rules.mak | 2 ++
> contrib/src/vncclient/rules.mak | 2 ++
> 19 files changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/contrib/src/SDL_image/rules.mak b/contrib/src/SDL_image/rules.mak
> index c66911ac78..072463493a 100644
> --- a/contrib/src/SDL_image/rules.mak
> +++ b/contrib/src/SDL_image/rules.mak
> @@ -3,7 +3,9 @@
> SDL_IMAGE_VERSION := 1.2.12
> SDL_IMAGE_URL := http://www.libsdl.org/projects/SDL_image/release/SDL_image-$(SDL_IMAGE_VERSION).tar.gz
>
> +ifndef HAVE_WINSTORE
> PKGS += SDL_image
> +endif
> ifeq ($(call need_pkg,"SDL_image"),)
> PKGS_FOUND += SDL_image
> endif
> diff --git a/contrib/src/aribb25/rules.mak b/contrib/src/aribb25/rules.mak
> index bc1ef48933..7bcd9b3e03 100644
> --- a/contrib/src/aribb25/rules.mak
> +++ b/contrib/src/aribb25/rules.mak
> @@ -4,8 +4,10 @@ ARIBB25_VERSION := 0.2.7
> ARIBB25_URL := $(VIDEOLAN)/aribb25/$(ARIBB25_VERSION)/aribb25-$(ARIBB25_VERSION).tar.gz
>
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> PKGS += aribb25
> endif
> +endif
> ifeq ($(call need_pkg,"pcslite"),)
> PKGS += aribb25
> endif
> diff --git a/contrib/src/bluray/rules.mak b/contrib/src/bluray/rules.mak
> index 09ad2f43f6..0e07128c45 100644
> --- a/contrib/src/bluray/rules.mak
> +++ b/contrib/src/bluray/rules.mak
> @@ -4,8 +4,10 @@ BLURAY_VERSION := 1.1.0
> BLURAY_URL := $(VIDEOLAN)/libbluray/$(BLURAY_VERSION)/libbluray-$(BLURAY_VERSION).tar.bz2
>
> ifdef BUILD_DISCS
> +ifndef HAVE_WINSTORE
> PKGS += bluray
> endif
> +endif
> ifeq ($(call need_pkg,"libbluray >= 0.7.0"),)
> PKGS_FOUND += bluray
> endif
> diff --git a/contrib/src/caca/rules.mak b/contrib/src/caca/rules.mak
> index 2bc78d893e..6369d1ec5c 100644
> --- a/contrib/src/caca/rules.mak
> +++ b/contrib/src/caca/rules.mak
> @@ -3,8 +3,10 @@ CACA_VERSION := 0.99.beta17
> CACA_URL := http://caca.zoy.org/files/libcaca/libcaca-$(CACA_VERSION).tar.gz
>
> ifndef HAVE_LINUX # see VLC Trac 17251
> +ifndef HAVE_WINSTORE
> PKGS += caca
> endif
> +endif
> ifeq ($(call need_pkg,"caca >= 0.99.beta14"),)
> PKGS_FOUND += caca
> endif
> diff --git a/contrib/src/cddb/rules.mak b/contrib/src/cddb/rules.mak
> index e317152812..c9da6d7b83 100644
> --- a/contrib/src/cddb/rules.mak
> +++ b/contrib/src/cddb/rules.mak
> @@ -4,9 +4,11 @@ CDDB_URL := $(SF)/libcddb/libcddb-$(CDDB_VERSION).tar.bz2
>
> ifdef BUILD_NETWORK
> ifdef BUILD_DISCS
> +ifndef HAVE_WINSTORE
> PKGS += cddb
> endif
> endif
> +endif
> ifeq ($(call need_pkg,"libcddb"),)
> PKGS_FOUND += cddb
> endif
> diff --git a/contrib/src/d3d9/rules.mak b/contrib/src/d3d9/rules.mak
> index b3b3b61aea..d2fd57c3a5 100644
> --- a/contrib/src/d3d9/rules.mak
> +++ b/contrib/src/d3d9/rules.mak
> @@ -18,7 +18,7 @@ DST_DXVA2API_H = $(PREFIX)/include/dxva2api.h
>
>
> ifdef HAVE_WIN32
> -ifndef HAVE_VISUALSTUDIO
> +ifndef HAVE_WINSTORE
> PKGS += d3d9
> endif
> endif
> diff --git a/contrib/src/gettext/rules.mak b/contrib/src/gettext/rules.mak
> index 2684b8ff5e..8e8dbbebaa 100644
> --- a/contrib/src/gettext/rules.mak
> +++ b/contrib/src/gettext/rules.mak
> @@ -2,7 +2,9 @@
> GETTEXT_VERSION := 0.19.8.1
> GETTEXT_URL := $(GNU)/gettext/gettext-$(GETTEXT_VERSION).tar.gz
>
> +ifndef HAVE_WINSTORE
> PKGS += gettext
> +endif
> ifneq ($(filter gnu%,$(subst -, ,$(HOST))),)
> # GNU platform should have gettext (?)
> PKGS_FOUND += gettext
> diff --git a/contrib/src/glslang/rules.mak b/contrib/src/glslang/rules.mak
> index 5b60a5ab1c..9c6ab12cc7 100644
> --- a/contrib/src/glslang/rules.mak
> +++ b/contrib/src/glslang/rules.mak
> @@ -4,7 +4,9 @@ GLSLANG_BRANCH := master
> GLSLANG_GITURL := https://github.com/KhronosGroup/glslang.git
> GLSLANG_BASENAME := $(subst .,_,$(subst \,_,$(subst /,_,$(GLSLANG_HASH))))
>
> +ifndef HAVE_WINSTORE
> PKGS += glslang
> +endif
> ifeq ($(call need_pkg,"glslang"),)
> PKGS_FOUND += glslang
> endif
> diff --git a/contrib/src/mfx/rules.mak b/contrib/src/mfx/rules.mak
> index 2b4fbad702..1a5bba2233 100644
> --- a/contrib/src/mfx/rules.mak
> +++ b/contrib/src/mfx/rules.mak
> @@ -7,8 +7,10 @@ ifeq ($(call need_pkg,"mfx"),)
> PKGS_FOUND += mfx
> endif
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> PKGS += mfx
> endif
> +endif
>
> $(TARBALLS)/mfx-$(MFX_GITHASH).tar.xz:
> $(call download_git,$(mfx_GITURL),,$(MFX_GITHASH))
> diff --git a/contrib/src/modplug/rules.mak b/contrib/src/modplug/rules.mak
> index 29507574e1..5e5fd421c3 100644
> --- a/contrib/src/modplug/rules.mak
> +++ b/contrib/src/modplug/rules.mak
> @@ -3,7 +3,9 @@
> MODPLUG_VERSION := 0.8.8.5
> MODPLUG_URL := $(SF)/modplug-xmms/libmodplug-$(MODPLUG_VERSION).tar.gz
>
> +ifndef HAVE_WINSTORE
> PKGS += modplug
> +endif
> ifeq ($(call need_pkg,"libmodplug >= 0.8.8.5"),)
> PKGS_FOUND += modplug
> endif
> diff --git a/contrib/src/projectM/rules.mak b/contrib/src/projectM/rules.mak
> index 24f3bdc9b0..29c92fd9f5 100644
> --- a/contrib/src/projectM/rules.mak
> +++ b/contrib/src/projectM/rules.mak
> @@ -5,10 +5,12 @@ PROJECTM_URL := $(SF)/projectm/$(PROJECTM_VERSION)/projectM-$(PROJECTM_VERSION)-
> ifdef HAVE_WIN32
> ifneq ($(ARCH),arm)
> ifneq ($(ARCH),aarch64)
> +ifndef HAVE_WINSTORE
> PKGS += projectM
> endif
> endif
> endif
> +endif
> ifeq ($(call need_pkg,"libprojectM"),)
> PKGS_FOUND += projectM
> endif
> diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak
> index d579b5d47b..b78b9169c3 100644
> --- a/contrib/src/qt/rules.mak
> +++ b/contrib/src/qt/rules.mak
> @@ -10,8 +10,10 @@ ifdef HAVE_MACOSX
> #PKGS += qt
> endif
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> PKGS += qt
> endif
> +endif
>
> ifeq ($(call need_pkg,"Qt5Core Qt5Gui Qt5Widgets"),)
> PKGS_FOUND += qt
> diff --git a/contrib/src/qtdeclarative/rules.mak b/contrib/src/qtdeclarative/rules.mak
> index 817ec82874..36872c3330 100644
> --- a/contrib/src/qtdeclarative/rules.mak
> +++ b/contrib/src/qtdeclarative/rules.mak
> @@ -6,6 +6,7 @@ QTDECLARATIVE_URL := http://download.qt.io/official_releases/qt/5.11/$(QTDECLARA
> DEPS_qtdeclarative += qt $(DEPS_qt)
>
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> ifeq ($(findstring $(ARCH), arm aarch64),)
> # There is no opengl available on windows on these architectures.
> # QtDeclarative in itself should be usable without opengl though, but
> @@ -14,6 +15,7 @@ ifeq ($(findstring $(ARCH), arm aarch64),)
> PKGS += qtdeclarative
> endif
> endif
> +endif
>
> ifeq ($(call need_pkg,"Qt5Quick"),)
> PKGS_FOUND += qtdeclarative
> diff --git a/contrib/src/qtgraphicaleffects/rules.mak b/contrib/src/qtgraphicaleffects/rules.mak
> index 669265fc9b..46175d1c4a 100644
> --- a/contrib/src/qtgraphicaleffects/rules.mak
> +++ b/contrib/src/qtgraphicaleffects/rules.mak
> @@ -6,11 +6,13 @@ QTGE_URL := http://download.qt.io/official_releases/qt/5.11/$(QTGE_VERSION)/subm
> DEPS_qtgraphicaleffects += qtdeclarative $(DEPS_qtdeclarative)
>
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> ifeq ($(findstring $(ARCH), arm aarch64),)
> # There is no opengl available on windows on these architectures.
> PKGS += qtgraphicaleffects
> endif
> endif
> +endif
>
> ifeq ($(call need_pkg,"Qt5QuickControls2"),)
> PKGS_FOUND += qtgraphicaleffects
> diff --git a/contrib/src/qtquickcontrols2/rules.mak b/contrib/src/qtquickcontrols2/rules.mak
> index cff4aaf767..029e44fdb8 100644
> --- a/contrib/src/qtquickcontrols2/rules.mak
> +++ b/contrib/src/qtquickcontrols2/rules.mak
> @@ -4,11 +4,13 @@ QTQC2_VERSION := 5.11.0
> QTQC2_URL := http://download.qt.io/official_releases/qt/5.11/$(QTQC2_VERSION)/submodules/qtquickcontrols2-everywhere-src-$(QTQC2_VERSION).tar.xz
>
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> ifeq ($(findstring $(ARCH), arm aarch64),)
> # There is no opengl available on windows on these architectures.
> PKGS += qtquickcontrols2
> endif
> endif
> +endif
>
> ifeq ($(call need_pkg,"Qt5QuickControls2"),)
> PKGS_FOUND += qtquickcontrols2
> diff --git a/contrib/src/qtsvg/rules.mak b/contrib/src/qtsvg/rules.mak
> index 9784b51ffd..2793cfd858 100644
> --- a/contrib/src/qtsvg/rules.mak
> +++ b/contrib/src/qtsvg/rules.mak
> @@ -6,8 +6,10 @@ QTSVG_URL := https://download.qt.io/official_releases/qt/5.11/$(QTSVG_VERSION)/s
> DEPS_qtsvg += qt $(DEPS_qt)
>
> ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
> PKGS += qtsvg
> endif
> +endif
>
> ifeq ($(call need_pkg,"Qt5Svg"),)
> PKGS_FOUND += qtsvg
> diff --git a/contrib/src/sdl/rules.mak b/contrib/src/sdl/rules.mak
> index 4a933b5486..8eb56be0cc 100644
> --- a/contrib/src/sdl/rules.mak
> +++ b/contrib/src/sdl/rules.mak
> @@ -3,7 +3,9 @@
> SDL_VERSION := 1.2.15
> SDL_URL := http://www.libsdl.org/release/SDL-$(SDL_VERSION).tar.gz
>
> +ifndef HAVE_WINSTORE
> #PKGS += sdl
> +endif
> ifeq ($(call need_pkg,"sdl"),)
> PKGS_FOUND += sdl
> endif
> diff --git a/contrib/src/srt/rules.mak b/contrib/src/srt/rules.mak
> index c9dbb59db8..343dc44a55 100644
> --- a/contrib/src/srt/rules.mak
> +++ b/contrib/src/srt/rules.mak
> @@ -4,8 +4,10 @@ SRT_VERSION := 1.3.1
> SRT_URL := $(GITHUB)/Haivision/srt/archive/v$(SRT_VERSION).tar.gz
>
> ifdef BUILD_NETWORK
> +ifndef HAVE_WINSTORE
> PKGS += srt
> endif
> +endif
>
> ifeq ($(call need_pkg,"srt >= 1.3.1"),)
> PKGS_FOUND += srt
> diff --git a/contrib/src/vncclient/rules.mak b/contrib/src/vncclient/rules.mak
> index e048fd68e0..20af67cbcb 100644
> --- a/contrib/src/vncclient/rules.mak
> +++ b/contrib/src/vncclient/rules.mak
> @@ -4,8 +4,10 @@ VNCCLIENT_VERSION := 0.9.10
> VNCCLIENT_URL := https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$(VNCCLIENT_VERSION).tar.gz
>
> ifdef BUILD_NETWORK
> +ifndef HAVE_WINSTORE
> PKGS += vncclient
> endif
> +endif
> ifeq ($(call need_pkg,"libvncclient"),)
> PKGS_FOUND += vncclient
> endif
> --
> 2.17.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list