-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfigure.ac
408 lines (367 loc) · 11.2 KB
/
configure.ac
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
AC_INIT([icedtea], [16.0.0pre00], [[email protected]])
AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
AM_MAINTAINER_MODE([enable])
AC_CONFIG_FILES([Makefile])
# Older automake doesn't generate these correctly
abs_top_builddir=`pwd -P`
AC_SUBST(abs_top_builddir)
abs_top_srcdir=`dirname $0`
cd $abs_top_srcdir
abs_top_srcdir=`pwd`
cd $abs_top_builddir
AC_SUBST(abs_top_srcdir)
IT_DETERMINE_VERSION
AC_CONFIG_FILES([hotspot.map fsg.sh])
AC_CONFIG_FILES([jconsole.desktop])
AC_CONFIG_FILES([policytool.desktop])
AC_CANONICAL_HOST
AC_PROG_CC
AC_PROG_CXX
IT_FIND_TOOLS([MAKE], [gmake make])
IT_FIND_TOOL([GZIP], [gzip])
IT_FIND_TOOLS([FIND], [gfind find])
IT_FIND_TOOLS([PATCH], [gpatch patch])
IT_FIND_TOOLS([TAR], [gtar tar])
IT_FIND_TOOL([CHMOD], [chmod])
IT_FIND_TOOLS([SHA256SUM], [gsha256sum sha256sum])
IT_FIND_TOOL([WGET], [wget])
IT_FIND_TOOL([ZIP], [zip])
IT_FIND_TOOL([UNZIP], [unzip])
IT_FIND_TOOL([CPIO], [cpio])
IT_FIND_TOOL([FILE], [file])
IT_FIND_TOOL([READLINK], [readlink])
IT_FIND_TOOLS([FASTJAR], [fastjar jar])
IT_FIND_TOOLS([SED],[gsed sed])
AC_CHECK_TOOL([LDD], [ldd])
dnl OpenJDK's README-builds.html lists gawk as a build dependency so we
dnl check for it explicitly rather than using AC_PROG_AWK.
IT_FIND_TOOL([GAWK], [gawk])
IT_CHECK_FOR_MERCURIAL
IT_OBTAIN_HG_REVISIONS
AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
IT_CHECK_FOR_RMDIR
IT_WITH_HOTSPOT_BUILD
AC_PATH_TOOL([LINUX32],[linux32])
IT_CHECK_GCC_VERSION
IT_FIND_NUMBER_OF_PROCESSORS
IT_CP_SUPPORTS_REFLINK
IT_CAN_HARDLINK_TO_SOURCE_TREE
IT_DISABLE_TESTS
IT_DISABLE_HOTSPOT_TESTS
IT_DISABLE_LANGTOOLS_TESTS
IT_DISABLE_JDK_TESTS
IT_DISABLE_SYSTEMTAP_TESTS
IT_LOCATE_NSS
# Use xvfb-run if found to run gui tests (check-jdk).
AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], [])
AC_SUBST(XVFB_RUN_CMD)
AC_MSG_CHECKING([whether to build documentation])
AC_ARG_ENABLE([docs],
[AS_HELP_STRING([--disable-docs],
[Disable generation of documentation])],
[ENABLE_DOCS="${enableval}"], [ENABLE_DOCS='yes'])
AM_CONDITIONAL([ENABLE_DOCS], [test x$ENABLE_DOCS = xyes])
AC_MSG_RESULT(${ENABLE_DOCS})
IT_GET_PKGVERSION
IT_GET_LSB_DATA
IT_SET_ARCH_SETTINGS
IT_SET_OS_DIRS
OPENJDK_BUILD_DIR=openjdk.build
AC_SUBST(OPENJDK_BUILD_DIR)
IT_CHECK_NUMBER_OF_PARALLEL_JOBS
IT_CHECK_IF_BOOTSTRAPPING
IT_CHECK_IF_DOWNLOADING
IT_CHECK_FOR_JDK
IT_FIND_JAVA
IT_FIND_COMPILER
IT_FIND_JAVAH
IT_FIND_JAR
IT_FIND_RMIC
IT_FIND_NATIVE2ASCII
IT_USING_CACAO
if test "x$enable_bootstrap" = "xyes"; then
IT_FIND_ECJ_JAR
fi
AC_CONFIG_FILES([javac], [chmod +x javac])
AC_CONFIG_FILES([javap], [chmod +x javap])
AC_CONFIG_FILES([javah], [chmod +x javah])
IT_CHECK_ENABLE_WARNINGS
IT_DIAMOND_CHECK
IT_ENABLE_OPENJDK_CHECKSUM
IT_ENABLE_HOTSPOT_CHECKSUM
IT_ENABLE_CORBA_CHECKSUM
IT_ENABLE_JAXP_CHECKSUM
IT_ENABLE_JAXWS_CHECKSUM
IT_ENABLE_JDK_CHECKSUM
IT_ENABLE_LANGTOOLS_CHECKSUM
IT_ENABLE_NASHORN_CHECKSUM
IT_WITH_ALT_JAR_BINARY
IT_ENABLE_CACAO
IT_WITH_CACAO_HOME
IT_WITH_CACAO_SRC_DIR
IT_ENABLE_CACAO_CHECKSUM
IT_ENABLE_JAMVM
IT_ENABLE_JAMVM_CHECKSUM
IT_DISABLE_OPTIMIZATIONS
IT_ENABLE_WERROR
IT_ENABLE_JAR_COMPRESSION
IT_ENABLE_ZERO_BUILD
IT_CHECK_ADDITIONAL_VMS
IT_ENABLE_NON_NSS_CURVES
IT_WITH_VERSION_SUFFIX
IT_ENABLE_HG
IT_WITH_CACERTS_FILE
IT_WITH_PAX
AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm])
AC_PATH_TOOL([HG],[hg])
if test "x${enable_hg}" = "xyes"; then
if test "x${HG}" = x; then
AC_MSG_ERROR([Mercurial not found; this is required for a hg build])
fi
fi
AC_SUBST([HG])
IT_WITH_HG_REVISION
dnl pkgconfig cannot be used to find these headers and libraries.
AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
,[AC_MSG_ERROR("CUPS headers were not found -
try installing cups-devel.")])
AC_CHECK_HEADERS([X11/X.h],[]
,[AC_MSG_ERROR("xorg headers were not found -
try installing xorg-x11-proto-devel.")])
IT_CHECK_FOR_ZLIB
IT_CHECK_FOR_JPEG
IT_CHECK_FOR_PNG
IT_CHECK_FOR_GIF
IT_CHECK_FOR_LCMS
AC_CONFIG_FILES([remove-intree-libraries.sh])
dnl Check for Xproto headers and libraries.
PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no])
if test "x${XPROTO_FOUND}" = xno
then
AC_MSG_ERROR([Could not find Xproto headers - \
Try installing xorg-x11-proto-devel.])
fi
AC_SUBST(XPROTO_CFLAGS)
AC_SUBST(XPROTO_LIBS)
dnl Check for libXt headers and libraries.
PKG_CHECK_MODULES(XT, xt,[XT_FOUND=yes],[XT_FOUND=no])
if test "x${XT_FOUND}" = xno
then
AC_MSG_ERROR([Could not find Xt - \
Try installing libXt-devel.])
fi
AC_SUBST(XT_CFLAGS)
AC_SUBST(XT_LIBS)
dnl Check for libX11 headers and libraries.
PKG_CHECK_MODULES(X11, x11,[X11_FOUND=yes],[X11_FOUND=no])
if test "x${X11_FOUND}" = xno
then
AC_MSG_ERROR([Could not find x11 - \
Try installing libX11-devel.])
fi
AC_SUBST(X11_CFLAGS)
AC_SUBST(X11_LIBS)
dnl Check for libXinerama headers and libraries.
PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
,[XINERAMA_FOUND=no])
if test "x${XINERAMA_FOUND}" = xno
then
AC_MSG_ERROR([Could not find Xinerama - \
Try installing libXinerama-devel.])
fi
AC_SUBST(XINERAMA_CFLAGS)
AC_SUBST(XINERAMA_LIBS)
PKG_CHECK_MODULES(XRENDER, xrender, [XRENDER_FOUND=yes], [XRENDER_FOUND=no])
if test "x${XRENDER_FOUND}" = xno
then
AC_MSG_ERROR([Could not find Xrender extension - \
Try installing libXrender-devel.])
fi
PKG_CHECK_MODULES(XCOMPOSITE, xcomposite, [XCOMPOSITE_FOUND=yes], [XCOMPOSITE_FOUND=no])
if test "x${XCOMPOSITE_FOUND}" = xno
then AC_MSG_ERROR([Could not find Xcomposite extension. Try installing libXcomposite-devel.])
fi
AC_SUBST(XCOMPOSITE_CFLAGS)
AC_SUBST(XCOMPOSITE_LIBS)
AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'],
[SDT_H_FOUND='no';
AC_MSG_WARN([systemtap support needs sys/sdt.h header])])
AC_MSG_CHECKING([working sys/sdt.h and g++ support])
AC_LANG_PUSH([C++])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <sys/sdt.h>
class ProbeClass
{
private:
int& ref;
const char *name;
public:
ProbeClass(int& v, const char *n) : ref(v), name(n)
{
DTRACE_PROBE2(_test_, cons, name, ref);
}
void method(int min)
{
DTRACE_PROBE3(_test_, meth, name, ref, min);
ref -= min;
}
~ProbeClass()
{
DTRACE_PROBE2(_test_, dest, name, ref);
}
};
]],
[[
int i = 64;
DTRACE_PROBE1(_test_, call, i);
ProbeClass inst = ProbeClass(i, "call");
inst.method(24);
]])], [AC_MSG_RESULT([yes])], [SDT_H_FOUND='no'; AC_MSG_WARN([systemtap sdt.h or g++ too old])])
AC_LANG_POP([C++])
if test "x${SDT_H_FOUND}" = "xyes"; then
AC_PATH_TOOL([PERL],[perl])
if test x"${PERL}" = x ; then
AC_MSG_WARN([Perl not found in PATH; SystemTap tests will not be able to run])
fi
AC_SUBST(PERL)
AC_PATH_TOOL([STAP],[stap])
if test x"${STAP}" = x ; then
AC_MSG_WARN([stap not found in PATH; SystemTap tests will not be able to run])
fi
AC_SUBST(STAP)
fi
AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$SDT_H_FOUND = xyes])
ABS_CLIENT_LIBJVM_SO="${prefix}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so"
ABS_SERVER_LIBJVM_SO="${prefix}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so"
AC_SUBST(ABS_CLIENT_LIBJVM_SO)
AC_SUBST(ABS_SERVER_LIBJVM_SO)
AC_CONFIG_FILES([tapset/hotspot.stp])
AC_CONFIG_FILES([tapset/hotspot_jni.stp])
AC_CONFIG_FILES([tapset/jstack.stp])
AC_CONFIG_FILES([tapset/hotspot_gc.stp])
AC_CONFIG_FILES([test/tapset/jstaptest.pl])
dnl Check for libXtst headers and libraries.
PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
if test "x${XTST_FOUND}" = xno
then
AC_MSG_ERROR([Could not find Xtst - \
Try installing libXtst-devel.])
fi
AC_SUBST(XTST_CFLAGS)
AC_SUBST(XTST_LIBS)
dnl Check for freetype2 headers and libraries.
PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes]
,[FREETYPE2_FOUND=no])
if test "x${FREETYPE2_FOUND}" = xno
then
AC_MSG_ERROR([Could not find freetype2 - \
Try installing freetype2-devel.])
fi
AC_SUBST(FREETYPE2_CFLAGS)
AC_SUBST(FREETYPE2_LIBS)
dnl Check for alsa headers and libraries (only required for Linux).
if test "x${BUILD_OS_DIR}" = "xlinux"
then
PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
if test "x${ALSA_FOUND}" = xno
then
AC_MSG_ERROR([Could not find alsa - \
Try installing alsa-lib-devel.])
fi
AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)
fi
if test "x${ZERO_BUILD_TRUE}" = x || test "x${ADD_ZERO_BUILD_TRUE}" = x; then
dnl Check for libffi headers and libraries.
PKG_CHECK_MODULES(LIBFFI, libffi,[LIBFFI_FOUND=yes],[LIBFFI_FOUND=no])
if test "x${LIBFFI_FOUND}" = xno
then
LIBFFI_FOUND=
AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no])
AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no])
if test "x${LIBFFI_FOUND}" = xno
then
AC_MSG_ERROR([Could not find libffi headers - \
Try installing libffi-devel, libffi-dev or libffi4-dev.])
fi
fi
fi
AC_SUBST(LIBFFI_CFLAGS)
AC_SUBST(LIBFFI_LIBS)
AC_ARG_WITH([llvm-config],
[AS_HELP_STRING([--with-llvm-config],
[llvm-config binary (default is llvm-config)])],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
if which ${withval} >/dev/null 2>&1 && ${withval} --version >/dev/null 2>&1; then
LLVM_CONFIG=${withval}
else
AC_MSG_ERROR([invalid argument for --with-llvm-config ($withval)])
fi
fi
])
if test "x${SHARK_BUILD_TRUE}" = x || test "x${ADD_SHARK_BUILD_TRUE}" = x; then
if test "x${LLVM_CONFIG}" = x; then
IT_FIND_TOOL([LLVM_CONFIG], [llvm-config])
fi
llvm_components="jit engine nativecodegen"
LLVM_VERSION="`$LLVM_CONFIG --version`"
dnl LLVM_CFLAGS
LLVM_CFLAGS=
for flag in $($LLVM_CONFIG --cxxflags $llvm_components); do
if echo "$flag" | grep -q '^-[[ID]]'; then
if test "$flag" != "-D_DEBUG"; then
if test "x$LLVM_CFLAGS" != "x"; then
LLVM_CFLAGS="$LLVM_CFLAGS "
fi
LLVM_CFLAGS="$LLVM_CFLAGS$flag"
fi
fi
done
LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`echo $LLVM_VERSION | sed 's/\.//;s/svn.*//'`"
dnl LLVM_LDFLAGS
LLVM_LDFLAGS=
for flag in $($LLVM_CONFIG --ldflags $llvm_components); do
if echo "$flag" | grep -q '^-L'; then
if test "x$LLVM_LDFLAGS" != "x"; then
LLVM_LDFLAGS="$LLVM_LDFLAGS "
fi
LLVM_LDFLAGS="$LLVM_LDFLAGS$flag"
fi
done
dnl LLVM_LIBS
LIBS_SAVED=$LIBS
LDFLAGS_SAVED=$LDFLAGS
LDFLAGS=$LLVM_LDFLAGS
AC_CHECK_LIB(LLVM-$LLVM_VERSION, LLVMGetNextInstruction,LLVM_SHARED_LIB=" -lLLVM-$LLVM_VERSION")
LIBS=$LIBS_SAVED
LDFLAGS=$LDFLAGS_SAVED
LLVM_LIBS=
for flag in $($LLVM_CONFIG --libs $llvm_components); do
if test "x$LLVM_SHARED_LIB" != x && echo "$flag" | grep -q '^-lLLVM'; then
continue
fi
if echo "$flag" | grep -q '^-l'; then
if test "x$LLVM_LIBS" != "x"; then
LLVM_LIBS="$LLVM_LIBS "
fi
LLVM_LIBS="$LLVM_LIBS$flag"
fi
done
LLVM_LIBS="$LLVM_LIBS$LLVM_SHARED_LIB"
fi
AC_SUBST(LLVM_CFLAGS)
AC_SUBST(LLVM_LDFLAGS)
AC_SUBST(LLVM_LIBS)
# Arguments passed to configure.
AC_SUBST(CONFIGURE_ARGS)
CONFIGURE_ARGS="$ac_configure_args"
# Sanity check; make sure we have a JVM
if test "x$has_native_hotspot_port" = "xno" ; then
if test "x${use_zero}" = "xno" ; then
if test "x${ENABLE_CACAO}" = "xno" -a "x${ENABLE_JAMVM}" = "xno"; then
AC_MSG_ERROR([No native HotSpot port available for ${host_cpu} and all alternatives disabled.])
fi
fi
fi
AC_OUTPUT