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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001
From: Matthew Flatt <mflatt@racket-lang.org>
Date: Sat, 30 Jul 2022 07:06:55 -0600
Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross
compilation
Closes #4377
(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5)
---
racket/src/cs/c/build.zuo | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo
index 8d3950bb27..d8b74c509d 100644
--- a/racket/src/cs/c/build.zuo
+++ b/racket/src/cs/c/build.zuo
@@ -1016,10 +1016,9 @@
(define (setup)
(call-with-dest-racket
(lambda (bindir dest-racket)
- (define copytree-racket (and cross? (config-bootstrap-racket)))
+ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket)))
(maybe-copytree config dest-racket copytree-racket at-dir)
- (run-raco-setup config dest-racket
- (and cross? (hash-ref (config-bootstrap-racket) 'racket))
+ (run-raco-setup config dest-racket copytree-racket
;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`,
;; but redundant should be ok:
(list "-MCR" (~a (at-dir "compiled") ":")
--
2.32.0
From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001
From: Matthew Flatt <mflatt@racket-lang.org>
Date: Mon, 15 Aug 2022 10:37:01 +0800
Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build
Don't assume a cross build for a pb target on a platform that's only
supported via pb.
(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb)
(Edited to remove unrelated tweak to comments in
"racket/src/expander/expand/require+provide.rkt".)
---
racket/src/cs/c/configure | 15 +++++++++++----
racket/src/cs/c/configure.ac | 15 +++++++++++----
2 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
index 454d79e11a..7e0fa5600d 100755
--- a/racket/src/cs/c/configure
+++ b/racket/src/cs/c/configure
@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in
;;
esac
+if test "${MACH}" = "" ; then
+ default_mach_was_empty=yes
+else
+ default_mach_was_empty=no
+fi
if test "${enable_mach}" != "" ; then
MACH="${enable_mach}"
@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
exit 1
fi
-# For a pb build where Racket is supplied, force cross-build
-# mode on the assumption that the host is not a pb build
-# (because it should be created with default configure options)
+# For a pb build where Racket is supplied and MACH was not originally
+# empty, force cross-build mode on the assumption that the host is not
+# a pb build (because it should be created with default configure options)
if test "${enable_pb}" = "yes" ; then
if test "${enable_racket}" != "" ; then
if test "${enable_target}" = "" ; then
- enable_target="${MACH}"
+ if test "${default_mach_was_empty}" = "no" ; then
+ enable_target="${MACH}"
+ fi
fi
fi
fi
diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
index 5bce979c92..734c1e8feb 100644
--- a/racket/src/cs/c/configure.ac
+++ b/racket/src/cs/c/configure.ac
@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in
;;
esac
+if test "${MACH}" = "" ; then
+ default_mach_was_empty=yes
+else
+ default_mach_was_empty=no
+fi
if test "${enable_mach}" != "" ; then
MACH="${enable_mach}"
@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
exit 1
fi
-# For a pb build where Racket is supplied, force cross-build
-# mode on the assumption that the host is not a pb build
-# (because it should be created with default configure options)
+# For a pb build where Racket is supplied and MACH was not originally
+# empty, force cross-build mode on the assumption that the host is not
+# a pb build (because it should be created with default configure options)
if test "${enable_pb}" = "yes" ; then
if test "${enable_racket}" != "" ; then
if test "${enable_target}" = "" ; then
- enable_target="${MACH}"
+ if test "${default_mach_was_empty}" = "no" ; then
+ enable_target="${MACH}"
+ fi
fi
fi
fi
--
2.32.0
|