4313
|
1 This file is part of MXE. See LICENSE.md for licensing information. |
|
2 |
|
3 Contains ad hoc patches for cross building. |
|
4 |
|
5 From 6e118d36f8c15474065fe357446cf288cdc1e179 Mon Sep 17 00:00:00 2001 |
|
6 From: Tony Theodore <tonyt@logyst.com> |
|
7 Date: Thu, 4 Dec 2014 15:07:43 +1100 |
|
8 Subject: [PATCH 1/3] fix for mingw cross building |
|
9 |
|
10 Taken from: |
|
11 https://aur.archlinux.org/packages/mingw-w64-libgcrypt/ |
3685
|
12 |
4313
|
13 diff --git a/acinclude.m4 b/acinclude.m4 |
|
14 index 96be833..9e14e12 100644 |
|
15 --- a/acinclude.m4 |
|
16 +++ b/acinclude.m4 |
|
17 @@ -102,7 +102,9 @@ AC_DEFUN([GNUPG_SYS_SYMBOL_UNDERSCORE], |
|
18 [tmp_do_check="no" |
|
19 case "${host}" in |
|
20 i?86-mingw32* | i?86-*-mingw32*) |
|
21 - ac_cv_sys_symbol_underscore=yes |
|
22 + if test "x$ac_cv_sys_symbol_underscore" = x ; then |
|
23 + ac_cv_sys_symbol_underscore=yes |
|
24 + fi |
|
25 ;; |
|
26 x86_64-*-mingw32*) |
|
27 ac_cv_sys_symbol_underscore=no |
|
28 diff --git a/mpi/generic/mpi-asm-defs.h b/mpi/generic/mpi-asm-defs.h |
|
29 index e607806..4c57111 100644 |
|
30 --- a/mpi/generic/mpi-asm-defs.h |
|
31 +++ b/mpi/generic/mpi-asm-defs.h |
|
32 @@ -4,5 +4,9 @@ |
|
33 #if __GNUC__ >= 3 && defined(__x86_64__) && defined(__ILP32__) |
|
34 #define BYTES_PER_MPI_LIMB 8 |
|
35 #else |
|
36 +#ifdef _WIN64 |
|
37 +#define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG_LONG) |
|
38 +#else |
|
39 #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG) |
|
40 #endif |
|
41 +#endif |
|
42 diff --git a/mpi/mpi-internal.h b/mpi/mpi-internal.h |
|
43 index 898ca47..afd1a1f 100644 |
|
44 --- a/mpi/mpi-internal.h |
|
45 +++ b/mpi/mpi-internal.h |
|
46 @@ -169,6 +169,12 @@ typedef int mpi_size_t; /* (must be a signed type) */ |
|
47 } while (0) |
|
48 |
|
49 |
|
50 +#ifdef _WIN64 |
|
51 +#define ATTR_ABI __attribute__ ((sysv_abi)) |
|
52 +#else |
|
53 +#define ATTR_ABI |
|
54 +#endif |
|
55 + |
|
56 /*-- mpiutil.c --*/ |
|
57 #define mpi_alloc_limb_space(n,f) _gcry_mpi_alloc_limb_space((n),(f)) |
|
58 mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned nlimbs, int sec ); |
|
59 @@ -187,7 +193,7 @@ void _gcry_mpi_lshift_limbs( gcry_mpi_t a, unsigned int count ); |
|
60 mpi_limb_t _gcry_mpih_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
61 mpi_size_t s1_size, mpi_limb_t s2_limb ); |
|
62 mpi_limb_t _gcry_mpih_add_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
63 - mpi_ptr_t s2_ptr, mpi_size_t size); |
|
64 + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; |
|
65 mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, |
|
66 mpi_ptr_t s2_ptr, mpi_size_t s2_size); |
|
67 |
|
68 @@ -195,7 +201,7 @@ mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_siz |
|
69 mpi_limb_t _gcry_mpih_sub_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
70 mpi_size_t s1_size, mpi_limb_t s2_limb ); |
|
71 mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
72 - mpi_ptr_t s2_ptr, mpi_size_t size); |
|
73 + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; |
|
74 mpi_limb_t _gcry_mpih_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, |
|
75 mpi_ptr_t s2_ptr, mpi_size_t s2_size); |
|
76 |
|
77 @@ -217,9 +223,9 @@ struct karatsuba_ctx { |
|
78 void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx ); |
|
79 |
|
80 mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
81 - mpi_size_t s1_size, mpi_limb_t s2_limb); |
|
82 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; |
|
83 mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
84 - mpi_size_t s1_size, mpi_limb_t s2_limb); |
|
85 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; |
|
86 void _gcry_mpih_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, |
|
87 mpi_size_t size); |
|
88 mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, |
|
89 @@ -236,7 +242,7 @@ void _gcry_mpih_mul_karatsuba_case( mpi_ptr_t prodp, |
|
90 |
|
91 /*-- mpih-mul_1.c (or xxx/cpu/ *.S) --*/ |
|
92 mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
|
93 - mpi_size_t s1_size, mpi_limb_t s2_limb); |
|
94 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; |
|
95 |
|
96 /*-- mpih-div.c --*/ |
|
97 mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, |
|
98 @@ -250,9 +256,9 @@ mpi_limb_t _gcry_mpih_divmod_1( mpi_ptr_t quot_ptr, |
|
99 |
|
100 /*-- mpih-shift.c --*/ |
|
101 mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, |
|
102 - unsigned cnt); |
|
103 + unsigned cnt) ATTR_ABI; |
|
104 mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, |
|
105 - unsigned cnt); |
|
106 + unsigned cnt) ATTR_ABI; |
|
107 |
|
108 |
|
109 /* Define stuff for longlong.h. */ |
|
110 diff --git a/src/libgcrypt.def b/src/libgcrypt.def |
|
111 index 067cb84..df71bba 100644 |
|
112 --- a/src/libgcrypt.def |
|
113 +++ b/src/libgcrypt.def |
|
114 @@ -1,3 +1,4 @@ |
|
115 +EXPORTS |
|
116 ;; libgcrypt.defs - Exported symbols for W32 |
|
117 ;; Copyright (C) 2003, 2007 Free Software Foundation, Inc. |
|
118 ;; |
|
119 @@ -22,7 +23,6 @@ |
|
120 ;; never be changed. Also check libgcrypt.vers and visibility.h. |
|
121 |
|
122 |
|
123 -EXPORTS |
|
124 gcry_check_version @1 |
|
125 gcry_control @2 |
|
126 |
|
127 -- |
|
128 2.7.4 |
|
129 |
|
130 |
|
131 From 9ff9c0ae66b9f51decfda8dffa2024d8dbaa9fe6 Mon Sep 17 00:00:00 2001 |
|
132 From: Saikrishna Arcot <saiarcot895@gmail.com> |
|
133 Date: Fri, 12 Jun 2015 14:53:55 -0700 |
|
134 Subject: [PATCH 2/3] Don't call git to determine the revision. |
|
135 |
|
136 |
|
137 diff --git a/configure.ac b/configure.ac |
|
138 index f683e21..d43c012 100644 |
|
139 --- a/configure.ac |
|
140 +++ b/configure.ac |
|
141 @@ -38,13 +38,10 @@ m4_define(mym4_version_micro, [0]) |
|
142 # processing is done by autoconf and not during the configure run. |
|
143 m4_define(mym4_version, |
|
144 [mym4_version_major.mym4_version_minor.mym4_version_micro]) |
|
145 -m4_define([mym4_revision], |
|
146 - m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) |
|
147 +m4_define([mym4_revision], [4091]) |
|
148 m4_define([mym4_revision_dec], |
|
149 m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) |
|
150 -m4_define([mym4_betastring], |
|
151 - m4_esyscmd_s([git describe --match 'libgcrypt-[0-9].*[0-9]' --long|\ |
|
152 - awk -F- '$3!=0{print"-beta"$3}'])) |
|
153 +m4_define([mym4_betastring], []) |
|
154 m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) |
|
155 m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) |
|
156 |
|
157 -- |
|
158 2.7.4 |
|
159 |
|
160 |
|
161 From 7a22846e84ca5047b2f5cae7eb12ccab53c03026 Mon Sep 17 00:00:00 2001 |
|
162 From: "Richard W.M. Jones" <rjones@redhat.com> |
|
163 Date: Sun, 28 Jun 2015 17:17:25 +0200 |
|
164 Subject: [PATCH 3/3] configure.ac: no serial-tests if automake < 1.12 |
|
165 |
|
166 Earlier versions of automake complain if they get a configuration |
|
167 parameter which they don't understand. The error is: |
|
168 |
|
169 configure.ac:27: error: option 'serial-tests' not recognized |
|
170 |
|
171 Use some m4 hackery to work around this. |
|
172 |
|
173 Fix libgcrypt build under x86_64 |
|
174 See https://www.redhat.com/archives/libguestfs/2013-February/msg00102.html |
|
175 |
|
176 diff --git a/configure.ac b/configure.ac |
|
177 index d43c012..b6f20ae 100644 |
|
178 --- a/configure.ac |
|
179 +++ b/configure.ac |
|
180 @@ -71,7 +71,24 @@ VERSION=$PACKAGE_VERSION |
|
181 |
|
182 AC_CONFIG_AUX_DIR([build-aux]) |
|
183 AC_CONFIG_SRCDIR([src/libgcrypt.vers]) |
|
184 -AM_INIT_AUTOMAKE([serial-tests dist-bzip2]) |
|
185 + |
|
186 +dnl Initialize automake. automake < 1.12 didn't have serial-tests and |
|
187 +dnl gives an error if it sees this, but for automake >= 1.13 |
|
188 +dnl serial-tests is required so we have to include it. Solution is to |
|
189 +dnl test for the version of automake (by running an external command) |
|
190 +dnl and provide it if necessary. Note we have to do this entirely using |
|
191 +dnl m4 macros since automake queries this macro by running |
|
192 +dnl 'autoconf --trace ...'. |
|
193 +m4_define([serial_tests], [ |
|
194 + m4_esyscmd([automake --version | |
|
195 + head -1 | |
|
196 + awk '{split ($NF,a,"."); if (a[1] == 1 && a[2] >= 12) { '\ |
|
197 + 'print "serial-tests" }}' |
|
198 + ]) |
|
199 +]) |
|
200 +dnl NB: Do not [quote] this parameter. |
|
201 +AM_INIT_AUTOMAKE(serial_tests dist-bzip2) |
|
202 + |
|
203 AC_CONFIG_HEADER(config.h) |
|
204 AC_CONFIG_MACRO_DIR([m4]) |
|
205 AC_CONFIG_LIBOBJ_DIR([compat]) |
|
206 -- |
|
207 2.7.4 |
|
208 |