mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1022349 - Part 1: Apply the upstream patch to add support for clang-cl to libffi; r=glandium
This commit is contained in:
parent
217f4fc055
commit
3dcd8b961a
63
js/src/ctypes/libffi-patches/02-clang-cl.patch
Normal file
63
js/src/ctypes/libffi-patches/02-clang-cl.patch
Normal file
@ -0,0 +1,63 @@
|
||||
commit fb25cd08ed5a87640b02f0feeb10a09b37cfddbe (HEAD, origin/clang-cl, clang-cl)
|
||||
Author: Ehsan Akhgari <ehsan@mozilla.com>
|
||||
Date: Wed Jun 11 12:07:24 2014 -0400
|
||||
|
||||
Add support for building with clang-cl
|
||||
|
||||
diff --git a/README b/README
|
||||
index 7aee5b4..9cba257 100644
|
||||
--- a/README
|
||||
+++ b/README
|
||||
@@ -146,12 +146,17 @@ It's also possible to build libffi on Windows platforms with
|
||||
Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
|
||||
wrapper script during configuration like so:
|
||||
|
||||
-path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
|
||||
+path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP="cl -nologo -EP"
|
||||
|
||||
For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64" and
|
||||
CXX="path/to/msvcc.sh -m64". You may also need to specify --build
|
||||
appropriately.
|
||||
|
||||
+It is also possible to build libffi on Windows platforms with the LLVM
|
||||
+project's clang-cl compiler, like below:
|
||||
+
|
||||
+path/to/configure CC="path/to/msvcc.sh -clang-cl" CXX="path/to/msvcc.sh -clang-cl" LD=link CPP="clang-cl -EP"
|
||||
+
|
||||
When building with MSVC under a MingW environment, you may need to
|
||||
remove the line in configure that sets 'fix_srcfile_path' to a 'cygpath'
|
||||
command. ('cygpath' is not present in MingW, and is not required when
|
||||
diff --git a/include/ffi.h.in b/include/ffi.h.in
|
||||
index 70c6179..ebed0aa 100644
|
||||
--- a/include/ffi.h.in
|
||||
+++ b/include/ffi.h.in
|
||||
@@ -68,7 +68,7 @@ extern "C" {
|
||||
|
||||
#ifndef LIBFFI_ASM
|
||||
|
||||
-#ifdef _MSC_VER
|
||||
+#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#define __attribute__(X)
|
||||
#endif
|
||||
|
||||
diff --git a/msvcc.sh b/msvcc.sh
|
||||
index 9208076..4a65b0b 100755
|
||||
--- a/msvcc.sh
|
||||
+++ b/msvcc.sh
|
||||
@@ -63,11 +63,15 @@ do
|
||||
shift 1
|
||||
;;
|
||||
-m64)
|
||||
- cl="cl" # "$MSVC/x86_amd64/cl"
|
||||
ml="ml64" # "$MSVC/x86_amd64/ml64"
|
||||
safeseh=
|
||||
shift 1
|
||||
;;
|
||||
+ -clang-cl)
|
||||
+ cl="clang-cl"
|
||||
+ safeseh=
|
||||
+ shift 1
|
||||
+ ;;
|
||||
-O0)
|
||||
args="$args -Od"
|
||||
shift 1
|
@ -146,12 +146,17 @@ It's also possible to build libffi on Windows platforms with
|
||||
Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
|
||||
wrapper script during configuration like so:
|
||||
|
||||
path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
|
||||
path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP="cl -nologo -EP"
|
||||
|
||||
For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64" and
|
||||
CXX="path/to/msvcc.sh -m64". You may also need to specify --build
|
||||
appropriately.
|
||||
|
||||
It is also possible to build libffi on Windows platforms with the LLVM
|
||||
project's clang-cl compiler, like below:
|
||||
|
||||
path/to/configure CC="path/to/msvcc.sh -clang-cl" CXX="path/to/msvcc.sh -clang-cl" LD=link CPP="clang-cl -EP"
|
||||
|
||||
When building with MSVC under a MingW environment, you may need to
|
||||
remove the line in configure that sets 'fix_srcfile_path' to a 'cygpath'
|
||||
command. ('cygpath' is not present in MingW, and is not required when
|
||||
|
@ -68,7 +68,7 @@ extern "C" {
|
||||
|
||||
#ifndef LIBFFI_ASM
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#define __attribute__(X)
|
||||
#endif
|
||||
|
||||
|
@ -63,11 +63,15 @@ do
|
||||
shift 1
|
||||
;;
|
||||
-m64)
|
||||
cl="cl" # "$MSVC/x86_amd64/cl"
|
||||
ml="ml64" # "$MSVC/x86_amd64/ml64"
|
||||
safeseh=
|
||||
shift 1
|
||||
;;
|
||||
-clang-cl)
|
||||
cl="clang-cl"
|
||||
safeseh=
|
||||
shift 1
|
||||
;;
|
||||
-O0)
|
||||
args="$args -Od"
|
||||
shift 1
|
||||
|
Loading…
Reference in New Issue
Block a user