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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
From: Michael Olbrich <m.olbrich@pengutronix.de>
Date: Fri, 11 Feb 2011 23:29:14 +0100
Subject: [PATCH] Fix: libjava cross build issue
Taken from upstream r163580:
Fix building ecjx in cross compile mode.
libjava/:
PR libgcj/40868
* configure.ac: Add GCC_FOR_ECJX variable. Ensure
GCJ_FOR_ECJX is always set.
* Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
* Makefile.in: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
This is a fix for:
Bug 40868 - ecjx.cc should be compiled by host gcc
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
libjava/Makefile.am | 2 ++
libjava/Makefile.in | 3 +++
libjava/configure | 12 ++++++++----
libjava/configure.ac | 5 ++++-
libjava/gcj/Makefile.in | 1 +
libjava/include/Makefile.in | 1 +
libjava/testsuite/Makefile.in | 1 +
7 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 55ff0d1..85f020f 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -1127,6 +1127,8 @@ ecjx_LINK = $(GCJ_FOR_ECJX_LINK) $(ecjx_LDFLAGS)
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
ecjx_LDADD =
ecjx_DEPENDENCIES =
+ecjx.$(OBJEXT): ecjx.cc
+ $(GCC_FOR_ECJX) -c $<
endif !NATIVE
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index adfcdf5..f4ad73e 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -672,6 +672,7 @@ EGREP = @EGREP@
EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GCC_FOR_ECJX = @GCC_FOR_ECJX@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
@@ -12887,6 +12888,8 @@ write-entries-to-file-check:
@MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ | sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
@MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ >> tmp-0212; \
@MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ mv tmp-0212 $(srcdir)/gnu/gcj/convert/JIS0212.h
+@NATIVE_FALSE@ecjx.$(OBJEXT): ecjx.cc
+@NATIVE_FALSE@ $(GCC_FOR_ECJX) -c $<
src.zip:
-rm -f src.zip
diff --git a/libjava/configure b/libjava/configure
index 5454110..7b64bab 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -769,6 +769,7 @@ LIBLTDL
INCLTDL
host_exeext
GCJH
+GCC_FOR_ECJX
GCJ_FOR_ECJX
X_AWT_FALSE
X_AWT_TRUE
@@ -6693,7 +6694,8 @@ NATIVE=yes
# Which gcj and host gcj (for ecjx) do we use?
which_gcj=default
host_exeext=${ac_exeext}
-GCJ_FOR_ECJX=
+GCJ_FOR_ECJX='$(GCJ)'
+GCC_FOR_ECJX='$(CXX)'
built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
if test -n "${with_cross_host}"; then
# We are being configured with a cross compiler. We can't
@@ -6701,6 +6703,7 @@ if test -n "${with_cross_host}"; then
NATIVE=no
cross_host_exeext=
GCJ_FOR_ECJX="${with_cross_host}-gcj"
+ GCC_FOR_ECJX="${with_cross_host}-gcc"
case "${with_cross_host}" in
*mingw* | *cygwin*)
cross_host_exeext=.exe
@@ -6769,6 +6772,7 @@ export JAVAC
+
# Create it, so that compile/link tests don't fail
test -f libgcj.spec || touch libgcj.spec
@@ -13339,7 +13343,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13342 "configure"
+#line 13356 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13445,7 +13449,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13448 "configure"
+#line 13462 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19424,7 +19428,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then :
enableval=$enable_sjlj_exceptions; :
else
cat > conftest.$ac_ext << EOF
-#line 19427 "configure"
+#line 19441 "configure"
struct S { ~S(); };
void bar();
void foo()
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 9b551db..eaedc56 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -394,7 +394,8 @@ NATIVE=yes
# Which gcj and host gcj (for ecjx) do we use?
which_gcj=default
host_exeext=${ac_exeext}
-GCJ_FOR_ECJX=
+GCJ_FOR_ECJX='$(GCJ)'
+GCC_FOR_ECJX='$(CXX)'
built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
if test -n "${with_cross_host}"; then
# We are being configured with a cross compiler. We can't
@@ -402,6 +403,7 @@ if test -n "${with_cross_host}"; then
NATIVE=no
cross_host_exeext=
GCJ_FOR_ECJX="${with_cross_host}-gcj"
+ GCC_FOR_ECJX="${with_cross_host}-gcc"
case "${with_cross_host}" in
*mingw* | *cygwin*)
cross_host_exeext=.exe
@@ -467,6 +469,7 @@ JAVAC="$GCJ -C"
export JAVAC
AC_SUBST(GCJ_FOR_ECJX)
+AC_SUBST(GCC_FOR_ECJX)
AC_SUBST(GCJH)
AC_SUBST(host_exeext)
diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in
index dd17e55..e7e912a 100644
--- a/libjava/gcj/Makefile.in
+++ b/libjava/gcj/Makefile.in
@@ -136,6 +136,7 @@ EGREP = @EGREP@
EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GCC_FOR_ECJX = @GCC_FOR_ECJX@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in
index 2e04d8d..1c6f71a 100644
--- a/libjava/include/Makefile.in
+++ b/libjava/include/Makefile.in
@@ -136,6 +136,7 @@ EGREP = @EGREP@
EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GCC_FOR_ECJX = @GCC_FOR_ECJX@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index a582efd..f81f531 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -111,6 +111,7 @@ EGREP = @EGREP@
EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GCC_FOR_ECJX = @GCC_FOR_ECJX@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
--
1.7.2.3
|