forked from libffi/libffi
-
Notifications
You must be signed in to change notification settings - Fork 2
/
msvcc-warning
90 lines (84 loc) · 2.7 KB
/
msvcc-warning
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Index: libffi/README
===================================================================
--- libffi.orig/README
+++ libffi/README
@@ -114,9 +114,13 @@ It's also possible to build libffi on Wi
Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
wrapper script during configuration like so:
-path/to/configure --enable-shared --enable-static \
- CC=path/to/msvcc.sh LD=link \
- CPP=\"cl -nologo -EP\"
+path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
+
+For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
+You may also need to specify --build appropriately. 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 using MingW-style paths.)
Configure has many other options. Use "configure --help" to see them all.
Index: libffi/msvcc.sh
===================================================================
--- libffi.orig/msvcc.sh
+++ libffi/msvcc.sh
@@ -42,7 +42,7 @@
# format and translated into something sensible for cl or ml.
#
-args="-nologo"
+args="-nologo -W3"
md=-MD
cl="cl"
ml="ml"
@@ -65,13 +65,25 @@ do
ml="ml64" # "$MSVC/x86_amd64/ml64"
shift 1
;;
+ -O0)
+ args="$args -Od"
+ shift 1
+ ;;
-O*)
- args="$args $1"
+ # If we're optimizing, make sure we explicitly turn on some optimizations
+ # that are implicitly disabled by debug symbols (-Zi).
+ args="$args $1 -OPT:REF -OPT:ICF -INCREMENTAL:NO"
shift 1
;;
-g)
- # Can't specify -RTC1 or -Zi in opt. -Gy is ok. Use -OPT:REF?
- args="$args -D_DEBUG -RTC1 -Zi"
+ # Enable debug symbol generation.
+ args="$args -Zi -DEBUG"
+ shift 1
+ ;;
+ -DFFI_DEBUG)
+ # Link against debug CRT and enable runtime error checks.
+ args="$args -RTC1"
+ defines="$defines $1"
md=-MDd
shift 1
;;
@@ -108,8 +120,8 @@ do
shift 1
;;
-Wall)
- # -Wall on MSVC is overzealous. Use -W3 instead.
- args="$args -W3"
+ # -Wall on MSVC is overzealous, and we already build with -W3. Nothing
+ # to do here.
shift 1
;;
-Werror)
Index: libffi/ChangeLog
===================================================================
--- libffi.orig/ChangeLog
+++ libffi/ChangeLog
@@ -175,6 +175,11 @@
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
+2010-03-30 Dan Witte <dwitte@mozilla.com>
+
+ * msvcc.sh: Disable build warnings.
+ * README (tested): Clarify windows build procedure.
+
2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.