[vlc-devel] [RFC 13/82] contrib: provide wine compatible fxc compiler

Martin Storsjö martin at martin.st
Sat Feb 2 21:42:25 CET 2019


On Fri, 1 Feb 2019, Pierre Lamot wrote:

>  fxc compiler is required to compile ANGLE version of Qt
> ---
> ...-as-optional-and-provide-default-var.patch |  81 ++++++
> ...tyle-flags-and-splitted-argument-val.patch | 260 ++++++++++++++++++
> .../0003-Use-meson-as-a-build-system.patch    |  47 ++++
> ...arrowing-conversion-from-int-to-BYTE.patch |  56 ++++
> contrib/src/fxc2/rules.mak                    |  30 ++
> 5 files changed, 474 insertions(+)
> create mode 100644 contrib/src/fxc2/0001-make-Vn-argument-as-optional-and-provide-default-var.patch
> create mode 100644 contrib/src/fxc2/0002-accept-windows-style-flags-and-splitted-argument-val.patch
> create mode 100644 contrib/src/fxc2/0003-Use-meson-as-a-build-system.patch
> create mode 100644 contrib/src/fxc2/0004-Revert-Fix-narrowing-conversion-from-int-to-BYTE.patch
> create mode 100644 contrib/src/fxc2/rules.mak

> diff --git a/contrib/src/fxc2/0003-Use-meson-as-a-build-system.patch b/contrib/src/fxc2/0003-Use-meson-as-a-build-system.patch
> new file mode 100644
> index 0000000000..272bf46da6
> --- /dev/null
> +++ b/contrib/src/fxc2/0003-Use-meson-as-a-build-system.patch
> @@ -0,0 +1,47 @@
> +From 6289103998e7eb564e05f0866f4e5e9ba8afca45 Mon Sep 17 00:00:00 2001
> +From: Pierre Lamot <pierre.lamot at yahoo.fr>
> +Date: Mon, 14 Jan 2019 09:49:38 +0100
> +Subject: [PATCH 3/4] Use meson as a build system
> +
> +---
> + meson.build | 28 ++++++++++++++++++++++++++++
> + 1 file changed, 28 insertions(+)
> + create mode 100644 meson.build
> +
> +diff --git a/meson.build b/meson.build
> +new file mode 100644
> +index 0000000..a3a8601
> +--- /dev/null
> ++++ b/meson.build
> +@@ -0,0 +1,28 @@
> ++project('fxc2', 'cpp')
> ++
> ++if host_machine.system() != 'windows' or not host_machine.cpu_family().startswith('x86')
> ++  error('only compilation for windows i686/x86_64 is supported')
> ++endif

This bit is a bit problematic for building for arm64. Essentially we'd 
need a third category of compiler; native for the build machine (linux), 
cross target (win/arm64) and win32-cross for the native arch (for being 
able to build fxc to run it in wine).

Not sure how to solve this neatest... The original makefile in fxc might 
at least work if i686-w64-mingw32-g++ or x86_64-w64-mingw32-g++ happens to 
be available, regardless of what target is intended for the target of the 
whole build, but that's rather ugly as well.

// Martin



More information about the vlc-devel mailing list