[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