view configure.ac @ 2993:f2ecddd3e1f6

Bump to icedtea-3.19.0. PR3822: Update elliptic curve patch to handle jdk.disabled.namedCurves (JDK-8233228) & file movement (JDK-8035166) Upstream changes: - JDK-6345095: regression test EmptyClipRenderingTest fails - JDK-6896810: TEST_BUG: java/lang/ref/SoftReference/Pin.java fails with OOME during System.out.println - JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop - JDK-7009641: Don't fail VM when CodeCache is full - JDK-7107012: sun.jvm.hostspot.code.CompressedReadStream readDouble() conversion to long mishandled - JDK-7112454: TEST_BUG: java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html failed - JDK-7131835: [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7 - JDK-7185221: [macosx] Regtest should not throw exception if a suitable display mode found - JDK-8031126: java/lang/management/ThreadMXBean/ThreadUserTime.java fails intermittently - JDK-8035166: Remove dependency on EC classes from pkcs11 provider - JDK-8035186: j2se_jdk/jdk/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java - assertion error - JDK-8038723: Openup some PrinterJob tests - JDK-8041464: [TEST_BUG] CustomClassLoaderTransferTest does not support OS X - JDK-8041561: Inconsistent opacity behaviour between JCheckBox and JRadioButton - JDK-8061777: (zipfs) IllegalArgumentException in ZipCoder.toString when using Shitft_JIS - JDK-8073108: [AArch64] Use x86 and SPARC CPU instructions for GHASH acceleration - JDK-8078024: javac, several incorporation steps are silently failing when an error should be reported - JDK-8078450: Implement consistent process for quarantine of tests - JDK-8078614: WindowsClassicLookAndFeel MetalComboBoxUI.getbaseLine fails with IllegalArgumentException - JDK-8080953: [TEST_BUG]Test java/awt/FontClass/DebugFonts.java fails due to wrongly typed bugid - JDK-8081547: Prepare client libs regression tests for running in a concurrent, headless jtreg environment - JDK-8129626: G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms - JDK-8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space (AArch64 changes) - JDK-8131779: AARCH64: add Montgomery multiply intrinsic - JDK-8132875: AArch64: Fix error introduced into AArch64 CodeCache by commit for 8130309 - JDK-8135018: AARCH64: Missing memory barriers for CMS collector - JDK-8141457: keytool default cert fingerprint algorithm should be SHA-256 - JDK-8145051: Wrong parameter name in synthetic lambda method leads to verifier error - JDK-8145320: Create unsafe_arraycopy and generic_arraycopy for AArch64 - JDK-8148328: aarch64: redundant lsr instructions in stub code. - JDK-8148783: aarch64: SEGV running SpecJBB2013 - JDK-8148948: aarch64: generate_copy_longs calls align() incorrectly - JDK-8149080: AArch64: Recognise disjoint array copy in stub code - JDK-8149365: aarch64: memory copy does not prefetch on backwards copy - JDK-8149907: aarch64: use load/store pair instructions in call_stub - JDK-8150038: aarch64: make use of CBZ and CBNZ when comparing narrow pointer with zero - JDK-8150045: arraycopy causes segfaults in SATB during garbage collection - JDK-8150082: aarch64: optimise small array copy - JDK-8150204: (fs) Enhance java/nio/file/Files/probeContentType/Basic.java debugging output - JDK-8150229: aarch64: pipeline class for several instructions is not set correctly - JDK-8150313: aarch64: optimise array copy using SIMD instructions - JDK-8150394: aarch64: add support for 8.1 LSE CAS instructions - JDK-8150652: Remove unused code in AArch64 back end - JDK-8151340: aarch64: prefetch the destination word for write prior to ldxr/stxr loops. - JDK-8151502: optimize pd_disjoint_words and pd_conjoint_words - JDK-8151775: aarch64: add support for 8.1 LSE atomic operations - JDK-8152537: aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero. - JDK-8152840: aarch64: improve _unsafe_arraycopy stub routine - JDK-8153172: aarch64: hotspot crashes after the 8.1 LSE patch is merged - JDK-8153713: aarch64: improve short array clearing using store pair - JDK-8153797: aarch64: Add Arrays.fill stub code - JDK-8154413: AArch64: Better byte behaviour - JDK-8154537: AArch64: some integer rotate instructions are never emitted - JDK-8154739: AArch64: TemplateTable::fast_xaccess loads in wrong mode - JDK-8155015: Aarch64: bad assert in spill generation code - JDK-8155100: AArch64: Relax alignment requirement for byte_map_base - JDK-8155612: Aarch64: vector nodes need to support misaligned offset - JDK-8155617: aarch64: ClearArray does not use DC ZVA - JDK-8155627: Enable SA on AArch64 - JDK-8155653: TestVectorUnalignedOffset.java not pushed with 8155612 - JDK-8156731: aarch64: java/util/Arrays/Correct.java fails due to _generic_arraycopy stub routine - JDK-8157841: aarch64: prefetch ignores cache line size - JDK-8157906: aarch64: some more integer rotate instructions are never emitted - JDK-8158525: Update a few java/net tests to use the loopback address instead of the host address - JDK-8158913: aarch64: SEGV running Spark terasort - JDK-8159052: aarch64: optimise unaligned copies in pd_disjoint_words and pd_conjoint_words - JDK-8159063: aarch64: optimise unaligned array copy long - JDK-8160217: JavaSound should clean up resources better - JDK-8160748: [AArch64] Inconsistent types for ideal_reg - JDK-8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure - JDK-8161190: AArch64: Fix overflow in immediate cmp instruction - JDK-8163363: AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted - JDK-8164113: AArch64: follow-up the fix for 8161598 - JDK-8165673: AArch64: Fix JNI floating point argument handling - JDK-8167200: AArch64: Broken stack pointer adjustment in interpreter - JDK-8167281: IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods - JDK-8167421: AArch64: in one core system, fatal error: Illegal threadstate encountered - JDK-8167595: AArch64: SEGV in stub code cipherBlockChaining_decryptAESCrypt - JDK-8168699: Validate special case invocations [AArch64 support] - JDK-8168888: Port 8160591: Improve internal array handling to AArch64. - JDK-8168996: C2 crash at postaloc.cpp:140 : assert(false) failed: unexpected yanked node - JDK-8170100: AArch64: Crash in C1-compiled code accessing References - JDK-8170188: jtreg test compiler/types/TestMeetIncompatibleInterfaceArrays.java causes JVM crash - JDK-8170873: PPC64/aarch64: Poor StrictMath performance due to non-optimized compilation - JDK-8171410: aarch64: long multiplyExact shifts by 31 instead of 63 - JDK-8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1 - JDK-8172404: Tools should warn if weak algorithms are used before restricting them - JDK-8172881: AArch64: assertion failure: the int pressure is incorrect - JDK-8173472: AArch64: C1 comparisons with null only use 32-bit instructions - JDK-8176100: [AArch64] [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles - JDK-8177661: Correct ad rule output register types from iRegX to iRegXNoSp - JDK-8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent - JDK-8182581: aarch64: fix for crash caused by earlyret of compiled method - JDK-8183925: [AArch64] Decouple crash protection from watcher thread - JDK-8185934: keytool shows "Signature algorithm: SHA1withECDSA, -1-bit key" - JDK-8186090: java.nio.Bits.unaligned() doesn't handle aarch64 - JDK-8186325: AArch64: jtreg test hotspot/test/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java SEGV - JDK-8187224: aarch64: some inconsistency between aarch64_ad.m4 and aarch64.ad - JDK-8189170: [AArch64] Add option to disable stack overflow checking in primordial thread for use with JNI_CreateJavaJVM - JDK-8191915: JCK tests produce incorrect results with C2 - JDK-8193133: Assertion failure because 0xDEADDEAD can be in-heap - JDK-8195685: AArch64 port of 8174962: Better interface invocations - JDK-8195859: AArch64: vtableStubs gtest fails after 8174962 - JDK-8196136: AArch64: Correct register use in patch for JDK-8194686 - JDK-8196221: AArch64: Mistake in committed patch for JDK-8195859 - JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode - JDK-8199712: [AArch64] Flight Recorder - JDK-8202343: Disable TLS 1.0 and 1.1 - JDK-8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender - JDK-8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 - JDK-8205421: AARCH64: StubCodeMark should be placed after alignment - JDK-8206163: AArch64: incorrect code generation for StoreCM - JDK-8207345: Trampoline generation code reads from uninitialized memory - JDK-8207838: AArch64: Float registers incorrectly restored in JNI call - JDK-8209333: Socket reset issue for TLS 1.3 socket close - JDK-8209413: AArch64: NPE in clhsdb jstack command - JDK-8209414: [AArch64] method handle invocation does not respect JVMTI interp_only mode - JDK-8209415: Fix JVMTI test failure HS202 - JDK-8209420: Track membars for volatile accesses so they can be properly optimized - JDK-8209835: Aarch64: elide barriers on all volatile operations - JDK-8210425: [AArch64] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization - JDK-8211064: [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls - JDK-8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better - JDK-8211301: [macos] support full window content options - JDK-8211339: NPE during SSL handshake caused by HostnameChecker - JDK-8213134: AArch64: vector shift failed with MaxVectorSize=8 - JDK-8213419: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 - JDK-8214857: "bad trailing membar" assert failure at memnode.cpp:3220 - JDK-8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults - JDK-8215961: jdk/jfr/event/os/TestCPUInformation.java fails on AArch64 - JDK-8216350: AArch64: monitor unlock fast path not called - JDK-8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy - JDK-8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64 - JDK-8217338: [Containers] Improve systemd slice memory limit support - JDK-8217368: AArch64: C2 recursive stack locking optimisation not triggered - JDK-8218185: aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static - JDK-8219011: Implement MacroAssembler::warn method on AArch64 - JDK-8219635: aarch64: missing LoadStore barrier in TemplateTable::fast_storefield - JDK-8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl - JDK-8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable - JDK-8221408: Windows 32bit build build errors/warnings in hotspot - JDK-8221658: aarch64: add necessary predicate for ubfx patterns - JDK-8223186: HotSpot compile warnings from GCC 9 - JDK-8224671: AArch64: mauve System.arraycopy test failure - JDK-8224828: aarch64: rflags is not correct after safepoint poll - JDK-8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 - JDK-8224880: AArch64: java/javac error with AllocatePrefetchDistance - JDK-8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 - JDK-8225805: Java Access Bridge does not close the logger - JDK-8226899: Problemlist compiler/rtm tests - JDK-8227467: Better class method invocations - JDK-8227642: [TESTBUG] Make docker tests podman compatible - JDK-8228400: Remove built-in AArch64 simulator - JDK-8228406: Superfluous change in chaitin.hpp - JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 - JDK-8228593: Revert explicit JDK 7 support additions - JDK-8228716: Revert InstanceKlass::print_on debug additions - JDK-8228718: Revert incorrect backport of JDK-8129757 to 8-aarch64 - JDK-8228725: AArch64: Purge method call format support - JDK-8228747: Revert "unused" attribute from test_arraycopy_func - JDK-8228767: Revert ResourceMark additions - JDK-8228770: Revert development hsdis changes - JDK-8229123: Revert build fixes for aarch64/zero - JDK-8229124: Revert disassembler.cpp changes - JDK-8229145: Revert TemplateTable::bytecode() visibility change - JDK-8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage - JDK-8230388: Problemlist additional compiler/rtm tests - JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR - JDK-8233839: aarch64: missing memory barrier in NewObjectArrayStub and NewTypeArrayStub - JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 - JDK-8234728: Some security tests should support TLSv1.3 - JDK-8235263: Revert TLS 1.3 change that wrapped IOExceptions - JDK-8235311: Tag mismatch may alert bad_record_mac - JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. - JDK-8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory - JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob - JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read - JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code. - JDK-8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 - JDK-8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE" - JDK-8242141: New System Properties to configure the TLS signature schemes - JDK-8244473: Contextualize registration for JNDI - JDK-8244543: Enhanced handling of abstract classes - JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 - JDK-8246482: Build failures with +JFR -PCH - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg - JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield - JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit - JDK-8249183: JVM crash in "AwtFrame::WmSize" method - JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel - JDK-8249588: libwindowsaccessbridge issues on 64bit Windows - JDK-8249906: Enhance opening JARs - JDK-8250568: Less ambiguous processing - JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets - JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows - JDK-8253368: TLS connection always receives close_notify exception - JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities - JDK-8253799: Make lists of normal filenames - JDK-8253932: SSL debug log prints incorrect caller info - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations - JDK-8255880: UI of Swing components is not redrawn after their internal state changed - JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem - JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java - JDK-8256421: Add 2 HARICA roots to cacerts truststore - JDK-8256642: [TEST_BUG] jdk/test/javax/sound/midi/MidiSystem/DefaultProperties.java failed - JDK-8256682: JDK-8202343 is incomplete - JDK-8257192: Integrate AArch64 JIT port into 8u - JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines - JDK-8258079: Eliminate ParNew's use of klass_or_null() - JDK-8258241: [8u] Missing doPrivileged() hunks from JDK-8226575 - JDK-8258247: Couple of issues in fix for JDK-8249906 - JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() - JDK-8258430: 8u backport of JDK-8063107 missing test/javax/swing/JRadioButton/8041561/bug8041561.java changes - JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures - JDK-8258933: G1 needs klass_or_null_acquire - JDK-8259048: (tz) Upgrade time-zone data to tzdata2020f - JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will - JDK-8259384: CUP version wrong in THIRD_PARTY_README after JDK-8233548 - JDK-8259428: AlgorithmId.getEncodedParams() should return copy - JDK-8259568: PPC64 builds broken after JDK-8221408 8u backport - JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS - JDK-8260356: (tz) Upgrade time-zone data to tzdata2021a - JDK-8260930: AARCH64: Invalid value passed to critical JNI function - JDK-8261183: Follow on to Make lists of normal filenames - JDK-8261231: Windows IME was disabled after DnD operation - JDK-8261766: [8u] hotspot needs to recognise cl.exe 19.16 to build with VS2017 - JDK-8262073: assert(allocates2(pc)) failed: not in CodeBuffer memory - JDK-8262075: sun/security/krb5/auto/UseCacheAndStoreKey.java timed out intermittently - JDK-8263008: AARCH64: Add debug info for libsaproc.so - JDK-8264171: Missing aarch64 parts of JDK-8236179 (C1 register allocation failure with T_ADDRESS) - Normalise AArch64 sources, prior to merge of upstream version. ChangeLog: 2021-04-26 Andrew John Hughes <gnu_andrew@member.fsf.org> PR3822: Update elliptic curve patch to handle jdk.disabled.namedCurves (JDK-8233228) & file movement (JDK-8035166) * Makefile.am: (CORBA_CHANGESET): Update to icedtea-3.19.0 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (NASHORN_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (NASHORN_SHA256SUM): Likewise. * NEWS: Updated. * acinclude.m4: (IT_DETERMINE_VERSION): Set JDK_UPDATE_VERSION to 292 and BUILD_VERSION to b10. * configure.ac: Bump to 3.19.0. * fsg.sh.in: Change PATCH_FILE to pr3822-@CURVES@curve.patch * hotspot.map.in: Update to icedtea-3.19.0 tag. * patches/pr3822-3curve.patch: Renamed from pr3799-3curve.patch to apply against 8u292 and add fix to jdk.disabled.namedCurves in java.security* files * patches/pr3822-4curve.patch: Likewise, but with pr3799-4curve.patch.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Mon, 26 Apr 2021 19:24:19 +0100
parents fef92d7982f8
children
line wrap: on
line source

AC_INIT([icedtea], [3.19.0], [distro-pkg-dev@openjdk.java.net])
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
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_PROG_CC
AC_PROG_CXX
AM_PROG_AS

IT_CHECK_IF_BOOTSTRAPPING
IT_CHECK_IF_DOWNLOADING

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([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_FIND_TOOL([WHICH], [which])
IT_FIND_TOOL([PERL], [perl])

if test "x$enable_downloading" = "xyes"; then
   IT_FIND_TOOL([WGET], [wget])
fi

AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
AC_PATH_TOOL([LINUX32],[linux32])

IT_CHECK_FOR_MERCURIAL
IT_OBTAIN_HG_REVISIONS
IT_CHECK_FOR_RMDIR
IT_HSBUILD_WORKS_ON_THIS_ARCH
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
IT_ENABLE_NATIVE_DEBUGINFO
IT_ENABLE_JAVA_DEBUGINFO
IT_DISABLE_PRECOMPILED_HEADERS

# 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_VENDOR_OPTS
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_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_JAVAC_OPTIONS_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_ENABLE_WERROR
IT_ENABLE_JAR_COMPRESSION
IT_ENABLE_ZERO_BUILD
IT_CHECK_ADDITIONAL_VMS
IT_WITH_TZDATA_DIR
IT_WITH_TAPSET_DIR
IT_WITH_CURVES
IT_ENABLE_HEADLESS
IT_ENABLE_JFR
IT_ENABLE_CCACHE
IT_ENABLE_SPLIT_DEBUGINFO

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
IT_CHECK_FOR_KERBEROS
IT_CHECK_FOR_PCSC
IT_CHECK_FOR_SCTP
IT_ENABLE_IMPROVED_FONT_RENDERING
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([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 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