Compare commits

..

918 Commits

Author SHA1 Message Date
Vyacheslav Moklev
183debd3ef JBR-1509 Client area size is wrong in Borderless mode
Fix client area size
2019-05-16 10:00:44 +03:00
Denis Fokin
d0acd2b182 JBR-1255 [JDK 11] java.lang.IllegalArgumentException: Wrong parent window 2019-05-15 19:26:44 +03:00
Denis Fokin
fbb8ed8326 JBR-1434 "New file dialog" popup remains above all windows on switching application 2019-05-15 19:22:00 +03:00
Denis Fokin
54bb2dd097 JBR-1417 JBR 11 does not support chain of popups
Adopted version of "JRE-864  Multiple child windows opened and closed in sequence"
2019-05-14 17:11:51 +03:00
Vitaly Provodin
fe6bc5f94d updated JTreg exclude list 2019-05-14 16:29:15 +07:00
Denis Fokin
2a8bced104 Revert: JBR-1311 [JBR 11] Double quote adding special character on macOS with "English, U.S. International - PC" layout
JBR-1421 resolves the issue
2019-05-13 20:51:59 +03:00
Denis Fokin
b0366b1c0d JBR-1421 Cannot type opening square bracket or brace with a Spanish-ISO keyboard macOS 2019-05-13 20:45:19 +03:00
Vitaly Provodin
33001a74d0 updated JTreg exclude list 2019-05-13 16:29:38 +07:00
Denis Fokin
85dfaefecb JBR-1414 DnD on linux (XToolkit) does not honor HIDPI scale 2019-05-08 09:46:26 +03:00
itakiguchi
7d1cd2b825 8211810: X11 Time stamp data should be unsigned
Reviewed-by: serb
2019-05-08 09:46:25 +03:00
Artem Bochkarev
7aa5324011 fixed JBR-1135
don't skip KeyEvents with character A (with keycode == 0) in AWTView::performKeyEquivalent

this condition was added in fix "JBR-184 Mac OS: Delete action deletes twice if Edit menu has be opened before",
it seems that this condition is unnecessary and JBR-184 doesn't reproduce without it.
2019-05-08 11:27:55 +07:00
Alexey Ushakov
434166fe63 JBR-1412 [fwp to JBR11] JBR-1393 RubyMine is hanging after log in (macOS)
Modified version of JBR8 fix
2019-05-07 14:35:11 +03:00
Vitaly Provodin
148b7ed39c updated JTreg exclude list 2019-05-01 18:03:39 +07:00
Vitaly Provodin
4ae5115c38 updated JTreg exclude list 2019-04-30 11:47:20 +07:00
Elena Sayapina
3c08825f26 updated JTreg exclude list 2019-04-26 19:29:50 +07:00
Alexey Ushakov
207c6b92ff JBR-1394 JBR11 does not support LCD text on Mac
Enable LCD rendering for transparent destinations
2019-04-24 14:34:05 +03:00
Alexey Ushakov
165597441b Merge pull request #4 from bell-sw/update_8u212
jdk-11.0.3 update
2019-04-24 13:52:21 +03:00
andrew
69fea5acae Added tag jdk-11.0.3-ga for changeset 175eb80c253a 2019-04-23 14:37:38 +03:00
Vitaly Provodin
2edc09cf1a updated JTreg exclude list 2019-04-23 11:12:15 +07:00
Denis Fokin
d3de2e6f03 Modal dialogs (Messages) shouldn't popup IDEA when another application is active
Investigation is closed
2019-04-22 16:43:05 +03:00
Elena Sayapina
b105cb9dd5 updated JTreg exclude list 2019-04-22 16:00:09 +07:00
naoto
67e827a88f 8205432: Replace the placeholder Japanese era name
Reviewed-by: rriggs, chegar
2019-04-20 16:54:54 +03:00
naoto
98c6738d08 8219890: Calendar.getDisplayName() returns empty string for new Japanese Era on some locales
Reviewed-by: lancea
2019-04-20 16:54:52 +03:00
naoto
335812c56c 8210633: Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values
Reviewed-by: scolebourne, rriggs
2019-04-20 16:54:51 +03:00
xiaofeya
df8c9852f0 8208656: Move java/util/Calendar/CalendarTestScripts tests into OpenJDK
Reviewed-by: naoto
2019-04-20 16:54:50 +03:00
igerasim
8eea0ad423 8218453: More dynamic RMI interactions
Reviewed-by: aph
2019-04-20 16:54:49 +03:00
ccheung
bab1257ca0 8214809: CDS storage improvements
Reviewed-by: aph
2019-04-20 16:54:48 +03:00
igerasim
ef4fa2cbe5 8211936: Better String parsing
Reviewed-by: aph
2019-04-20 16:54:47 +03:00
phh
ee46cf4a7f 8221769: Revert JDK-8221767 mistakenly pushed to jdk11u 11.0.3
Reviewed-by: clanger
2019-04-20 16:54:46 +03:00
joehw
a1cccc09e9 8207760: SAXException: Invalid UTF-16 surrogate detected: d83c ?
Summary: Properly handle unicode16 characters split across buffer chunks.
Reviewed-by: lancea, dfuchs
2019-04-20 16:54:45 +03:00
dcherepanov
1bae86d422 8211100: hotspot C1 issue with comparing long numbers on x86 32-bit
Reviewed-by: iveresov, thartmann
2019-04-20 16:54:43 +03:00
clanger
9b30a18ab0 8172695: (scanner) java/util/Scanner/ScanTest.java fails
Reviewed-by: smarks, bpb
2019-04-20 16:54:42 +03:00
rraghavan
bfdc57751e 8211698: Crash in C2 compiled code during execution of double array heavy processing code
Summary: Correctly registered new Opaque4Node in add_range_check_predicate
Reviewed-by: roland, thartmann
2019-04-20 16:54:41 +03:00
aph
874324a521 8211064: [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls
Reviewed-by: aph
Contributed-by: andrey.petushkov@gmail.com
2019-04-20 16:54:40 +03:00
fyang
d721ca49f1 8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults
Reviewed-by: aph
Contributed-by: nick.gasson@arm.com
2019-04-20 16:54:39 +03:00
ngasson
1775d38e43 8216350: AArch64: monitor unlock fast path not called
Reviewed-by: aph, drwhite, fyang
2019-04-20 16:54:38 +03:00
roland
9c878aabdc 8211320: Aarch64: unsafe.compareAndSetByte() and unsafe.compareAndSetShort() c2 intrinsics broken with negative expected value
Reviewed-by: adinn, aph
2019-04-20 16:54:37 +03:00
sgehwolf
9908ad8a42 8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue
Summary: Specify explicit type in the constructor
Reviewed-by: shade, pliden
2019-04-20 16:54:36 +03:00
sgehwolf
448be98742 8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue
Reviewed-by: shade, kbarrett
2019-04-20 16:54:35 +03:00
stuefe
2763564edb 8219650: [Testbug] Fix potential crashes in new test hotspot gtest "test_print_hex_dump"
Reviewed-by: clanger, shade
2019-04-20 16:54:33 +03:00
goetz
0589670380 8219651: compiler/ciReplay/TestServerVM.java is failing on windows
Reviewed-by: thartmann, kvn
2019-04-20 16:54:32 +03:00
gziemski
45898700f2 8219789: [TESTBUG] TestOptionsWithRanges.java produces hs_err_pidXXXXX.log file for VMThreadStackSize=9007199254740991
Summary: Excluded test of mac range for VMThreadStackSize
Reviewed-by: coleenp, mseledtsov
2019-04-20 16:54:31 +03:00
goetz
a3d96bb10f 8219714: [testbug] com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java must pass classpath to subprocess
Reviewed-by: dholmes, dcubed
2019-04-20 16:54:30 +03:00
naoto
20ade329ea 8217609: New era placeholder not recognized by java.text.SimpleDateFormat
Reviewed-by: nishjain, rriggs
2019-04-20 16:54:29 +03:00
jcbeyler
303bbcbd49 8210192: Hsperf counter ParNew::CMS should be ParNew:CMS
Summary: Rename the counter back to ParNew:CMS and added a test
Reviewed-by: sjohanss, tschatzl
Contributed-by: manc@google.com
2019-04-20 16:54:28 +03:00
aivanov
3c118f9869 8214122: JDWP is broken on 32 bit Windows: transport library missing onLoad entry
Reviewed-by: ihse, dcubed
2019-04-20 16:54:27 +03:00
rpatil
65895d26d8 8206120: Add test cases for lenient Japanese era parsing
8211398: Square character support for the Japanese new era
8218915: Change isJavaIdentifierStart and isJavaIdentifierPart to handle new code points
Reviewed-by: coffeys, naoto
Contributed-by: deepak.kejriwal@oracle.com
2019-04-20 16:54:26 +03:00
jnimeh
3f11249c43 8210989: RSASSA-PSS certificate cannot be selected for client auth on TLSv1.2
Reviewed-by: xuelei
2019-04-20 16:54:25 +03:00
sjohanss
826568cc79 8214118: HeapRegions marked as archive even if CDS mapping fails
Reviewed-by: tschatzl, jiangli
2019-04-20 16:54:23 +03:00
roland
da69b70295 8214189: test/hotspot/jtreg/compiler/intrinsics/mathexact/MulExactLConstantTest.java fails on Windows x64 when run with -XX:-TieredCompilation
Reviewed-by: kvn
2019-04-20 16:54:21 +03:00
goetz
97cacd17cd 8219461: Bump update version for OpenJDK jdk11.0.3
Reviewed-by: clanger
2019-04-20 16:54:19 +03:00
manc
3db162c6e0 8218192: Remove copy constructor for MemRegion
Summary: Remove copy constructor in memRegion.hpp
Reviewed-by: tschatzl, kbarrett
2019-04-20 16:54:17 +03:00
egahlin
b2ea6b8614 8215362: JFR GTest JfrTestNetworkUtilization fails
Reviewed-by: mgronlun
2019-04-20 16:54:16 +03:00
egahlin
1e93ed46bf 8215175: Inconsistencies in JFR event metadata
Reviewed-by: mgronlun
2019-04-20 16:54:14 +03:00
egahlin
d2da323bba 8213966: The ZGC JFR events should be marked as experimental
Reviewed-by: pliden
2019-04-20 16:54:13 +03:00
egahlin
ae9e8f53ab 8165675: Trace event for thread park has incorrect unit for timeout
Reviewed-by: mgronlun
2019-04-20 16:54:12 +03:00
aph
5c880cee6a 8215100: AArch64: fix compareTo intrinsic with four-character Latin/Unicode
Reviewed-by: aph, dpochepk
Contributed-by: nick.gasson@arm.com
2019-04-20 16:54:11 +03:00
aph
e6dfbc06c8 8215202: AArch64: jtreg test test/jdk/sun/nio/cs/FindEncoderBugs.java fails
Reviewed-by: aph
Contributed-by: nick.gasson@arm.com
2019-04-20 16:54:10 +03:00
shade
9ff295b635 8216049: stringTable::intern creates redundant String when looking up existing one
Reviewed-by: redestad, gziemski, rehn, zgu, jiangli
2019-04-20 16:54:09 +03:00
itakiguchi
84c797155d 8211267: StackOverflowError happened by TextField.setFont(...)
Reviewed-by: serb, prr
2019-04-20 16:54:08 +03:00
tnakamura
d402451e8d 8213183: InputMethod cannot be used after its restarting
Summary: Retains masks at XSelectInput and deletes all IM data at DestroyXIMCallback
Reviewed-by: naoto
2019-04-20 16:54:07 +03:00
jjg
8829dbc435 8212233: javadoc fails on jdk12 with "The code being documented uses modules but the packages defined in $URL are in the unnamed module."
Reviewed-by: hannesw, pmuthuswamy
2019-04-20 16:54:06 +03:00
alitvinov
468bd0610f 8201818: [macosx] Printing attributes break page size set via "java.awt.print.Book" object
Reviewed-by: prr, psadhukhan
2019-04-20 16:54:05 +03:00
dmarkov
28055ca921 8213983: [macosx] Keyboard shortcut ?cmd +`? stops working properly if popup window is displayed
Reviewed-by: kaddepalli, serb
2019-04-20 16:54:03 +03:00
sherman
bb95afade0 8210394: (zipfs) jdk/nio/zipfs/ZFSTests.java rootdir.zip: The process cannot access the file because it is being used by another process
Reviewed-by: alanb, jlaskey
2019-04-20 16:54:02 +03:00
mullan
f87b95cebc 8216280: Allow later Symantec Policy distrust date for two Apple SubCAs
Reviewed-by: coffeys
2019-04-20 16:54:01 +03:00
mullan
72d2103586 8207258: Distrust TLS server certificates anchored by Symantec Root CAs
Reviewed-by: weijun
2019-04-20 16:54:00 +03:00
shade
8b1b703d7a 8219260: Default number of test jobs needs to be consistently calculated
Reviewed-by: aph, clanger, erikj
2019-04-20 16:53:59 +03:00
weijun
c65daf33b9 8214513: A PKCS12 keystore from Java 8 using custom PBE parameters cannot be read in Java 11
Reviewed-by: mullan
2019-04-20 16:53:58 +03:00
weijun
b511cec345 8214100: use of keystore probing results in unnecessary exception thrown
Reviewed-by: mullan
2019-04-20 16:53:57 +03:00
sherman
e88cbc2f1d 8197398: (zipfs) Files.walkFileTree walk indefinitelly while processing JAR file with "/" as a directory inside.
Reviewed-by: alanb
2019-04-20 16:53:56 +03:00
xuelei
68aaf0eacd 8214339: SSLSocketImpl erroneously wraps SocketException
Reviewed-by: ascarpino, jnimeh
2019-04-20 16:53:55 +03:00
jiangli
ca1c5693ad 8214827: Incorrect call ClassLoaders.toFileURL("jrt:/java.compiler")
Summary: Use URL constructor for jrt URL in SystemDictionaryShared::get_shared_protection_domain().
Reviewed-by: ccheung, iklam, dholmes, coleenp
2019-04-20 16:53:54 +03:00
stooke
ab5b2f66eb 8216578: Remove unused/obsolete method in JFR code
Reviewed-by: mgronlun, mikael
2019-04-20 16:53:53 +03:00
xuelei
588a2e65a4 8213782: NullPointerException in sun.security.ssl.OutputRecord.changeWriteCiphers
Reviewed-by: ascarpino
2019-04-20 16:53:52 +03:00
dmarkov
8eb594bc07 8213583: Error while opening the JFileChooser when desktop contains shortcuts pointing to deleted files
Reviewed-by: kaddepalli, aivanov, serb
2019-04-20 16:53:51 +03:00
ssahoo
6268945a2d 8211787: javax/net/ssl/TLSCommon/TLSTest.java throws java.net.SocketTimeoutException: Read timed out
Summary: java.net.SocketTimeoutException: Read timed out
Reviewed-by: xuelei
2019-04-20 16:53:50 +03:00
shade
2509740631 8219251: Langtools tests default memory size needs to be 768m
Reviewed-by: aph, clanger
2019-04-20 16:53:49 +03:00
aoqi
f93e7b0fb9 8217597: [TESTBUG] old version docker does not support --cpus
Summary: "--cpus" is only available in Docker 1.13 and higher, and is the equivalent of setting both --cpu-period and --cpu-quota.
Reviewed-by: bobv, dholmes
Contributed-by: aoqi@loongson.cn
2019-04-20 16:53:48 +03:00
itakiguchi
4d26eb7e23 8211382: ISO2022JP and GB18030 NIO converter issues
Reviewed-by: sherman, rriggs
2019-04-20 16:53:46 +03:00
aph
6b876c8318 8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean
Reviewed-by: shade, alanb
2019-04-20 16:53:45 +03:00
lancea
25021522cf 8211295: DriverManager.getConnection fails when called from com.sun.rowset.JdbcRowSetImpl
Reviewed-by: mchung, alanb
2019-04-20 16:53:44 +03:00
mgronlun
b6228e99ba 8215727: Restore JFR thread sampler loop to old / previous behavior
Reviewed-by: egahlin, mgronlun
Contributed-by: milan.mimica@gmail.com
2019-04-20 16:53:42 +03:00
shade
3714265873 8217315: Proper units should print more significant digits
Reviewed-by: stuefe, tschatzl
2019-04-20 16:53:41 +03:00
shade
216125d9c9 8217994: os::print_hex_dump should be more resilient against unreadable memory
Reviewed-by: zgu, stuefe, lucy
2019-04-20 16:53:39 +03:00
egahlin
1030c22316 8212232: Wrong metadata for the configuration of the cutoff for old object sample events
Reviewed-by: mgronlun
2019-04-20 16:53:37 +03:00
coffeys
8cf44f203a 8213952: Relax DNSName restriction as per RFC 1123
Reviewed-by: weijun, mullan, chegar
2019-04-20 16:53:35 +03:00
lancea
83397588a8 8211765: JarFile constructor throws undocumented exception
Reviewed-by: lancea, sherman, alanb, chegar
Contributed-by: Jaikiran Pai <jai.forums2013@gmail.com>
2019-04-20 16:53:34 +03:00
egahlin
a0d8b1e251 8209960: -Xlog:jfr* doesn't work with the JFR
Reviewed-by: mgronlun
2019-04-20 16:53:31 +03:00
egahlin
69c3e4846b 8207829: FlightRecorderMXBeanImpl is leaking the first classloader which calls it
Reviewed-by: mgronlun
2019-04-20 16:53:30 +03:00
valeriep
81e3a0d870 8211049: Second parameter of "initialize" method is not used
Summary: Use the specified random object instead of system default
Reviewed-by: weijun
2019-04-20 16:53:29 +03:00
joehw
4712c0918e 8215330: javax.xml.catalog.CatalogResolverImpl: GroupEntry.matchURI fails to match
Reviewed-by: lancea
2019-04-20 16:53:28 +03:00
ccheung
b713ec1985 8215947: JVM crash with -XX:+DumpSharedSpaces
Summary: disable JIT compilation if -XX:+DumpSharedSpaces is specified by the user
Reviewed-by: lfoltan, jiangli
2019-04-20 16:53:27 +03:00
mchinnathamb
567b48cab3 8215397: jsig.c missing classpath exception
Reviewed-by: dholmes
2019-04-20 16:53:26 +03:00
egahlin
c0420921ce 8213421: Line number information for execution samples always 0
Reviewed-by: mgronlun
2019-04-20 16:53:25 +03:00
hseigel
716254c447 8211821: PrintStringTableStatistics crashes JVM
Summary: During JVM exit, print the Symbol and String tables before current thread gets deleted.
Reviewed-by: iklam, dholmes
2019-04-20 16:53:24 +03:00
joehw
63b80b2b4d 8210874: Test for JDK-8209615
Reviewed-by: lancea
2019-04-20 16:53:23 +03:00
joehw
392f9a2901 8209615: ParseError in XMLEventReader on a valid input
Reviewed-by: lancea
2019-04-20 16:53:22 +03:00
lmesnik
6cb29aac35 8209758: 2 classes with same name G1PrintCollectionSetClosure cause crash when logging is enabled
Reviewed-by: tschatzl, kbarrett
2019-04-20 16:53:21 +03:00
thartmann
db5d580447 8208275: C2 crash in Node::add_req(Node*)
Summary: Split-if optimization should not process (dead) counted loops.
Reviewed-by: roland
2019-04-20 16:53:20 +03:00
zgu
20dcc833f6 8217342: Build failed with excluding JFR
Reviewed-by: shade, pliden
2019-04-20 16:53:19 +03:00
jnimeh
6dcd516fa3 8214129: SSL session resumption/SNI with TLS1.2 causes StackOverflowError
Reviewed-by: xuelei, jjiang
2019-04-20 16:53:18 +03:00
manc
577364a426 8213829: Remove circular dependency between g1CollectedHeap and g1ConcurrentMark
Summary: Improve include statements related to g1CollectedHeap.inline.hpp
Reviewed-by: kbarrett, tschatzl
2019-04-20 16:53:17 +03:00
zgu
1d81c1f463 8200109: NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type")
Reviewed-by: shade, coleenp
2019-04-20 16:53:16 +03:00
shade
6b594eaab5 8217471: [TESTBUG] gc/epsilon/TestClasses.java fails on some platforms - OOME Metaspace
Reviewed-by: dholmes, tschatzl
2019-04-20 16:53:15 +03:00
shade
a3b55b44f0 8217014: Epsilon should not ignore Metadata GC causes
Reviewed-by: stuefe, zgu
2019-04-20 16:53:14 +03:00
shade
dcede2ffa5 8216308: StackTraceElement::fill_in can use injected Class source-file
Reviewed-by: coleenp, dholmes
2019-04-20 16:53:13 +03:00
shade
cde258e50f 8216302: StackTraceElement::fill_in can use cached Class.name
Reviewed-by: coleenp, dholmes, mchung
2019-04-20 16:53:12 +03:00
shade
327368ecc9 8217378: UseCriticalCMSThreadPriority is broken
Reviewed-by: rkennke, dcubed
2019-04-20 16:53:11 +03:00
mbalao
60db74211d 8204142: AWT hang occurs when sequenced events arrive out of sequence in multiple AppContexts
Summary: Improvements on the synchronization of SequencedEvent events from different AppContexts
Reviewed-by: serb
2019-04-20 16:53:10 +03:00
shade
f4128def6b 8217321: [TESTBUG] utilities/test_globalDefinitions.cpp should use _LP64, not LP64
Reviewed-by: tschatzl, coleenp
2019-04-20 16:53:09 +03:00
stuefe
a99aa18578 8218156: "jcmd VM.metaspace basic" misreports free chunk space
Reviewed-by: zgu
2019-04-20 16:53:07 +03:00
roland
e7c90d3aa8 8214206: Fix for JDK-8213419 is broken on 32-bit
Reviewed-by: mdoerr, shade
2019-04-20 16:53:06 +03:00
roland
8f27913925 8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1
Reviewed-by: kvn, dlong, aph
2019-04-20 16:53:05 +03:00
bell-sw
c311d0165b Merge conflict in WWindowPeer.displayChanged()
JRE-660 fix vs JDK-8207070 (commits 8649992 and https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/09456a6d05fb)
fix: combine two changes to start both updateGC and adjustBoundsOnDPIChange on EventHanderThread.
DisplayChangesException.java test passed
2019-04-20 16:52:51 +03:00
serb
19f1edea6e 8207070: Webstart app popup on wrong screen in a one-screen setup changing to multi-monitor
Reviewed-by: prr
2019-04-20 16:52:50 +03:00
alitvinov
756c492c6c 8187364: Unable to enter zero width non-joiner (ZWNJ) symbol in Swing text component
Reviewed-by: serb, dmarkov
(empty commmit for backport robot; the fix is actually backported already)
2019-04-20 16:52:49 +03:00
bell-sw
05079b182b Merge conflict in Java_sun_font_FreetypeFontScaler_getGlyphImageNative
IDEA-57233 fix vs JDK-8216965 (commits 0456745 vs https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/a363f160b05a)
fix: combine two changes to include both error check and renderFlag.
FontSize1Test test passed
2019-04-20 16:52:49 +03:00
prr
5bd162986f 8216965: crash in freetypeScaler.c CopyBW2Grey8
Reviewed-by: serb, mbaesken
2019-04-20 16:52:47 +03:00
Vitaly Provodin
86823b171d updated JTreg exclude list 2019-04-19 16:11:18 +07:00
Elena Sayapina
95df9908f4 JBR-1380: Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java works incorrectly 2019-04-19 15:56:25 +07:00
Denis Fokin
4476063ebf JBR-1311 [JBR 11] Double quote adding special character on macOS with "English, U.S. International - PC" layout 2019-04-18 17:46:33 +03:00
Vitaly Provodin
7eb4cef588 updated JTreg exclude list 2019-04-18 11:33:26 +07:00
Alexey Ushakov
2b99dfed40 JBR-1314 Font difference in pycharm 2019.1 on Ubuntu
Removed disabling hints on MAX_FCSIZE_LTL_DISABLED font size
2019-04-17 22:31:42 +03:00
Elena Sayapina
a5948894bf JBR-1372: JDialog1054.java, MoveFocusShortcutTest.java regression tests need update 2019-04-15 17:16:10 +07:00
Vitaly Provodin
01e2a516cf updated JTreg exclude list 2019-04-15 11:14:17 +07:00
Alexey Ushakov
013d3dfcf2 [JDK 11] Font Rendering on MacOS
Fixed regression caused by JBR-1076 by limiting fallback painting
only to undecorated non-opaque frames and dialogs
2019-04-11 23:47:17 +03:00
Anton Tarasov
2dd4163bc4 IDEA-210154 Borderless UI: Top frame of IDEA window is blue 2019-04-11 13:26:13 +03:00
Vitaly Provodin
e2a2f99cef updated JTreg exclude list 2019-04-11 16:42:15 +07:00
Anton Tarasov
84286e9c67 [followup] JBR-1365 force IDE-managed HiDPI on Linux for fractional scales 2019-04-10 15:10:26 +03:00
Anton Tarasov
f092ff3962 JBR-1365 force IDE-managed HiDPI on Linux for fractional scales 2019-04-10 13:45:09 +03:00
Vitaly Provodin
e5324ac253 Revert "JRE-1199: added the list of files required for stripped JBR bundle"
This reverts commit a1fcf9fc
2019-04-10 17:01:42 +07:00
Vitaly Provodin
7c202c52ba Revert "JRE-1199: added the list of files required for stripped JBR bundle (follow up)"
This reverts commit 9820ecb7
2019-04-10 17:01:23 +07:00
Vitaly Provodin
e0e1205ab0 Revert "JRE-1199: added the list of files required for stripped JBR bundle (follow up)"
This reverts commit e5dd1ec9
2019-04-10 17:00:58 +07:00
Vitaly Provodin
b203fe6e17 Revert "JRE-1199: corrected the list of files required for stripped JBR bundle on Windows"
This reverts commit 6f4be20e
2019-04-10 17:00:43 +07:00
Vitaly Provodin
f3f37db654 Revert "JRE-1199: added the list of files required for stripped JBR bundle - removed leading ./"
This reverts commit 13fbc2be
2019-04-10 17:00:28 +07:00
Vitaly Provodin
c88a550a3b Revert "JRE-1199: added JFX files"
This reverts commit ec0d6d6b
2019-04-10 17:00:07 +07:00
Vitaly Provodin
809d66a387 Revert "JRE-1199: added the list of files required for stripped JBR bundle (follow up)"
This reverts commit a4e7fdb6
2019-04-10 16:59:50 +07:00
Vitaly Provodin
e07cf33b28 Revert "JRE-1238: NoClassDefFoundError: Could not initialize class sun.tools.attach.VirtualMachineImpl"
This reverts commit 366ceeb8
2019-04-10 16:59:34 +07:00
Vitaly Provodin
bceea77552 updated JTreg exclude list 2019-04-10 16:30:04 +07:00
Denis Fokin
3c9c599a2d JBR-1362 Multiple child windows opened and closed in sequence result in a focus loss 2019-04-09 16:24:05 +03:00
Anton Tarasov
06d35de069 JBR-1351 Borderless UI: Bold frame around IDEA window appears on non-HiDPI display 2019-04-09 12:16:30 +03:00
Egor Ushakov
3a09f6c1db JBR-1354 com/sun/tools/attach/PermissionTest.java: access denied ("java.util.PropertyPermission" "sun.tools.attach.tmp.only" "read") 2019-04-09 11:35:16 +03:00
Egor Ushakov
4bd3f7835e JBR-1061 .attach_pid files in the working dir - flag to put .attach file in tmp dir only 2019-04-05 11:56:35 +03:00
Vitaly Provodin
c0b795d04e updated JTreg exclude list 2019-04-03 14:45:56 +03:00
Vitaly Provodin
0617bf25b8 updated JTreg exclude list 2019-04-02 17:10:02 +03:00
Vitaly Provodin
501aeec5e5 updated JTreg exclude list 2019-03-30 09:09:01 +07:00
Alexey Ushakov
ee05f360c5 JBR-1324 [fwp to JBR11] JBR-1174 Font Difference on macOS
Enable LCD shader by "Use font smoothing when available" setting
2019-03-29 20:15:11 +03:00
Egor Ushakov
2db9a870e7 8146986: JDI: Signature lookups for unprepared classes can take a long time - fixed tests 2019-03-29 13:20:38 +03:00
Vitaly Provodin
260319ec74 updated JTreg exclude list 2019-03-29 10:58:38 +07:00
Anton Tarasov
9179718cb6 JBR-1313 wrong insets for non-resizable custom-decorated frame 2019-03-28 19:17:17 +03:00
Vitaly Provodin
90276e6c00 updated JTreg exclude list 2019-03-28 14:34:03 +07:00
Anton Tarasov
cb188edaab JBR-1293 do not modify client bounds when custom-decorated frame is set undecorated 2019-03-26 10:20:35 +03:00
Vitaly Provodin
589b93be04 updated JTreg exclude list 2019-03-26 10:54:49 +07:00
Egor Ushakov
63572dcc76 8146986: JDI: Signature lookups for unprepared classes can take a long time - pt.2 2019-03-25 12:37:50 +03:00
Vitaly Provodin
480a2f5a34 updated JTreg exclude list 2019-03-25 15:42:35 +07:00
pbansal
763414f5f0 8218469: JSlider display issue with slider for GTKLookAndFeel
8218470: JScrollBar display issue with GTKLookAndFeel
8218472: JProgressBar display issue with GTKLookAndFeel
8203627: Swing applications with JRadioButton and JCheckbox fail to render correctly when using GTK3 and the GTK L&F
Reviewed-by: serb, prr
2019-03-22 22:29:38 +03:00
Alexey Ushakov
e3ba0bd651 JBR-1144 [JDK11] [macos] Held down key is not deleted when press backspace after accent menu popup (Mojave)
Handled both Delete and ForwardDelete keys
2019-03-22 14:40:05 +03:00
Egor Ushakov
7db46ce2b2 8146986: JDI: Signature lookups for unprepared classes can take a long time 2019-03-22 12:38:29 +03:00
Alexey Ushakov
81916a92af JBR-1144 [JDK11] [macos] Held down key is not deleted when press backspace after accent menu popup (Mojave)
Handled backspace separately
2019-03-21 23:10:40 +03:00
Vitaly Provodin
b85a2171c3 updated JTreg exclude list 2019-03-20 15:48:54 +07:00
Mikhail Filippov
05dc889841 Adopt fix to match patch submitted into Oracle 2019-03-19 10:31:45 +03:00
Vitaly Provodin
4a754a0fa2 JBR-1286: jdk.compiler was added into JBR 2019-03-19 11:18:23 +07:00
pbansal
be9b80a30a 8215364: JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop
Reviewed-by: prr, kcr
2019-03-18 23:02:00 +03:00
Vitaly Provodin
f691fe2f03 updated JTreg exclude list 2019-03-18 16:51:16 +07:00
Anton Tarasov
a879ad5739 JBR-1278 allow native border and shadow for custom decoration mode 2019-03-18 11:48:56 +03:00
Vyacheslav Moklev
94c75b0537 JBR-1274 Common Item Dialog sometimes crash the process
Prevent from freeing memory with CoTaskMemFree twice
2019-03-18 11:12:54 +03:00
Vyacheslav Moklev
bff7dfddfb JBR-1273 Common Item Dialog does not open when wrong path to directory is passed
Handle set directory / set file properly
2019-03-18 11:12:41 +03:00
Vyacheslav Moklev
6ecbc2736b JBR-1271 Wrong parent of native windows dialogs
Set a proper parent to a dialog window
2019-03-18 11:12:26 +03:00
Vyacheslav Moklev
8cde9502f1 JBR-1269 Common Item Dialog does not appear on Alt+Tab or click in windows toolbar
JBR-1270 Common Item Dialog does not have an icon

Select a proper window handle
2019-03-18 11:12:11 +03:00
Sergey Malenkov
af0360f3ea Merge remote-tracking branch 'origin/master' 2019-03-14 13:50:23 +03:00
Sergey Malenkov
02e0f6f078 do not replace the right Alt key with AltGr on Mac by default 2019-03-14 13:50:09 +03:00
Vitaly Provodin
094f03f5b3 updated JTreg exclude list 2019-03-13 11:35:07 +07:00
Vitaly Provodin
71ee90cd7b updated JTreg exclude list 2019-03-13 11:16:30 +07:00
Vitaly Provodin
426055c320 updated JTreg exclude list 2019-03-12 11:37:06 +07:00
Vitaly Provodin
30ce36030d updated JTreg exclude list 2019-03-11 10:06:30 +07:00
Vitaly Provodin
6012cd1180 updated JTreg exclude list 2019-03-10 09:39:32 +07:00
Elena Sayapina
1d31d1f8ff JBR-1260: Wrong calling convention for EnableNonClientDpiScaling in windows/native/sun/windows/awt.h 2019-03-07 13:27:10 +03:00
Vyacheslav Moklev
04112e6f90 JBR-1258 CommonItemDialog ignores directory to open
Fix parsing of directory path / file path
2019-03-06 12:01:25 +03:00
Vyacheslav Moklev
e0c79eb54f JBR-1257 CommonItemDialog modal window has no owner
Fix modality for Common Item Dialog
2019-03-06 12:00:56 +03:00
Vitaly Provodin
6ad54fb1ea JBR-1199: added JBR modules list for jlink 2019-03-06 09:37:47 +07:00
Elena Sayapina
dc7abebe17 JBR-1102: [JDK11] java/awt/Paint/ComponentIsNotDrawnAfterRemoveAddTest/ComponentIsNotDrawnAfterRemoveAddTest.java: 'paint' method of 60 components was not called 2019-03-05 08:36:37 +03:00
Vitaly Provodin
6d35b8fe59 updated JTreg exclude list 2019-03-03 08:20:13 +07:00
Vitaly Provodin
9552363525 updated JTreg exclude list 2019-03-03 07:45:56 +07:00
Vitaly Provodin
6a9a917161 Merge remote-tracking branch 'origin/master' 2019-03-03 07:44:33 +07:00
Sergey Malenkov
916fec8145 Fix key modifiers processing including AltGr 2019-03-02 17:38:24 +03:00
Alexey Ushakov
a53989e85a Added cmake projects for hotspot and jdk 2019-02-28 18:13:20 +03:00
Dmitry Batrak
4efa7eab3e JBR-1248 Exception caused by broken font 2019-02-28 15:49:24 +03:00
Elena Sayapina
07bf36928d updated JTreg exclude list 2019-02-28 11:26:48 +03:00
Dmitry Batrak
c2e756ec4f apply (partial) fix for JBR-363 from OpenJDK 12 (JDK-8139178) 2019-02-28 10:09:41 +03:00
Dmitry Batrak
3d7ac30072 partially rollback JBR-363 fix, to apply corresponding change from OpenJDK 12 2019-02-28 10:09:41 +03:00
Dmitry Batrak
3d0ec88046 apply part of JBR-363 fix missed in backporting from JBRE 8 2019-02-28 10:09:40 +03:00
Vitaly Provodin
2b8f6f70a0 updated JTreg exclude list 2019-02-28 11:55:42 +07:00
Elena Sayapina
c8d631a142 JBR-1102: [JDK11] java/awt/Paint/ComponentIsNotDrawnAfterRemoveAddTest/ComponentIsNotDrawnAfterRemoveAddTest.java: 'paint' method of 60 components was not called 2019-02-28 07:50:43 +03:00
Alexey Ushakov
37739127c3 JBR-1113 java/awt/FontClass/GlyphRotationTest.java: java.lang.RuntimeException: cnt 1 = 13 cnt 2 = 13
Resolved merge issue (IDEA-57233)
2019-02-27 14:13:12 +03:00
Dmitry Batrak
a26b70568a JBR-1245 [JDK 11] There are different letter spacings in some controls 2019-02-27 12:06:42 +03:00
Dmitry Batrak
1e6f37320b add 'build' folder to .gitignore 2019-02-27 12:05:14 +03:00
Elena Sayapina
f368f0f101 JBR-1148: jb/sun/awt/macos/KeyPressAndHoldTest.java intermittently fails by timeout, added max time to wait, reverted ApplePressAndHoldEnabled check 2019-02-27 10:15:29 +03:00
Elena Sayapina
48b7dd874f JBR-1146: Test jb/javax/swing/JDialog/JDialog1054.java intermittently fails by timeout 2019-02-26 14:27:16 +03:00
Elena Sayapina
5bb4c2a1d6 JRE-318: Minor regression test update, corrected comments 2019-02-26 12:51:47 +03:00
Vitaly Provodin
094306dc24 updated JTreg exclude list 2019-02-25 11:43:51 +07:00
Vitaly Provodin
9b1114df30 updated JTreg exclude list 2019-02-25 10:09:03 +07:00
Vitaly Provodin
366ceeb857 JRE-1238: NoClassDefFoundError: Could not initialize class sun.tools.attach.VirtualMachineImpl 2019-02-22 16:55:59 +03:00
Denis Fokin
315b0ed151 JRE-1220 Allow to process and veto keyevents after AWT typeahead and before Swing actions processing 2019-02-22 16:30:36 +03:00
Denis Fokin
2a68808b1d Indentation 2019-02-22 13:07:31 +03:00
Vitaly Provodin
8bc90e970e updated JTreg exclude list 2019-02-22 12:34:57 +03:00
Anton Tarasov
d2820524a1 JRE-1232 forwardport: JRE-1228support custom frame decoration 2019-02-21 20:04:00 +03:00
Denis Fokin
d68dcbfa37 Indentation 2019-02-21 19:53:06 +03:00
Denis Fokin
34fa047463 IDEA-205322 Dark window header not worked on macOS. 2019-02-21 17:21:42 +03:00
Vitaly Provodin
a4e7fdb61c JRE-1199: added the list of files required for stripped JBR bundle (follow up) 2019-02-21 09:41:50 +03:00
Vitaly Provodin
ec0d6d6b14 JRE-1199: added JFX files 2019-02-20 20:13:19 +03:00
Vitaly Provodin
903775e751 updated JTreg exclude list 2019-02-18 05:58:41 +03:00
Vitaly Provodin
13fbc2beca JRE-1199: added the list of files required for stripped JBR bundle - removed leading ./ 2019-02-17 08:50:27 +07:00
Vitaly Provodin
6f4be20e39 JRE-1199: corrected the list of files required for stripped JBR bundle on Windows 2019-02-15 18:32:26 +07:00
Vitaly Provodin
e5dd1ec919 JRE-1199: added the list of files required for stripped JBR bundle (follow up) 2019-02-15 15:36:25 +07:00
Vitaly Provodin
ad87675353 updated JTreg exclude list 2019-02-15 14:41:32 +07:00
Vyacheslav Moklev
764909ce2a JRE-1216 Implement Windows native file dialogs with the new Common Item Dialog API
Add implementation of file dialogs with the new Common Items Dialog API
2019-02-14 11:21:59 +03:00
Vitaly Provodin
74f6d29013 updated JTreg exclude list 2019-02-14 11:57:59 +07:00
Vitaly Provodin
9820ecb77c JRE-1199: added the list of files required for stripped JBR bundle (follow up) 2019-02-14 10:57:19 +07:00
Vitaly Provodin
a1fcf9fcbc JRE-1199: added the list of files required for stripped JBR bundle 2019-02-14 10:55:08 +07:00
Elena Sayapina
8637715ecc JRE-1092 Compilation with VS2017 is broken by JRE-431 fix on JBRE11 2019-02-13 16:32:41 +07:00
Vitaly Provodin
52ee651a09 removed 2019-02-13 16:25:37 +07:00
Vitaly Provodin
a47c5fadca updated JTreg exclude list 2019-02-13 11:23:44 +07:00
Vitaly Provodin
33b68747b2 updated JTreg exclude list 2019-02-13 10:45:01 +07:00
Dmitry Batrak
d53601a541 Merge pull request #2 from mfilippov/mf-users-font-issue
JRE-1166 Handle the case when fonts are installed into user's home folder
2019-02-12 13:26:00 +03:00
Mikhail Filippov
a03103bbe6 JRE-1166 [jdk11] Handle the case when fonts are installed into user registry key. This is the default behaviour since Windows 10 1809. 2019-02-12 13:20:45 +03:00
Alexey Ushakov
8fb03809dc Merge remote-tracking branch 'origin/openjdk11' 2019-02-08 01:24:47 +03:00
Vitaly Provodin
3d988754d4 Revert "JRE-1139 RubyMine with 11 JDK throws exception on the start"
This reverts commit 96da48c5
2019-02-07 17:45:54 +07:00
Vitaly Provodin
53c4bf9f26 updated JTreg exclude list 2019-02-05 16:49:24 +07:00
Vitaly Provodin
140750c24d updated JTreg exclude list 2019-02-03 11:55:37 +07:00
Vitaly Provodin
7c60ba27c5 updated JTreg exclude list 2019-02-03 10:39:44 +07:00
Vitaly Provodin
5bd82eb264 updated JTreg exclude list 2019-02-03 07:04:05 +07:00
Vitaly Provodin
ba6e4eb906 updated JTreg exclude list 2019-02-01 14:00:56 +07:00
Anton Tarasov
46fc019eeb JRE-1172 [cleanup] 2019-01-31 17:41:44 +03:00
Anton Tarasov
04eebb8c56 Merge remote-tracking branch 'origin/master' 2019-01-31 15:17:23 +03:00
Anton Tarasov
c7257c1dae JRE-1172 forwardport: JRE-1163[IDEA-187439] Modal dialogs (e.g commit dialog or diff from it) are sometimes invisible 2019-01-31 15:00:29 +03:00
goetz
eab256a14a 8217628: Verbose ArrayIndexOutOfBoundsException message also in JNI calls.
Reviewed-by: mdoerr, dholmes, lfoltan
2019-01-29 08:43:33 +01:00
ysuenaga
9065b4c506 8217432: MetaspaceGC::_capacity_until_GC exceeds MaxMetaspaceSize
Reviewed-by: tschatzl, stuefe
2019-02-01 21:43:37 +09:00
Anton Tarasov
c06c4c69d3 JRE-1162 [jdk11] support on-the-fly DPI change on linux 2019-01-28 18:45:26 +03:00
Anton Tarasov
d45e86456a Merge remote-tracking branch 'origin/master' 2019-01-25 13:36:08 +03:00
Anton Tarasov
924d33c6d1 Add unix classes to the gradle project 2019-01-25 13:34:45 +03:00
mdoerr
f411142ab5 8217459: [PPC64] Cleanup non-vector version of CRC32
Reviewed-by: gromero, goetz
2019-01-25 09:49:17 +01:00
mullan
a35d10033f 8217579: TLS_EMPTY_RENEGOTIATION_INFO_SCSV is disabled after 8211883
Reviewed-by: jnimeh, clanger
2019-01-29 10:24:38 -05:00
Alexey Ushakov
63b1f82e1c JRE-911 [JDK11]jb/sun/lwawt/macosx/CThreading/IsAppKit.java: Compilation failed
Allowed access to sun.lwawt.macosx
2019-01-23 13:28:41 +03:00
Vitaly Provodin
39501a3d4a updated JTreg exclude list 2019-01-23 11:53:15 +07:00
Vitaly Provodin
6003593f78 updated JTreg exclude list 2019-01-20 08:50:51 +07:00
Alexey Ushakov
9e06cc8f01 JRE-1114 [JDK11] IDEA hangs on adding new SDK on macOS
Ported workaround for JRE-199 from JBRE8
(ce389c1012efa8d4caf6ee118720145bb51eddba)
2019-01-18 20:41:29 +03:00
Anton Tarasov
be4f8c0d9d JRE-1142 [jdk11] hidpi is not detected since Ubuntu 18.04 2019-01-18 18:36:52 +03:00
Anton Tarasov
b89e6aed0b JRE-1111 [JDK11] java/beans/Beans/TypoInBeanDescription.java crashes at libawt_xawt.so+0x4a30d 2019-01-18 17:44:50 +03:00
Elena Sayapina
3d898a8024 JRE-998: Added new regression test (Input freezes after MacOS key-selector on Mojave) 2019-01-18 19:23:26 +07:00
Alexey Ushakov
96da48c589 JRE-1139 RubyMine with 11 JDK throws exception on the start
Restored javax.activation module
2019-01-17 21:28:48 +03:00
Vitaly Provodin
241af853ea updated JTreg exclude list 2019-01-17 15:34:52 +07:00
Elena Sayapina
b808be6a6a JRE-1054: Added new regression test (Weird non-modal dialog above modal dialog behaviour) 2019-01-17 13:00:07 +07:00
Elena Sayapina
0be0a018b5 JRE-318: Added new regression test (Cmd+` doesn't work after update to JDK 152_*) 2019-01-17 12:59:33 +07:00
Alexey Ushakov
48e7b547ae JRE-1083 [JDK11] Test com/sun/java/accessibility/util/8051626/Bug8051626.java fails on macOS on JB JDK11b
Wrapped SelectorPerformer invocation into privileged action
2019-01-16 16:52:26 +03:00
Alexey Ushakov
d4b529ad49 JRE-1112 javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java: Background is not translucent (java.awt.Color[r=255,g=255,b=255])
Moved check to resolve rendering problems in components
2019-01-15 15:48:34 +03:00
Vitaly Provodin
f779f6248c updated JTreg exclude list 2019-01-15 15:30:10 +07:00
Vitaly Provodin
c0c871c5f9 updated JTreg exclude list 2019-01-15 15:22:02 +07:00
Vitaly Provodin
53b86e4272 updated JTreg exclude list 2019-01-14 16:58:00 +07:00
Vitaly Provodin
483af71639 updated JTreg exclude list 2019-01-11 16:33:17 +07:00
Vitaly Provodin
5a9b273098 updated JTreg exclude list 2019-01-11 10:43:00 +07:00
Denis Fokin
212888416b Fallback mode, compatible with OpenJDK key event processing
(cherry picked from commit 33704a6)
2019-01-10 22:58:52 +03:00
Denis Fokin
14e2b7a4ad Mac OS X private keyboard layout switch API
(cherry picked from commit f6532954e9b0fd1600848fcc7f9f367058599e89)
2019-01-10 22:51:27 +03:00
Vitaly Provodin
bbdbe17e2a JRE-1117 J2DBench: introduced result reader for TC's charts (follow up)
separated printing values fo TC charts and values for comparisons
2019-01-07 06:47:33 +07:00
Vitaly Provodin
422fa59643 JRE-1117 J2DBench: introduced result reader for TC's charts 2019-01-05 08:22:51 +07:00
Vitaly Provodin
0b5119ca89 enabling dtrace-tests: added dtrace keyword 2018-12-28 11:18:23 +07:00
Alexey Ushakov
dfaa777ff5 JRE-1112 javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java: Background is not translucent (java.awt.Color[r=255,g=255,b=255])
Fixed regression on linux caused by fix of JRE-1076
2018-12-27 20:16:12 +03:00
Vitaly Provodin
d45e80b422 updated JTreg exclude list 2018-12-27 15:41:44 +07:00
Alexey Ushakov
a29f19e6a2 JRE-1109 [JDK11] java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java: JNI string operation received a non-string
Corrected check for the allocated string
2018-12-26 15:59:57 +03:00
Vitaly Provodin
c2eee9426f updated JTreg exclude list 2018-12-26 10:27:37 +07:00
Alexey Ushakov
0e1d23c807 JRE-60 Editor font is distorted on Kubuntu Linux 16.04 with HiDPI
Override FC_HINT_SLIGHT only for small font sizes
2018-12-25 13:00:19 +03:00
Alexey Ushakov
2847be73c6 JRE-366 Add support for Awesome WM
Added detection of Awesome WM and handled similar to Sawfish WM

(cherry picked from commit 6742077ed198975949af567e8ef543f853397351)
2018-12-25 13:00:17 +03:00
Alexey Ushakov
6851dc3441 JRE-353 Fedora 25 + XMonad rendering issues
Added support for Xmonad WM

(cherry picked from commit c690c3c7fdf1390e6b1a8d388ff752a09391ae3c)
2018-12-25 13:00:15 +03:00
Dmitry Batrak
61dc0ea151 force Unix line endings on new files in project
as core.autocrlf=false is recommended on Windows, Git won't convert line endings on commit
2018-12-25 12:03:50 +03:00
Vitaly Provodin
d295bb0bbd moving diff-image file into the scratch directory 2018-12-25 15:32:33 +07:00
Vitaly Provodin
703cdf6b6a updated JTreg exclude list 2018-12-25 15:02:06 +07:00
Dmitry Batrak
c606d1f8c6 JRE-571 Print to PDF not working when no printers installed on macOS
port of JDK-8211055, JDK-8212040 from OpenJDK 12
2018-12-25 09:03:49 +03:00
Dmitry Batrak
65a5e450d5 JRE-927 Unexpected wrapping of bidirectional text in JEditorPane on HiDPI screens
port commit 11a5a4a2 from JBR 9
2018-12-25 09:03:26 +03:00
Dmitry Batrak
c6fed2cf58 JRE-774 Don't paste BOM from clipboard on Mac
port commit ea9b75b3 from JBR 9
2018-12-25 09:03:10 +03:00
Dmitry Batrak
9caaac4a5a JRE-847 Box drawing characters have different widths with Monospaced font on Windows
port commit 778cef18 from JBR 9
2018-12-25 09:02:44 +03:00
Dmitry Batrak
5d704a963b IDEA-152816, IDEA-152454 fix text rendering issues (text cutoff and incorrect rendering in editor fragment components)
FcMatchFont-type pattern substitutions shouldn't be invoked before specific font is selected - it can apply unrelated rules

port commit e21cd635 from JBR 9
2018-12-25 09:02:27 +03:00
Dmitry Batrak
e9bd5f5dad JRE-748 Strange dots with fractional metrics turned on
port commit 82e7c82d from JBR 9
2018-12-25 09:02:08 +03:00
Dmitry Batrak
32ce109355 JRE-593 Wrong italic font rendering for Source Code Pro
port commit 1f6bd200 from JBR 9
2018-12-25 09:01:54 +03:00
Dmitry Batrak
2b03305a5f JRE-588 Images in JavaDoc not scaled proportionally when only <img> width specified
port JDK-8208638 from OpenJDK 12
2018-12-25 09:01:34 +03:00
Dmitry Batrak
89c99c1999 JRE-586 Incorrect rendering of Myanmar combining marks
port commit 5c513399 from JBR 9
2018-12-25 09:01:18 +03:00
Dmitry Batrak
8da6cec22a JRE-472 Impossible to enter zero width non-joiner character on Windows 10
backport JDK-8187364 from OpenJDK 12
2018-12-25 09:01:04 +03:00
Dmitry Batrak
394e055ae6 JRE-469 Console with emoji output becomes slow
The fix consists of two parts:
* Making CCharToGlyphMapper remember that a particular character
  cannot be displayed (isn't mapped to glyph with given font). Checking
  this repeatedly in native code is very slow.
* Make CCompositeGlyphMapper remember the results of char-to-glyph
  mapping, this was missing in previous implementation. This reuses
  caching code in CompositeGlyphMapper, extending the range of
  characters for which the results are cached to include Supplementary
  Multilingual Plane (most emoji characters belong to it).

port commit 4e0ccde2 from JBR 9
2018-12-25 09:00:49 +03:00
Dmitry Batrak
5b814d6b34 JRE-430 Font fallback sometimes doesn't work in Swing text components
port commit fc8003ad from JBR 9
2018-12-25 09:00:27 +03:00
Dmitry Batrak
67b1e552d8 JRE-372 IntelliJ editors silently precompose diacritics
port commit f7facf1b from JBR 9
2018-12-25 09:00:11 +03:00
Dmitry Batrak
fc2b95ea8e avoid changing characters' advances when special character is added to the line or ligatures are enabled
problem report - https://youtrack.jetbrains.com/issue/JRE-118#comment=27-1816577

port commit 32288ee6 from JBR 9
2018-12-25 08:59:52 +03:00
Dmitry Batrak
690696bb52 JRE-118 Emoji support
port commits 5dcafa4d, 70e14949 from JBR 9
2018-12-25 08:59:37 +03:00
Dmitry Batrak
cbf4d301ee fix direction of vertical glyph offsets (regression introduced by backporting JDK 9 changes for JRE-33)
port commit 9b98eaf0 from JBR 9
2018-12-25 08:59:03 +03:00
Dmitry Batrak
72fb9ff7c4 an option to disable native rendering for rotated text (following JRE-19)
port commit ccc1ded6 from JBR 9
2018-12-25 08:58:41 +03:00
Dmitry Batrak
030f15834c JRE-11 Support text rendering via DirectWrite API on Windows
port commits 7b180f8d, cccbcab4 from JBR 9
2018-12-25 08:58:25 +03:00
Dmitry Batrak
c30407cb87 JRE-10 Ligatures are not working sometimes when characters from multiple scripts are present
ports commit 18b3f575 from JBR 9
2018-12-25 08:58:07 +03:00
Dmitry Batrak
dbc15fb84e don't apply FreeType-returned glyph advance for glyphs rendered by GDI
This seems to produce a better looking text (more evenly spaced). Fractional metrics won't be respected by this code, but we can address this later if needed.

ports commit 7bd6c17c from JBR 9
2018-12-25 08:57:45 +03:00
Dmitry Batrak
d6b588bdab IDEA-150876 OpenJDK fonts for toolwindow names look worse than Oracles's
port commits c9debd5e, ed78cd00, 4c7e1619, 7aa0429c from JBR 9
2018-12-25 08:57:27 +03:00
Dmitry Batrak
a949f9d220 reimplement JDK-7162125 to fix JDK-8147002
port commit ba38e5c4 from JBR 9
2018-12-25 08:57:12 +03:00
Dmitry Batrak
c3c85ad548 optimize usage of Harfbuzz - create hb_face_t instance only once for each Font2D instance
port commit de367178 from JBR 9
2018-12-25 08:56:46 +03:00
Dmitry Batrak
f3ca8c7869 revert all my previously merged changes 2018-12-25 08:47:04 +03:00
Alexey Ushakov
ff04fd9429 Revert "JRE-578 OGLRenderQueue.flushNow() executes too many times"
This reverts commit acc636fa
2018-12-24 21:53:51 +03:00
Alexey Ushakov
339d11fa0d JRE-1076 setBackground​(Color bgColor) does not have any effect on Window in 11 Runtime
Use PaintManager.paint() for non-opaque windows
2018-12-21 22:36:21 +03:00
Dmitry Batrak
24dfabe6c3 JRE-593 Wrong italic font rendering for Source Code Pro
port commits 4ae0566, 30f998a from master
2018-12-19 17:13:33 +07:00
Dmitry Batrak
8e6fc9365c fix compilation warning (causing build failure) 2018-12-19 16:58:21 +07:00
Dmitry Batrak
adacc3a6f6 an option to disable native rendering for rotated text (following JRE-19)
port commit bb1be19 from master
2018-12-19 16:51:51 +07:00
Dmitry Batrak
6aee6ac680 JRE-11 Support text rendering via DirectWrite API on Windows
port commits 14b183c, 6305747, 9afd0eb, 004f97e, 3ea365b, edf6ef0, a16b2a6 from master
2018-12-19 16:45:37 +07:00
Dmitry Batrak
6b52af6446 don't apply FreeType-returned glyph advance for glyphs rendered by GDI
This seems to produce a better looking text (more evenly spaced). Fractional metrics won't be respected by this code, but we can address this later if needed.

ports commit 0d385c6 from master
2018-12-19 16:39:21 +07:00
Dmitry Batrak
86ca0039c0 IDEA-150876 OpenJDK fonts for toolwindow names look worse than Oracles's
port commits d170a25, d97f0b8 from master
2018-12-19 16:33:16 +07:00
Vitaly Provodin
fcdbfc43af Revert "JRE-11 Support text rendering via DirectWrite API on Windows"
This reverts commit 8e7d110d
2018-12-19 16:21:41 +07:00
Vitaly Provodin
09b06c2254 Revert "JRE-593 Wrong italic font rendering for Source Code Pro"
This reverts commit 1440ca58
2018-12-19 15:40:10 +07:00
Vitaly Provodin
7919c20137 Revert "JRE-593 Wrong italic font rendering for Source Code Pro"
This reverts commit d08b441e
2018-12-19 15:37:47 +07:00
Dmitry Batrak
25777c7a28 reimplement JDK-7162125 to fix JDK-8147002
port commits e3db506, 373b766, 733ec1f, 01abac6, 6048ac6, 42e6d3c, d1e42da, c9a3a18, 49d2809 from master
2018-12-19 15:01:25 +07:00
Vitaly Provodin
d08b441e3c JRE-593 Wrong italic font rendering for Source Code Pro
fixed compilation errors - removed rotation
2018-12-19 14:50:38 +07:00
Vitaly Provodin
97ab23c7d5 JRE-624 CThreading isAppKit() fails to detect main app thread if it was renamed
moved from jdk/test to test/jdk
2018-12-19 11:22:09 +07:00
Dmitry Batrak
1440ca5841 JRE-593 Wrong italic font rendering for Source Code Pro
port commits 4ae0566, 30f998a from master
2018-12-19 11:15:56 +07:00
Dmitry Batrak
8e7d110d73 JRE-11 Support text rendering via DirectWrite API on Windows
port commits 14b183c, 6305747, 9afd0eb, 004f97e, 3ea365b, edf6ef0, a16b2a6 from master
2018-12-19 11:07:34 +07:00
Dmitry Batrak
968c24866d JRE-588 Images in JavaDoc not scaled proportionally when only <img> width specified
port JDK-8195095, JDK-8206238, JDK-8208638 from OpenJDK 12

port commits 8f5a6e9a, 07461ea4 from jbre8u
2018-12-19 10:23:45 +07:00
Dmitry Batrak
e722edf104 JRE-588 Images in JavaDoc not scaled proportionally when only <img> width specified
port commit 1423c10 from master
2018-12-19 10:15:20 +07:00
Dmitry Batrak
fc8100802a JRE-571 Print to PDF not working when no printers installed on macOS
port of JDK-8212040 from OpenJDK 12

port commits 8b5b0de9, ad455515 from jbre8u
2018-12-18 18:21:02 +07:00
Dmitry Batrak
d31903acce JRE-571 Print to PDF not working when no printers installed on macOS
port of JDK-8211055 from OpenJDK 12

port commits d2fa84e9, 109165b7 from jbre8u
2018-12-18 18:15:03 +07:00
Alexey Ushakov
55e86e53bc JRE-43 Font.getFamily() does not work in headless mode
Resolved merge issues
2018-12-18 13:05:52 +03:00
Vitaly Provodin
a2dd06ca62 updated JTreg exclude list 2018-12-18 16:00:41 +07:00
Dmitry Batrak
785032941d JRE-970 [macos] Problem with input of yen symbol
port of commit fbb07014 from JBRE8u
2018-12-18 15:53:14 +07:00
Dmitry Batrak
3ce2665aae JRE-774 Don't paste BOM from clipboard on Mac
port commit 48b03b9c from master
2018-12-18 15:36:52 +07:00
Dmitry Batrak
3524ee07e7 JRE-847 Box drawing characters have different widths with Monospaced font on Windows
port commit c1ccf91 from master
2018-12-18 15:28:29 +07:00
Dmitry Batrak
32cbdd4cef JRE-748 Strange dots with fractional metrics turned on
port commit e0f56b5 from master
2018-12-18 15:17:29 +07:00
Dmitry Batrak
b5bf240fd8 JRE-586 Incorrect rendering of Myanmar combining marks
port commit d6bdad1 from master
2018-12-18 11:36:41 +07:00
Dmitry Batrak
c3b4add398 JRE-472 Impossible to enter zero width non-joiner character on Win10
port commit dc238fe from master
2018-12-18 11:24:10 +07:00
Dmitry Batrak
bc7cd26d17 JRE-430 Font fallback sometimes doesn't work in Swing text components
port commit 2c79ff3 from master
2018-12-18 10:46:04 +07:00
Dmitry Batrak
5f5b589458 JRE-372 IntelliJ editors silently precompose diacritics
port commit b83ffcf from master
2018-12-18 10:36:02 +07:00
Dmitry Batrak
a9bc2e51f4 fix direction of vertical glyph offsets (regression introduced by backporting JDK 9 changes for JRE-33)
port commit 29e7806 from master
2018-12-17 18:30:02 +07:00
Dmitry Batrak
a6c21c912e JRE-10 Ligatures are not working sometimes when characters from multiple scripts are present
ports commit 165b288 from master
2018-12-17 18:21:25 +07:00
Vitaly Provodin
d3731df79d jbu tests: added golden files for Windows
(cherry picked from commit ff10483)
2018-12-14 16:40:18 +07:00
Vitaly Provodin
00a29ad129 JRE-9: added regression test
(cherry picked from commit 4ffb665)
2018-12-14 16:14:24 +07:00
Vitaly Provodin
7fc924f065 not for upstream: added disposing frames in order to provide the test with the chance on the second run
(cherry picked from commit 8170635)
2018-12-14 16:07:42 +07:00
Vitaly Provodin
63130fd461 Regression test on https://bugs.openjdk.java.net/browse/JDK-8139176
(cherry picked from commit 6f1c0a6)
2018-12-14 15:39:17 +07:00
Alexey Ushakov
f925b24d5e Resolved windows compile issues 2018-12-14 10:46:22 +03:00
Vitaly Provodin
9e6301fd03 Revert "Create README.MD"
This reverts commit 4c588271
2018-12-14 11:28:29 +07:00
Konstantin Bulenkov
4c588271e2 Create README.MD
(cherry picked from commit 66baa265d993540d11ecde5b11c88028e2687270)
2018-12-14 10:35:00 +07:00
Konstantin Bulenkov
9699d0763a add vcs.xml
(cherry picked from commit 1cf13ee9654999c1e07756fe5367c89ef5cf17ec)
2018-12-14 10:29:00 +07:00
Konstantin Bulenkov
786cee5d97 add JetBrains copyright
(cherry picked from commit 260b5e1571c6944a69f96cc702fc9e88f45a6e4e)
2018-12-14 10:21:13 +07:00
Konstantin Bulenkov
37e7661f85 add workspace.xml to gitignore
(cherry picked from commit bd5b9403fdca779ecc76f0b3af2918fe772f7ed1)
2018-12-14 10:14:56 +07:00
Konstantin Bulenkov
de1e4a9d71 update icons
(cherry picked from commit dfe387ff5037deda29d8d522cba6cc5370796ff4)
2018-12-14 10:07:40 +07:00
Alexey Ushakov
9662d45e36 JRE-921 IDEA crash on JDK9
Open and Save Panels should be retained when using without ARC

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/UsingtheOpenandSavePanels/UsingtheOpenandSavePanels.html
2018-12-14 00:23:51 +03:00
Alexey Ushakov
dffea9d701 JRE-1028 fwport(9): JRE-1008 Do not use LCD shader on macOS 10.14+ in font rendering
Disable LCD text shader on macOS 10.14+ if LCD rendering is not explicitly specified
2018-12-14 00:23:50 +03:00
Alexey Ushakov
c358cff18b JRE-1027 forwardport(9): JRE-998 Input freezes after MacOS key-selector on Mojave
Added workaround to reset IM after entering accented symbols
2018-12-14 00:23:49 +03:00
Alexey Ushakov
2c1ee18b78 JRE-965 Debug build compile failure
Fixed compile failure
2018-12-14 00:23:48 +03:00
Alexey Ushakov
eaed1780be JRE-945 Compiler warnings in graphics trace code
Added casts to pointers
2018-12-14 00:23:47 +03:00
Alexey Ushakov
666e2ed685 JRE-690 Recent bundled JDK VCS Log UI slowdowns
Replaced OLG blit sync with threshold by the sync without threshold
Refactoring. NO_SYNC mode is not used, so removing QueueSyncType

(cherry picked from commit 45cbdc74e15f6bbc48f37b93d3edf5436de255fa)
(cherry picked from commit 8aa2d043fb9f9058fb578396caccd11703c421be)
2018-12-14 00:23:47 +03:00
Alexey Ushakov
fe339f5eab JRE-690 Recent bundled JDK VCS Log UI slowdowns
Optimized nativeGetCursorPosition to avoid creating temporary Point2D object

(cherry picked from commit 2861386c34127be16e4ab0d0b3e6e826e4707cc7)
2018-12-14 00:23:46 +03:00
Alexey Ushakov
5904c3ce30 JRE-686 OGL Glyph cache is too small for IDEA editor
Increased glyph cache size. Added logging to track caching process

(cherry picked from commit f02739d32d7c0bc7b7aae8c85536e16f51bb8543)
(cherry picked from commit 9cc1ce5d2f25892e8ccd9c22a0252e21e8fd2f02)
(cherry picked from commit cb76ebdd51f7ee3cc6133e199bb7e479d863c08b)
(cherry picked from commit 3f94620cf4c5b529cc786706695c4562fbc75ab2)
2018-12-14 00:23:45 +03:00
Alexey Ushakov
7cd1d0bc10 JRE-646 Provide performance logging of graphics primitives
Enhanced logging (example: -Dsun.java2d.trace=log,ptime,td=3000000,verbose)
Filter primitives by name and detect LCD/Grayscale text rendering (JRE-679)
Example: -Dsun.java2d.trace=log,ptime,name:OGLDrawGlyphsGray,verbose

(cherry picked from commit d38e16b0ae64866c91700ed312311419ab749269)
(cherry picked from commit 61a0ac6af921093a20324a88d6ed5e45c9d8ed7d)
(cherry picked from commit 9318aa0a17e50a92accb996f284b4ab5f6d9eaa5)
2018-12-14 00:23:45 +03:00
Alexey Ushakov
0a36774a6e JRE-625 Unstable UI menu rendering
Removed lazy flushing in flushOnscreenGraphics

(cherry picked from commit abf35dcf1304c737fc07783202377fee3c40c58a)
2018-12-14 00:23:44 +03:00
Alexey Ushakov
54bd0ddc20 JRE-624 CThreading.isAppKit() fails to detect main app thread if it was renamed
Added app main thread fix

(cherry picked from commit 5dfb30ae68b2c54d58c98a9195709c031f823581)
(cherry picked from commit 94163bd69f64616836523e81567aa1141480d841)
2018-12-14 00:23:43 +03:00
Alexey Ushakov
2fe5289178 JRE-608 J2DBench metrics: up to 20x degradation
Increased rendering queue buffer up to 6.4 MB

(cherry picked from commit 9ef00f00a7fb6e14835393f8d3944157c6800727)
(cherry picked from commit 2a61e9e997a880a60c5acb361849205170501b91)
(cherry picked from commit 68ca9f00ded004c970b94bd047a04b9f09237047)
2018-12-14 00:23:43 +03:00
Alexey Ushakov
cf7e3f86f5 JRE-584 Retaining objects in HashMap causes some performance drop
Replaced HashMap with ArrayList

(cherry picked from commit 79ea17c76eb44b60d88bd4630ce66c6794f2f881)
(cherry picked from commit 243a2c8833b82c7fef09f1f519d081b4464865c1)
2018-12-14 00:23:42 +03:00
Alexey Ushakov
acc636fa2d JRE-578 OGLRenderQueue.flushNow() executes too many times
Aligned flushNow to predefined time threshold in order to decrease frequency of the operation

(cherry picked from commit 5762188776dc3d425e3fe0ada1015bfdfcade154)
(cherry picked from commit 38e122f6f9a2f85aba1eeb0e9bff277b1f2a471e)
2018-12-14 00:23:41 +03:00
Alexey Ushakov
833d9f85a8 JRE-501 Live resize is jerky for heavy java applications on Mac
Skip too frequent flushBuffer actions

(cherry picked from commit c1abdf240b37065f60678479d662b0966664e7fa)
2018-12-14 00:23:40 +03:00
Alexey Ushakov
cef970e1ba JRE-471 Crash on macOS Sierra after Sleep
Replaced [NSScreen screens] 'objectAtIndex' with 'firstObject' to get nil instead of NSRangeException. Added nil checks

(cherry picked from commit d6b98511262055c01522d9ec8024253af7e91564)
2018-12-14 00:23:33 +03:00
Denis Fokin
3f02c651e5 IDEA-140054 A lot of NSEvents
8042752: [macosx] NSEvent instances leak throw JNI local references
Reviewed-by: serb, azvegint

(cherry picked from commit 511d7c8ae09a74b15f28b0d7030cdcc05c9aac3b)
2018-12-13 20:10:54 +03:00
Denis Fokin
f9902f7611 JRE-318 Cmd+` doesn't work after update to JDK 152_*
Partial revert: 8169589: [macosx] Activating a JDialog puts to back another dialog

(cherry picked from commit 413a18a770dd299e6e47a0f3d4be9f6767ec491f)
2018-12-13 20:10:52 +03:00
Denis Fokin
a8ec2d4116 JRE-190 Cannot type opening square bracket or brace with a Spanish keyboard in the last Rubymine EAP
(cherry picked from commit fe170431d51dd92d28d601c9cc35f06c9f78cddf)
2018-12-13 20:10:51 +03:00
Denis Fokin
9a20d85614 IDEA-166921 Shift not handled correctly in keymap
(cherry picked from commit 9328c07d5545e74d37ad1bf2016b6a433281d28e)
2018-12-13 20:10:50 +03:00
Denis Fokin
98041ba69a IDEA-166443 Mac OS: Delete action deletes twice if Edit menu has be opened before
(cherry picked from commit 9f29d899c9c12ad5c8c19e2d49cff54ad0e93b85)
2018-12-13 20:10:48 +03:00
Denis Fokin
068ee17dc4 IDEA-166435 Mac OS: IDEA quits on pressing any key with Korean, Chinese and Japanese keyboard layouts
(cherry picked from commit 0fb0fee02afb895d5b99514d6049e3d308bd8262)
2018-12-13 20:10:47 +03:00
Denis Fokin
4b53b59313 Broken space is fixed
(cherry picked from commit 5b52e0988a9fe864fe482c10fa6ecbab3da7cd34)
2018-12-13 20:10:46 +03:00
Denis Fokin
95a43caeba IDEA-166086 IDEA crashes on pressing a dead key
IDEA-166368 Terminal, Mac OS: Delete key inserts a symbol
IDEA-160245 Keymap: if non-QWERTY layout support is enabled, shortcuts with Numpad Plus are not recognized

(cherry picked from commit 601502cb5a3e391ca61fb3b041c507a675c7f008)
2018-12-13 20:10:45 +03:00
Denis Fokin
34f70fb425 ^M and other ISO controls are fixed
(cherry picked from commit b107409ba7e980839e34971413249a30df8858e7)
2018-12-13 20:10:43 +03:00
Denis Fokin
86316d0205 JRE-149 java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java: Pressed char is not dead acute
(cherry picked from commit 7f4b9869f8e3e846aedc938c2a9eb644175bd9aa)
2018-12-13 20:10:42 +03:00
Denis Fokin
b1941dcb80 Broken backspace in quick search
IDEA-166086 IDEA crashes on pressing a dead key

(cherry picked from commit c1eeff0b523da3744ee888f10397552665b0276a)
2018-12-13 20:10:39 +03:00
Denis Fokin
a56cb06c61 IDEA-166050 Terminal, Mac OS: can't enter uppercase symbols – Shift key is ignored
(cherry picked from commit 660e54886b9de2d9491bdc30c2755deadb7a4576)
2018-12-13 20:10:37 +03:00
Denis Fokin
3d687d001b IDEA-166040 jediterm-pty expects getting control command unicode chars in KeyEvent (typ0)
(cherry picked from commit edb73f66480355e9c919246d5f5ebf69ca1ac9ab)
2018-12-13 20:10:35 +03:00
Denis Fokin
6e44f31b7d IDEA-166040 jediterm-pty expects getting control command unicode chars in KeyEvent
(cherry picked from commit 7edd54b0a343c582336cf63b6419a98a2fde320b)
2018-12-13 20:10:34 +03:00
Denis Fokin
d68f22fe9a IDEA-165993 French (azerty) keyboard layout: Cmd+Shift+; is recognized as A
(cherry picked from commit 8196fcd73920b6aff122df94e20cab94f4483276)
2018-12-13 20:10:33 +03:00
Denis Fokin
5f4ecfc278 IDEA-165993 French (azerty) keyboard layout: Cmd+Shift+; is recognized as A
(cherry picked from commit 682276fb5a3189cb3a6459dc829e54e0bcc14b60)
2018-12-13 20:10:32 +03:00
Denis Fokin
7282448b4d IDEA-165943 Keymap: for non-QWERTY keyboard layouts Shift+... shortcuts are inconsistently interpreted
(cherry picked from commit 5b7f4b73a3a22d7a336dc6811328176285b5ee05)
2018-12-13 20:10:30 +03:00
Denis Fokin
65c02bb7e6 Fix for java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java
(cherry picked from commit 935f3a13f7b220ec2d11d7b44cb18abc3dcba37c)
2018-12-13 20:10:29 +03:00
Denis Fokin
293c224f35 IDEA-63779 Keymap shows characters for keys only for english keyboard layout correctly
(cherry picked from commit bd745c470d809412259df868fade2d159dfe9e7b)
2018-12-13 20:10:28 +03:00
Denis Fokin
e8af601d73 IDEA-63779 Keymap shows characters for keys only for english keyboard layout correctly
IDEA-27262 Wrong keys are picked up on dvorak layout in Mac OSX 10.6.2

(cherry picked from commit 07780916770f9214a40068addd32579c10a27a72)
2018-12-13 20:10:24 +03:00
Denis Fokin
df5bcf148a Suppress "uncommented constants" warning 2018-12-13 19:53:01 +03:00
Denis Fokin
8453ad0462 IDEA-63779 Keymap shows characters for keys only for english keyboard layout correctly
IDEA-27262 Wrong keys are picked up on dvorak layout in Mac OSX 10.6.2

(cherry picked from commit 07780916770f9214a40068addd32579c10a27a72)
2018-12-13 19:53:01 +03:00
Denis Fokin
3c09162059 IDEA-160416 Cannot type the dollar sign on my Mac (regression)
(cherry picked from commit 2e7d270b931d0dcf07b603df0f6901f7875fbd0b)
2018-12-13 19:53:01 +03:00
Denis Fokin
916ccc45f1 IDEA-157001 Keymap: for non-QWERTY keyboard layouts Ctrl mofifiers change key processing to QWERTY-like
(cherry picked from commit 5cbee365fa41f40d17fa63a02a92ed1289354bc5)
2018-12-13 19:53:01 +03:00
Denis Fokin
4bcecb07e5 Revert: IDEA-157001 Keymap: for non-QWERTY keyboard layouts Alt and Ctrl mofifiers change key processing to QWERTY-like
(cherry picked from commit 4698945b23236e6b82f7a7dc963684d10721ac0f)
2018-12-13 19:53:00 +03:00
Denis Fokin
2fdb898177 IDEA-157001 Keymap: for non-QWERTY keyboard layouts Alt and Ctrl mofifiers change key processing to QWERTY-like
(cherry picked from commit 7927c5cb93ba8461137218d71f8ad25730b8b828)
2018-12-13 19:53:00 +03:00
Alexey Ushakov
bcb5ba34ac Revert "8148187: Remove OS X-specific com.apple.concurrent package"
Move the dispatcher native code to libosx folder
2018-12-13 16:01:49 +03:00
Alexey Ushakov
0f7c26186a JRE-482 Java_sun_font_CStrike_getNativeGlyphOutline takes too much time in scrolling
Replaced glyph outlines with bounding boxes for glyph boundaries calculation for most common usages. Also, skipped unnecessary OGL flushes in OGL rendering queue

(cherry picked from commit c58dc052af48887338a38beb0c721eddca3af481)
(cherry picked from commit 7f6be7cfb907bbf1c3572b911df5690fa3039fde)
(cherry picked from commit c68913d82c0ba4b4c509179123f0a4bf7971f857)
(cherry picked from commit 9cfa04c93ad416a8177d9e7ca410850bd3ff880f)
(cherry picked from commit 0e930841704e4e98ecc0c888b144245e74218799)
(cherry picked from commit 8ffc190fbdb059d5a24842115c0bc3ade8b351b9)
2018-12-13 16:01:49 +03:00
Alexey Ushakov
6fc369e8bf JRE-444 CPlatformWindow.nativeGetTopmostPlatformWindowUnderMouse is slow
Replaced number of CGWindowListCopyWindowInfo for each window layer with [NSWindow windowNumberAtPoint: belowWindowWithWindowNumber:]

(cherry picked from commit 2a143af4d62340acdfd9c94d876f684385febbc8)
2018-12-13 16:01:48 +03:00
Alexey Ushakov
6d73b25130 JRE-359 CGraphicsEnvironment.getDefaultScreenDevice() returns null
Moved CG api calls to AppKit thread

(cherry picked from commit fd0210f035199e8612097a2c1d42b90cfd2111f8)
(cherry picked from commit 5e99e376d9dfe477401121878704630c3c13f9f7)
2018-12-13 16:01:48 +03:00
Alexey Ushakov
5d98c94ee9 JRE-238 [736] java.awt.AWTError: access denied ("java.lang.RuntimePermission" "canInvokeInSystemThreadGroup")
Moved task execution on AppKit to the privileged block. Minor refactoring

(cherry picked from commit 5dbb88471115c9e4a536ae37d0e6794de9e5ac9c)
2018-12-13 16:01:48 +03:00
Alexey Ushakov
28774d6878 JRE-193 UI freeze and 12/second thread dumps
Moved CStrikeDisposer dispose code to AppKit
2018-12-13 16:01:48 +03:00
Alexey Ushakov
a68dea068c JRE-202 Deadlock in CGLGraphicsConfig.getCGLConfigInfo
Added processing system events while waiting for OGLRenderQueue.lock
Moved getCGLConfigInfo logic execution to AppKit thread so, awt lock is
 taken on one thread

(cherry picked from commit d1c8bf03e1bd41cb075aa73cc39558103af7fe1a)
(cherry picked from commit 6bf9f31986be64acf3755b34568802f9960a66ec)
(cherry picked from commit 4e21d67e0369bffac45662c63699b39946218a7a)
2018-12-13 16:01:48 +03:00
Alexey Ushakov
45f1ff7490 JRE-193 UI freeze and 12/second thread dumps
Moved CStrikeDisposer dispose code to AppKit

(cherry picked from commit 51a8c0bee88a78e1c14f537345ce161bc44d1030)
2018-12-13 16:01:48 +03:00
Alexey Ushakov
be707de431 JRE-161 CCE in OGLTextRenderer.validateContext
Throw InvalidPipeException instead of CCE

(cherry picked from commit eafe84a8519b42dea5518cc91a27652befd91473)
2018-12-13 16:01:47 +03:00
Alexey Ushakov
3db09e43d8 JRE-140 AWT hangs on component creation because of 2D activity on AppKit thread
Used AtomicBoolean instead of volatile for double

(cherry picked from commit 17ac3b61ac8d2133e49cdcc20935e6ce38212f07)
2018-12-13 16:01:47 +03:00
Stanislav Dombrovsky
9f079c66e9 Fix rendering of HTML list dots + better vertical align for them.
(cherry picked from commit fa4a404533ba1ef638fe523adc74391aee8a3ebf)
2018-12-13 16:56:19 +07:00
Stanislav Dombrovsky
1a1fa31545 IDEA-146218 Add ability to use SF system fonts on OSX 10.11 and greater. The workaround implemented in this fix allows loading OSX system fonts on OSX >= 10.11 in the list of installed fonts which makes possible to use them in the UI.
(cherry picked from commit 401b217)
(cherry picked from commit fda747e)
(cherry picked from commit f2e3f56)
2018-12-13 16:55:59 +07:00
Sergey Malenkov
e79502c708 JRE-100 Scroll with inertia (Mac os) should only work in the initial component 2018-12-13 16:43:33 +07:00
Sergey Malenkov
ef490fa465 IDEA-161965 ignore dragged event that does not change mouse location Sierra is more sensit 2018-12-13 16:43:06 +07:00
Denis S. Fokin
5c13d63217 Fix version and company name
(cherry picked from commit 0ccc1917f2744ffabb4796a4224f5b105a083266)
2018-12-12 11:58:07 +03:00
Vitaly Provodin
614396d63f updated JTreg exclude list 2018-12-12 10:37:26 +07:00
apetcher
c9c255ec78 8214688: TLS 1.3 session resumption with hello retry request failed with "illegal_parameter"
Reviewed-by: jnimeh
2018-12-11 11:01:02 -05:00
Alexey Ushakov
b6bdd04e41 JRE-303 2017.1.1 update breaks linux fonts
Corrected rendering hints for Non-AA text rendering

(cherry picked from commit b923aa7a0729a10ea47d3438622d659fbead44c9)
2018-12-11 18:43:53 +03:00
Alexey Ushakov
c75c1ef8b2 JRE-205 Font is wrong and without anti aliasing in 2017.1 EAP
Added property to disable bundled font config:
  java2d.font.loadFontConf=false
Do not load custom font.conf by default

Moved hints adjusting logic from code to bundled font.conf file
Applied correction only for regular fonts with platform sizes less than 12
Some fonts are not corrected at all: Consolas, Noto Sans Mono
Used family name instead of physical one in requests to Fontconfig
Removed redundant call to FcConfigBuildFonts
Added privileged access to the properties (JRE-235,JRE-235)

(cherry picked from commit 4d4c915047077ebd966b0e3be056566d56ba11a4)
(cherry picked from commit 9d6f325f72482405264852f3ee2636f5fedaeaf0)
(cherry picked from commit e7e3372bf8db539c0f6bc85db9f1093f8fa4c380)
(cherry picked from commit 3e724caed2f199be50d25d1ecb20b7819c86be2e)
(cherry picked from commit d372b35963c096a32331b05b257e26841ace5d94)
(cherry picked from commit 18a5f5de03eb107f89dca138a44b9aab2151235c)
(cherry picked from commit 9ba320efef0539f75aa93fd1b5dd80266c954d0a)
(cherry picked from commit b8c38f419972af61291953f7f452c1698f7a1624)
(cherry picked from commit debba0128e200be60adc9a339d5985590ef4e230)
(cherry picked from commit 2fa17b1bd7d6524e4b5fa4d0b3ce2bf02a8fcc78)
(cherry picked from commit 09b4f61db0d4f5beea0e16ce9136c99e2185c10b)
(cherry picked from commit 3b6782dd742f9c74a9535145db2f9f7ffaccf7c8)
(cherry picked from commit f1b68149528c13a22fa64468c130b1405bf3d081)
(cherry picked from commit db5cf5a2b9cb454630fb86783c2d58cd5446cba6)
(cherry picked from commit 32140948578bc3c2a0c5f8adb537660421efe5e7)
(cherry picked from commit b978e3d0b131ed642774c5a14a649e13f764c20b)
2018-12-11 17:36:55 +03:00
Alexey Ushakov
cc0faf953f JRE-13 java.awt.TextLayout does not handle correctly the bolded logical fonts (Serif)
Backported fix of JDK-8139176 (test updated)

(cherry picked from commit ba66b203fc4fe59ccf0d1d70d3e09cb17810ca00)
2018-12-11 17:34:59 +03:00
Alexey Ushakov
0a4fdad0f2 JRE-18 CCE in XRMaskFill.MaskFill
Throwing InvalidPipeException for incompatible surfaces

(cherry picked from commit 55dab103c24bf86cf025b9ce02b67e72508d41ba)
2018-12-11 17:34:59 +03:00
Alexey Ushakov
1fd4615c04 JRE-457 OGLTR_DisableGlyphModeState is slow
Skipped number of OGLTR_DisableGlyphModeState calls in sequence of draw text operations
Added screen rendering tests for 3 rendering modes: NonAA, AA, LCD
Added support for OSX low res modes in the rendering test. Minor refactoring
Improved fix by skipping NOOP operation. Added one more test on glyph mode state changing.
Removed unnecessary flag

(cherry picked from commit d52fc846435796381bb0db8dbf4be28cb8fc9ced)
(cherry picked from commit f2727866edc925668d02ef625b9c966e3e5323a4)
(cherry picked from commit e26b5f42c674bc0b8d59207a04a1dc69dc7ffceb)
(cherry picked from commit e5eb91c86a009b97614d610f47e991414ce94afa)
(cherry picked from commit 24569f975a2da1facdc0ee20cf298f0263333a5a)
2018-12-11 13:58:54 +03:00
Alexey Ushakov
66e5c5bc22 JRE-114 JDK for Mac OS: visual artifacts at overlapping letters with subpixel antialiasing enabled
Flushed GPU buffers before rendering overlapping glyphs
Corrected initial value for right boundary of previous glyph

(cherry picked from commit 3c24cd75416e9b899e4b972f2c5b27c13f1827a4)
(cherry picked from commit 43ddbbea395d25064713e49be907f3a1d7b12b57)
(cherry picked from commit c21c0fb4b6395c868709a016969527168cce4a8b)
2018-12-11 13:58:54 +03:00
Alexey Ushakov
4f70a712e0 JRE-526 IDE is unusably slow when using a 4K display on OS X
Performed glTextureBarrierNV() call to separate read/write  from/to the same texture per glyph list not per every single glyph
Moved flush code before LCD glyph rendering
Removed unnecessary condition
Improved scrolling performance for about 30% on Intel graphics hardware
Grouped GL quads for rendering lcd glyphs into one glBegin/glEnd block
instead of multiple ones
Updated performance tests to check text with huge font size
Huge LCD font rendering on OSX
Replaced rendering multiple quads with only one

(cherry picked from commit 0de2f01b0de2f4b98e78137785f6ce9305e04b9d)
(cherry picked from commit 1ce9d484330181e8573096aab99ef7f12390fdf3)
(cherry picked from commit 50e20afba5e085881bec1125d318dc78dee45978)
(cherry picked from commit d61d9e84bfc4bd27028903b3dcb6fcbd11f33d58)
(cherry picked from commit 8c8f3a60ad3551bd36427b6817cae9f5776ebd26)
(cherry picked from commit 15df5e5b55105effea9f60ec3ce93c7babd06b28)
(cherry picked from commit 2ab6b0976821b79db78f9257d7034f2760beac19)
(cherry picked from commit 3642cf72df3d0d037fdf163082c7bc0fea423bd7)
(cherry picked from commit 887683b927821fac574dab79f3e0420c9959c086)
(cherry picked from commit 94ef3cd5b0fd819b3eb139482294e598120dc4dc)
(cherry picked from commit ec004829692f1da3ea8f81258abde1824dde21f0)
2018-12-11 13:58:53 +03:00
Alexey Ushakov
ee05ba1b33 IDEA-144261 IDE is unusably slow when using a 4K display on OS X
2x increase  size of cached glyphs

(cherry picked from commit 52da5f8934ccc482a58606309e44de51521ed9e2)
2018-12-11 13:58:53 +03:00
Alexey Ushakov
6b30858be0 JRE-202 Deadlock in CGLGraphicsConfig.getCGLConfigInfo
Added processing system events while waiting for OGLRenderQueue.lock

(cherry picked from commits
d29c858c8cfd4c74d381fe45fee48e3c1029053b,
6f8619b561e06784471ecd95839c65a8391749b9)
2018-12-11 13:58:53 +03:00
Alexey Ushakov
ab613b0f7e Revert "8148187: Remove OS X-specific com.apple.concurrent package"
This reverts commit 5c74a8df6855efd94fe4eb07b6c643ca6374b4eb.
Disable warnings as errors
2018-12-11 13:58:53 +03:00
Alexey Ushakov
99fe494c59 JRE-140 AWT hangs on component creation because of 2D activity on AppKit thread
Moved FontStrike disposal code to AppKit thread`

(cherry picked from commit 31710bf)
2018-12-11 13:58:53 +03:00
Vitaly Provodin
1ac5433cb8 updated JTreg exclude list 2018-12-11 06:45:38 +07:00
Vitaly Provodin
7326b13db1 updated JTreg exclude list 2018-12-10 15:24:53 +07:00
Alexey Ushakov
7262736e7e IDEA-148133 [IU-143.382] [MacOS] IDEA crashes regularly
Fixed native resource disposal problem by using ref counting

(cherry picked from commit 863b8e7)
(cherry picked from commit 69e76eb)
2018-12-07 19:12:44 +03:00
Vitaly Provodin
8669d9d28b JRE-467 added new regression test (Wrong rendering of variation sequences) follow up 2018-12-07 16:15:21 +07:00
Vitaly Provodin
c8f248a936 JRE-624 CThreading isAppKit() fails to detect main app thread if it was renamed 2018-12-07 16:13:09 +07:00
Vitaly Provodin
9ea664c299 JRE-741 added new regression test (Modal dialog stays above other process windows) 2018-12-07 16:10:37 +07:00
Vitaly Provodin
82cd480619 JRE-705 added new regression test (Z-order of child windows is broken on Mac OS) 2018-12-07 16:09:05 +07:00
Vitaly Provodin
4a14c6f15a JRE-638 added new regression test (enable unlimited cryptographic policy by default) 2018-12-07 16:08:14 +07:00
Vitaly Provodin
c4a1277c1b JRE-501 added new regression test (Live resize is jerky for heavy java applications on Mac) 2018-12-07 16:06:52 +07:00
Vitaly Provodin
1ce8c3ce82 JRE-468 added new regression test (Idea freezes on project loading) 2018-12-07 16:04:07 +07:00
Vitaly Provodin
0026095202 JRE-467 added new regression test (Wrong rendering of variation sequences) 2018-12-07 16:03:04 +07:00
Vitaly Provodin
82adbe9c25 JRE-458 added new regression test (Insufficient and inconsistent permissions on some files in Linux build) 2018-12-07 16:01:57 +07:00
Vitaly Provodin
3a43f4557f JRE-457 added new regression test (OGLTR_DisableGlyphModeState is slow) 2018-12-07 16:00:37 +07:00
Vitaly Provodin
d04debc847 JRE-430 added new regression test (Font fallback sometimes doesn't work in Swing text components) 2018-12-07 15:59:12 +07:00
Vitaly Provodin
37dc13c603 JRE-422 added new regression test (AWTView deliverJavaMouseEvent leaks jEvent) 2018-12-07 15:57:38 +07:00
Vitaly Provodin
cb4453b1d1 JRE-401 added regression test (AppCode freezes during autocomplete and other operations) 2018-12-07 15:55:58 +07:00
Alexey Ushakov
9d0157c362 JRE-394 backport JDK-8173654 Regression since 8u60 System getenv doesn't return env var 2018-12-07 15:51:15 +07:00
Vitaly Provodin
3a7b3c67b0 JRE-394 added regression test (System getenv doesn't return env var set in JNI code) 2018-12-07 15:47:01 +07:00
Vitaly Provodin
c7b0ac686f JRE-392 added regression (Tip of the day is not hidden while another modal window is shown) 2018-12-07 15:44:04 +07:00
Alexey Ushakov
15693661cc JRE-307 Wrong dpi reported on Wayland 2018-12-07 15:42:24 +07:00
Vitaly Provodin
1f4ad38d23 JRE-269 added regression (JLabel doesn't scale <code>text</code> HTML fragments.) 2018-12-07 15:35:27 +07:00
Vitaly Provodin
236bd38d1b JRE-186 added regression test (Modal dialogs (Messages) shouldn't popup IDEA when another application is active) 2018-12-07 15:30:18 +07:00
Vitaly Provodin
65e9ec3602 updated JTreg exclude list 2018-12-07 15:02:02 +07:00
Alexey Ushakov
5b523f049e JRE-43 Font.getFamily() does not work in headless mode
Bundled Droid fonts to fallback in headless mode
Added golden image tests for bundled fonts

Migrate ant based junit tests to gradle (JRE-462)
Migrate quality and performance tests
Corrected legacy xml file
Added cross platform test_jvm path into legacy xml file
Removed old jdk idea project

(cherry picked from commit 18f52ca)
(cherry picked from commit 6cd467b)
(cherry picked from commit b270e85)
(cherry picked from commit 0772bec)
(cherry picked from commit 7d00180)
(cherry picked from commit cce21af)
(cherry picked from commit 664b541)
(cherry picked from commit 9456e85)
(cherry picked from commit 239f521)
(cherry picked from commit c465ca9)
(cherry picked from commit 04caf3f)
(cherry picked from commit faddcec)
(cherry picked from commit ff37799)
(cherry picked from commit 4a10dd8)
2018-12-06 23:10:52 +03:00
Alexey Ushakov
0e0b0d13f9 JRE-769 Update jdk9 gradle project with new source layout in master9
Upgrade gradle wrapper and paths
2018-12-06 22:56:22 +03:00
Alexey Ushakov
fb2bbc47fe JRE-12 CCE: XRTextRenderer.drawGlyphList (sun.java2d.NullSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData)
Throwing InvalidPipeException for incompatible surfaces

(cherry picked from commit f98f34c)
2018-12-06 00:21:42 +03:00
Alexey Ushakov
2ac273a456 Added missing fontconfig defines 2018-12-06 00:21:40 +03:00
Alexey Ushakov
cec93cf1fd IDEA-166173 IntelliJ freezes when returning from sleep
Fixed deadlock by removing unnecessary getScreenResolution call
2018-12-06 00:21:38 +03:00
Alexey Ushakov
f3f2667a4c JRE-48 built-in jre renders fonts abnormally heavier (normal text looks bold) than the oracle jre
Disable FT_LOAD_TARGET_LIGHT for fonts with FC_AUTOHINT=false (this target implicitly enables  FC_AUTOHINT)
Reused setupLoadRenderFlags for all rendering cases
2018-12-05 17:20:09 +03:00
Alexey Ushakov
091d74a791 Added logging for freetypeScaler via env variable OPENJDK_LOG_FFS=yes
and for screen resolution in freetypeScaler
2018-12-05 17:20:09 +03:00
Alexey Ushakov
b1c49c3b27 JRE-34 IDE Crashes During Startup
Added validation of dpi settings coming from xserver
2018-12-05 17:20:09 +03:00
Alexey Ushakov
431e14429c JRE-29 fontconfig lib crashes CLion on OSX
Disabled fontconfig usage on OSX
2018-12-05 16:51:55 +03:00
Alexey Ushakov
f80497c4f0 JRE-15 Greyscale text is too dark comparing with subpixel AA
Adjusted default value for greyscale text rendering in freetype
2018-12-05 15:50:35 +03:00
Alexey Ushakov
44fcbdabf8 IDEA-155347 On Ubuntu with High DPI tooltip font is too thick when the tooltip is fading in and out
Handled missing FC_RGBA_NONE value
2018-12-05 15:50:35 +03:00
Alexey Ushakov
e6f0055704 IDEA-151619 CLion EAP fails to start with missing symbol: FT_Library_setLcdFilter
Skip FT_Library_setLcdFilter call if the symbol is not there
Cache negative FT_Library_setLcdFilter symbol lookup result
Used RTLD_DEFAULT handler for process symbols lookup
2018-12-05 15:50:35 +03:00
Alexey Ushakov
ad92fe9071 IDEA-151425 LCD text is incorrectly rendered when hinting is enabled
Override lcd loading flags with hinting ones
2018-12-05 15:50:35 +03:00
Alexey Ushakov
d93a5f1598 IDEA-149882 Issue with fonts in Ubuntu 12.04
Provided fallback to default font rendering settings if libfontconfig unable to
match font pattern
2018-12-05 15:50:35 +03:00
Denis Fokin
a3c220da70 pointer-sign warning is fixed 2018-12-05 13:20:38 +03:00
Alexey Ushakov
a62d8b2387 Added linux desktop build instructions 2018-12-04 23:08:23 +03:00
Alexey Ushakov
d1ed8ab118 Resolve merge compile problems on mac 2018-12-04 22:21:05 +03:00
Denis Fokin
cdea1cb75d The next warning broke the build
warning: [rawtypes] found raw type: FutureTask
2018-12-04 20:33:54 +03:00
Anton Tarasov
1019d8f0f2 fix JNI_OnUnload definition
(cherry picked from the commit  3571e39071)
2018-12-04 18:10:14 +03:00
Anton Tarasov
f3ccc53e02 JRE-981 IM workaround does not work anymore
forward port of 2d7c29b in JetBrains/jdk8u_jdk
2018-12-04 18:03:31 +03:00
Anton Tarasov
8d532d3f81 JRE-961 Windows size and position are not preserved on jdk 9 2018-12-04 18:03:09 +03:00
Anton Tarasov
6df193a2af JRE-956 Toolkit.getScreenInsets is not hidpi-aware 2018-12-04 18:02:47 +03:00
Anton Tarasov
ccfe65be7f JRE-938 [windows] Frame.setMaximizedBounds not hidpi-aware
(cherry picked from commit cc97899923320e1fa17f5e44975c4a0f0ba51014)
2018-12-04 18:02:26 +03:00
Anton Tarasov
e496262aa1 JRE-907 macOS: add ability to check for scaled display mode
(cherry picked from commit d38092bafd3d4150a7e372a43f5492b8a970f2f6)
2018-12-04 18:02:06 +03:00
Anton Tarasov
641a09dd52 JRE-934 Diff viewer errors are not visible on HiDPI Linux 2018-12-04 18:01:45 +03:00
Anton Tarasov
9279d80110 [jdk9] HiDPI scale is not detected on some linux desktops 2018-12-04 18:01:24 +03:00
Anton Tarasov
da3a816e50 JRE-580 [windows] low-res app icon on HiDPI displays
cherry-picked from b446cd4b by Anton Tarasov on 11/16/2017 at 4:16 PM
2018-12-04 18:01:03 +03:00
Anton Tarasov
277357ae73 Read org.gnome.desktop.interface/scaling-factor 2018-12-04 18:00:41 +03:00
Anton Tarasov
6fb2c36529 Do not scale base font in HiDPI mode on Linux 2018-12-04 18:00:20 +03:00
Anton Tarasov
34234263fb Allow HiDPI mode on Linux 2018-12-04 18:00:00 +03:00
Anton Tarasov
6dc45410b0 JRE-876 add mouse listeners to WWindowPeer.preprocessPostEvent
(cherry picked from commit 8d6043409736a10a62e3967f4a25f379c9a36f58)
2018-12-04 17:59:38 +03:00
Anton Tarasov
2bf5a7ca5c JRE-772 swing returns incorrect FRC when AA is off
(cherry picked from commit a161897d908aa10da6306c06452c5d6317fed2f0)
2018-12-04 17:59:15 +03:00
Anton Tarasov
35571ba1ad JRE-765 [win] window dragged to another display is not resized
(cherry picked from commit 07b27f77225fa52318ec9b2ae4819e30ef4c7c4f)
2018-12-04 17:58:53 +03:00
Anton Tarasov
cdd3529046 JRE-742 [windows] IME candidate window position is wrong on HiDPI displa
(cherry picked from commit 01e7954dec63386bcfadd49e1ffbf1523ca5870b)
2018-12-04 17:58:32 +03:00
Anton Tarasov
ba22b31a49 JRE-729 [windows] unreasonable IME activity consumes CPU
(cherry picked from commit c3040dd1fe1bf6c03c746c76f685629fd0a8e670)
2018-12-04 17:58:11 +03:00
Anton Tarasov
e2d1655703 JRE-711 Horizontal grey lines appear in every window in IntelliJ Idea
(cherry picked from commit 62000130d86e5831d81cfb24659386c6930f84cf)
2018-12-04 17:57:49 +03:00
Anton Tarasov
6ea1d45fd1 JRE-681 [windows] direct drawing into frame graphics may have wrong translate
(cherry picked from commit ab6dee4c1fc453ad3cb5adb69fc243e550d184ae)
2018-12-04 17:57:28 +03:00
Anton Tarasov
6ce31e0a32 JRE-665 Navigate Class/File/Symbol, Find in Path popup windows don't pick characters from input method
(cherry picked from commit 676f305b2b3b278e305bd4d9bde4269f27b3d676)
2018-12-04 17:57:07 +03:00
Anton Tarasov
864999209d JRE-660 [windows] display DPI change damages UI
(cherry picked from commit 71b8b564798087a821fd4b3bd13bca4d0ccd5644)
2018-12-04 17:56:46 +03:00
Anton Tarasov
8c56d9389a Disable: 8175293: Window size is not updated after setting location to display with different DPI
Replaced with JRE-119
2018-12-04 17:56:24 +03:00
Anton Tarasov
0b2bdf3c49 Disable: 8147440: HiDPI (Windows) Swing components have incorrect sizes after changing display resolution
Replaced with JRE-660
2018-12-04 17:56:02 +03:00
Anton Tarasov
48c9ea3f09 JRE-590 Can't run 32 bit version on Windows
Check against Windows x86 as well.

(cherry picked from commit d176d90259163d0e0211e839af1634cb6f2cf436)
2018-12-04 17:55:39 +03:00
Anton Tarasov
6246abc72f JRE-616 [linux] notify when dpi correction factor is applied to fonts
(cherry picked from commit f57d41f3118bfd773c99ce32d58cfae16931be6a)
2018-12-04 17:55:16 +03:00
Anton Tarasov
38466cbab0 JRE-612 [windows] icon in frame title is not dpi-aware
(cherry picked from commit dec04385177a2abb677add909d3b94f94c62a14e)
2018-12-04 17:54:54 +03:00
Anton Tarasov
ef2870ee38 JRE-604 [fps] frame's client area is one pixel beneath frame's borders
(cherry picked from commit 511e237eacaaf2fa03336807269463438a9394ee)
2018-12-04 17:54:31 +03:00
Anton Tarasov
c5cc28d85d JRE-596 [windows] popup positioning is broken with JRE-573
(cherry picked from commit 79154b119a9bc6933281f3d203ddef67139b5ed0)
2018-12-04 17:54:10 +03:00
Anton Tarasov
9ea2011948 JRE-577 Goland 18 displays out of memory
(cherry picked from commit 2daaf21e420d4af15d3b1bfeb3f896074bea1e61)
2018-12-04 17:53:47 +03:00
Anton Tarasov
0651b45e13 JRE-573 [windows] window client area bounds mismatch
(cherry picked from commit afa68f7ad6440303c6417be3f675b1c4644b6014)
2018-12-04 17:53:25 +03:00
Anton Tarasov
5e183c397b JRE-489 -Dswing.bufferPerWindow is fractional scale unfriendly 2018-12-04 17:53:04 +03:00
Anton Tarasov
deeda6fada JRE-310 check for Windows8.1 when enabling ui scale
Was "don't fallback on fractional scale" in JBSDK9.

(cherry picked from commit 263d8641974d263075c93f11c4db6208754d7325)
2018-12-04 17:52:42 +03:00
Anton Tarasov
4f46d6ba2c JRE-431 [windows] Scale the title of toplevel in per-monitor-dpi mode
(cherry picked from commit 63dce3011fb85bc3922cf655e59e49c3f559cf6a)
2018-12-04 17:52:21 +03:00
Anton Tarasov
b965f85c1b JRE-382 Three AWT-tests become hanging starting since master-875
(cherry picked from commit 7d492101db8fcbb3d285fd8e9669f74b0e0fce8f)
2018-12-04 17:51:59 +03:00
Anton Tarasov
aa09fa2c85 JRE-373 [macos] nativeCreateNSWindow deadlocks with a11y
(cherry picked from commit 72c77a992bbf1b95b82ffc08cb2f4f3bc36b3657)
2018-12-04 17:51:38 +03:00
Anton Tarasov
11a0911d65 IDEA-172422 Popup at the wrong place on the second monitor (new hidpi)
(cherry picked from commit 58ee72943d54d119ca4319f5fdc60e8f4945ad19)
2018-12-04 17:51:16 +03:00
Anton Tarasov
985908cf10 JRE-309 [windows] on-screen position of a component is not pixel-perfect in user space in JRE-HiDPI mode
(cherry picked from commit 6084872b6c59aea4c8e5adc0962ddbf3ff00f6bc)
2018-12-04 17:50:54 +03:00
Anton Tarasov
c17bc728ee JRE-269 JLabel doesn't scale <code>text</code> HTML fragments.
(cherry picked from commit 9ef72b6c3a477e4225f9b98e30fa9190613520e4)
2018-12-04 17:50:30 +03:00
Anton Tarasov
4851fdea0a JRE-249 Icons in Messages are huge on Retina
(cherry picked from commit 4d3fa914ee71c13d9c94788bca2c877d1e2ce2c6)
2018-12-04 17:50:08 +03:00
Anton Tarasov
aeea6c1ca3 JRE-225 [macos] IDEA hangs on attempt to call getDefaultScreenDevice() from EDT
(cherry picked from commit 76aba25)

(cherry picked from commit df11dcc97bb5556ac5d0299b773a512b4f0bb5bb)
2018-12-04 17:49:46 +03:00
Anton Tarasov
adb3a4be16 JRE-210 JEditorPane may return wrong preferred size as it moves b/w monitors of different scale
(cherry picked from commit 6c3087e6bda32ae9b095e069d8bea614502f5c03)
2018-12-04 17:49:22 +03:00
Anton Tarasov
b95ae60bc0 IDEA-166659 Settings: Intentions are empty and NullPointerException appears
(cherry picked from commit c77ac9e5f1299e821f242ae1832531ccda1141f8)
2018-12-04 17:48:56 +03:00
Anton Tarasov
cba1501d3e IDEA-162187 [macOS] app icon is low-res after a badge is drawn on it
(cherry picked from commit c7fe3985b9410652b8fa55dbda3bbc193b2b690c)
2018-12-04 17:48:33 +03:00
Anton Tarasov
7e250841df JRE-153 [hidpi] monitors bounds can overlap in multi-dpi env
(cherry picked from commit 5d3f454b4209d4b8271020c92a13daca2012e6f4)
2018-12-04 17:48:10 +03:00
Anton Tarasov
cec49aaa38 JRE-119 [suppress updateGC() for WFileDialogPeer/WPrintDialogPeer]
updateGC() is called from WWindowPeer.<init> though it's not applicable to the named dialogs
as they don't have native AwtWindow peer required for the method.

(cherry picked from commit 72ed9f653177e273b811cfe70c2dba102a8636e4)
2018-12-04 17:47:47 +03:00
Anton Tarasov
7d1d43bfa1 JRE-119 [use default "sun.java2d.dpiaware=true" to be dpi-aware on Window 7]
This lets awt_Win32GraphicsEnv.cpp SetProcessDPIAwareProperty() call Win7 specific ::SetProcessDPIAware() API func.

(cherry picked from commit 5e7a766090810d839f4352d06fc2812499d766f8)
2018-12-04 17:47:24 +03:00
Anton Tarasov
60be76b725 JRE-119 [Dynamically set DPI-awareness level to enable backward compatible HiDPI behavior]
(cherry picked from commit d00cfa4dc62a14a4cf89df9d4c4899970c9fc9e8)

Adopted
2018-12-04 17:47:01 +03:00
Anton Tarasov
c044245410 JRE-119 [Mind device scale when changing window native bounds]
- New location should be scaled according to the device containing the location, not current.
- Size should be reset once the window is repositioned, based on the device it probably moved to.
- Rollback previous related changes in Popup/Window.

(cherry picked from commit 6002330050b048ff240ad3400a86812634217ca6)
2018-12-04 17:46:38 +03:00
Anton Tarasov
20edebdefa JRE-119 [ask if ui scale is enabled natively]
(cherry picked from commit 801f45875fd8699edcbda5896210cec191062261)
2018-12-04 17:46:17 +03:00
Anton Tarasov
ca32a66f85 JRE-119 [Fix getCursorPos() to work in env with scale]
(cherry picked from commit cbcfb72202125cd9bab5d25e4f06b5ba3f684482)
2018-12-04 17:45:56 +03:00
Anton Tarasov
dbc9f3cf91 JRE-119 [Add SwingUtilities2.scalePoint method to translate b/w different scales]
The method is used for popup window location settings.

(cherry picked from commit a7f295f8bc8aaa5bee4bedf1369aefd19152fcf5)
2018-12-04 17:45:36 +03:00
Anton Tarasov
aef17f16be JRE-119 [Handle WM_DPICHANGED with appropriate re-size]
Following MSDN on the subj.

(cherry picked from commit a6b847a1ba9b8512507d8c600778fc5cd709ea04)
2018-12-04 17:45:16 +03:00
Anton Tarasov
fd615a5b45 IDEA-153474 let JDK detect Xft.dpi value on non-GTK Linux DEs
Use the GTK method:

https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-get

to retrieve "gtk-xft-dpi" integer property of the X settings.

Add the property to JDK's GtkEngine & gtk2-interface.
Then read the property via GtkEngine from GTK LaF when "gnome.Xft/dpi" is undefined. It's assumed GTK LaF is forcedly installed.

(cherry picked from commit e05fc391ae0a3cc389e836441f882c0cf6ab3b99)
2018-12-04 17:44:56 +03:00
Anton Tarasov
b8f4b4a9ed IDEA-148854: AppCode crashes randomly every 15 mins or so
(cherry picked from commit 02f9a5fbb4924ff67c8a04c15e490acfcc750003)
2018-12-04 17:44:36 +03:00
Anton Tarasov
8a44e1bb37 JRE-166 [macOS] deadlock with JFXPanel
(cherry picked from commit a9dbb6990fac0c659297487a261ba9170e5fb3ad)
2018-12-04 17:44:16 +03:00
Anton Tarasov
5faebc73d5 IDEA-152524 can't compile fontconfig changes on Windows
(cherry picked from commit 4c8351fecf)
2018-12-04 17:43:56 +03:00
Alexey Ushakov
771ddf16ad Fixed src paths in gradle project 2018-12-03 14:24:54 +03:00
Alexey Ushakov
0456745afb IDEA-57233 Editor font antialising/appearance problems on Linux
Used desktop DPI instead of hard-coded 72
Compensated increased glyph bitmap size by adjusting font size
Added LCD filter for sub-pixel rendering
Use fontconfig library to provide right rendering options for fonts
Corrected sizes passed to fontconfig library and hinting disabling policy
Added logging and versioned fontconfig lib loading
Resolved font rendering problem in lenses
2018-12-03 14:24:54 +03:00
Egor Ushakov
9b4b3fb698 JRE-1061 .attach_pid files in the working dir 2018-11-30 18:49:31 +03:00
Egor Ushakov
1d32ff4742 JRE-1007 Read exception details in jdwp error packets 2018-11-30 18:44:21 +03:00
Alexey Ushakov
a75dc73f88 Added docker build and instructions 2018-11-30 13:41:43 +03:00
Alexey Ushakov
6f825670bb Added gradle project 2018-11-30 12:44:59 +03:00
Denis Fokin
2a92eec59d Revert: 8158325: [macosx] Memory leak in com.apple.laf.ScreenMenu
Reviewed-by: azvegint, alexsch
Contributed-by: Robin Stevens <robin.stevens@scz.be> (8d565d7b)
2018-11-29 12:18:15 +03:00
Denis Fokin
34d91c979d IDEA-166443 Mac OS: Delete action deletes twice if Edit menu has be opened before
(cherry picked from commit dd1fdebfd5)
2018-11-28 17:12:35 +03:00
Denis Fokin
ccf0176c32 Always open folders and files with NSOpenPanel 2018-11-27 19:58:33 +03:00
Denis Fokin
8fd21b3746 New (CFRetainedResource) memory management approach to access window ptr. 2018-11-27 19:58:32 +03:00
Denis Fokin
b71d92478d JRE-199 WebStorm hangs on open macOS file chooser
(cherry picked from commit f7dabd722464b1ec4c4df2e296ded622873c08e9)
2018-11-27 19:58:30 +03:00
Denis Fokin
f1bb150edb IDEA-165501 macOS native file chooser: VCS -> Apply Patch — All files are disabled
(cherry picked from commit eb86901216db840ac83bc137a11a4af2a2ea0019)
2018-11-27 19:58:29 +03:00
Denis Fokin
1d7ed0ff75 JRE-131 Native dialog hang
(cherry picked from commit 11d96947bfa13799481fb90dc87b4bd0ab1b2006)
2018-11-27 19:58:27 +03:00
Denis Fokin
0a92b01c17 JRE-129 IDE hangs on trying to change path in Run/Debug configuration which became invalid (changed in file system)
(cherry picked from commit 9e221546a75f028217ba5bcbbc0e2a8bcbee39f9)
2018-11-27 19:58:26 +03:00
Denis Fokin
3e4fa31780 IDEA-159507 Mac native dialogs: multiple open dialogs are possible
(cherry picked from commit 5a7d29940957a8acbaac5dbb651e6d1d970b7a05)
2018-11-27 19:58:24 +03:00
Alexey Ushakov
ef104967bf IDEA-157086 Change JVM vendor string to mention Jetbrains instead of Oracle
Replaced Oracle vendor string

(cherry picked from commit 86e0a8276306945a1ed6aee23076c1734483f6d6)
2018-11-27 19:29:08 +03:00
Denis Fokin
70e7eb9b95 IDEA-146669 Enable Mac native file dialogs
(cherry picked from commit 2843de1556c161521d9663344290e8cc71e7d70b)
2018-11-27 19:22:08 +03:00
Denis Fokin
0226ce81da Better backward compatible com.apple.eawt library 2018-11-27 17:46:45 +03:00
Denis Fokin
689f55d8c9 Better backward compatible com.apple.eawt library 2018-11-26 20:52:07 +03:00
Denis Fokin
362b676929 com.apple.eawt has been renamed since the latest Java 9 builds
The implementation is in the Desktop class now
See http://openjdk.java.net/jeps/272

To avoid Idea workarounds I am bringing back the classes.

This change must be removed as soon as we migrate to the Desktop API
2018-11-22 21:02:20 +03:00
apetcher
49262f2949 8213202: Possible race condition in TLS 1.3 session resumption
Reviewed-by: jnimeh
2018-11-21 15:06:13 -05:00
jnimeh
10ecf7e128 8212885: TLS 1.3 resumed session does not retain peer certificate chain
Reviewed-by: xuelei, wetmore
2018-11-13 18:22:52 -08:00
stuefe
d1074728a6 8212173: Thread._stack_base/_stack_size initialized too late for new threads
Reviewed-by: dholmes, simonis
2019-01-30 14:08:21 +01:00
coffeys
c7f7e2f151 8216546: Support new Japanese era in java.lang.Character for Java SE 11
Reviewed-by: chegar, naoto, rriggs, coffeys
Contributed-by: deepak.kejriwal@oracle.com
2019-01-29 12:00:35 +00:00
coffeys
7d363d79d0 8212941: Support new Japanese era in java.time.chrono.JapaneseEra
Reviewed-by: chegar, naoto, coffeys
Contributed-by: deepak.kejriwal@oracle.com
2019-01-29 11:58:34 +00:00
sherman
198c9bb4ab 8034802: (zipfs) newFileSystem throws UOE when the zip file is located in a custom file system
Reviewed-by: xiaofeya, clanger
2018-09-18 10:43:01 -07:00
ngasson
a0cda76c21 8217427: (dc) nio/channels/DatagramChannel/UseDGWithIPv6.java fails without IPv6
Reviewed-by: alanb, clanger
2019-01-22 10:25:22 +08:00
clanger
4b336df04e 8217657: Move the test for default value of jdk.includeInExceptions into own test
Reviewed-by: mullan, goetz
2019-01-25 10:59:07 +00:00
tonyp
69c61ab949 8207849: Allow the addition of more number to the Java version string
Reviewed-by: erikj
2018-07-23 11:38:28 -04:00
phh
cd41084251 8217520: Remove vm.opt.MaxGCPauseMillis == "null" from TestOldGenCollectionUsage.java
Summary: Remove the corresponding @requires line
Reviewed-by: tschatzl
2019-01-28 07:58:28 -08:00
afarley
51ec95af88 8214063: OpenJDK will not build on AIX while using the xlc 13.1 compiler
Reviewed-by: simonis, erikj, ihse, stuefe, mbaesken
2018-12-04 09:08:03 +01:00
xuelei
ba17db73bd 8210974: No extensions debug log for ClientHello
Reviewed-by: jnimeh, wetmore
2018-09-20 14:19:53 -07:00
kvn
d5462c2cef 8215317: [GRAAL] unit test CheckGraalIntrinsics failed after 8213754
Summary: Fix CheckGraalIntrinsics test for new intrinsics.
Reviewed-by: iveresov, never
2019-01-18 11:55:07 -02:00
mhorie
423dcfc970 8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace
Reviewed-by: kvn, rriggs, mdoerr, gromero
2019-01-18 08:31:09 -05:00
mdoerr
bedc8520dd 8216060: [PPC64] Vector CRC implementation should be used by interpreter and be faster for short arrays
Reviewed-by: gromero, goetz
2019-01-21 09:44:27 +01:00
gromero
16d1b94f94 8214451: PPC64/s390: Clean up unused CRC32 prototype and function
Reviewed-by: mdoerr, lucy
2018-11-28 13:16:54 -05:00
mdoerr
3cf28effe1 8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI
Summary: Invalidate Phi functions for conflicting types and avoid bailout.
Reviewed-by: kvn, iveresov
2018-12-14 09:59:08 +01:00
mbaesken
5a5e15e18b 8215962: Support ThreadPriorityPolicy mode 1 for non-root users on linux/bsd
Reviewed-by: dcubed, dholmes
2019-01-04 17:46:56 +01:00
robm
7dba01e79f Merge 2019-01-21 08:36:31 -08:00
robm
eccdb1f14f Added tag jdk-11.0.2-ga for changeset 144d476b6efe 2019-01-21 08:18:06 -08:00
diazhou
5b8962ed96 Added tag jdk-11.0.2+9 for changeset 144d476b6efe 2019-01-18 01:52:10 -08:00
diazhou
66b73f466c Added tag jdk-11.0.2+8 for changeset fe85e2f43a1c 2019-01-17 20:23:48 -08:00
robm
c28542a8e6 8217247: JAVA_VERSION_DATE="2018-10-16" even though release was 2019-01-15
Reviewed-by: coffeys
2019-01-16 09:59:21 -08:00
robm
e89d10dd59 Added tag jdk-11.0.2-ga for changeset a01e0cc01059 2019-01-15 11:17:23 -08:00
diazhou
0ee4e09146 Added tag jdk-11.0.2+7 for changeset a01e0cc01059 2018-12-12 07:07:41 +00:00
jdv
2d46b53d62 8212116: IIOException "tEXt chunk length is not proper" on opening png file
Reviewed-by: serb
2018-11-14 01:29:34 +05:30
diazhou
617403d4e7 Added tag jdk-11.0.2+6 for changeset c6fd7ff3e96f 2018-12-06 08:20:16 +00:00
ssahoo
c3321dba9d 8203688: [testbug] Nashorn test test/nashorn/script/nosecurity/treeapi/diagnostic.js fails
Summary: Updating the expected output for diagnostic.js to its correct value
Reviewed-by: jlaskey, sundar
Contributed-by: thejasvi.v.voniadka@oracle.com
2018-11-27 22:45:28 -08:00
clanger
3c21dc3870 8211218: remove double semicolon in src/java.desktop/macosx/classes/sun/font/CFont.java
Reviewed-by: serb
2018-09-28 06:39:52 +01:00
sgehwolf
0659a3ec70 8216559: [JFR] Native libraries not correctly parsed from /proc/self/maps
Summary: Use %7s for the dev scan format as major:minor may be up to that length
Reviewed-by: mgronlun, jwilhelm
2019-01-11 13:34:57 +01:00
ysuenaga
28275f307a 8216486: Possibility of integer overflow in JfrThreadSampler::run()
Reviewed-by: rehn, sgehwolf
2019-01-11 23:32:52 +09:00
mdoerr
238d3c2619 8216376: [PPC64] Possibly unreliable stack frame resizing in template interpreter
Reviewed-by: goetz, gromero
2019-01-11 11:02:00 +01:00
shade
caef3c06eb 8215724: Epsilon: ArrayStoreExceptionTest.java fails; missing arraycopy check
Reviewed-by: eosterlund, lkorinth
2019-01-09 15:53:56 +01:00
mhorie
f0aa9f2afe 8214205: PPC64: Add instructions for counting trailing zeros
Reviewed-by: mdoerr, gromero
2018-11-22 21:43:37 -05:00
mbaesken
61337e6324 8211326: add OS user related information to hs_err file
Reviewed-by: dholmes, stuefe
2018-11-15 17:08:59 +01:00
stuefe
7fd80ed6e7 8211845: A new switch to control verbosity of hs-err files
Reviewed-by: goetz, mdoerr
2018-11-08 16:23:55 +01:00
robm
66df7657db Merge 2019-01-15 11:22:27 -08:00
robm
5f26901bb2 Merge 2019-01-15 11:20:10 -08:00
robm
82d5dccb9c Merge 2019-01-15 05:21:24 -08:00
stuefe
f100a29359 8216982: Assertion poison page established too early
Reviewed-by: mdoerr, dholmes
2019-01-15 08:03:30 +01:00
sgehwolf
457ba2c868 8214061: Buffer written into itself
Summary: Actually write the msg text into the buffer.
Reviewed-by: dcubed, sgehwolf, sspitsyn
Contributed-by: Simon Tooke <stooke@redhat.com>
2018-12-04 17:54:13 +01:00
sgehwolf
706e78a8ae 8214105: [TESTBUG] Bit test is always false in serviceability/jvmti/StartPhase/AllowedFunctions
Reviewed-by: dcubed, dholmes, jcbeyler, gadams, sspitsyn
Contributed-by: Simon Tooke <stooke@redhat.com>
2018-11-22 10:11:58 +01:00
sgehwolf
96e0fece75 8214108: [TESTBUG] Incorrect Function parameter lists in vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001
Reviewed-by: gadams, sspitsyn
Contributed-by: Simon Tooke <stooke@redhat.com>
2019-01-14 17:22:55 +01:00
sviswanathan
cb6bcb8a7c 8216290: Register to register spill may use AVX 512 move instruction on unsupported platform.
Reviewed-by: vlivanov, thartmann
2019-01-11 12:00:27 -08:00
gromero
967487ae6b 8212481: PPC64: Enable POWER9 CPU detection
Reviewed-by: mdoerr, simonis
2018-10-16 16:26:28 -04:00
goetz
a3dd16bdc6 8215975: [testbug] Adapt nsk tests to the PPC, S390 and AIX platforms.
Summary: Use LIBPATH on AIX, no shared memory connector on any Unix.
Reviewed-by: gadams, simonis, sspitsyn
2018-12-31 14:38:16 +01:00
bulasevich
ff218db768 8206107: [x86_32] jck tests for ldc2_w bytecode fail
Reviewed-by: dsamersoff
2018-12-25 18:35:42 +03:00
clanger
1cafa0cc6b 8214892: Delayed starting of debugging via jcmd
Reviewed-by: cjplummer, clanger
Contributed-by: ralf.schmelter@sap.com
2018-12-12 11:34:08 +00:00
bulasevich
fb73f2b80c 8215637: client VM variant build error: zgc (enabled) depends on opto (disabled)
Reviewed-by: robm, pliden
2018-12-25 18:20:00 +03:00
roland
f345db0f21 8211451: ~2.5% regression on compression benchmark starting with 12-b11
Reviewed-by: kvn, thartmann
2018-11-08 10:20:04 +01:00
xyin
a57362ee46 8210695: Create test to cover JDK-8205330 InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection
Reviewed-by: vtewari, dfuchs, chegar
2018-09-17 13:49:55 +08:00
vtewari
ce8e8d0015 8205330: InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection
Reviewed-by: chegar, dfuchs
2018-09-11 17:48:24 +05:30
diazhou
4f59895a8f Added tag jdk-11.0.2+5 for changeset ff1f7723c4e8 2018-11-28 05:22:57 +00:00
coffeys
2b237bcff8 8214295: Populate handlers while holding streamHandlerLock
Reviewed-by: chegar
2018-11-27 11:09:53 +00:00
coffeys
d83ca9aa51 8213942: URLStreamHandler initialization race
Reviewed-by: alanb, chegar, prappo
2018-11-21 15:09:27 +00:00
roland
0b8ff29a39 8209544: AES encrypt performance regression in jdk11b11
Reviewed-by: kvn, vlivanov
2018-09-06 16:27:07 +02:00
mbalao
fb5b270c4a 8213154: Update copyright headers of files in src tree that are missing Classpath exception
Reviewed-by: andrew
2018-11-08 18:10:15 -03:00
mikael
d2874c082f 8210912: Build error in src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c after JDK-8029661
Reviewed-by: mullan
2018-09-19 09:24:40 -07:00
mbalao
d7183d35bd 8029661: Support TLS v1.2 algorithm in SunPKCS11 provider
Summary: TLS v1.2 algorithms for key and MAC derivation added to SunPKCS11 crypto provider.
Reviewed-by: valeriep
2018-09-12 13:09:51 +02:00
xuelei
2975f3b40d 8209965: The "supported_groups" extension in ServerHellos
Reviewed-by: ascarpino
2018-08-27 09:46:24 -07:00
rhalade
ccd16314a1 8207059: Update test certificates in QuoVadisCA.java test
Reviewed-by: mullan, mbaesken
2018-10-31 13:58:15 -07:00
rpatil
6801590dba 8213085: (tz) Upgrade time-zone data to tzdata2018g
Reviewed-by: martin, naoto
2018-11-01 12:43:21 -04:00
diazhou
8c25fd56c8 Added tag jdk-11.0.2+4 for changeset 0db90dec8c39 2018-11-14 07:35:57 +00:00
mullan
3b09ee6202 8211883: Disable anon and NULL cipher suites
Reviewed-by: jnimeh
2018-10-25 13:55:28 -04:00
ljiang
f3b2fb98d0 8213367: JDK 11.0.2 l10n resource file update
Reviewed-by: coffeys
2018-11-07 18:45:43 -08:00
diazhou
30aaeb8f6b 8213763: Need change jdk 11.0.2 milestone to fcs
Reviewed-by: erikj, tbell
2018-11-13 02:35:06 +00:00
diazhou
efbfb194a2 Added tag jdk-11.0.2+3 for changeset 8a8606a3bdf2 2018-11-07 09:29:14 +00:00
diazhou
fbe3d13f92 Added tag jdk-11.0.2+2 for changeset b4b16f510f48 2018-10-31 02:13:49 +00:00
robm
13fb0a0a90 Merge 2018-10-29 05:55:32 -07:00
diazhou
abce6eb5b4 8212645: Need change jdk 11.0.2 milestone to ea
Reviewed-by: erikj, tbell
2018-10-23 04:19:01 +00:00
robm
90e9e74c7d Merge 2018-10-22 08:58:03 -07:00
michaelm
a71b39711d 8203850: java.net.http HTTP client should allow specifying Origin and Referer headers
Reviewed-by: chegar, dfuchs
2018-10-22 11:42:43 +01:00
diazhou
dc78f14e5c Added tag jdk-11.0.2+1 for changeset 2be95a1bf508 2018-10-18 05:40:14 +00:00
robm
b1cd1e6efb 8212613: Bump update version for jdk11.0.2 cpu forest
Reviewed-by: coffeys
2018-10-17 09:30:08 -07:00
mdoerr
aaacdefc62 8211852: inspect stack during error reporting
Reviewed-by: dholmes, goetz
2018-10-15 08:08:02 +02:00
jwilhelm
a7637cfbe7 8199552: Update to build scripts
Reviewed-by: jwilhelm
Contributed-by: magnus.ihse.bursie@oracle.com
2018-09-13 01:49:48 +02:00
robm
9053faed85 Merge 2018-10-15 08:54:47 -07:00
robm
29141d043c Merge 2018-10-15 08:47:11 -07:00
igerasim
9786117fda 8210870: Libsunmscapi improved interactions
Reviewed-by: valeriep, mschoene, rhalade
2018-10-08 23:05:34 -07:00
prr
2e48404128 8210866: Improve JPEG processing
Reviewed-by: serb, psadhukhan, rhalade
2018-10-08 13:11:20 -07:00
diazhou
46960fd7cf Added tag jdk-11.0.1+13 for changeset 8513ac27b651 2018-10-06 09:00:29 -07:00
bchristi
b34e7cfa89 8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874
Reviewed-by: alanb, mchung
2018-10-05 15:05:45 -07:00
prr
bdf8e4a4fa 8210606: Improved data set handling
Reviewed-by: serb, psadhukhan, mschoene, rhalade
2018-10-05 11:35:56 -07:00
igerasim
ec272b5d47 8209094: Improve web server connections
Reviewed-by: chegar, dfuchs, mschoene, igerasim
2018-10-05 18:25:37 -07:00
igerasim
0a55044838 8210610: Improved LSA authentication
Reviewed-by: valeriep, mschoene, rhalade
2018-10-05 18:19:19 -07:00
bchristi
8c0d367821 8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874
Reviewed-by: alanb, mchung
2018-10-05 15:05:45 -07:00
diazhou
bfee75fe1c Added tag jdk-11.0.1+12 for changeset c0431cf9c38e 2018-10-04 02:19:13 -07:00
pkoppula
7852bb0071 Merge 2018-10-03 13:58:18 +05:30
igerasim
6e35a0c8df 8200659: Improve BigDecimal support
Reviewed-by: darcy, rhalade, mschoene
2018-10-02 21:43:30 -07:00
pkoppula
c2e4b01938 8211107: LDAPS communication failure with jdk 1.8.0_181
Reviewed-by: chegar, coffeys, vtewari
2018-10-02 21:38:54 +05:30
pkoppula
61a14f2f38 8211107: LDAPS communication failure with jdk 1.8.0_181
Reviewed-by: chegar, coffeys, vtewari
2018-10-02 21:38:54 +05:30
igerasim
4b05106209 8206290: Better FileChannel transfer performance
Reviewed-by: alanb, rhalade, mschoene
2018-09-28 18:05:47 -07:00
sballal
2fafa7b0d3 8207745: serviceability/sa/TestJmapCore.java times out parsing a 4GB hprof file
Reviewed-by: dholmes, jgeorge
2018-09-28 14:31:58 +05:30
goetz
1a38a42322 8211856: [ppc, s390] ProblemList some failing tests.
Reviewed-by: kvn, mdoerr
2018-10-09 16:03:56 +02:00
lbourges
8a3f606f56 8210335: Clipping problems with complex affine transforms: negative scaling factors or small scaling factors
Summary: fixed clipping rectangle to take into account the inverse transform (scale/shear)
Reviewed-by: prr, serb
2018-10-13 14:18:27 +02:00
prr
dade60074f 8208595: [parfait] Better X11 font support
Reviewed-by: serb, psadhukhan
2018-10-12 17:02:21 -07:00
prr
58b7e57325 7017058: Malayalam glyph substitution is failing for Malayalam with Windows Kartika font.
8191130: Sinhala text rendering problem with C+VIRAMA+ZWJ+RA/YA+V
8195836: opentype:Bengali: "Khanda Ta" shaping issue with U+09A4 TA, U+09CD virama, U+200D ZWJ
Reviewed-by: serb, psadhukhan
2018-10-12 11:53:56 -07:00
weijun
e48a796b11 8210736: jdk/javax/xml/crypto/dsig/GenerationTests.java slow on linux
Reviewed-by: alanb
2018-10-12 16:46:08 +01:00
henryjen
8667cd337c 8210810: Escaped character at specific position in argument file is not handled properly
Reviewed-by: alanb
Contributed-by: Bo Zhang <zhangbodut@gmail.com>
2018-09-28 13:15:01 -07:00
psadhukhan
8c362ebfac 8191178: [macos] Problem with input of yen symbol
Reviewed-by: dmarkov, mhalder
2018-10-12 19:45:47 +05:30
ghaug
d06b664934 8211768: [s390] Implement JFR profiling
Reviewed-by: simonis, mdoerr
2018-10-09 15:06:27 +02:00
serb
383bda6e13 8210598: Strengthen Windows Access Bridge Support
Reviewed-by: prr, psadhukhan, rhalade, mschoene
2018-09-27 12:54:50 -07:00
diazhou
939ed14890 Added tag jdk-11.0.1+11 for changeset 0343f9aacae2 2018-09-27 03:22:35 -07:00
jnimeh
302c233dd6 8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth
Reviewed-by: xuelei
2018-09-21 17:17:56 -07:00
jnimeh
07b31a9dfa 8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth
Reviewed-by: xuelei
2018-09-21 17:17:56 -07:00
jnimeh
5501009055 8209916: NPE in SupportedGroupsExtension
Reviewed-by: xuelei
2018-09-21 17:13:47 -07:00
jnimeh
2cd52e48c9 8209916: NPE in SupportedGroupsExtension
Reviewed-by: xuelei
2018-09-21 17:13:47 -07:00
robm
addaa1b9d4 Merge 2018-09-17 23:25:20 -07:00
diazhou
40682fda86 Added tag jdk-11.0.1+10 for changeset a86e14193fc8 2018-09-11 23:54:15 -07:00
coleenp
f09f44fe8f 8210094: Better loading of classloader classes
Reviewed-by: acorn, hseigel, ahgross, rhalade
2018-09-11 14:38:37 -04:00
sherman
dd224c1d40 8210345: The Japanese message of FileNotFoundException garbled
Reviewed-by: alanb
2018-09-07 10:17:49 -07:00
rhalade
a6ee08fc25 8210432: Add additional TeliaSonera root certificate
Reviewed-by: mullan
2018-09-09 08:12:46 +05:30
sherman
d3c1913a2c 8210345: The Japanese message of FileNotFoundException garbled
Reviewed-by: alanb
2018-09-07 10:17:49 -07:00
rhalade
90a9f06cf5 8210432: Add additional TeliaSonera root certificate
Reviewed-by: mullan
2018-09-09 08:12:46 +05:30
diazhou
1758532023 Added tag jdk-11.0.1+9 for changeset adb9933aa8c6 2018-09-04 19:39:43 -07:00
robm
66d3463d9e Merge 2018-09-04 08:57:58 -07:00
shade
7b5b42fd98 8210357: Zero builds fail after JDK-8207343 (Automate vtable/itable stub size calculation)
Reviewed-by: thartmann
2018-09-04 13:19:38 +02:00
shade
6088a38c27 8210355: Minimal and Zero non-PCH builds fail after JDK-8207343 (Automate vtable/itable stub size calculation)
Reviewed-by: thartmann
2018-09-04 13:19:37 +02:00
lucy
5f0f87a5ca 8207343: Automate vtable/itable stub size calculation
Reviewed-by: kvn, mdoerr
2018-09-03 09:43:08 +02:00
kvn
fcc2680578 8210764: Update avx512 implementation
8211251: Default mask register for avx512 instructions
8211272: x86_32 build failures after JDK-8210764 (Update avx512 implementation)
8211375: Minimal VM build failures after JDK-8211251 (Default mask register for avx512 instructions)
Reviewed-by: kvn
Contributed-by: sandhya.viswanathan@intel.com, shade@redhat.com
2018-10-27 10:33:58 -07:00
serb
ad3eae1183 8170937: Swing apps are slow if displaying from a remote source to many local displays
Reviewed-by: prr, aivanov
2018-09-18 18:32:03 -07:00
serb
e3e0f7da98 8207150: Clip.isRunning() may return true after Clip.stop() was called
Reviewed-by: prr
2018-09-08 12:32:51 -07:00
mchung
fc115fb46d 8212795: ThreadInfoCompositeData.toCompositeData fails to map ThreadInfo to CompositeData
Reviewed-by: dfuchs
2018-10-25 10:57:42 -07:00
mchinnathamb
20d4b2fd52 8211714: Need to update vm_version.cpp to recognise VS2017 minor versions
Reviewed-by: dholmes
2018-10-26 18:35:06 +05:30
kevinw
eadeafa47c 8211124: HotSpot update for vm_version.cpp to recognise updated VS2017
Reviewed-by: dholmes, lfoltan
2018-09-26 06:28:48 -07:00
mchinnathamb
3e0acd7d21 8027434: "-XX:OnOutOfMemoryError" uses fork instead of vfork
Reviewed-by: dholmes, iklam
2018-10-26 16:09:18 +05:30
michaelm
510a702f80 8212926: HttpClient does not retrieve files with large sizes over HTTP/1.1
Reviewed-by: chegar, dfuchs
2018-10-25 17:23:46 +01:00
aefimov
91be41626c 8210490: TimeZone.getDisplayName given Locale.US doesn't always honor the Locale.
Summary: specified locale for formatting..
Reviewed-by: naoto
2018-10-24 16:13:10 +01:00
lucy
c55d12445a 8210319: [s390]: Use of shift operators not covered by cpp standard
Reviewed-by: mdoerr, goetz
2018-09-10 16:40:59 +02:00
lucy
d7fd765d00 8209950: SIGBUS in CodeHeapState::print_names()
Reviewed-by: thartmann, kvn
2018-08-30 09:34:10 +02:00
diazhou
f2f4a878bb Added tag jdk-11.0.1+8 for changeset c2b23a17d3ff 2018-08-28 22:01:46 -07:00
robm
ad133c4e90 Merge 2018-08-28 04:47:13 -07:00
robm
611167a6f0 Merge 2018-08-28 04:44:59 -07:00
pkoppula
114395d1a6 Merge 2018-08-23 13:20:25 +05:30
jnimeh
2c422cd7ec 8208350: Disable all DES cipher suites
Reviewed-by: xuelei, mullan
2018-08-20 15:37:47 -07:00
diazhou
8bc1ce8121 Added tag jdk-11.0.1+7 for changeset 88a221c0bad0 2018-08-22 00:44:48 -07:00
jnimeh
5a46d31178 8208350: Disable all DES cipher suites
Reviewed-by: xuelei, mullan
2018-08-20 15:37:47 -07:00
dholmes
75042dfbe2 8205714: Initial class initialization
Reviewed-by: acorn, coleenp, kvn, vlivanov
2018-08-20 18:54:40 -04:00
joehw
2c4fcc33b4 8209576: java.nio.file.Files.writeString writes garbled UTF-16 instead of UTF-8
Reviewed-by: sherman
2018-08-20 10:11:26 -07:00
mdoerr
5f7bb930a3 8210754: print_location is not reliable enough (printing register info)
Reviewed-by: stuefe, coleenp
2018-10-04 16:39:07 +02:00
rkennke
7895806553 8211061: Tests fail with assert(VM_Version::supports_sse4_1()) on ThreadRipper CPU
Reviewed-by: thartmann, roland
2018-09-25 16:41:25 +02:00
roland
813bf5725d 8211231: BarrierSetC1::generate_referent_check() confuses register allocator
Reviewed-by: iveresov, kvn
2018-09-27 16:25:25 +02:00
shade
acc9fb0ef5 8212177: Epsilon alignment adjustments can overflow max TLAB size
Reviewed-by: pliden, tschatzl
2018-10-16 17:43:30 +02:00
shade
6aedb8c638 8212005: Epsilon elastic TLAB sizing may cause misalignment
Reviewed-by: rkennke, tschatzl
2018-10-11 10:42:17 +02:00
shade
8573713414 8212178: Soft reference reclamation race in com.sun.xml.internal.stream.util.ThreadLocalBufferAllocator
Reviewed-by: rkennke, kbarrett, joehw
2018-10-15 22:30:32 +02:00
mchung
ea5b430954 8212197: OpenDataException thrown when constructing CompositeData for StackTraceElement
Reviewed-by: alanb
2018-10-16 11:47:33 -07:00
dholmes
464fd1fa3a 8211909: JDWP Transport Listener: dt_socket thread crash
Reviewed-by: dcubed, dsamersoff
2018-10-16 19:07:47 -04:00
sgehwolf
8850da8154 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Summary: Compile with -O2 and -ffp-contract=off as for fdlibm.
Reviewed-by: erikj, lucy, aph
2018-09-11 18:18:51 +02:00
sgehwolf
df5eba1b6d 8210416: [linux] Poor StrictMath performance due to non-optimized compilation
Summary: Compile fdlibm with -O2 -ffp-contract=off on gcc/clang arches.
Reviewed-by: aph, erikj, dholmes, darcy, ihse
2018-09-17 10:53:56 +02:00
mbaesken
85ceaa7cee 8210964: add more ld preloading related info to hs_error file on Linux
Reviewed-by: clanger, stuefe
2018-09-28 09:20:46 +02:00
kaddepalli
8a6d966b4a 8208638: Instead of circle rendered in appl window, but ellipse is produced JEditor Pane
Reviewed-by: serb, psadhukhan
2018-10-18 12:19:32 +05:30
jnimeh
200d4d76ae 8210918: Add test to exercise server-side client hello processing
Reviewed-by: xuelei
2018-10-17 06:59:59 -07:00
jnimeh
8d049aaf13 8210334: TLS 1.3 server fails if ClientHello doesn't have pre_shared_key and psk_key_exchange_modes
Reviewed-by: ascarpino, wetmore
2018-10-17 06:55:04 -07:00
jiangli
d2620b24c2 8212100: AppCDS crashes for some uses with JRuby
Summary: Make sure FileMapInfo::verify_mapped_heap_regions only verifies 'num' of spaces.
Reviewed-by: iklam
2018-10-16 15:09:03 -04:00
robm
3bc9a425fd Merge 2018-10-16 09:42:36 -07:00
kvn
9dd15fe96d 8212204: [TESTBUG] test/hotspot/jtreg/compiler/intrinsics/base64/TestBase64.java fails
Summary: fix tests to not use jtreg.SkippedException
Reviewed-by: dholmes, goetz
2018-10-16 09:26:55 -07:00
robm
dc81b214d7 Merge 2018-08-20 08:37:26 -07:00
lucy
108b0eed34 8209588: SIGSEGV in MethodArityHistogram() with -XX:+CountCompiledCalls
Reviewed-by: kvn, goetz
2018-08-20 17:25:45 +02:00
shade
3ffe343445 8212754: Build failure: undefined JvmtiSampledObjectAllocEventCollector::object_alloc_is_safe_to_sample
Reviewed-by: jcbeyler, zgu, coleenp
2018-10-23 10:55:59 +02:00
michaelm
100c0e7520 8211437: 8211437 java.net.http.HttpClient hangs on 204 reply without Content-length 0
Reviewed-by: dfuchs, chegar
2018-10-24 11:22:03 +01:00
michaelm
51f8d1270e 8211420: com.sun.net.httpserver.HttpServer returns Content-length header for 204 response code
Reviewed-by: chegar, dfuchs
2018-10-24 10:42:19 +01:00
jnimeh
fac78f209b 8211806: TLS 1.3 handshake server name indication is missing on a session resume
Reviewed-by: xuelei, wetmore
2018-10-22 13:53:23 -07:00
robm
43f8c1cc80 Merge 2018-08-20 07:23:23 -07:00
robm
45b85a037e Merge 2018-08-20 07:21:27 -07:00
psadhukhan
14b1aefc44 8205356: Choose printer defaults
Reviewed-by: prr, mschoene, rhalade
2018-08-20 11:35:48 +05:30
roland
a23f32edda 8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item
Reviewed-by: neliasso, kvn
2018-08-17 17:13:12 +02:00
coffeys
04c5891310 Merge 2018-10-16 12:47:56 +01:00
coffeys
685984b3ae 8209862: CipherCore performance improvement
Reviewed-by: apetcher, ascarpino
Contributed-by: sergey.kuksenko@oracle.com, sean.coffey@oracle.com
2018-10-15 14:42:31 +01:00
mhalder
56dbf4c030 8206392: [macosx] Cycling through windows (JFrames) does not work with keyboard shortcut
Reviewed-by: dmarkov, kaddepalli
2018-09-14 17:53:58 +05:30
sgehwolf
678d6abea5 8212110: Build of saproc.dll broken on Windows 32 bit after JDK-8210647
Summary: Only add RTC1 compile flag for slowdebug builds.
Reviewed-by: mdoerr, erikj
2018-10-12 10:58:06 +02:00
dmarkov
0a89591d53 8205479: OS X: requestFocus() does not work properly for embedded frame
Reviewed-by: serb, aivanov
2018-10-16 09:39:30 +01:00
dmarkov
ceab2649f2 8130655: OS X: keyboard input in textfield is not possible if the window contained textfield is owned by EmbeddedFrame
Reviewed-by: serb, aivanov
2018-10-16 09:34:13 +01:00
pmuthuswamy
3250016c32 8211916: Javadoc -link makes broken links if module name matches package name
Reviewed-by: jjg
Contributed-by: priya.lakshmi.muthuswamy@oracle.com
2018-10-16 13:04:51 +05:30
coleenp
4d65e4c106 8209889: RedefineStress tests crash
Reviewed-by: mdoerr
2018-10-15 15:16:32 -04:00
alitvinov
0512db0d5c 8211165: License header is absent in a few J2Ddemo source code files
Reviewed-by: prr, iris
2018-09-26 18:36:55 +01:00
coffeys
5f0329469d 8209129: Further improvements to cipher buffer management
Reviewed-by: weijun, igerasim
2018-08-23 11:37:14 +01:00
serb
2d8bb1f375 8204895: Better icon support
Reviewed-by: prr, mschoene, aghaisas, rhalade
2018-08-16 10:22:25 -07:00
serb
b9beee7d8d 8203955: Improve robot support
Reviewed-by: prr, psadhukhan, rhalade, skoivu
2018-08-21 14:53:18 -07:00
diazhou
6376477816 Added tag jdk-11.0.1+6 for changeset db768cfe2141 2018-08-14 22:22:03 -07:00
diazhou
82861fdbe9 Added tag jdk-11.0.1+5 for changeset d6efeebf554c 2018-08-13 15:51:25 +00:00
coleenp
92b96d783d 8207924: serviceability/sa/TestUniverse.java#id0 intermittently fails with assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
Summary: InstanceKlass::implementors() needs the Compile_lock
Reviewed-by: thartmann, eosterlund
2018-08-11 12:49:33 -04:00
iignatyev
b167354e88 8215128: Test library OSInfo.getSolarisVersion cannot determine Solaris version
Reviewed-by: chegar
2018-12-13 14:07:44 -08:00
sgroeger
0fffc06e1e 8211844: [aix] ProcessBuilder: Piping between created processes does not work.
Reviewed-by: cjplummer, simonis, goetz
2018-12-07 14:35:57 +01:00
phh
2421f1b4ed 8206075: On x86, assert on unbound assembler Labels used as branch targets
8208480: Test failure: assert(is_bound() || is_unused()) after JDK-8206075 in C1
8209511: C2 asserts with UseSSE < 4 and AVX enabled: "Label was never bound to a location, but it was used as a jmp target'
Summary: Combine unbound Label assertion checking backports
Reviewed-by: robm
2018-12-12 06:17:33 -08:00
mbaesken
9dd2ee85f1 8211106: [windows] Update OS detection code to recognize Windows Server 2019
Reviewed-by: alanb, clanger, bobv
2018-10-02 13:48:08 +02:00
sgehwolf
c1cfe2076f 8214059: Undefined behaviour in ADLC
Reviewed-by: shade, kbarrett
Contributed-by: Simon Tooke <stooke@redhat.com>
2018-11-26 09:36:30 +01:00
jdv
3809b83c14 8212116: IIOException "tEXt chunk length is not proper" on opening png file
Reviewed-by: serb
2018-11-14 01:29:34 +05:30
phh
8e00066428 8208647: switch jtreg to 4.2b13
Summary: Increment build number to b13 and replace '?' with String in GatherDiagnosticInfoObserver:startingTestRun
Reviewed-by: robm
2018-12-07 08:14:09 -08:00
pliden
5dfa231b9d 8214476: ZGC: Build ZGC by default
Reviewed-by: shade, rkennke, ihse
2018-12-03 14:52:49 +01:00
shade
bdf087afe8 8212070: Introduce diagnostic flag to abort VM on failed JIT compilation
Reviewed-by: mikael, thartmann
2018-11-19 11:51:27 +01:00
shade
d87f64b932 8211926: Catastrophic size_t underflow in BitMap::*_large methods
Reviewed-by: kbarrett, stuefe
2018-11-10 20:47:28 +01:00
shade
157c0b160c 8211268: Disable unsupported GCs for Zero
Reviewed-by: sgehwolf, erikj
2018-09-28 18:28:49 +02:00
stuefe
57defdaf4b 8213834: JVMTI ResourceExhausted should not be posted in CompilerThread
Reviewed-by: dholmes, dcubed, jcbeyler, sspitsyn
2018-11-27 07:54:06 +01:00
shade
2959ce1dd3 8213992: Rename and make DieOnSafepointTimeout the diagnostic option
Reviewed-by: dholmes, dcubed, coleenp, kvn
2018-11-20 22:59:27 +01:00
sgehwolf
9fc32a98e8 8212937: Parent class loader may not have a referred ClassLoaderData instance when obtained in Klass::class_in_module_of_loader
Summary: Fix to obtain the class loader's name from the java.lang.ClassLoader object instead of its ClassLoaderData.
Reviewed-by: coleenp, lfoltan
2018-11-07 13:54:22 -05:00
bulasevich
06bbd8174e 8213410: UseCompressedOops requirement check fails fails on 32-bit system
Reviewed-by: dholmes
2018-11-16 19:29:20 +03:00
lucy
32088d3af9 8209433: [s390] Fix build, broken by 8208672 (Enable -Wreorder)
Reviewed-by: tschatzl, shade
2018-08-14 14:28:23 +02:00
ghaug
f1dfd68ff2 8209357: [PPC64] Fix build which was broken by 8208672 (Enable -Wreorder)
Reviewed-by: mbaesken, tschatzl
2018-08-13 12:24:25 +02:00
chegar
08444cd3d0 8199156: Better route routing
Reviewed-by: igerasim, mschoene, michaelm, rhalade
2018-08-10 15:02:30 +01:00
chegar
b3335e3e70 8199161: Better interface enumeration
Reviewed-by: igerasim, mschoene, michaelm, rhalade
2018-08-10 14:49:43 +01:00
chegar
67c65bc94f 8199166: Better interface lists
Reviewed-by: igerasim, mschoene, michaelm, rhalade
2018-08-10 14:35:44 +01:00
robm
e20460be77 Merge 2018-08-13 06:09:53 -07:00
robm
a1062812ea Merge 2018-08-09 10:15:49 -07:00
igerasim
55cab5b6b7 8208754: The fix for JDK-8194534 needs updates
Reviewed-by: alanb, igerasim, rhalade, mullan
2018-08-07 21:12:02 -07:00
robm
fcaf1cc372 Merge 2018-08-09 04:39:09 -07:00
igerasim
4e564437bd 8208754: The fix for JDK-8194534 needs updates
Reviewed-by: alanb, igerasim, rhalade, mullan
2018-08-07 21:12:02 -07:00
ljiang
bdf71347d2 8208661: JDK 11.0.1 l10n resource file update
Reviewed-by: coffeys
2018-08-07 06:54:37 -07:00
ljiang
91948d110a 8208661: JDK 11.0.1 l10n resource file update
Reviewed-by: coffeys
2018-08-07 06:54:37 -07:00
robm
e82779f29b Merge 2018-08-03 07:14:25 -07:00
coffeys
7d9de7e33a 8207775: Better management of CipherCore buffers
Reviewed-by: ascarpino
2018-08-03 09:57:10 +01:00
coffeys
48f970aaeb 8208583: Better management of internal KeyStore buffers
Reviewed-by: weijun
2018-08-03 14:14:59 +01:00
tbell
0187f4e734 8208654: Please change jdk 11.0.1 milestone to FCS
Reviewed-by: tbell
Contributed-by: diancui.zhou@oracle.com
2018-08-01 19:06:02 -07:00
svijayasekar
62855f55cf 8208268: 11.0.1 b03 java.net bundles - Release Date is wrong
Reviewed-by: diazhou
2018-08-02 01:17:46 +00:00
diazhou
853fc3a1a7 Added tag jdk-11.0.1+4 for changeset b5b1dd7e6f9d 2018-07-31 21:59:50 -07:00
robm
bdaf49b110 Added tag jdk-11.0.1+0 for changeset c01cc45790f8 2018-07-30 15:24:11 -07:00
robm
59f1497ba8 Added tag jdk-11.0.1+2 for changeset fc55f0667af5 2018-07-30 15:18:30 -07:00
robm
63dbd1c51c Added tag jdk-11.0.1+3 for changeset 781b5d8f2f75 2018-07-30 15:10:52 -07:00
apetcher
ee037d9a16 8208209: Improve TLS connection stability again
Reviewed-by: xuelei
2018-07-30 14:45:22 -04:00
apetcher
2d438b48de 8208209: Improve TLS connection stability again
Reviewed-by: xuelei
2018-07-30 14:45:22 -04:00
robm
79583dd0d4 Merge 2018-07-27 06:54:50 -07:00
ljiang
939a61ea41 8207948: JDK 11 L10n resource file update msg drop 10
Reviewed-by: naoto
2018-07-25 22:48:53 -07:00
igerasim
6a75289c31 8206301: Improve NIO stability
Reviewed-by: alanb, mschoene, rhalade
2018-07-25 21:10:44 -07:00
dtitov
81daeaa1fa 8205709: Proper allocation handling
Reviewed-by: sspitsyn
2018-07-25 11:11:11 -07:00
jnimeh
7d4cfde66c 8206295: More reliable p11 transactions
Reviewed-by: valeriep, mschoene, rhalade
2018-07-23 11:01:23 -07:00
mbaesken
1b3855a417 8207395: jar has issues with UNC-path arguments for the jar -C parameter [windows]
Reviewed-by: goetz, sherman
2018-07-19 11:04:46 +02:00
goetz
1eafda450b 8213527: [testbug] Fix PrintMetaspaceDcmd test using UseCompressedOops for 32-bit.
Reviewed-by: dholmes, mdoerr
2018-11-12 16:40:25 +01:00
rhalade
345d7d1578 8207059: Update test certificates in QuoVadisCA.java test
Reviewed-by: mullan, mbaesken
2018-10-31 13:58:15 -07:00
mdoerr
173e773654 8213086: Compiler thread creation should be bounded by available space in memory and Code Cache
Reviewed-by: kvn, thartmann
2018-10-31 14:48:36 +01:00
iklam
1c8afe6679 8210040: TestOptionsWithRanges.java is very slow
Summary: Added -Xmx1024m -XX:-ZapUnusedHeapArea; split into 10 smaller tests
Reviewed-by: kvn, coleenp
2018-08-28 16:01:12 -07:00
tschatzl
a869311ab1 8205633: TestOptionsWithRanges.java of '-XX:TLABSize=2147483648' fails intermittently
Summary: Exclude maximum range value from testing.
Reviewed-by: sangheki, kbarrett
2018-08-13 12:24:25 +02:00
iklam
69df6da856 8210043: Invalid assert(HeapBaseMinAddress > 0) in ReservedHeapSpace::initialize_compressed_heap
Summary: Removed the assert
Reviewed-by: ccheung, jiangli
2018-08-28 16:01:01 -07:00
goetz
a7dc7c8c6d 8211931: [ppc][testbug] runtime/jni/terminatedThread/TestTerminatedThread.java fails as threads don't terminate immediately
Reviewed-by: dholmes, mdoerr
2018-10-12 08:33:18 +02:00
simonis
d8fe5d7bba 8213151: [AIX] Some class library files are missing the Classpath exception
Reviewed-by: stuefe, rriggs, mbaesken
2018-10-31 16:02:43 +01:00
dlong
6f1a0a6c97 8021335: Missing synchronization when reading counters for live threads and peak thread count
Reviewed-by: dholmes, mchung
2018-10-25 18:41:26 -07:00
weijun
32fa7e6367 8205507: jdk/javax/xml/crypto/dsig/GenerationTests.java timed out
Reviewed-by: mullan
2018-11-06 14:15:29 +00:00
rpatil
349f2df220 8213085: (tz) Upgrade time-zone data to tzdata2018g
Reviewed-by: martin, naoto
2018-11-01 12:43:21 -04:00
mullan
f0d5be6ada 8211883: Disable anon and NULL cipher suites
Reviewed-by: jnimeh
2018-10-25 13:55:28 -04:00
sgehwolf
c4b272ec82 8207057: No debug info for assembler files
Summary: Generate debug info for assembler files as needed.
Reviewed-by: erikj
2018-07-12 16:28:31 +02:00
ljiang
8d9253d226 8210153: localized currency symbol of VES
Reviewed-by: naoto
2018-08-29 19:14:08 -07:00
ljiang
fbfb87bf48 8208746: ISO 4217 Amendment #168 update
8209775: ISO 4217 Amendment #169 update
Reviewed-by: naoto
2018-08-28 20:05:41 -07:00
kvn
a5f5420f56 8207153: Some intrinsic tests take long time to run
Reviewed-by: thartmann, mikael
2018-08-13 13:24:55 -07:00
dholmes
a2dbd61165 8211065: Private method check in linkResolver is incorrect
Reviewed-by: acorn, lfoltan
2018-10-09 20:19:22 -04:00
coffeys
cfd4680373 Merge 2018-10-11 20:03:07 +01:00
sgehwolf
3d021ee6f6 8210703: vmStructs.cpp compiled with -O0
Reviewed-by: erikj, ihse
2018-09-13 11:07:40 +02:00
sgehwolf
ced8423d93 8211387: [Zero] atomic_copy64: Use ldrexd for atomic reads on ARMv7
Reviewed-by: dholmes, aph
Contributed-by: Andrew Haley <aph@redhat.com>
2018-10-02 17:17:43 +02:00
sgehwolf
1f9e4a2a25 8208091: SA: jhsdb jstack --mixed throws UnmappedAddressException on i686
Summary: Be sure to use the same register index in native and Java code.
Reviewed-by: sballal, cjplummer, tbell
2018-07-23 18:08:46 +02:00
sgehwolf
02b8f55309 8210761: libjsig is being compiled without optimization
Reviewed-by: erikj, ihse
2018-09-21 16:58:36 +02:00
jgeorge
fab0dafdd0 8210836: Build fails with warn_unused_result in openjdk/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c
Summary: Read in and process the return value of pread() while dealing with the PT_INTERP segment
Reviewed-by: stuefe, jcbeyler
2018-09-18 23:20:17 +05:30
sgehwolf
b9bb2185eb 8210647: libsaproc is being compiled without optimization.
Summary: Compile with high optimization instead of none.
Reviewed-by: erikj, jgeorge, sballal
2018-09-14 14:47:50 +02:00
mbaesken
95982b4e86 8211208: make AllocateHeapAt an unsupported option on AIX
Reviewed-by: shade, tschatzl
2018-09-27 17:13:07 +02:00
mbaesken
d250bf17ac 8209942: [epsilon] range function for EpsilonTLABElasticity causes compiler warning
Reviewed-by: shade, simonis
Contributed-by: ralf.schmelter@sap.com
2018-09-05 12:48:51 +02:00
ghaug
4c22c70256 8209996: [PPC64] Fix JFR profiling
Reviewed-by: mdoerr, simonis
2018-08-28 14:55:06 +02:00
mbaesken
6ecbab0766 8207941: javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java fails on machines without Arial font [testbug]
Reviewed-by: goetz, psadhukhan
2018-07-24 09:27:42 +02:00
mdoerr
ab6e7a3250 8210497: [PPC64] Vector registers not saved across safepoint
Reviewed-by: goetz, lucy
2018-09-12 12:54:16 +02:00
aleonard
9b2a30c95d 8209786: JDK12 fails to build on s390x with gcc 7.3
Reviewed-by: ihse, goetz
2018-09-07 11:24:59 +02:00
adinn
937b93ae6f 8211105: AArch64: Disable cos/sin and log intrinsics in jdk11u pending fix
Summary: AArch64 cos/sin and log intrinsics are currently broken so should be disabled
Reviewed-by: aph, shade
2018-09-26 17:01:49 +01:00
goetz
62b9687f20 8210259: [testbug] IncompatibleOptions.java fails if VM configured without ZGC
Reviewed-by: pliden, kbarrett
2018-09-01 18:15:27 +02:00
jnimeh
d52a23e8b3 8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth
Reviewed-by: xuelei
2018-09-21 17:17:56 -07:00
jnimeh
603db743bc 8209916: NPE in SupportedGroupsExtension
Reviewed-by: xuelei
2018-09-21 17:13:47 -07:00
michaelm
a5c0c4f860 8196902: Better HTTP Redirection
Reviewed-by: dfuchs
Contributed-by: chris.hegarty@oracle.com
2018-07-10 08:20:13 +01:00
robm
b2d03e9f5b Merge 2018-07-20 08:28:39 -07:00
robm
c934138d19 Merge 2018-07-17 09:29:21 -07:00
diazhou
0f535abdae Added tag jdk-11.0.1+1 for changeset 1353ec839c82 2018-07-10 03:11:53 -07:00
michaelm
891062b7f3 8196902: Better HTTP Redirection
Reviewed-by: dfuchs
Contributed-by: chris.hegarty@oracle.com
2018-07-10 08:20:13 +01:00
robm
ede6cd91f5 Merge 2018-07-20 08:29:12 -07:00
robm
70d1e087e7 8207810: Remove jdk-11.0.1+2 tag from source repository
Reviewed-by: aefimov
2018-07-18 15:50:48 -07:00
diazhou
cec82061b0 Added tag jdk-11.0.1+2 for changeset a285bd7cfedb 2018-07-17 23:15:30 -07:00
robm
350103ead9 Merge 2018-07-17 07:22:30 -07:00
aefimov
e951de27e1 Added tag jdk-11.0.2+0 for changeset 7da060835810 2018-07-11 16:21:50 +01:00
erikj
1d80826df6 8206884: Bump update version for jdk11.0.1 cpu forest
Reviewed-by: tbell
2018-07-09 14:37:28 -07:00
sherman
d7785270e9 8206389: JarEntry.setCreation/LastAccessTime without setLastModifiedTime causes Invalid CEN header
Reviewed-by: alanb, martin
2018-07-09 13:08:30 -07:00
mchung
ee0356e4a7 8210502: jdeps does not handle properly on analyzing a mixture of MR JARs and non-MR JARs
Reviewed-by: alanb
2018-09-10 12:48:57 -07:00
iris
9ee918596f 8210775: JVM TI Spec missing copyright
Reviewed-by: dholmes, mchung, sspitsyn
2018-10-11 17:54:14 +01:00
henryjen
bc5e663bf4 Merge 2018-07-06 11:43:53 -07:00
henryjen
75028759fb 8206473: Revert changes of JDK-8202613 in jdk-cpu and jdk11u-cpu
Reviewed-by: xuelei
2018-07-06 09:15:34 -07:00
kaddepalli
7dee7512ff 8194546: Choosier FileManagers
Reviewed-by: serb, prr, rhalade, skoivu
2018-06-29 10:28:05 +05:30
henryjen
b2a316bf94 Merge 2018-06-26 13:50:05 -07:00
smarks
1f41d2d80b 8205491: adjust reflective access checks
Reviewed-by: alanb, mchung, igerasim, rhalade, ahgross
2018-06-22 17:08:00 -07:00
igerasim
80f913d4dc 8204667: Resources not freed on exception
Reviewed-by: skoivu, chegar
2018-06-20 18:02:22 -07:00
henryjen
f96c1f63c1 Merge 2018-06-18 22:08:06 -07:00
joehw
2c5c0cdd1e 8204497: Better formatting of decimals
Reviewed-by: rriggs, lancea, dfuchs, mschoene
2018-06-15 14:19:51 -07:00
valeriep
0fb6fa994f 8203654: Improve cypher state updates
Reviewed-by: ascarpino
2018-06-14 23:47:05 +00:00
henryjen
16e435b16c Merge 2018-06-11 16:30:22 -07:00
vtewari
e9daef9fa4 8199177: Enhance JNDI lookups
Reviewed-by: michaelm, robm, skoivu, rhalade, chegar, rriggs, ahgross
Contributed-by: vyom.tewari@oracle.com
2018-06-08 15:56:23 +05:30
vtewari
1598c2a93e 8200666: Improve LDAP support
Reviewed-by: rpatil, skoivu, rhalade, chegar, rriggs, mullan
Contributed-by: vyom.tewari@oracle.com
2018-06-07 18:21:29 +05:30
henryjen
f786455db4 Merge 2018-06-05 15:57:54 -07:00
apetcher
3ac71a8d87 8202613: Improve TLS connections stability
Reviewed-by: xuelei, wetmore
2018-06-01 13:02:31 -04:00
smarks
dd95580052 8197925: Better stack walking
Reviewed-by: alanb, skoivu, rriggs, igerasim, rhalade, darcy
2018-05-31 11:31:20 -07:00
henryjen
0684c1e697 Merge 2018-05-29 16:38:31 -07:00
bchristi
28c1511c1b 8195874: Improve jar specification adherence
Summary: Also reviewed by Chris Ries <chris.ries@oracle.com>
Reviewed-by: alanb, mchung, rriggs
2018-05-29 10:27:45 -07:00
henryjen
fdf04a8131 Merge 2018-05-21 15:59:37 -07:00
sundar
52140ddc30 8202936: Improve script engine support
Reviewed-by: jlaskey, ahgross, rhalade
2018-05-18 13:34:42 +05:30
henryjen
e008a044db Merge 2018-05-15 13:28:27 -07:00
hseigel
38c38362b4 8199226: Improve field accesses
Reviewed-by: acorn, ahgross, rhalade
Contributed-by: harold.seigel@oracle.com
2018-05-14 09:05:20 -04:00
henryjen
53cd4eb255 Merge 2018-05-08 21:18:38 -07:00
henryjen
0a6f8c2b03 Merge 2018-05-08 19:30:57 -07:00
henryjen
7fad94819d Merge 2018-04-30 21:11:51 -07:00
henryjen
5dafe6f9ee Merge 2018-04-23 21:05:55 -07:00
prr
eedb5110a3 8200648: Make midi code more sound
Reviewed-by: serb, mschoene, rhalade
2018-04-23 16:15:26 -07:00
apetcher
327c6e23b1 8201756: Improve cipher inputs
Summary: Clarify spec of CipherInputStream in Javadoc comments
Reviewed-by: ascarpino
2018-04-23 12:01:46 -04:00
weijun
0cbde8338c 8194534: Manifest better support
Reviewed-by: mchung, igerasim
2018-04-17 15:55:49 +08:00
henryjen
34d89fd061 Merge 2018-04-16 13:31:19 -07:00
apetcher
0f0d9c9b46 8200332: Improve GCM counting
Reviewed-by: ascarpino
2018-04-09 14:10:56 -04:00
sherman
16037bbf81 8199172: Improve jar attribute checks
Reviewed-by: psandoz, alanb
2018-04-04 13:55:30 -07:00
henryjen
5a733c7e85 Merge 2018-04-03 23:17:10 -07:00
vtewari
3088cceca6 8199110: Address Internet Addresses
Reviewed-by: chegar, rriggs, igerasim, skoivu, rhalade
2018-03-30 08:37:31 +05:30
sherman
846b8623de 8197881: Better StringBuilder support
Reviewed-by: rriggs
2018-03-28 08:42:45 -07:00
henryjen
3484d28dbd Merge 2018-03-26 11:22:25 -07:00
henryjen
c629f89826 Merge 2018-03-19 11:37:57 -07:00
sherman
6aea092774 8199547: Exception to Pattern Syntax
Reviewed-by: rriggs
2018-03-15 16:04:30 -07:00
henryjen
6c568845f2 Merge 2018-03-12 10:31:36 -07:00
weijun
f57cd2127c 8196897: Improve PRNG support
Reviewed-by: valeriep, mullan, igerasim
2018-03-08 14:04:39 +08:00
henryjen
176117027a Merge 2018-02-26 13:07:21 -08:00
henryjen
f6b6932cf6 Merge 2018-02-21 19:12:34 -08:00
asapre
8b751dcd05 8189985: Improve tabular data portability
Reviewed-by: dfuchs, mchung, skoivu
2018-02-14 15:36:59 +05:30
henryjen
097a808b68 Merge 2018-02-12 14:13:49 -08:00
apetcher
4dc831c49f 8197443: ArrayIndexOutOfBoundsException in UcryptoException.getError
Reviewed-by: mullan
2018-02-12 11:38:35 -05:00
henryjen
74a762bf79 Merge 2018-02-05 18:01:15 -08:00
henryjen
cec288559a Merge 2018-02-05 14:22:33 -08:00
igerasim
b6564ce596 8196224: Even better Internet address support
Reviewed-by: chegar, rriggs, rhalade, vtewari
2018-02-05 14:18:22 -08:00
smarks
a75a235455 8189981: Improve queuing portability
Reviewed-by: skoivu, rhalade, chegar, igerasim
2018-02-02 10:56:12 -08:00
serb
31d01c7d7c 8191239: Improve desktop file usage
Reviewed-by: prr, rhalade, aghaisas
2018-01-31 18:13:13 -08:00
henryjen
0c80a34131 Merge 2018-01-30 14:20:53 -08:00
prr
b677f0ea07 8196289: Update src/java.desktop/share/legal/lcms.md for LCMS 2.9
Reviewed-by: mchung
2018-01-26 12:01:08 -08:00
psandoz
ab89104c79 8194238: Trying exceptions in MethodHandles
Reviewed-by: jrose, vlivanov, ahgross
2018-01-24 16:44:31 -08:00
apetcher
390a55feeb 8193409: Improve AES supporting classes
Reviewed-by: valeriep
2018-01-23 11:18:11 -05:00
henryjen
21531ab68c Merge 2018-01-22 22:34:28 -08:00
henryjen
23a92ca0c5 Merge 2018-01-22 22:32:20 -08:00
psandoz
e4d29f7c80 8194233: Improve support for array handles
Reviewed-by: jrose, vlivanov, ahgross, rhalade
2018-01-22 13:27:28 -08:00
igerasim
dbde1c8867 8175075: Add 3DES to the default disabled algorithm security property
Reviewed-by: xuelei, mullan, rhalade
2018-01-19 11:24:39 -08:00
kbarrett
940cc89d7c 8192025: Less referential references
Reviewed-by: coleenp, eosterlund, mchung, ahgross, rhalade
2018-01-18 22:17:11 -05:00
vtewari
0d5803ff05 8193419: Better Internet address support
Reviewed-by: chegar, rriggs, igerasim, skoivu, rhalade
2018-01-18 13:55:26 +05:30
joehw
98403cc35d 8189993: Improve document portability
Reviewed-by: rriggs, lancea, dfuchs, skoivu
2018-01-17 22:24:46 -08:00
weijun
fd359e7be8 8195662: Add T6587786.java to problem list before JDK-8195589 is resolved
Reviewed-by: mullan, jjg
2018-01-18 11:03:30 +08:00
henryjen
57549e1710 Merge 2018-01-17 13:37:04 -08:00
weijun
71f67597b5 8189997: Enhance keystore mechanisms
8194259: keytool error: java.io.IOException: Invalid secret key format
Reviewed-by: mullan, valeriep, rriggs, ahgross
2018-01-12 08:06:24 +08:00
rriggs
c3d17fbe2e 8192757: Improve stub classes implementation
Reviewed-by: dfuchs, rhalade, ahgross, skoivu
2018-01-10 16:19:43 -05:00
henryjen
a74dc22d8c Merge 2018-01-08 23:00:45 -08:00
serb
8221cf8f44 8191696: Better mouse positioning
Reviewed-by: skoivu, rhalade, prr, aghaisas
2018-01-03 09:05:11 -08:00
apetcher
f93adcbed4 8182362: Update CipherOutputStream Usage
Summary: Clarify spec of CipherOutputStream in Javadoc comments
Reviewed-by: ascarpino
2018-01-02 09:23:01 -05:00
psandoz
3a3d1bec13 8193414: Improvements in MethodType lookups
Reviewed-by: ahgross, jrose
2017-12-12 16:37:39 -08:00
mullan
c19608e77c 8186032: Disable XML Signatures signed with EC keys less than 224 bits
Reviewed-by: weijun, rhalade
2017-12-15 10:42:25 -05:00
weijun
e01962d9b6 8189969: Manifest better manifest entries
Reviewed-by: mullan
2017-12-14 08:21:36 +08:00
serb
d20d26b050 8192030: Better MTSchema support
Reviewed-by: skoivu, rhalade, prr, aghaisas
2017-12-10 15:29:26 -08:00
mullan
42f3899284 8191358: Restore TSA certificate expiration check
Reviewed-by: coffeys, rhalade
2017-12-08 09:37:28 -05:00
igerasim
8be6d7874e 8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile
Reviewed-by: mullan, ahgross
2017-12-07 12:25:09 -08:00
igerasim
8371f06bc6 8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain
Reviewed-by: weijun, mullan, ahgross
2017-12-07 11:21:47 -08:00
prr
5a71fae39e 8183032: Upgrade to LittleCMS 2.9
Reviewed-by: serb, psadhukhan, mschoene, rhalade
2017-12-06 14:35:58 -08:00
weijun
e1eda1d3c9 8189977: Improve permission portability
Reviewed-by: rriggs
2017-12-06 21:17:19 +08:00
hseigel
5bf285c17e 8190478: Improved interface method selection
Reviewed-by: acorn, ahgross, jwilhelm, rhalade
Contributed-by: harold.seigel@oracle.com
2017-12-05 09:59:36 -05:00
vtewari
7b86de7b86 8191142: More refactoring for naming deserialization cases
Reviewed-by: chegar, rriggs
2017-11-29 13:56:06 +05:30
smarks
244ca917ab 8189284: More refactoring for deserialization cases
Reviewed-by: rriggs, igerasim, rhalade, skoivu
2017-11-27 17:30:49 -08:00
mdoerr
fb444dd6e9 8191907: PPC64 and s390 parts of JDK-8174962: Better interface invocations
Reviewed-by: goetz
2017-11-28 01:08:26 +03:00
thartmann
5b8ace4f45 8190877: Better handling of abstract classes
Reviewed-by: kvn, vlivanov, rhalade, ahgross, jwilhelm
Contributed-by: tobias.hartmann@oracle.com
2017-11-16 12:03:42 -05:00
serb
9b620a16c1 8189989: Improve container portability
Reviewed-by: prr, azvegint, rhalade, skoivu
2017-11-15 07:07:16 -08:00
hseigel
0160750dfa 8189123: More consistent classloading
Reviewed-by: acorn, ahgross, rhalade
Contributed-by: harold.seigel@oracle.com
2017-11-07 16:07:36 -05:00
serb
7a67044595 8190289: More refactoring for client deserialization cases
Reviewed-by: prr, azvegint, rhalade, skoivu
2017-11-06 10:24:42 -08:00
weijun
1b1fa3188a 8190789: sun/security/provider/certpath/LDAPCertStore/TestURICertStoreParameters.java fails after JDK-8186606
Reviewed-by: mullan
2017-11-06 22:09:04 +08:00
weijun
b8bd5779b0 8186606: Improve LDAP lookup robustness
Reviewed-by: mullan, skoivu, ahgross
2017-11-04 08:56:01 +08:00
joehw
3ad25e799e 8190227: Forward port 8188880 to JDK10CPU
Reviewed-by: dfuchs, lancea, rriggs
2017-10-31 11:35:15 -07:00
xuelei
907a6e29b8 8163237: Restrict the use of EXPORT cipher suites
Reviewed-by: mullan, igerasim, rhalade, jnimeh
2017-10-31 00:54:53 +00:00
apetcher
69503a83fc 8185292: Stricter key generation
Reviewed-by: mullan
2017-10-24 09:58:27 -04:00
weijun
6de291790e 8186600: Improve property negotiations
Reviewed-by: valeriep, ahgross, mullan
2017-10-18 10:43:58 +08:00
serb
e601d82122 8185325: Improve GTK initialization
Reviewed-by: azvegint, rhalade, mschoene
2017-10-02 11:04:01 -07:00
joehw
78bc37111f 8186080: Transform XML interfaces
Reviewed-by: dfuchs, lancea, rriggs
2017-10-04 10:33:08 -07:00
uvangapally
c5c51870d1 8186998: Improve JMX supportive features
Summary: Improve JMX supportive features
Reviewed-by: mchung, dfuchs, rriggs, hb, skoivu, rhalade
2017-09-25 19:44:28 +05:30
weijun
fcdfddca6f 8178458: Better use of certificates in LDAP
Reviewed-by: vinnie, asmotrak
2017-09-14 07:45:53 +08:00
vinnie
58ee4f83bf 8181670: Improve implementation of keystores
Reviewed-by: mullan
2017-09-05 15:53:33 +01:00
vinnie
4e42a66e4b 8178449: Improve LDAP logins
Reviewed-by: mullan, asmotrak
2017-09-04 19:33:44 +01:00
valeriep
caac8a3001 8178466: Better RSA parameters
Reviewed-by: mullan, ahgross
2017-08-31 21:44:19 +00:00
valeriep
2fc2a0e275 8186212: Improve GSS handling
Reviewed-by: weijun, ahgross
2017-08-24 19:18:51 +00:00
naoto
aeafbbb0a3 8182601: Improve usage messages
Reviewed-by: alanb, ahgross, ksrini, mchung
2017-08-08 10:43:07 -07:00
apetcher
185abbac66 8182387: Improve PKCS usage
Reviewed-by: valeriep
2017-07-28 18:20:43 +00:00
vtewari
2570465231 8182125: Improve reliability of DNS lookups
Reviewed-by: chegar, rriggs, dfuchs
2017-07-23 10:33:13 +05:30
apetcher
5be701c685 8174756: Extra validation for public keys
Reviewed-by: valeriep
2017-07-04 01:52:53 +00:00
prr
2309074396 8180877: More deeply colored ICC spaces
Reviewed-by: serb, rhalade, mschoene
2017-06-29 11:53:19 -07:00
jlaskey
b241c3eed2 8180869: Cleaner image file reading handling
Reviewed-by: ahgross, rriggs, rhalade
Contributed-by: james.laskey@oracle.com
2017-06-05 12:36:15 -03:00
serb
c2b8247563 8180015: Cleaner AWT robot handling
Reviewed-by: prr, mschoene, rhalade
2017-06-01 15:15:26 -07:00
serb
d9bad0aaa8 8179990: Cleaner palette entry handling
Reviewed-by: prr, mschoene, rhalade
2017-05-17 18:22:54 -07:00
prr
f51770e6b8 8180011: Cleaner native graphics device handling
Reviewed-by: serb, mschoene, rhalade
2017-05-17 14:57:10 -07:00
prr
66f9be5fc1 8179533: Cleaner print job handling
Reviewed-by: serb, mschoene, rhalade
2017-05-17 14:52:09 -07:00
apetcher
de873cd587 8172525: Improve key keying case
Reviewed-by: mullan, valeriep, rhalade, ahgross
2017-04-28 10:17:46 -04:00
psadhukhan
2d15dc1bb5 8176450: Revise default document styling
Reviewed-by: prr, serb, mschoene
2017-03-23 10:52:00 +05:30
rprotacio
f2f8e940e8 8181664: Improve JVM UTF String handling
Reviewed-by: mschoene, coleenp, rhalade, acorn, gtriantafill
Contributed-by: rachel.protacio@oracle.com
2017-06-12 13:58:09 -04:00
vlivanov
bb48a3f04f 8174962: Better interface invocations
Reviewed-by: jrose, coleenp, ahgross, acorn, iignatyev
2017-05-26 18:39:27 +03:00
rprotacio
46c6dd5e71 8180020: Improve SymbolHashMap entry handling
Reviewed-by: mschoene, coleenp, rhalade
Contributed-by: rachel.protacio@oracle.com
2017-05-25 15:39:32 -04:00
hseigel
a9792e0529 8175932: Improve host instance supports
Reviewed-by: coleenp, mschoene
Contributed-by: harold.seigel@oracle.com
2017-03-20 13:05:00 -04:00
msheppar
189946f2a3 8160104: CORBA communication improvements
Reviewed-by: rriggs, dfuchs
2017-09-03 16:08:13 +01:00
18417 changed files with 833785 additions and 662017 deletions

20
.gitignore vendored
View File

@@ -1,15 +1,5 @@
/build/
/dist/
/.idea/
nbproject/private/
/webrev
/.src-rev
/.jib/
.DS_Store
.metadata/
.recommenders/
test/nashorn/script/external
test/nashorn/lib
NashornProfile.txt
**/JTreport/**
**/JTwork/**
JTwork
JTreport
*.class
.idea/workspace.xml
build/

91
.hgtags
View File

@@ -490,62 +490,55 @@ a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
64e4b1686141e57a681936a8283983341484676e jdk-11+17
e1b3def126240d5433902f3cb0e91a4c27f6db50 jdk-11+18
fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
36ca515343e00b021dcfc902e986d26ec994a2e5 jdk-11+19
95aad0c785e497f1bade3955c4e4a677b629fa9d jdk-12+0
9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
00b16d0457e43d23f6ca5ade6b243edce62750a0 jdk-12+1
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
990db216e7199b2ba9989d8fa20b657e0ca7d969 jdk-12+3
ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
499b873761d8e8a1cc4aa649daf04cbe98cbce77 jdk-12+4
331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
f8696e0ab9b795030429fc3374ec03e378fd9ed7 jdk-12+5
945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
7939b3c4e4088bf4f70ec5bbd8030393b653372f jdk-12+6
9d7d74c6f2cbe522e39fa22dc557fdd3f79b32ad jdk-11+27
ef57958c7c511162da8d9a75f0b977f0f7ac464e jdk-12+7
76072a077ee1d815152d45d1692c4b36c53c5c49 jdk-11+28
492b366f8e5784cc4927c2c98f9b8a3f16c067eb jdk-12+8
31b159f30fb281016c5f0c103552809aeda84063 jdk-12+9
8f594f75e0547d4ca16649cb3501659e3155e81b jdk-12+10
f0f5d23449d31f1b3580c8a73313918cafeaefd7 jdk-12+11
15094d12a632f452a2064318a4e416d0c7a9ce0c jdk-12+12
511a9946f83e3e3c7b9dbe1840367063fb39b4e1 jdk-12+13
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
6f04692c7d5137ee34a6bd94c0c8a6c9219cb127 jdk-12+14
f8626bcc169813a4b2a15880386b952719d1d6d1 jdk-12+15
199658d1ef860cdc17055b4fd3e94b057f292fe9 jdk-12+16
eefa65e142af305923d2adcd596fab9c639723a1 jdk-12+17
e38473506688e0995e701fc7f77d5a91b438ef93 jdk-12+18
dc1f9dec2018a37fedba47d8a2aedef99faaec64 jdk-12+19
40098289d5804c3b5e7074bc75501a81e70d9b0d jdk-12+20
f8fb0c86f2b3d24294d39c5685a628e1beb14ba7 jdk-12+21
732bec44c89e8b93a38296bf690f97b7230c5b6d jdk-12+22
eef755718cb24813031a842bbfc716a6cea18e9a jdk-12+23
cc4098b3bc10d1c390384289025fea7b0d4b9e93 jdk-13+0
7d4397b43fa305806160785a4c7210600d59581a jdk-12+24
11033c4ada542f9c9a873314b6ecf60af19e8256 jdk-13+1
7496df94b3b79f3da53925d2d137317715f11d97 jdk-12+25
50677f43ac3df9a8684222b8893543c60f3aa0bd jdk-13+2
de9fd809bb475401aad188eab2264226788aad81 jdk-12+26
642346a11059b9f283110dc301a24ed43b76a94e jdk-13+3
f15d443f97318e9b40e6f451e327ff69ed4ec361 jdk-12+27
a47b8125b7cc9ef59619745c163975fe935b57ed jdk-13+4
659b004b6a1bd8c31e766cbdf328d8f8473fd4d7 jdk-12+28
e3ed960609927b5fdfd0a797159835cd83a81a31 jdk-13+5
44f41693631f9b5ac78ff4d2bfabd6734fe46df2 jdk-12+29
b5f05fe4a6f8b3996a000c20078b356d991ca8ec jdk-13+6
6c377af36a5c4203f16aed8a5e4c2ecc08fcd8bd jdk-12+30
021917019cda1c0c5853255322274f37693a2431 jdk-13+7
b5f7bb57de2f797be34f6c75d45c3245ad37ab97 jdk-12+31
a535ba736cabc6886acdff36de3a096c46e5ddc5 jdk-13+8
4ce47bc1fb92cf94c6e3d1f49d582f02dcb851ab jdk-12+32
c081f3ea6b9300265a4a34e38f970b1e3ddaae9f jdk-13+9
b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 jdk-12+33
8e069f7b4fabfe05d9f500783e6d56cb0196d25c jdk-13+10
21ea4076a275a0f498afa517e9ee1b94a9cf0255 jdk-13+11
1d7aec80147a6d92b101a76aef92f3ddc88bedf4 jdk-13+12
c01cc45790f871adec30acc90742b521d57a2fff jdk-11.0.1+0
1353ec839c82de926bfacd2c7976b6b652d4afb0 jdk-11.0.1+1
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
0000000000000000000000000000000000000000 jdk-11.0.1+2
fc55f0667af5ea3b21e40a59e2a88b1b82e65e62 jdk-11.0.1+2
781b5d8f2f75ae4dfdafc85630e5dbd31e324ed1 jdk-11.0.1+3
b5b1dd7e6f9d86aedf7141e9279342fae257bd67 jdk-11.0.1+4
d6efeebf554c918bfab50f89939eb11121e18432 jdk-11.0.1+5
db768cfe2141b3eb9ef53d7104002a0532c8c977 jdk-11.0.1+6
88a221c0bad0cee441767106776628550d660a82 jdk-11.0.1+7
c2b23a17d3ff92235aed8e8d04642d7a6eaecf54 jdk-11.0.1+8
adb9933aa8c68e6dec6b441133f3955fe7366206 jdk-11.0.1+9
a86e14193fc8ea98835fd3e2f867447164c7af53 jdk-11.0.1+10
0343f9aacae2d4a9e6df4e61087837166a6a477c jdk-11.0.1+11
c0431cf9c38e5c56eedc680e007a94c4279a8f13 jdk-11.0.1+12
8513ac27b65198d2e6562fb7da6e9c99b9fdcf51 jdk-11.0.1+13
7da060835810b5fbd4a7493ea1c98e9a4338f30d jdk-11.0.2+0
2be95a1bf50877cafba791c2f342953bd4a6412e jdk-11.0.2+1
b4b16f510f48e2dd4bea007b60fddf69af0f6c10 jdk-11.0.2+2
8a8606a3bdf2dbe0698bef375e6a4b47df0efb1a jdk-11.0.2+3
0db90dec8c39bc38058afa11b7fda607ee259d01 jdk-11.0.2+4
ff1f7723c4e88822fd60bcacd55824e1d3da6d36 jdk-11.0.2+5
c6fd7ff3e96f3e6f4913d026a90c6c454a7a35c8 jdk-11.0.2+6
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2+7
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
fe85e2f43a1c893cb410308106b0f31b814aebb8 jdk-11.0.2+8
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2+9
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
0000000000000000000000000000000000000000 jdk-11.0.2-ga
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2-ga
98e7354165d3a2443a8b845a5a526cc55d1b0dd7 jdk-11.0.3+0
cd1c042181e934a1a91f9ee59a0066f64c8bad7a jdk-11.0.3+1
9de3f198995c6c384fd6431c97089c311ec6a7ff jdk-11.0.3+2
d17a1764a0f318ab72beadb589c998d40951493a jdk-11.0.3+3
43d6759c3b2e36c1118e9753a080372294e1f17a jdk-11.0.3+4
c9865fee1a6d39a7bd2a5313f54c812d9a0852f5 jdk-11.0.3+5
8e139b8b4f62c0a1c4b13fa216f6fd975df81c1c jdk-11.0.3+6
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3+7
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3-ga

5
.idea/codeStyles/Project.xml generated Normal file
View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="LINE_SEPARATOR" value="&#10;" />
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

9
.idea/copyright/JetBrains.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

3
.idea/copyright/profiles_settings.xml generated Normal file
View File

@@ -0,0 +1,3 @@
<component name="CopyrightManager">
<settings default="JetBrains" />
</component>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,2 +1,2 @@
project=jdk
project=jdk10
bugids=dup

60
README.md Normal file
View File

@@ -0,0 +1,60 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Downloads
|Windows-x64 |macOS |Linux-x64 |
|-------------|-------------|-------------|
|<a href="https://bintray.com/jetbrains/intellij-jdk/openjdk9-windows-x64/_latestVersion"> <img src="https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk9-windows-x64/images/download.svg"/></a>|<a href="https://bintray.com/jetbrains/intellij-jdk/openjdk9-osx-x64/_latestVersion"> <img src="https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk9-osx-x64/images/download.svg"/></a>|<a href="https://bintray.com/jetbrains/intellij-jdk/openjdk9-linux-x64/_latestVersion"><img src="https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk9-linux-x64/images/download.svg"/></a>|
# How JetBrains Runtime is organised
## Workspaces
[github.com/JetBrains/JetBrainsRuntime](https://github.com/JetBrains/JetBrainsRuntime)
## Getting sources
__OSX, Linux:__
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
__Windows:__
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
# Configure Local Build Environment
## Linux (docker)
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
## Linux (Ubuntu 18.10 desktop)
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev install libcups2-dev libfontconfig1-dev libasound2-dev
$ cd JetBrainsRuntime
$ sh ./configure --disable-warnings-as-errors
$ make images
```
## Windows
#### TBD
## OSX
#### TBD
## Contribution
We will be happy to receive your pull requests. Before you submit one, please sign our Contributor License Agreement (CLA) https://www.jetbrains.com/agreements/cla/

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@ do
;;
-o | --output )
IDEA_OUTPUT=$2/.idea
IDEA_OUTPUT=$2
shift
;;
@@ -64,25 +64,28 @@ do
shift
done
mkdir -p $IDEA_OUTPUT || exit 1
mkdir $IDEA_OUTPUT || exit 1
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd $SCRIPT_DIR/..
TOPLEVEL_DIR=`pwd`
cd $IDEA_OUTPUT
fi
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/idea"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
#override template
#init template variables
for file in `ls -p $IDEA_TEMPLATE | grep -v /`; do
VAR_SUFFIX=`echo $file | cut -d'.' -f1 | tr [:lower:] [:upper:]`
eval "$VAR_SUFFIX"_TEMPLATE="$IDEA_TEMPLATE"/$file
eval IDEA_"$VAR_SUFFIX"="$IDEA_OUTPUT"/$file
done
#override template variables
if [ -d "$TEMPLATES_OVERRIDE" ] ; then
for file in `ls -p "$TEMPLATES_OVERRIDE" | grep -v /`; do
cp "$TEMPLATES_OVERRIDE"/$file "$IDEA_OUTPUT"/
VAR_SUFFIX=`echo $file | cut -d'.' -f1 | tr [:lower:] [:upper:]`
eval "$VAR_SUFFIX"_TEMPLATE="$TEMPLATES_OVERRIDE"/$file
done
fi
@@ -91,6 +94,14 @@ if [ "$VERBOSE" = "true" ] ; then
echo "idea template dir: $IDEA_TEMPLATE"
fi
if [ ! -f "$JDK_TEMPLATE" ] ; then
echo "FATAL: cannot find $JDK_TEMPLATE" >&2; exit 1
fi
if [ ! -f "$ANT_TEMPLATE" ] ; then
echo "FATAL: cannot find $ANT_TEMPLATE" >&2; exit 1
fi
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" || exit 1
cd $SCRIPT_DIR
@@ -113,62 +124,94 @@ if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
### Replace template variables
SOURCE_FOLDER=" <sourceFolder url=\"file://\$MODULE_DIR\$/####\" isTestSource=\"false\" />"
SOURCE_FOLDERS_DONE="false"
NUM_REPLACEMENTS=0
replace_template_file() {
for i in $(seq 1 $NUM_REPLACEMENTS); do
eval "sed \"s|\${FROM${i}}|\${TO${i}}|g\" $1 > $1.tmp"
mv $1.tmp $1
done
addSourceFolder() {
root=$@
relativePath="`echo "$root" | sed -e s@"$TOP/\(.*$\)"@"\1"@`"
folder="`echo "$SOURCE_FOLDER" | sed -e s@"\(.*/\)####\(.*\)"@"\1$relativePath\2"@`"
printf "%s\n" "$folder" >> $IDEA_JDK
}
replace_template_dir() {
for f in `find $1 -type f` ; do
replace_template_file $f
done
}
### Generate project iml
add_replacement() {
NUM_REPLACEMENTS=`expr $NUM_REPLACEMENTS + 1`
eval FROM$NUM_REPLACEMENTS='$1'
eval TO$NUM_REPLACEMENTS='$2'
}
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" = "x" ]; then
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
else
add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`cygpath -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`"
rm -f $IDEA_JDK
while IFS= read -r line
do
if echo "$line" | egrep "^ .* <sourceFolder.*####" > /dev/null ; then
if [ "$SOURCE_FOLDERS_DONE" = "false" ] ; then
SOURCE_FOLDERS_DONE="true"
for root in $MODULE_ROOTS; do
addSourceFolder $root
done
fi
fi
else
printf "%s\n" "$line" >> $IDEA_JDK
fi
done < "$JDK_TEMPLATE"
SOURCE_PREFIX="<sourceFolder url=\"file://"
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
for root in $MODULE_ROOTS; do
if [ "x$CYGPATH" != "x" ]; then
root=`cygpath -am $root`
fi
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
done
MODULE_NAME=" <property name=\"module.name\" value=\"####\" />"
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
addModuleName() {
mn="`echo "$MODULE_NAME" | sed -e s@"\(.*\)####\(.*\)"@"\1$MODULE_NAMES\2"@`"
printf "%s\n" "$mn" >> $IDEA_ANT
}
replace_template_dir "$IDEA_OUTPUT"
BUILD_DIR=" <property name=\"build.target.dir\" value=\"####\" />"
addBuildDir() {
DIR=`dirname $SPEC`
mn="`echo "$BUILD_DIR" | sed -e s@"\(.*\)####\(.*\)"@"\1$DIR\2"@`"
printf "%s\n" "$mn" >> $IDEA_ANT
}
### Generate ant.xml
rm -f $IDEA_ANT
while IFS= read -r line
do
if echo "$line" | egrep "^ .* <property name=\"module.name\"" > /dev/null ; then
addModuleName
elif echo "$line" | egrep "^ .* <property name=\"build.target.dir\"" > /dev/null ; then
addBuildDir
else
printf "%s\n" "$line" >> $IDEA_ANT
fi
done < "$ANT_TEMPLATE"
### Generate misc.xml
rm -f $IDEA_MISC
JTREG_HOME=" <path>####</path>"
IMAGES_DIR=" <jre alt=\"true\" value=\"####\" />"
addImagesDir() {
DIR=`dirname $SPEC`/images/jdk
mn="`echo "$IMAGES_DIR" | sed -e s@"\(.*\)####\(.*\)"@"\1$DIR\2"@`"
printf "%s\n" "$mn" >> $IDEA_MISC
}
addJtregHome() {
DIR=`dirname $SPEC`
mn="`echo "$JTREG_HOME" | sed -e s@"\(.*\)####\(.*\)"@"\1$JT_HOME\2"@`"
printf "%s\n" "$mn" >> $IDEA_MISC
}
rm -f $MISC_ANT
while IFS= read -r line
do
if echo "$line" | egrep "^ .*<path>jtreg_home</path>" > /dev/null ; then
addJtregHome
elif echo "$line" | egrep "^ .*<jre alt=\"true\" value=\"images_jdk\"" > /dev/null ; then
addImagesDir
else
printf "%s\n" "$line" >> $IDEA_MISC
fi
done < "$MISC_TEMPLATE"
### Compile the custom Logger

View File

@@ -1,24 +1,19 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<html>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Building the JDK</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
</head>
<body>
<header id="title-block-header">
<header>
<h1 class="title">Building the JDK</h1>
</header>
<nav id="TOC">
@@ -31,8 +26,7 @@
<li><a href="#build-hardware-requirements">Build Hardware Requirements</a><ul>
<li><a href="#building-on-x86">Building on x86</a></li>
<li><a href="#building-on-sparc">Building on sparc</a></li>
<li><a href="#building-on-aarch64">Building on aarch64</a></li>
<li><a href="#building-on-32-bit-arm">Building on 32-bit arm</a></li>
<li><a href="#building-on-armaarch64">Building on arm/aarch64</a></li>
</ul></li>
<li><a href="#operating-system-requirements">Operating System Requirements</a><ul>
<li><a href="#windows">Windows</a></li>
@@ -74,12 +68,10 @@
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
<li><a href="#specifying-the-target-platform">Specifying the Target Platform</a></li>
<li><a href="#toolchain-considerations">Toolchain Considerations</a></li>
<li><a href="#native-libraries">Native Libraries</a></li>
<li><a href="#creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</a></li>
<li><a href="#building-for-armaarch64">Building for ARM/aarch64</a></li>
<li><a href="#verifying-the-build">Verifying the Build</a></li>
</ul></li>
@@ -99,7 +91,7 @@
<li><a href="#getting-help">Getting Help</a></li>
</ul></li>
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
<li><a href="#setting-up-a-repository-for-pushing-changes-defpath">Setting Up a Repository for Pushing Changes (defpath)</a></li>
<li><a href="#setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</a></li>
<li><a href="#bash-completion">Bash Completion</a></li>
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
<li><a href="#handling-reconfigurations">Handling Reconfigurations</a></li>
@@ -137,7 +129,7 @@
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<h2 id="getting-the-source-code">Getting the Source Code</h2>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner's Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
<h3 id="special-considerations">Special Considerations</h3>
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
@@ -145,7 +137,7 @@
<li><p>Do not check out the source code in a path which contains spaces. Chances are the build will not work. This is most likely to be an issue on Windows systems.</p></li>
<li><p>Do not check out the source code in a path which has a very long name or is nested many levels deep. Chances are you will hit an OS limitation during the build.</p></li>
<li><p>Put the source code on a local disk, not a network share. If possible, use an SSD. The build process is very disk intensive, and having slow disk access will significantly increase build times. If you need to use a network share for the source code, see below for suggestions on how to keep the build artifacts on a local disk.</p></li>
<li><p>On Windows, if using <a href="#cygwin">Cygwin</a>, extra care must be taken to make sure the environment is consistent. It is recommended that you follow this procedure:</p>
<li><p>On Windows, extra care must be taken to make sure the <a href="#cygwin">Cygwin</a> environment is consistent. It is recommended that you follow this procedure:</p>
<ul>
<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it's children will inherit those attributes.</p></li>
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
@@ -161,10 +153,7 @@
<p>Even for 32-bit builds, it is recommended to use a 64-bit build machine, and instead create a 32-bit target using <code>--with-target-bits=32</code>.</p>
<h3 id="building-on-sparc">Building on sparc</h3>
<p>At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The more cores to use, the more memory you need.) At least 8 GB of free disk space is required.</p>
<h3 id="building-on-aarch64">Building on aarch64</h3>
<p>At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
<p>If you do not have access to sufficiently powerful hardware, it is also possible to use <a href="#cross-compiling">cross-compiling</a>.</p>
<h3 id="building-on-32-bit-arm">Building on 32-bit arm</h3>
<h3 id="building-on-armaarch64">Building on arm/aarch64</h3>
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
<h2 id="operating-system-requirements">Operating System Requirements</h2>
<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate &quot;port&quot; projects.</p>
@@ -201,12 +190,12 @@
<h3 id="windows">Windows</h3>
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
<p><strong>Note:</strong> Cygwin has a model of continuously updating all packages without any easy way to install or revert to a specific version of a package. This means that whenever you add or update a package in Cygwin, you might (inadvertently) update tools that are used by the JDK build process, and that can cause unexpected build problems.</p>
<p>The JDK requires GNU Make 4.0 or greater in Cygwin. This is usually not a problem, since Cygwin currently only distributes GNU Make at a version above 4.0.</p>
<p>The JDK requires GNU Make 4.0 or greater on Windows. This is usually not a problem, since Cygwin currently only distributes GNU Make at a version above 4.0.</p>
<p>Apart from the basic Cygwin installation, the following packages must also be installed:</p>
<ul>
<li><code>autoconf</code></li>
@@ -217,11 +206,6 @@
<p>Often, you can install these packages using the following command line:</p>
<pre><code>&lt;path to Cygwin setup&gt;/setup-x86_64 -q -P autoconf -P make -P unzip -P zip</code></pre>
<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">&quot;BLODA&quot; list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
<h4 id="windows-subsystem-for-linux-wsl">Windows Subsystem for Linux (WSL)</h4>
<p>Windows 10 1809 or newer is supported due to a dependency on the wslpath utility and support for environment variable sharing through WSLENV. Version 1803 can work but intermittent build failures have been observed.</p>
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
<p>If building Windows binaries, the source code must be located in a Windows- accessible directory. This is because Windows executables (such as Visual Studio and the boot JDK) must be able to access the source code. Also, the drive where the source is stored must be mounted as case-insensitive by changing either /etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected using the fsutil tool in case the source was cloned before changing the mount options.</p>
<p>Note that while it's possible to build on WSL, testing is still not fully supported.</p>
<h3 id="solaris">Solaris</h3>
<p>See <code>make/devkit/solaris11.1-package-list.txt</code> for a list of recommended packages to install when building on Solaris. The versions specified in this list is the versions used by the daily builds at Oracle, and is likely to work properly.</p>
<p>Older versions of Solaris shipped a broken version of <code>objcopy</code>. At least version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is needed if you want to have external debug symbols. Please make sure you are using at least version 2.21.1 of objcopy, or that you disable external debug symbols.</p>
@@ -237,7 +221,7 @@
<p>For rpm-based distributions (Fedora, Red Hat, etc), try this:</p>
<pre><code>sudo yum groupinstall &quot;Development Tools&quot;</code></pre>
<h3 id="aix">AIX</h3>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of AIX are supported.</p>
<p>The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also supported. See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
<h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requirements</h2>
<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there's more or less a one-to-one correlation between target operating system and toolchain.</p>
<table>
@@ -373,7 +357,8 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p>
<p>The regular builds by SAP is using version 12.1, described as <code>IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017</code>.</p>
<p>See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
<h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the &quot;boot JDK&quot;. The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to &quot;build itself&quot;, so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you've got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
@@ -405,9 +390,9 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="x11">X11</h3>
<p>Certain <a href="http://www.x.org/">X11</a> libraries and include files are required on Linux and Solaris.</p>
<ul>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel</code>.</li>
<li>To install on Solaris, try running <code>pkg install x11/header/x11-protocols x11/library/libice x11/library/libpthread-stubs x11/library/libsm x11/library/libx11 x11/library/libxau x11/library/libxcb x11/library/libxdmcp x11/library/libxevie x11/library/libxext x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver x11/library/libxtst x11/library/toolkit/libxt</code>.</li>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel</code>.</li>
<li>To install on Solaris, try running <code>pkg install x11/header/x11-protocols x11/library/libice x11/library/libpthread-stubs x11/library/libsm x11/library/libx11 x11/library/libxau x11/library/libxcb x11/library/libxdmcp x11/library/libxevie x11/library/libxext x11/library/libxrender x11/library/libxscrnsaver x11/library/libxtst x11/library/toolkit/libxt</code>.</li>
</ul>
<p>Use <code>--with-x=&lt;path&gt;</code> if <code>configure</code> does not properly locate your X11 files.</p>
<h3 id="alsa">ALSA</h3>
@@ -473,10 +458,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<li><code>--with-jvm-features=&lt;feature&gt;[,&lt;feature&gt;...]</code> - Use the specified JVM features when building Hotspot. The list of features will be enabled on top of the default list. For the <code>custom</code> JVM variant, this default list is empty. A complete list of available JVM features can be found using <code>bash configure --help</code>.</li>
<li><code>--with-target-bits=&lt;bits&gt;</code> - Create a target binary suitable for running on a <code>&lt;bits&gt;</code> platform. Use this to create 32-bit output on a 64-bit build platform, instead of doing a full cross-compile. (This is known as a <em>reduced</em> build.)</li>
</ul>
<p>On Linux, BSD and AIX, it is possible to override where Java by default searches for runtime/JNI libraries. This can be useful in situations where there is a special shared directory for system JNI libraries. This setting can in turn be overriden at runtime by setting the <code>java.library.path</code> property.</p>
<ul>
<li><code>--with-jni-libpath=&lt;path&gt;</code> - Use the specified path as a default when searching for runtime libraries.</li>
</ul>
<h4 id="configure-arguments-for-native-compilation">Configure Arguments for Native Compilation</h4>
<ul>
<li><code>--with-devkit=&lt;path&gt;</code> - Use this devkit for compilers, tools and resources</li>
@@ -584,47 +565,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>This requires a more complex setup and build procedure. This section assumes you are familiar with cross-compiling in general, and will only deal with the particularities of cross-compiling the JDK. If you are new to cross-compiling, please see the <a href="https://en.wikipedia.org/wiki/Cross_compiler#External_links">external links at Wikipedia</a> for a good start on reading materials.</p>
<p>Cross-compiling the JDK requires you to be able to build both for the build platform and for the target platform. The reason for the former is that we need to build and execute tools during the build process, both native tools and Java tools.</p>
<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it's a lot more work and will take much longer to build.)</p>
<h3 id="cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</h3>
<p>The OpenJDK build system provides out-of-the box support for creating and using so called devkits. A <code>devkit</code> is basically a collection of a cross-compiling toolchain and a sysroot environment which can easily be used together with the <code>--with-devkit</code> configure option to cross compile the OpenJDK. On Linux/x86_64, the following command:</p>
<pre><code>bash configure --with-devkit=&lt;devkit-path&gt; --openjdk-target=ppc64-linux-gnu &amp;&amp; make</code></pre>
<p>will configure and build OpenJDK for Linux/ppc64 assuming that <code>&lt;devkit-path&gt;</code> points to a Linux/x86_64 to Linux/ppc64 devkit.</p>
<p>Devkits can be created from the <code>make/devkit</code> directory by executing:</p>
<pre><code>make [ TARGETS=&quot;&lt;TARGET_TRIPLET&gt;+&quot; ] [ BASE_OS=&lt;OS&gt; ] [ BASE_OS_VERSION=&lt;VER&gt; ]</code></pre>
<p>where <code>TARGETS</code> contains one or more <code>TARGET_TRIPLET</code>s of the form described in <a href="https://sourceware.org/autobook/autobook/autobook_17.html">section 3.4 of the GNU Autobook</a>. If no targets are given, a native toolchain for the current platform will be created. Currently, at least the following targets are known to work:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p><code>BASE_OS</code> must be one of &quot;OEL6&quot; for Oracle Enterprise Linux 6 or &quot;Fedora&quot; (if not specified &quot;OEL6&quot; will be the default). If the base OS is &quot;Fedora&quot; the corresponding Fedora release can be specified with the help of the <code>BASE_OS_VERSION</code> option (with &quot;27&quot; as default version). If the build is successful, the new devkits can be found in the <code>build/devkit/result</code> subdirectory:</p>
<pre><code>cd make/devkit
make TARGETS=&quot;ppc64le-linux-gnu aarch64-linux-gnu&quot; BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>Notice that devkits are not only useful for targeting different build platforms. Because they contain the full build dependencies for a system (i.e. compiler and root file system), they can easily be used to build well-known, reliable and reproducible build environments. You can for example create and use a devkit with GCC 7.3 and a Fedora 12 sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't have GCC 7.3 by default) to produce OpenJDK binaries which will run on all Linux systems with runtime libraries newer than the ones from Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).</p>
<h3 id="boot-jdk-and-build-jdk">Boot JDK and Build JDK</h3>
<p>When cross-compiling, make sure you use a boot JDK that runs on the <em>build</em> system, and not on the <em>target</em> system.</p>
<p>To be able to build, we need a &quot;Build JDK&quot;, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
@@ -649,13 +589,11 @@ x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>Note that alsa is needed even if you only want to build a headless JDK.</p>
<ul>
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a> and search for the <code>libasound2</code> and <code>libasound2-dev</code> packages for your <em>target</em> system. Download them to /tmp.</p></li>
<li>Install the libraries into the cross-compilation toolchain. For instance:</li>
</ul>
<li><p>Install the libraries into the cross-compilation toolchain. For instance:</p>
<pre><code>cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc
dpkg-deb -x /tmp/libasound2_1.0.25-4_armhf.deb .
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
<ul>
<li>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</li>
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
<li><p>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</p></li>
</ul>
<h4 id="x11-1">X11</h4>
<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
@@ -673,7 +611,6 @@ dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
<li>libice-dev</li>
<li>libxrender</li>
<li>libxrender-dev</li>
<li>libxrandr-dev</li>
<li>libsm-dev</li>
<li>libxt-dev</li>
<li>libx11</li>
@@ -697,78 +634,9 @@ cp: cannot stat `arm-linux-gnueabihf/libSM.so&#39;: No such file or directory
cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</code></pre></li>
<li><p>If the X11 libraries are not properly detected by <code>configure</code>, you can point them out by <code>--with-x</code>.</p></li>
</ul>
<h3 id="creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</h3>
<p>Fortunately, you can create sysroots for foreign architectures with tools provided by your OS. On Debian/Ubuntu systems, one could use <code>qemu-deboostrap</code> to create the <em>target</em> system chroot, which would have the native libraries and headers specific to that <em>target</em> system. After that, we can use the cross-compiler on the <em>build</em> system, pointing into chroot to get the build dependencies right. This allows building for foreign architectures with native compilation speed.</p>
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
<ul>
<li>Install cross-compiler on the <em>build</em> system:</li>
</ul>
<pre><code>apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu</code></pre>
<ul>
<li>Create chroot on the <em>build</em> system, configuring it for <em>target</em> system:</li>
</ul>
<pre><code>sudo qemu-debootstrap --arch=arm64 --verbose \
--include=fakeroot,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/</code></pre>
<ul>
<li>Configure and build with newly created chroot as sysroot/toolchain-path:</li>
</ul>
<pre><code>CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure --openjdk-target=aarch64-linux-gnu --with-sysroot=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
make images
ls build/linux-aarch64-normal-server-release/</code></pre>
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
<p>Architectures that are known to successfully cross-compile like this are:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Target</th>
<th style="text-align: left;"><code>CC</code></th>
<th style="text-align: left;"><code>CXX</code></th>
<th style="text-align: left;"><code>--arch=...</code></th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
<td style="text-align: left;">g++-s390x-linux-gnu</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
<h3 id="verifying-the-build">Verifying the Build</h3>
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
<p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
@@ -842,11 +710,11 @@ Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code>
<p>Verify that the summary at the end looks correct. Are you indeed using the Boot JDK and native toolchain that you expect?</p>
<p>By default, the JDK has a strict approach where warnings from the compiler is considered errors which fail the build. For very new or very old compiler versions, this can trigger new classes of warnings, which thus fails the build. Run <code>configure</code> with <code>--disable-warnings-as-errors</code> to turn of this behavior. (The warnings will still show, but not make the build fail.)</p>
<h4 id="problems-with-incremental-rebuilds">Problems with Incremental Rebuilds</h4>
<p>Incremental rebuilds mean that when you modify part of the product, only the affected parts get rebuilt. While this works great in most cases, and significantly speed up the development process, from time to time complex interdependencies will result in an incorrect build result. This is the most common cause for unexpected build problems.</p>
<p>Incremental rebuilds mean that when you modify part of the product, only the affected parts get rebuilt. While this works great in most cases, and significantly speed up the development process, from time to time complex interdependencies will result in an incorrect build result. This is the most common cause for unexpected build problems, together with inconsistencies between the different Mercurial repositories in the forest.</p>
<p>Here are a suggested list of things to try if you are having unexpected build problems. Each step requires more time than the one before, so try them in order. Most issues will be solved at step 1 or 2.</p>
<ol type="1">
<li><p>Make sure your repository is up-to-date</p>
<p>Run <code>hg pull -u</code> to make sure you have the latest changes.</p></li>
<li><p>Make sure your forest is up-to-date</p>
<p>Run <code>bash get_source.sh</code> to make sure you have the latest version of all repositories.</p></li>
<li><p>Clean build results</p>
<p>The simplest way to fix incremental rebuild issues is to run <code>make clean</code>. This will remove all build results, but not the configuration or any build system support artifacts. In most cases, this will solve build errors resulting from incremental build mismatches.</p></li>
<li><p>Completely clean the build directory.</p>
@@ -855,8 +723,8 @@ Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code>
make dist-clean
bash configure $(cat current-configuration)
make</code></pre></li>
<li><p>Re-clone the Mercurial repository</p>
<p>Sometimes the Mercurial repository gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the &quot;sledgehammer approach&quot;: delete the entire repository, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
<li><p>Re-clone the Mercurial forest</p>
<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the &quot;sledgehammer approach&quot;: delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
</ol>
<h3 id="specific-build-issues">Specific Build Issues</h3>
<h4 id="clock-skew">Clock Skew</h4>
@@ -878,7 +746,7 @@ spawn failed</code></pre>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="setting-up-a-repository-for-pushing-changes-defpath">Setting Up a Repository for Pushing Changes (defpath)</h3>
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
<p>To help you prepare a proper push path for a Mercurial repository, there exists a useful tool known as <a href="http://openjdk.java.net/projects/code-tools/defpath">defpath</a>. It will help you setup a proper push path for pushing changes to the JDK.</p>
<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here's one way to do this:</p>
<pre><code>cd ~
@@ -891,6 +759,7 @@ defpath=~/hg-ext/defpath/defpath.py
EOT</code></pre>
<p>You can now setup a proper push path using:</p>
<pre><code>hg defpath -d -u &lt;your OpenJDK username&gt;</code></pre>
<p>If you also have the <code>trees</code> extension installed in Mercurial, you will automatically get a <code>tdefpath</code> command, which is even more useful. By running <code>hg tdefpath -du &lt;username&gt;</code> in the top repository of your forest, all repos will get setup automatically. This is the recommended usage.</p>
<h3 id="bash-completion">Bash Completion</h3>
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code>&lt;tab&gt;</code> or <code>&lt;tab&gt;&lt;tab&gt;</code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
<p>Make completion will work out of the box, and will complete valid make targets. For instance, typing <code>make jdk-i&lt;tab&gt;</code> will complete to <code>make jdk-image</code>.</p>
@@ -908,10 +777,10 @@ chmod +x /tmp/configure
sudo mv /tmp/configure /usr/local/bin</code></pre>
<p>Now <code>configure --en&lt;tab&gt;-dt&lt;tab&gt;</code> will result in <code>configure --enable-dtrace</code>.</p>
<h3 id="using-multiple-configurations">Using Multiple Configurations</h3>
<p>You can have multiple configurations for a single source repository. When you create a new configuration, run <code>configure --with-conf-name=&lt;name&gt;</code> to create a configuration with the name <code>&lt;name&gt;</code>. Alternatively, you can create a directory under <code>build</code> and run <code>configure</code> from there, e.g. <code>mkdir build/&lt;name&gt; &amp;&amp; cd build/&lt;name&gt; &amp;&amp; bash ../../configure</code>.</p>
<p>You can have multiple configurations for a single source forest. When you create a new configuration, run <code>configure --with-conf-name=&lt;name&gt;</code> to create a configuration with the name <code>&lt;name&gt;</code>. Alternatively, you can create a directory under <code>build</code> and run <code>configure</code> from there, e.g. <code>mkdir build/&lt;name&gt; &amp;&amp; cd build/&lt;name&gt; &amp;&amp; bash ../../configure</code>.</p>
<p>Then you can build that configuration using <code>make CONF_NAME=&lt;name&gt;</code> or <code>make CONF=&lt;pattern&gt;</code>, where <code>&lt;pattern&gt;</code> is a substring matching one or several configurations, e.g. <code>CONF=debug</code>. The special empty pattern (<code>CONF=</code>) will match <em>all</em> available configuration, so <code>make CONF= hotspot</code> will build the <code>hotspot</code> target for all configurations. Alternatively, you can execute <code>make</code> in the configuration directory, e.g. <code>cd build/&lt;name&gt; &amp;&amp; make</code>.</p>
<h3 id="handling-reconfigurations">Handling Reconfigurations</h3>
<p>If you update the repository and part of the configure script has changed, the build system will force you to re-run <code>configure</code>.</p>
<p>If you update the forest and part of the configure script has changed, the build system will force you to re-run <code>configure</code>.</p>
<p>Most of the time, you will be fine by running <code>configure</code> again with the same arguments as the last time, which can easily be performed by <code>make reconfigure</code>. To simplify this, you can use the <code>CONF_CHECK</code> make control variable, either as <code>make CONF_CHECK=auto</code>, or by setting an environment variable. For instance, if you add <code>export CONF_CHECK=auto</code> to your <code>.bashrc</code> file, <code>make</code> will always run <code>reconfigure</code> automatically whenever the configure script has changed.</p>
<p>You can also use <code>CONF_CHECK=ignore</code> to skip the check for a needed configure update. This might speed up the build, but comes at the risk of an incorrect build result. This is only recommended if you know what you're doing.</p>
<p>From time to time, you will also need to modify the command line to <code>configure</code> due to changes. Use <code>make print-configure</code> to show the command line used for your current configuration.</p>

View File

@@ -48,7 +48,7 @@ JDK.
Make sure you are getting the correct version. As of JDK 10, the source is no
longer split into separate repositories so you only need to clone one single
repository. At the [OpenJDK Mercurial server](http://hg.openjdk.java.net/) you
can see a list of all available repositories. If you want to build an older version,
can see a list of all available forests. If you want to build an older version,
e.g. JDK 8, it is recommended that you get the `jdk8u` forest, which contains
incremental updates, instead of the `jdk8` forest, which was frozen at JDK 8 GA.
@@ -75,8 +75,8 @@ on where and how to check out the source code.
network share for the source code, see below for suggestions on how to keep
the build artifacts on a local disk.
* On Windows, if using [Cygwin](#cygwin), extra care must be taken to make sure
the environment is consistent. It is recommended that you follow this
* On Windows, extra care must be taken to make sure the [Cygwin](#cygwin)
environment is consistent. It is recommended that you follow this
procedure:
* Create the directory that is going to contain the top directory of the
@@ -120,16 +120,7 @@ At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The
more cores to use, the more memory you need.) At least 8 GB of free disk space
is required.
### Building on aarch64
At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM.
(The more cores to use, the more memory you need.) At least 6 GB of free disk
space is required.
If you do not have access to sufficiently powerful hardware, it is also
possible to use [cross-compiling](#cross-compiling).
### Building on 32-bit arm
### Building on arm/aarch64
This is not recommended. Instead, see the section on [Cross-compiling](
#cross-compiling).
@@ -174,10 +165,10 @@ On Windows, it is important that you pay attention to the instructions in the
Windows is the only non-POSIX OS supported by the JDK, and as such, requires
some extra care. A POSIX support layer is required to build on Windows.
Currently, the only supported such layers are Cygwin and Windows Subsystem for
Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would
likely be possible to support in a future version but that would require effort
to implement.)
Currently, the only supported such layer is Cygwin. (Msys is no longer
supported due to a too old bash; msys2 and the new Windows Subsystem for Linux
(WSL) would likely be possible to support in a future version but that would
require effort to implement.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/hg/jdk9/Makefile` rather than `C:\hg\jdk9\Makefile`. This
@@ -188,7 +179,7 @@ on [Fixpath](#fixpath).
#### Cygwin
A functioning [Cygwin](http://www.cygwin.com/) environment is required for
A functioning [Cygwin](http://www.cygwin.com/) environment is thus required for
building the JDK on Windows. If you have a 64-bit OS, we strongly recommend
using the 64-bit version of Cygwin.
@@ -198,7 +189,7 @@ that whenever you add or update a package in Cygwin, you might (inadvertently)
update tools that are used by the JDK build process, and that can cause
unexpected build problems.
The JDK requires GNU Make 4.0 or greater in Cygwin. This is usually not a
The JDK requires GNU Make 4.0 or greater on Windows. This is usually not a
problem, since Cygwin currently only distributes GNU Make at a version above
4.0.
@@ -221,30 +212,6 @@ please check the Cygwin FAQ on the ["BLODA" list](
https://cygwin.com/faq/faq.html#faq.using.bloda) and the section on [fork()
failures](https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures).
#### Windows Subsystem for Linux (WSL)
Windows 10 1809 or newer is supported due to a dependency on the wslpath utility
and support for environment variable sharing through WSLENV. Version 1803 can
work but intermittent build failures have been observed.
It's possible to build both Windows and Linux binaries from WSL. To build
Windows binaries, you must use a Windows boot JDK (located in a
Windows-accessible directory). To build Linux binaries, you must use a Linux
boot JDK. The default behavior is to build for Windows. To build for Linux, pass
`--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu` to
`configure`.
If building Windows binaries, the source code must be located in a Windows-
accessible directory. This is because Windows executables (such as Visual Studio
and the boot JDK) must be able to access the source code. Also, the drive where
the source is stored must be mounted as case-insensitive by changing either
/etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected
using the fsutil tool in case the source was cloned before changing the mount
options.
Note that while it's possible to build on WSL, testing is still not fully
supported.
### Solaris
See `make/devkit/solaris11.1-package-list.txt` for a list of recommended
@@ -295,9 +262,9 @@ sudo yum groupinstall "Development Tools"
### AIX
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of AIX are supported.
The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also
supported. See the [OpenJDK PowerPC Port Status Page](
http://cr.openjdk.java.net/~simonis/ppc-aix-port) for details.
## Native Compiler (Toolchain) Requirements
@@ -419,10 +386,11 @@ https://stackoverflow.com/questions/10888391) for other suggestions.
### IBM XL C/C++
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of XLC are supported.
The regular builds by SAP is using version 12.1, described as `IBM XL C/C++ for
AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017`.
See the [OpenJDK PowerPC Port Status Page](
http://cr.openjdk.java.net/~simonis/ppc-aix-port) for details.
## Boot JDK Requirements
@@ -511,15 +479,15 @@ Certain [X11](http://www.x.org/) libraries and include files are required on
Linux and Solaris.
* To install on an apt-based Linux, try running `sudo apt-get install
libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev`.
libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel`.
libXtst-devel libXt-devel libXrender-devel libXi-devel`.
* To install on Solaris, try running `pkg install x11/header/x11-protocols
x11/library/libice x11/library/libpthread-stubs x11/library/libsm
x11/library/libx11 x11/library/libxau x11/library/libxcb
x11/library/libxdmcp x11/library/libxevie x11/library/libxext
x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver
x11/library/libxtst x11/library/toolkit/libxt`.
x11/library/libxrender x11/library/libxscrnsaver x11/library/libxtst
x11/library/toolkit/libxt`.
Use `--with-x=<path>` if `configure` does not properly locate your X11 files.
@@ -685,14 +653,6 @@ features, use `bash configure --help=short` instead.)
platform, instead of doing a full cross-compile. (This is known as a
*reduced* build.)
On Linux, BSD and AIX, it is possible to override where Java by default
searches for runtime/JNI libraries. This can be useful in situations where
there is a special shared directory for system JNI libraries. This setting
can in turn be overriden at runtime by setting the `java.library.path` property.
* `--with-jni-libpath=<path>` - Use the specified path as a default
when searching for runtime libraries.
#### Configure Arguments for Native Compilation
* `--with-devkit=<path>` - Use this devkit for compilers, tools and resources
@@ -915,64 +875,6 @@ If all you want to do is to compile a 32-bit version, for the same OS, on a
full-blown cross-compilation. (While this surely is possible, it's a lot more
work and will take much longer to build.)
### Cross compiling the easy way with OpenJDK devkits
The OpenJDK build system provides out-of-the box support for creating and using
so called devkits. A `devkit` is basically a collection of a cross-compiling
toolchain and a sysroot environment which can easily be used together with the
`--with-devkit` configure option to cross compile the OpenJDK. On Linux/x86_64,
the following command:
```
bash configure --with-devkit=<devkit-path> --openjdk-target=ppc64-linux-gnu && make
```
will configure and build OpenJDK for Linux/ppc64 assuming that `<devkit-path>`
points to a Linux/x86_64 to Linux/ppc64 devkit.
Devkits can be created from the `make/devkit` directory by executing:
```
make [ TARGETS="<TARGET_TRIPLET>+" ] [ BASE_OS=<OS> ] [ BASE_OS_VERSION=<VER> ]
```
where `TARGETS` contains one or more `TARGET_TRIPLET`s of the form
described in [section 3.4 of the GNU Autobook](
https://sourceware.org/autobook/autobook/autobook_17.html). If no
targets are given, a native toolchain for the current platform will be
created. Currently, at least the following targets are known to work:
Supported devkit targets
-------------------------
x86_64-linux-gnu
aarch64-linux-gnu
arm-linux-gnueabihf
ppc64-linux-gnu
ppc64le-linux-gnu
s390x-linux-gnu
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
"Fedora" (if not specified "OEL6" will be the default). If the base OS
is "Fedora" the corresponding Fedora release can be specified with the
help of the `BASE_OS_VERSION` option (with "27" as default version).
If the build is successful, the new devkits can be found in the
`build/devkit/result` subdirectory:
```
cd make/devkit
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu
```
Notice that devkits are not only useful for targeting different build
platforms. Because they contain the full build dependencies for a
system (i.e. compiler and root file system), they can easily be used
to build well-known, reliable and reproducible build environments. You
can for example create and use a devkit with GCC 7.3 and a Fedora 12
sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't
have GCC 7.3 by default) to produce OpenJDK binaries which will run on
all Linux systems with runtime libraries newer than the ones from
Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).
### Boot JDK and Build JDK
When cross-compiling, make sure you use a boot JDK that runs on the *build*
@@ -1085,7 +987,6 @@ Note that X11 is needed even if you only want to build a headless JDK.
* libice-dev
* libxrender
* libxrender-dev
* libxrandr-dev
* libsm-dev
* libxt-dev
* libx11
@@ -1117,51 +1018,6 @@ Note that X11 is needed even if you only want to build a headless JDK.
* If the X11 libraries are not properly detected by `configure`, you can
point them out by `--with-x`.
### Creating And Using Sysroots With qemu-deboostrap
Fortunately, you can create sysroots for foreign architectures with tools
provided by your OS. On Debian/Ubuntu systems, one could use `qemu-deboostrap` to
create the *target* system chroot, which would have the native libraries and headers
specific to that *target* system. After that, we can use the cross-compiler on the *build*
system, pointing into chroot to get the build dependencies right. This allows building
for foreign architectures with native compilation speed.
For example, cross-compiling to AArch64 from x86_64 could be done like this:
* Install cross-compiler on the *build* system:
```
apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
```
* Create chroot on the *build* system, configuring it for *target* system:
```
sudo qemu-debootstrap --arch=arm64 --verbose \
--include=fakeroot,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/
```
* Configure and build with newly created chroot as sysroot/toolchain-path:
```
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure --openjdk-target=aarch64-linux-gnu --with-sysroot=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
make images
ls build/linux-aarch64-normal-server-release/
```
The build does not create new files in that chroot, so it can be reused for multiple builds
without additional cleanup.
Architectures that are known to successfully cross-compile like this are:
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
------------ ------------------------- --------------------------- ------------- -----------------------
x86 default default i386 i386-linux-gnu
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
ppc64el gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu ppc64el powerpc64le-linux-gnu
s390x gcc-s390x-linux-gnu g++-s390x-linux-gnu s390x s390x-linux-gnu
Additional architectures might be supported by Debian/Ubuntu Ports.
### Building for ARM/aarch64
A common cross-compilation target is the ARM CPU. When building for ARM, it is
@@ -1170,6 +1026,14 @@ available using `--with-abi-profile`: arm-vfp-sflt, arm-vfp-hflt, arm-sflt,
armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer
properly supported by the JDK.
The JDK contains two different ports for the aarch64 platform, one is the
original aarch64 port from the [AArch64 Port Project](
http://openjdk.java.net/projects/aarch64-port) and one is a 64-bit version of
the Oracle contributed ARM port. When targeting aarch64, by the default the
original aarch64 port is used. To select the Oracle ARM 64 port, use
`--with-cpu-port=arm64`. Also set the corresponding value (`aarch64` or
`arm64`) to --with-abi-profile, to ensure a consistent build.
### Verifying the Build
The build will end up in a directory named like
@@ -1391,15 +1255,17 @@ Incremental rebuilds mean that when you modify part of the product, only the
affected parts get rebuilt. While this works great in most cases, and
significantly speed up the development process, from time to time complex
interdependencies will result in an incorrect build result. This is the most
common cause for unexpected build problems.
common cause for unexpected build problems, together with inconsistencies
between the different Mercurial repositories in the forest.
Here are a suggested list of things to try if you are having unexpected build
problems. Each step requires more time than the one before, so try them in
order. Most issues will be solved at step 1 or 2.
1. Make sure your repository is up-to-date
1. Make sure your forest is up-to-date
Run `hg pull -u` to make sure you have the latest changes.
Run `bash get_source.sh` to make sure you have the latest version of all
repositories.
2. Clean build results
@@ -1424,13 +1290,13 @@ order. Most issues will be solved at step 1 or 2.
make
```
4. Re-clone the Mercurial repository
4. Re-clone the Mercurial forest
Sometimes the Mercurial repository gets in a state that causes the product
to be un-buildable. In such a case, the simplest solution is often the
"sledgehammer approach": delete the entire repository, and re-clone it.
If you have local changes, save them first to a different location using
`hg export`.
Sometimes the Mercurial repositories themselves gets in a state that causes
the product to be un-buildable. In such a case, the simplest solution is
often the "sledgehammer approach": delete the entire forest, and re-clone
it. If you have local changes, save them first to a different location
using `hg export`.
### Specific Build Issues
@@ -1481,7 +1347,7 @@ contact the Adoption Group. See the section on [Contributing to OpenJDK](
## Hints and Suggestions for Advanced Users
### Setting Up a Repository for Pushing Changes (defpath)
### Setting Up a Forest for Pushing Changes (defpath)
To help you prepare a proper push path for a Mercurial repository, there exists
a useful tool known as [defpath](
@@ -1508,6 +1374,11 @@ You can now setup a proper push path using:
hg defpath -d -u <your OpenJDK username>
```
If you also have the `trees` extension installed in Mercurial, you will
automatically get a `tdefpath` command, which is even more useful. By running
`hg tdefpath -du <username>` in the top repository of your forest, all repos
will get setup automatically. This is the recommended usage.
### Bash Completion
The `configure` and `make` commands tries to play nice with bash command-line
@@ -1542,7 +1413,7 @@ Now `configure --en<tab>-dt<tab>` will result in `configure --enable-dtrace`.
### Using Multiple Configurations
You can have multiple configurations for a single source repository. When you
You can have multiple configurations for a single source forest. When you
create a new configuration, run `configure --with-conf-name=<name>` to create a
configuration with the name `<name>`. Alternatively, you can create a directory
under `build` and run `configure` from there, e.g. `mkdir build/<name> && cd
@@ -1557,7 +1428,7 @@ in the configuration directory, e.g. `cd build/<name> && make`.
### Handling Reconfigurations
If you update the repository and part of the configure script has changed, the
If you update the forest and part of the configure script has changed, the
build system will force you to re-run `configure`.
Most of the time, you will be fine by running `configure` again with the same

View File

@@ -1,11 +1,16 @@
<!DOCTYPE html>
<html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Testing the JDK</title>
<style type="text/css">code{white-space: pre;}</style>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
@@ -18,43 +23,36 @@
</header>
<nav id="TOC">
<ul>
<li><a href="#using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</a><ul>
<li><a href="#using-the-run-test-framework">Using the run-test framework</a><ul>
<li><a href="#configuration">Configuration</a></li>
</ul></li>
<li><a href="#test-selection">Test selection</a><ul>
<li><a href="#jtreg">JTReg</a></li>
<li><a href="#gtest">Gtest</a></li>
<li><a href="#microbenchmarks">Microbenchmarks</a></li>
<li><a href="#special-tests">Special tests</a></li>
</ul></li>
<li><a href="#test-results-and-summary">Test results and summary</a></li>
<li><a href="#test-suite-control">Test suite control</a><ul>
<li><a href="#general-keywords-test_opts">General keywords (TEST_OPTS)</a></li>
<li><a href="#jtreg-keywords">JTReg keywords</a></li>
<li><a href="#gtest-keywords">Gtest keywords</a></li>
<li><a href="#microbenchmark-keywords">Microbenchmark keywords</a></li>
</ul></li>
</ul>
</nav>
<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
<h2 id="using-the-run-test-framework">Using the run-test framework</h2>
<p>This new way of running tests is developer-centric. It assumes that you have built a JDK locally and want to test it. Running common test targets is simple, and more complex ad-hoc combination of tests is possible. The user interface is forgiving, and clearly report errors it cannot resolve.</p>
<p>The main target <code>test</code> uses the jdk-image as the tested product. There is also an alternate target <code>exploded-test</code> that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
<p>Previously, <code>make test</code> was used invoke an old system for running test, and <code>make run-test</code> was used for the new test framework. For backward compatibility with scripts and muscle memory, <code>run-test</code> (and variants like <code>exploded-run-test</code> or <code>run-test-tier1</code>) are kept as aliases. The old system can still be accessed for some time using <code>cd test &amp;&amp; make</code>.</p>
<p>The main target “run-test” uses the jdk-image as the tested product. There is also an alternate target “exploded-run-test” that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
<p>Some example command-lines:</p>
<pre><code>$ make test-tier1
$ make test-jdk_lang JTREG=&quot;JOBS=8&quot;
$ make test TEST=jdk_lang
$ make test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
$ make test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
$ make test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
$ make test TEST=&quot;micro:java.lang.reflect&quot; MICRO=&quot;FORK=1;WARMUP_ITER=2&quot;
$ make exploded-test TEST=tier2</code></pre>
<pre><code>$ make run-test-tier1
$ make run-test-jdk_lang JTREG=&quot;JOBS=8&quot;
$ make run-test TEST=jdk_lang
$ make run-test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
$ make run-test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
$ make run-test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
$ make exploded-run-test TEST=tier2</code></pre>
<h3 id="configuration">Configuration</h3>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<p>To be able to run microbenchmarks, <code>configure</code> needs to know where to find the JMH dependency. Use <code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory containing the core JMH and transitive dependencies. The recommended dependencies can be retrieved by running <code>sh make/devkit/createJMHBundle.sh</code>, after which <code>--with-jmh=build/jmh/jars</code> should work.</p>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>All functionality is available using the run-test make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, run-test-only can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make run-test-tier1</code> is equivalent to <code>make run-test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
@@ -65,17 +63,7 @@ $ make exploded-test TEST=tier2</code></pre>
<h3 id="gtest">Gtest</h3>
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
<h3 id="microbenchmarks">Microbenchmarks</h3>
<p>Which microbenchmarks to run is selected using a regular expression following the <code>micro:</code> test descriptor, e.g., <code>micro:java.lang.reflect</code>. This delegates the test selection to JMH, meaning package name, class name and even benchmark method names can be used to select tests.</p>
<p>Using special characters like <code>|</code> in the regular expression is possible, but needs to be escaped multiple times: <code>micro:ArrayCopy\\\\\|reflect</code>.</p>
<h3 id="special-tests">Special tests</h3>
<p>A handful of odd tests that are not covered by any other testing framework are accessible using the <code>special:</code> test descriptor. Currently, this includes <code>failure-handler</code> and <code>make</code>.</p>
<ul>
<li><p>Failure handler testing is run using <code>special:failure-handler</code> or just <code>failure-handler</code> as test descriptor.</p></li>
<li><p>Tests for the build system, including both makefiles and related functionality, is run using <code>special:make</code> or just <code>make</code> as test descriptor. This is equivalent to <code>special:make:all</code>.</p>
<p>A specific make test can be run by supplying it as argument, e.g. <code>special:make:idea</code>. As a special syntax, this can also be expressed as <code>make-idea</code>, which allows for command lines as <code>make test-make-idea</code>.</p></li>
</ul>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
<h2 id="test-results-and-summary">Test results and summary</h2>
<p>At the end of the test run, a summary of all tests run will be presented. This will have a consistent look, regardless of what test suites were used. This is a sample summary:</p>
<pre><code>==============================
@@ -89,38 +77,20 @@ Test summary
TEST FAILURE</code></pre>
<p>Tests where the number of TOTAL tests does not equal the number of PASSed tests will be considered a test failure. These are marked with the <code>&gt;&gt; ... &lt;&lt;</code> marker for easy identification.</p>
<p>The classification of non-passed tests differs a bit between test suites. In the summary, ERROR is used as a catch-all for tests that neither passed nor are classified as failed by the framework. This might indicate test framework error, timeout or other problems.</p>
<p>In case of test failures, <code>make test</code> will exit with a non-zero exit value.</p>
<p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
<p>In case of test failures, <code>make run-test</code> will exit with a non-zero exit value.</p>
<p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
<p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
<h2 id="test-suite-control">Test suite control</h2>
<p>It is possible to control various aspects of the test suites using make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG=&quot;JOBS=1;TIMEOUT=8&quot;</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG=&quot;TMIEOUT=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
<p>Some keywords are valid across different test suites. If you want to run tests from multiple test suites, or just don't want to care which test suite specific control variable to use, then you can use the general TEST_OPTS control variable.</p>
<p>There are also some keywords that applies globally to the test runner system, not to any specific test suites. These are also available as TEST_OPTS keywords.</p>
<h4 id="jobs">JOBS</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="timeout_factor">TIMEOUT_FACTOR</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="java_options">JAVA_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="aot_modules">AOT_MODULES</h4>
<p>Applies to JTReg and GTest.</p>
<h4 id="jcov">JCOV</h4>
<p>This keywords applies globally to the test runner system. If set to <code>true</code>, it enables JCov coverage reporting for all tests run. To be useful, the JDK under test must be run with a JDK built with JCov instrumentation (<code>configure --with-jcov=&lt;path to directory containing lib/jcov.jar&gt;</code>, <code>make jcov-image</code>).</p>
<p>The simplest way to run tests with JCov coverage report is to use the special target <code>jcov-test</code> instead of <code>test</code>, e.g. <code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov image is built, and that JCov reporting is enabled.</p>
<p>The JCov report is stored in <code>build/$BUILD/test-results/jcov-output</code>.</p>
<p>Please note that running with JCov reporting can be very memory intensive.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<h4 id="jobs">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em> (for sparc, if more than 16 cpus, then <em>number of CPU cores/5</em>, otherwise <em>number of CPU cores/4</em>), but never more than <em>memory size in GB/2</em>.</p>
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em>, but never more than 12.</p>
<h4 id="timeout">TIMEOUT</h4>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<h4 id="test_mode">TEST_MODE</h4>
@@ -139,21 +109,13 @@ TEST FAILURE</code></pre>
<p>Limit memory consumption (<code>-Xmx</code> and <code>-vmoption:-Xmx</code>, or none).</p>
<p>Limit memory consumption for JTReg test framework and VM under test. Set to 0 to disable the limits.</p>
<p>Defaults to 512m, except for hotspot, where it defaults to 0 (no limit).</p>
<h4 id="keywords">KEYWORDS</h4>
<p>JTReg kewords sent to JTReg using <code>-k</code>. Please be careful in making sure that spaces and special characters (like <code>!</code>) are properly quoted. To avoid some issues, the special value <code>%20</code> can be used instead of space.</p>
<h4 id="extra_problem_lists">EXTRA_PROBLEM_LISTS</h4>
<p>Use additional problem lists file or files, in addition to the default ProblemList.txt located at the JTReg test roots.</p>
<p>If multiple file names are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<p>The file names should be either absolute, or relative to the JTReg test root of the tests to be run.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<h4 id="java_options">JAVA_OPTIONS</h4>
<p>Additional Java options to JTReg (<code>-javaoption</code>).</p>
<h4 id="vm_options-1">VM_OPTIONS</h4>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Additional VM options to JTReg (<code>-vmoption</code>).</p>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>
@@ -161,24 +123,5 @@ TEST FAILURE</code></pre>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
<h4 id="fork">FORK</h4>
<p>Override the number of benchmark forks to spawn. Same as specifying <code>-f &lt;num&gt;</code>.</p>
<h4 id="iter">ITER</h4>
<p>Number of measurement iterations per fork. Same as specifying <code>-i &lt;num&gt;</code>.</p>
<h4 id="time">TIME</h4>
<p>Amount of time to spend in each measurement iteration, in seconds. Same as specifying <code>-r &lt;num&gt;</code></p>
<h4 id="warmup_iter">WARMUP_ITER</h4>
<p>Number of warmup iterations to run before the measurement phase in each fork. Same as specifying <code>-wi &lt;num&gt;</code>.</p>
<h4 id="warmup_time">WARMUP_TIME</h4>
<p>Amount of time to spend in each warmup iteration. Same as specifying <code>-w &lt;num&gt;</code>.</p>
<h4 id="results_format">RESULTS_FORMAT</h4>
<p>Specify to have the test run save a log of the values. Accepts the same values as <code>-rff</code>, i.e., <code>text</code>, <code>csv</code>, <code>scsv</code>, <code>json</code>, or <code>latex</code>.</p>
<h4 id="vm_options-2">VM_OPTIONS</h4>
<p>Additional VM arguments to provide to forked off VMs. Same as <code>-jvmArgs &lt;args&gt;</code></p>
<h4 id="options-2">OPTIONS</h4>
<p>Additional arguments to send to JMH.</p>
</body>
</html>

View File

@@ -1,33 +1,26 @@
% Testing the JDK
## Using "make test" (the run-test framework)
## Using the run-test framework
This new way of running tests is developer-centric. It assumes that you have
built a JDK locally and want to test it. Running common test targets is simple,
and more complex ad-hoc combination of tests is possible. The user interface is
forgiving, and clearly report errors it cannot resolve.
The main target `test` uses the jdk-image as the tested product. There is
also an alternate target `exploded-test` that uses the exploded image
The main target "run-test" uses the jdk-image as the tested product. There is
also an alternate target "exploded-run-test" that uses the exploded image
instead. Not all tests will run successfully on the exploded image, but using
this target can greatly improve rebuild times for certain workflows.
Previously, `make test` was used invoke an old system for running test, and
`make run-test` was used for the new test framework. For backward compatibility
with scripts and muscle memory, `run-test` (and variants like
`exploded-run-test` or `run-test-tier1`) are kept as aliases. The old system
can still be accessed for some time using `cd test && make`.
Some example command-lines:
$ make test-tier1
$ make test-jdk_lang JTREG="JOBS=8"
$ make test TEST=jdk_lang
$ make test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
$ make test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
$ make test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
$ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2"
$ make exploded-test TEST=tier2
$ make run-test-tier1
$ make run-test-jdk_lang JTREG="JOBS=8"
$ make run-test TEST=jdk_lang
$ make run-test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
$ make run-test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
$ make run-test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
$ make exploded-run-test TEST=tier2
### Configuration
@@ -38,24 +31,18 @@ Note that this option should point to the JTReg home, i.e. the top directory,
containing `lib/jtreg.jar` etc. (An alternative is to set the `JT_HOME`
environment variable to point to the JTReg home before running `configure`.)
To be able to run microbenchmarks, `configure` needs to know where to find
the JMH dependency. Use `--with-jmh=<path to JMH jars>` to point to a directory
containing the core JMH and transitive dependencies. The recommended dependencies
can be retrieved by running `sh make/devkit/createJMHBundle.sh`, after which
`--with-jmh=build/jmh/jars` should work.
## Test selection
All functionality is available using the `test` make target. In this use case,
the test or tests to be executed is controlled using the `TEST` variable. To
speed up subsequent test runs with no source code changes, `test-only` can be
used instead, which do not depend on the source and test image build.
All functionality is available using the run-test make target. In this use
case, the test or tests to be executed is controlled using the `TEST` variable.
To speed up subsequent test runs with no source code changes, run-test-only can
be used instead, which do not depend on the source and test image build.
For some common top-level tests, direct make targets have been generated. This
includes all JTReg test groups, the hotspot gtest, and custom tests (if
present). This means that `make test-tier1` is equivalent to `make test
present). This means that `make run-test-tier1` is equivalent to `make run-test
TEST="tier1"`, but the latter is more tab-completion friendly. For more complex
test runs, the `test TEST="x"` solution needs to be used.
test runs, the `run-test TEST="x"` solution needs to be used.
The test specifications given in `TEST` is parsed into fully qualified test
descriptors, which clearly and unambigously show which tests will be run. As an
@@ -111,33 +98,6 @@ is defined by adding `/<variant>` to the test descriptor, e.g.
variant present (e.g. server, client). So if you only have the server JVM
present, then `gtest:all` will be equivalent to `gtest:all/server`.
### Microbenchmarks
Which microbenchmarks to run is selected using a regular expression
following the `micro:` test descriptor, e.g., `micro:java.lang.reflect`. This
delegates the test selection to JMH, meaning package name, class name and even
benchmark method names can be used to select tests.
Using special characters like `|` in the regular expression is possible, but
needs to be escaped multiple times: `micro:ArrayCopy\\\\\|reflect`.
### Special tests
A handful of odd tests that are not covered by any other testing framework are
accessible using the `special:` test descriptor. Currently, this includes
`failure-handler` and `make`.
* Failure handler testing is run using `special:failure-handler` or just
`failure-handler` as test descriptor.
* Tests for the build system, including both makefiles and related
functionality, is run using `special:make` or just `make` as test
descriptor. This is equivalent to `special:make:all`.
A specific make test can be run by supplying it as argument, e.g.
`special:make:idea`. As a special syntax, this can also be expressed as
`make-idea`, which allows for command lines as `make test-make-idea`.
## Test results and summary
At the end of the test run, a summary of all tests run will be presented. This
@@ -163,7 +123,7 @@ the summary, ERROR is used as a catch-all for tests that neither passed nor are
classified as failed by the framework. This might indicate test framework
error, timeout or other problems.
In case of test failures, `make test` will exit with a non-zero exit value.
In case of test failures, `make run-test` will exit with a non-zero exit value.
All tests have their result stored in `build/$BUILD/test-results/$TEST_ID`,
where TEST_ID is a path-safe conversion from the fully qualified test
@@ -202,61 +162,16 @@ proper quoting of command line arguments through.)
As far as possible, the names of the keywords have been standardized between
test suites.
### General keywords (TEST_OPTS)
Some keywords are valid across different test suites. If you want to run
tests from multiple test suites, or just don't want to care which test suite specific
control variable to use, then you can use the general TEST_OPTS control variable.
There are also some keywords that applies globally to the test runner system,
not to any specific test suites. These are also available as TEST_OPTS keywords.
#### JOBS
Currently only applies to JTReg.
#### TIMEOUT_FACTOR
Currently only applies to JTReg.
#### VM_OPTIONS
Applies to JTReg, GTest and Micro.
#### JAVA_OPTIONS
Applies to JTReg, GTest and Micro.
#### AOT_MODULES
Applies to JTReg and GTest.
#### JCOV
This keywords applies globally to the test runner system. If set to `true`, it
enables JCov coverage reporting for all tests run. To be useful, the JDK under
test must be run with a JDK built with JCov instrumentation (`configure
--with-jcov=<path to directory containing lib/jcov.jar>`, `make jcov-image`).
The simplest way to run tests with JCov coverage report is to use the special
target `jcov-test` instead of `test`, e.g. `make jcov-test TEST=jdk_lang`. This
will make sure the JCov image is built, and that JCov reporting is enabled.
The JCov report is stored in `build/$BUILD/test-results/jcov-output`.
Please note that running with JCov reporting can be very memory intensive.
### JTReg keywords
#### JOBS
The test concurrency (`-concurrency`).
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
JOBS, except for Hotspot, where the default is *number of CPU cores/2* (for
sparc, if more than 16 cpus, then *number of CPU cores/5*, otherwise *number of
CPU cores/4*), but never more than *memory size in GB/2*.
JOBS, except for Hotspot, where the default is *number of CPU cores/2*, but
never more than 12.
#### TIMEOUT_FACTOR
#### TIMEOUT
The timeout factor (`-timeoutFactor`).
Defaults to 4.
@@ -290,24 +205,6 @@ to disable the limits.
Defaults to 512m, except for hotspot, where it defaults to 0 (no limit).
#### KEYWORDS
JTReg kewords sent to JTReg using `-k`. Please be careful in making sure that
spaces and special characters (like `!`) are properly quoted. To avoid some
issues, the special value `%20` can be used instead of space.
#### EXTRA_PROBLEM_LISTS
Use additional problem lists file or files, in addition to the default
ProblemList.txt located at the JTReg test roots.
If multiple file names are specified, they should be separated by space (or, to
help avoid quoting issues, the special value `%20`).
The file names should be either absolute, or relative to the JTReg test root of
the tests to be run.
#### OPTIONS
Additional options to the JTReg test framework.
@@ -319,12 +216,6 @@ Additional Java options to JTReg (`-javaoption`).
#### VM_OPTIONS
Additional VM options to JTReg (`-vmoption`).
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
### Gtest keywords
#### REPEAT
@@ -339,41 +230,6 @@ Additional options to the Gtest test framework.
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
### Microbenchmark keywords
#### FORK
Override the number of benchmark forks to spawn. Same as specifying `-f <num>`.
#### ITER
Number of measurement iterations per fork. Same as specifying `-i <num>`.
#### TIME
Amount of time to spend in each measurement iteration, in seconds. Same as
specifying `-r <num>`
#### WARMUP_ITER
Number of warmup iterations to run before the measurement phase in each fork.
Same as specifying `-wi <num>`.
#### WARMUP_TIME
Amount of time to spend in each warmup iteration. Same as specifying `-w <num>`.
#### RESULTS_FORMAT
Specify to have the test run save a log of the values. Accepts the same values
as `-rff`, i.e., `text`, `csv`, `scsv`, `json`, or `latex`.
#### VM_OPTIONS
Additional VM arguments to provide to forked off VMs. Same as `-jvmArgs <args>`
#### OPTIONS
Additional arguments to send to JMH.
---
# Override some definitions in the global css file that are not optimal for
# this document.

View File

@@ -0,0 +1,9 @@
FROM centos:7
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool gcc gcc-c++ libstdc++-devel alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel
# Install Java 11
RUN wget --no-check-certificate -q --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz" \
-O - | tar xz -C /
ENV JAVA_HOME /jdk-11.0.1
ENV PATH $JAVA_HOME/bin:$PATH

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel>
<module name="java-gradle.main" target="11" />
<module name="java-gradle.test" target="11" />
</bytecodeTargetLevel>
</component>
</project>

20
jb/project/java-gradle/.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="/usr/share/gradle" />
<option name="gradleJvm" value="11" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
<option name="useAutoImport" value="true" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
</project>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.common:common-image:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-image/3.3.2/9c975152864050c6dbb7226ca1100694f0aa099d/common-image-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-image/3.3.2/e6fb35a9825421ec5a634af328e22546992d536d/common-image-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.common:common-io:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-io/3.3.2/e00b1c744993864d3c8dc698ba7d356122019398/common-io-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-io/3.3.2/dbb242585fdfd353dc4c2c0e8b3d8b0383dffbb2/common-io-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.common:common-lang:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-lang/3.3.2/ffbc5e05208c5c9cb43052438294c3ec5546aecf/common-lang-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.common/common-lang/3.3.2/b695db345614a2b9344fd43a44d9ce722df4b39/common-lang-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.imageio:imageio-core:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-core/3.3.2/8def41c756831dde3c23f2d525e5667cfbfa1847/imageio-core-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-core/3.3.2/abcb2beaf21364467afe0e33824dce5730bef0c3/imageio-core-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.imageio:imageio-metadata:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-metadata/3.3.2/b8a31725bde0dc6f4e6b01711784f5ca0a2275f3/imageio-metadata-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-metadata/3.3.2/6fc3b223c81afbd4b829e2c924c096aab3ed0e9e/imageio-metadata-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: com.twelvemonkeys.imageio:imageio-tiff:3.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-tiff/3.3.2/9bea1214eae7d287dc0c685fb6be75102318d080/imageio-tiff-3.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.twelvemonkeys.imageio/imageio-tiff/3.3.2/cae5b3540dc01889dc9560db86f5f61bdc253107/imageio-tiff-3.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: junit:junit:4.12">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: net.java.dev.jna:jna:4.4.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/cb208278274bf12ebdb56c61bd7407e6f774d65a/jna-4.4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.java.dev.jna/jna/4.4.0/9d45d3dc35711eef7267d8b4fc2c0dc482ef9fd2/jna-4.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: org.apache.commons:commons-lang3:3.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.0/8873bd0bb5cb9ee37f1b04578eb7e26fcdd44cb0/commons-lang3-3.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.0/d48f964b56a931ec2712ce5d411a40d114a69753/commons-lang3-3.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: org.hamcrest:hamcrest-core:1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="Gradle: org.hamcrest:hamcrest-library:1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>

6
jb/project/java-gradle/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>

11
jb/project/java-gradle/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/modules/java-gradle.iml" filepath="$PROJECT_DIR$/.idea/modules/java-gradle.iml" />
<module fileurl="file://$PROJECT_DIR$/java-gradle.iml" filepath="$PROJECT_DIR$/java-gradle.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/modules/java-gradle.main.iml" filepath="$PROJECT_DIR$/.idea/modules/java-gradle.main.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/modules/java-gradle.test.iml" filepath="$PROJECT_DIR$/.idea/modules/java-gradle.test.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="java-gradle:main" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="" external.system.module.type="sourceSet" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
<output url="file://$MODULE_DIR$/../../out/production/classes" />
<exclude-output />
<content url="file://$MODULE_DIR$/../../src/main" />
<content url="file://$MODULE_DIR$/../../../../../src">
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.base/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.datatransfer/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.desktop/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.instrument/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.logging/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.management.rmi/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.management/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.naming/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.prefs/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.rmi/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.scripting/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.se/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.security.jgss/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.security.sasl/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.smartcardio/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.sql.rowset/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.sql/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.xml.crypto/share/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.base/macosx/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.datatransfer/macosx/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.desktop/macosx/classes" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../../../../src/java.prefs/macosx/classes" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="java-gradle:test" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="" external.system.module.type="sourceSet" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
<output-test url="file://$MODULE_DIR$/../../out/test/classes" />
<exclude-output />
<content url="file://$MODULE_DIR$/../../src/test" />
<content url="file://$MODULE_DIR$/../../../../../test">
<sourceFolder url="file://$MODULE_DIR$/../../../../../test/jdk/jbu" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="java-gradle.main" />
<orderEntry type="library" name="Gradle: junit:junit:4.12" level="project" />
<orderEntry type="library" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" name="Gradle: net.java.dev.jna:jna:4.4.0" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.imageio:imageio-tiff:3.3.2" level="project" />
<orderEntry type="library" name="Gradle: org.apache.commons:commons-lang3:3.0" level="project" />
<orderEntry type="library" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.imageio:imageio-metadata:3.3.2" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.imageio:imageio-core:3.3.2" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.common:common-image:3.3.2" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.common:common-io:3.3.2" level="project" />
<orderEntry type="library" name="Gradle: com.twelvemonkeys.common:common-lang:3.3.2" level="project" />
</component>
<component name="TestModuleProperties" production-module="java-gradle.main" />
</module>

6
jb/project/java-gradle/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
</component>
</project>

View File

@@ -10,11 +10,11 @@ def test_jvm = {
file(jbsdkhome + (OperatingSystem.current().isWindows()?"/bin/java.exe" : "/bin/java")).absolutePath
} else {
if (OperatingSystem.current().isMacOsX()) {
file('../../../build/macosx-x86_64-server-release/images/jdk-bundle/jdk-13.jdk/Contents/Home/bin/java').absolutePath
file('../../../build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.jdk/Contents/Home/bin/java').absolutePath
} else if (OperatingSystem.current().isLinux()) {
file('../../../build/linux-x86_64-server-release/images/jdk/bin/java').absolutePath
file('../../../build/linux-x86_64-normal-server-release/images/jdk/bin/java').absolutePath
} else {
file('../../../build/windows-x86_64-server-release/images/j2sdk-image/bin/java.exe').absolutePath
file('../../../build/windows-x86_64-normal-server-release/images/j2sdk-image/bin/java.exe').absolutePath
}
}
}
@@ -75,21 +75,15 @@ test.dependsOn tasks.compileTestJava
test {
systemProperty "jb.java2d.metal", "true"
systemProperty "testdata", file('../../../test/jdk/jbu/testdata').absolutePath
systemProperty "testdata", file('../../../jb/tests/testdata').absolutePath
// Generate golden images for DroidFontTest and MixedTextTest
// systemProperty "gentestdata", ""
// Enable Java2D logging (https://confluence.jetbrains.com/display/JRE/Java2D+Rendering+Logging)
// systemProperty "sun.java2d.trace", "log"
// systemProperty "sun.java2d.trace", "log,pimpl"
outputs.upToDateWhen { false }
executable = test_jvm()
// Enable async/dtrace profiler
jvmArgs "-XX:+PreserveFramePointer"
// Enable native J2D logging (only in debug build)
// Enable J2D logging (only in debug build)
// Can be turned on for J2D by adding "#define DEBUG 1" into jdk/src/share/native/sun/java2d/Trace.h
// environment 'J2D_TRACE_LEVEL', '4'
@@ -102,14 +96,12 @@ if (OperatingSystem.current().isWindows()) {
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
}
def test_run = false
task make_images << {
if (!test_run) {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine {println it}
assert proc.waitFor() == 0
}
task make_clean << {
@@ -119,11 +111,9 @@ task make_clean << {
assert proc.waitFor() == 0
}
task run_test << {
test_run = true
}
tasks.cleanTest.dependsOn tasks.run_test
tasks.compileJava.enabled = false
tasks.compileTestJava.dependsOn.clear()
classes.dependsOn.clear()
classes.dependsOn tasks.make_images
tasks.cleanClasses.dependsOn tasks.make_clean

Binary file not shown.

View File

@@ -0,0 +1,6 @@
#Thu Dec 06 20:31:44 MSK 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip

172
jb/project/java-gradle/gradlew vendored Executable file
View File

@@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

View File

@@ -6,87 +6,63 @@ include(../java-common.cmake)
include_directories(
../../../src/java.base/share/native/include
../../../src/java.base/share/native/libjava
../../../src/java.desktop/share/native
../../../src/java.desktop/share/native/libjsound
../../../src/java.desktop/share/native/libmlib_image
../../../src/java.desktop/share/native/libfreetype
../../../src/java.desktop/share/native/common
../../../src/java.desktop/share/native/common/awt/debug
../../../src/java.desktop/share/native/common/font
../../../src/java.desktop/share/native/common/java2d/opengl
../../../src/java.desktop/share/native/common/java2d/opengl/J2D_GL
../../../src/java.desktop/share/native/include
../../../src/java.desktop/share/native/libawt/awt/image
../../../src/java.desktop/share/native/libawt/awt/image/cvutils
../../../src/java.desktop/share/native/libawt/awt/medialib
../../../src/java.desktop/share/native/libawt/java2d
../../../src/java.desktop/share/native/libawt/java2d/loops
../../../src/java.desktop/share/native/libawt/java2d/pipe
../../../src/java.desktop/share/native/libfontmanager
../../../src/java.desktop/share/native/libfontmanager/harfbuzz
../../../src/java.desktop/share/native/libfreetype/include
../../../src/java.desktop/share/native/libfreetype/include/freetype
../../../src/java.desktop/share/native/libfreetype/include/freetype/config
../../../src/java.desktop/share/native/libfreetype/include/freetype/internal
../../../src/java.desktop/share/native/libfreetype/include/freetype/internal/services
../../../src/java.desktop/share/native/libfreetype/src
../../../src/java.desktop/share/native/libfreetype/src/type1
../../../src/java.desktop/share/native/libfreetype/src/autofit
../../../src/java.desktop/share/native/libfreetype/src/base
../../../src/java.desktop/share/native/libfreetype/src/cff
../../../src/java.desktop/share/native/libfreetype/src/cid
../../../src/java.desktop/share/native/libfreetype/src/psaux
../../../src/java.desktop/share/native/libfreetype/src/pshinter
../../../src/java.desktop/share/native/libfreetype/src/psnames
../../../src/java.desktop/share/native/libfreetype/src/raster
../../../src/java.desktop/share/native/libfreetype/src/sfnt
../../../src/java.desktop/share/native/libfreetype/src/smooth
../../../src/java.desktop/share/native/libfreetype/src/cff
../../../src/java.desktop/share/native/libfreetype/src/psaux
../../../src/java.desktop/share/native/libfreetype/src/cid
../../../src/java.desktop/share/native/libfreetype/src/autofit
../../../src/java.desktop/share/native/libfreetype/src/pshinter
../../../src/java.desktop/share/native/libfreetype/src/truetype
../../../src/java.desktop/share/native/libfreetype/src/raster
../../../src/java.desktop/share/native/libfreetype/src/psnames
../../../src/java.desktop/share/native/libfreetype/src/base
../../../src/java.desktop/share/native/include
../../../src/java.desktop/share/native/common
../../../src/java.desktop/share/native/common/java2d
../../../src/java.desktop/share/native/common/java2d/opengl
../../../src/java.desktop/share/native/common/java2d/opengl/J2D_GL
../../../src/java.desktop/share/native/common/awt
../../../src/java.desktop/share/native/common/awt/medialib
../../../src/java.desktop/share/native/common/awt/debug
../../../src/java.desktop/share/native/common/awt/utility
../../../src/java.desktop/share/native/common/font
../../../src/java.desktop/share/native/libawt
../../../src/java.desktop/share/native/libawt/java2d
../../../src/java.desktop/share/native/libawt/java2d/pipe
../../../src/java.desktop/share/native/libawt/java2d/loops
../../../src/java.desktop/share/native/libawt/awt
../../../src/java.desktop/share/native/libawt/awt/image
../../../src/java.desktop/share/native/libawt/awt/image/cvutils
../../../src/java.desktop/share/native/libawt/awt/image/gif
../../../src/java.desktop/share/native/libawt/awt/medialib
../../../src/java.desktop/share/native/libfreetype/src/type1
../../../src/java.desktop/share/native/libjavajpeg
../../../src/java.desktop/share/native/libfontmanager
../../../src/java.desktop/share/native/libfontmanager/harfbuzz
../../../src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn
../../../src/java.desktop/share/native/libjsound
../../../src/java.desktop/share/native/liblcms
../../../src/java.desktop/share/native/libmlib_image
../../../src/java.desktop/share/native/libsplashscreen
../../../src/java.desktop/share/native/libsplashscreen/giflib
../../../src/java.desktop/share/native/libsplashscreen/libpng
../../../src/java.desktop/share/native/libsplashscreen/giflib)
)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
include_directories(
../../../src/hotspot/os/posix/include
../../../src/java.base/unix/native/include
../../../src/java.base/unix/native/libjava
../../../src/java.desktop/unix/native
../../../src/java.desktop/unix/native/libawt_headless
../../../src/java.desktop/unix/native/libawt_headless/awt
../../../src/java.desktop/unix/native/libmlib_image
../../../src/java.desktop/unix/native/include
../../../src/java.desktop/unix/native/libjawt
../../../src/java.desktop/unix/native/common
../../../src/java.desktop/unix/native/common/java2d
../../../src/java.desktop/unix/native/common/java2d/x11
../../../src/java.desktop/unix/native/common/java2d/opengl
../../../src/java.desktop/unix/native/common/java2d/opengl/J2D_GL
../../../src/java.desktop/unix/native/common/awt
../../../src/java.desktop/unix/native/common/awt/systemscale
../../../src/java.desktop/unix/native/common/awt/medialib
../../../src/java.desktop/unix/native/common/awt/systemscale
../../../src/java.desktop/unix/native/common/awt/utility
../../../src/java.desktop/unix/native/common/font
../../../src/java.desktop/unix/native/libawt
../../../src/java.desktop/unix/native/common/java2d/opengl
../../../src/java.desktop/unix/native/common/java2d/opengl/J2D_GL
../../../src/java.desktop/unix/native/common
../../../src/java.desktop/unix/native/include
../../../src/java.desktop/unix/native/libawt/java2d
../../../src/java.desktop/unix/native/libawt/java2d/loops
../../../src/java.desktop/unix/native/libawt/awt
../../../src/java.desktop/unix/native/libawt_xawt
../../../src/java.desktop/unix/native/libawt_xawt/java2d
../../../src/java.desktop/unix/native/libawt_xawt/java2d/x11
../../../src/java.desktop/unix/native/libawt_xawt/awt
../../../src/java.desktop/unix/native/libawt_xawt/xawt
../../../src/java.desktop/unix/native/libfontmanager
../../../src/java.desktop/unix/native/libmlib_image
../../../src/java.desktop/unix/native/libsplashscreen)
endif()
@@ -95,7 +71,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_library(JAVA_NATIVE_FOUNDATION JavaNativeFoundation)
include_directories(
../../../src/java.desktop/macosx/native/libosxapp
../../../build/macosx-x86_64-server-release/support/headers/java.desktop
../../../build//macosx-x86_64-normal-server-release//support/headers/java.desktop
)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
@@ -107,22 +83,16 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "CYGWIN")
../../../src/hotspot/os/windows/include
../../../src/java.base/windows/native/include
../../../src/java.base/windows/native/libjava
../../../src/java.desktop/windows/native/
../../../src/java.desktop/windows/native/libjsound
../../../src/java.desktop/windows/native/include
../../../src/java.desktop/windows/native/libjawt
../../../src/java.desktop/windows/native/common
../../../src/java.desktop/windows/native/common/awt
../../../src/java.desktop/windows/native/common/awt/systemscale
../../../src/java.desktop/windows/native/common/awt/utility
../../../src/java.desktop/windows/native/libawt
../../../src/java.desktop/windows/native/include
../../../src/java.desktop/windows/native/libawt/java2d
../../../src/java.desktop/windows/native/libawt/java2d/windows
../../../src/java.desktop/windows/native/libawt/java2d/d3d
../../../src/java.desktop/windows/native/libawt/java2d/opengl
../../../src/java.desktop/windows/native/libawt/java2d/opengl/J2D_GL
../../../src/java.desktop/windows/native/libawt/java2d/d3d
../../../src/java.desktop/windows/native/libawt/java2d/windows
../../../src/java.desktop/windows/native/libawt/windows
../../../src/java.desktop/windows/native/libfontmanager
../../../src/java.desktop/windows/native/libjsound
../../../src/java.desktop/windows/native/libsplashscreen)
endif()
@@ -803,8 +773,10 @@ set(SOURCE_FILES
../../../src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ft.h
../../../src/java.desktop/share/native/libfontmanager/glyphblitting.h
../../../src/java.desktop/share/native/libfontmanager/hb-jdk.h
../../../src/java.desktop/share/native/libfontmanager/fontconfig.h
../../../src/java.desktop/share/native/libfontmanager/freetypeScaler.c
../../../src/java.desktop/share/native/libfontmanager/scriptMapping.h
../../../src/java.desktop/share/native/libfontmanager/ColorGlyphSurfaceData.c
../../../src/java.desktop/share/native/libfontmanager/sunFont.c
../../../src/java.desktop/share/native/libfontmanager/fontscaler.h
../../../src/java.desktop/share/native/liblcms/cmsps2.c
@@ -871,6 +843,9 @@ set(SOURCE_FILES
../../../src/java.desktop/share/native/libsplashscreen/java_awt_SplashScreen.c
../../../src/java.desktop/share/native/libsplashscreen/splashscreen_gfx_impl.c
../../../src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c
../../../src/java.desktop/share/native/include/jawt.h
../../../src/jdk.jdwp.agent/share/native/include/jdwpTransport.h
../../../src/hotspot/share/include/jmm.h
../../../src/java.base/share/native/include/jni.h
@@ -879,6 +854,7 @@ set(SOURCE_FILES
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(SOURCE_FILES
${SOURCE_FILES}
../../../src/java.desktop/macosx/native/include/jawt_md.h
../../../src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_MidiOut.c
../../../src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Utils.cpp
@@ -889,41 +865,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
../../../src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_PCM.cpp
../../../src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_MidiUtils.c
../../../src/java.desktop/macosx/native/include/jawt_md.h
../../../src/java.desktop/macosx/native/libosx/Dispatch.m
../../../src/java.desktop/macosx/native/libosx/CFileManager.m
../../../src/java.desktop/macosx/native/libjawt/jawt.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBufImgOps.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLContext.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPaints.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLVertexCache.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLLayer.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLMaskFill.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBlitLoops.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLFuncs.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLMaskBlit.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLVertexCache.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLLayer.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPaints.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLContext.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBufImgOps.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceDataBase.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBlitLoops.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLMaskFill.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLMaskBlit.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLFuncs.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLUtils.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLUtils.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTexturePool.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTexturePool.m
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/J2D_GL/cglext.h
../../../src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h
@@ -967,6 +911,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CFileDialog.h
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.h
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.h
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CDesktopPeer.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/PrintModel.h
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m
@@ -982,7 +927,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/common.h
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CMenu.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m
../../../src/java.desktop/macosx/native/libawt_lwawt/awt/CDragSource.h
@@ -1032,6 +976,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
../../../src/java.desktop/macosx/native/libosxapp/QueuingApplicationDelegate.h
../../../src/java.desktop/macosx/native/libosxapp/PropertiesUtilities.h
../../../src/java.desktop/macosx/native/libosxapp/AWT_debug.h
../../../src/java.desktop/macosx/native/libsplashscreen/libpng/zlibwrapper/zlib.h
../../../src/java.desktop/macosx/native/libsplashscreen/splashscreen_config.h
../../../src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m
../../../src/java.desktop/macosx/native/libosxui/JRSUIController.m
@@ -1207,6 +1152,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux"
../../../src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c
../../../src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRSurfaceData.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/randr.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/list.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_DrawingSurface.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKStyle.c
@@ -1221,6 +1167,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux"
../../../src/java.desktop/unix/native/libawt_xawt/awt/multi_font.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/multiVis.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/Xrandr.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/robot_common.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_util.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/list.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.h
@@ -1228,11 +1176,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux"
../../../src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/HPkeysym.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_Event.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/canvas.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_AWTEvent.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/multi_font.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/robot_common.h
../../../src/java.desktop/unix/native/libawt_xawt/awt/sun_awt_X11_GtkFileDialogPeer.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c
@@ -1267,6 +1217,7 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "CYGWIN")
../../../src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_Ports.c
../../../src/java.desktop/windows/native/include/jawt_md.h
../../../src/java.desktop/windows/native/libjawt/jawt.cpp
../../../src/java.desktop/windows/native/common/awt_makecube.cpp
../../../src/java.desktop/windows/native/common/awt/systemscale/systemScale.h
../../../src/java.desktop/windows/native/common/awt/systemscale/systemScale.cpp
../../../src/java.desktop/windows/native/common/awt/utility/rect.h
@@ -1473,6 +1424,7 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "CYGWIN")
../../../src/java.desktop/windows/native/libawt/windows/awt_Window.h
../../../src/java.desktop/windows/native/libawt/windows/awt_Checkbox.cpp
../../../src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp
../../../src/java.desktop/windows/native/libfontmanager/lcdglyphDW.cpp
../../../src/java.desktop/windows/native/libfontmanager/fontpath.c
../../../src/java.desktop/windows/native/libfontmanager/lcdglyph.c
../../../src/java.desktop/windows/native/libsplashscreen/splashscreen_config.h

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

47
jb/tests/tests.iml Normal file
View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<content url="file://$MODULE_DIR$/../../../test/java/awt/Graphics2D">
<sourceFolder url="file://$MODULE_DIR$/../../../test/java/awt/Graphics2D" isTestSource="false" />
</content>
<content url="file://$MODULE_DIR$/../../../test/sun/java2d">
<sourceFolder url="file://$MODULE_DIR$/../../../test/sun/java2d" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="file://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar" recursive="false" />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="file://$APPLICATION_HOME_DIR$/lib/junit.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$APPLICATION_HOME_DIR$/lib/junit.jar" recursive="false" />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="JUnit4">
<CLASSES>
<root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar!/" />
<root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@ MODULES_SYMBOLS_FILES := $(foreach module, $(EXPORTED_SYMBOLS_MODULES), \
$(GLOBAL_SYMBOLS_FILE): $(MODULES_SYMBOLS_FILES)
$(call LogInfo, Generating global exported.symbols file)
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(CAT) $^ > $@
TARGETS += $(GLOBAL_SYMBOLS_FILE)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@ DOCS_TARGETS :=
# On Windows tar frequently complains that "file changed as we read it" for
# some random source files. This seems to be cause by anti virus scanners and
# is most likely safe to ignore. When it happens, tar returns '1'.
ifeq ($(call isBuildOs, windows), true)
ifeq ($(OPENJDK_BUILD_OS), windows)
TAR_IGNORE_EXIT_VALUE := || test "$$$$?" = "1"
endif
@@ -70,7 +70,6 @@ define SetupBundleFileBody
$$(call SetIfEmpty, $1_UNZIP_DEBUGINFO, false)
$(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
$$(call MakeTargetDir)
# If any of the files contain a space in the file name, CacheFind
# will have replaced it with ?. Tar does not accept that so need to
# switch it back.
@@ -80,6 +79,7 @@ define SetupBundleFileBody
$$(CAT) $$($1_$$d_LIST_FILE) | $$(TR) '?' ' ' > $$($1_$$d_LIST_FILE).tmp \
&& $(MV) $$($1_$$d_LIST_FILE).tmp $$($1_$$d_LIST_FILE) $$(NEWLINE) \
)
$$(call MakeDir, $$(@D))
ifneq ($$($1_SPECIAL_INCLUDES), )
$$(foreach i, $$($1_SPECIAL_INCLUDES), \
$$(foreach d, $$($1_BASE_DIRS), \
@@ -144,7 +144,7 @@ endef
# On Macosx, we bundle up the macosx specific images which already have the
# correct base directories.
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
JDK_BUNDLE_SUBDIR :=
@@ -167,7 +167,7 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, $(ALL_JDK_FILES))))
@@ -262,21 +262,6 @@ endif
################################################################################
ifneq ($(filter jcov-bundles, $(MAKECMDGOALS)), )
JCOV_BUNDLE_FILES := $(call CacheFind, $(JCOV_IMAGE_DIR))
$(eval $(call SetupBundleFile, BUILD_JCOV_BUNDLE, \
BUNDLE_NAME := $(JCOV_BUNDLE_NAME), \
FILES := $(JCOV_BUNDLE_FILES), \
BASE_DIRS := $(JCOV_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
JCOV_TARGETS += $(BUILD_JCOV_BUNDLE)
endif
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Bundles.gmk))
@@ -285,6 +270,5 @@ $(eval $(call IncludeCustomExtension, Bundles.gmk))
product-bundles: $(PRODUCT_TARGETS)
test-bundles: $(TEST_TARGETS)
docs-bundles: $(DOCS_TARGETS)
jcov-bundles: $(JCOV_TARGETS)
.PHONY: all default product-bundles test-bundles docs-bundles jcov-bundles
.PHONY: all default product-bundles test-bundles docs-bundles

View File

@@ -1,60 +0,0 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
# When FIXPATH is set, let it process the file to make sure all paths are usable
# by system native tools. The FIXPATH tool assumes arguments preceeded by an @
# character points to a text file containing further arguments (similar to a
# linker). It replaces any such arguments with a different temporary filename,
# whose contents has been processed to make any paths native. To obtain a
# properly processed compile_commands.json, FIXPATH is then made to invoke an
# AWK script with the unprocessed json file as the only argument, prepended with
# an @ character. The AWK script simply copies the contents of this processed
# file.
#
# The sed command encloses the fragments inside brackets and removes the final
# trailing comma.
$(OUTPUTDIR)/compile_commands.json: $(wildcard $(MAKESUPPORT_OUTPUTDIR)/compile-commands/*.json)
$(call LogWarn, Updating compile_commands.json)
$(RM) $@
$(FIND) $(MAKESUPPORT_OUTPUTDIR)/compile-commands/ -name \*.json | \
$(SORT) | $(XARGS) $(CAT) >> $@.tmp
$(if $(FIXPATH),$(FIXPATH) $(AWK) 'BEGIN { \
tmpfile = substr(ARGV[2],2); \
cmd = "$(CP) " "\047" tmpfile "\047" " $@.tmp"; \
system(cmd); \
}' -- @$@.tmp)
$(SED) -e '1s/^/[\$(NEWLINE)/' -e '$(DOLLAR)s/,\s\{0,\}$(DOLLAR)/\$(NEWLINE)]/' $@.tmp > $@
$(RM) $@.tmp
TARGETS += $(OUTPUTDIR)/compile_commands.json
all: $(TARGETS)
.PHONY: all

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -234,7 +234,7 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
$(call install-file)
$(CHMOD) -f ug+w $@
ifeq ($(call isTargetOs, solaris), true)
ifeq ($(OPENJDK_TARGET_OS), solaris)
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call CacheFind, $(DEMO_SHARE_SRC)/nbproject))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@ $(eval $(call IncludeCustomExtension, CompileJavaModules.gmk))
################################################################################
# Module specific build settings
java.base_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
java.base_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
java.base_COPY += .icu .dat .spp content-types.properties hijrah-config-islamic-umalqura.properties
java.base_CLEAN += intrinsic.properties
@@ -51,18 +51,21 @@ java.base_EXCLUDES += java/lang/doc-files
# data files and shouldn't go in the product
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
ifeq ($(call isTargetOs, solaris), false)
ifneq ($(OPENJDK_TARGET_OS), solaris)
java.base_EXCLUDE_FILES += \
SolarisLoginModule.java \
SolarisSystem.java \
#
endif
ifeq ($(call isTargetOs, solaris macosx aix), false)
ifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
#
# only solaris, macosx and aix
#
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
endif
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
java.base_EXCLUDE_FILES += \
sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
#
@@ -79,8 +82,8 @@ java.datatransfer_COPY += flavormap.properties
################################################################################
java.desktop_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility \
'-Xdoclint/package:java.*,javax.*' -Xlint:exports \
java.desktop_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*' -Xlint:exports -Xlint:-serial \
--doclint-format html4
java.desktop_COPY += .gif .png .wav .txt .xml .css .pf
java.desktop_CLEAN += iio-plugin.properties cursors.properties
@@ -121,7 +124,7 @@ java.desktop_EXCLUDE_FILES += \
.template \
#
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
# exclude all X11 on Mac.
java.desktop_EXCLUDES += \
sun/awt/X11 \
@@ -183,7 +186,7 @@ else
sun/awt/X11/XwcTextItem.java
endif
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
endif
@@ -191,7 +194,8 @@ ifdef BUILD_HEADLESS_ONLY
java.desktop_EXCLUDES += sun/applet
endif
ifeq ($(call isTargetOs, windows macosx), false)
# Used on windows and macosx
ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
endif
@@ -220,15 +224,15 @@ java.scripting_CLEAN += .properties
################################################################################
java.instrument_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.instrument_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.logging_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*'
java.logging_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
################################################################################
java.management_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*'
java.management_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
################################################################################
@@ -249,7 +253,7 @@ java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
################################################################################
java.sql.rowset_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.sql.rowset_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.sql.rowset_CLEAN_FILES += $(wildcard \
$(TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
$(TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
@@ -263,14 +267,14 @@ java.rmi_CLEAN_FILES += $(wildcard \
################################################################################
java.xml_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility \
java.xml_ADD_JAVAC_FLAGS += -Xdoclint:all/protected \
'-Xdoclint/package:$(call CommaList, javax.xml.catalog javax.xml.datatype \
javax.xml.transform javax.xml.validation javax.xml.xpath)'
java.xml_CLEAN += .properties
################################################################################
java.naming_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
java.naming_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
java.naming_CLEAN += jndiprovider.properties
################################################################################
@@ -279,7 +283,7 @@ java.security.jgss_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package
################################################################################
java.smartcardio_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.smartcardio_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
@@ -317,7 +321,7 @@ jdk.jshell_COPY += .jsh .properties
################################################################################
jdk.internal.le_COPY += .properties .caps .txt
jdk.internal.le_COPY += .properties
################################################################################
@@ -370,11 +374,11 @@ SCTP_IMPL_CLASSES = \
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
endif
ifeq ($(call isTargetOs, aix), true)
ifeq ($(OPENJDK_TARGET_OS),aix)
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
endif
@@ -446,22 +450,25 @@ jdk.internal.vm.compiler_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
jdk.internal.vm.compiler_EXCLUDES += \
jdk.internal.vm.compiler.collections.test \
jdk.tools.jaotc.test \
org.graalvm.compiler.processor \
org.graalvm.compiler.core.match.processor \
org.graalvm.compiler.nodeinfo.processor \
org.graalvm.compiler.options.processor \
org.graalvm.compiler.serviceprovider.processor \
org.graalvm.compiler.replacements.processor \
org.graalvm.compiler.replacements.jdk9.test \
org.graalvm.compiler.api.directives.test \
org.graalvm.compiler.api.test \
org.graalvm.compiler.asm.aarch64.test \
org.graalvm.compiler.asm.amd64.test \
org.graalvm.compiler.asm.sparc.test \
org.graalvm.compiler.asm.test \
org.graalvm.compiler.core.aarch64.test \
org.graalvm.compiler.core.amd64.test \
org.graalvm.compiler.core.jdk9.test \
org.graalvm.compiler.core.match.processor \
org.graalvm.compiler.core.sparc.test \
org.graalvm.compiler.core.test \
org.graalvm.compiler.debug.test \
org.graalvm.compiler.graph.test \
org.graalvm.compiler.hotspot.amd64.test \
org.graalvm.compiler.hotspot.jdk9.test \
org.graalvm.compiler.hotspot.lir.test \
org.graalvm.compiler.hotspot.sparc.test \
org.graalvm.compiler.hotspot.test \
@@ -470,17 +477,10 @@ jdk.internal.vm.compiler_EXCLUDES += \
org.graalvm.compiler.lir.test \
org.graalvm.compiler.loop.test \
org.graalvm.compiler.microbenchmarks \
org.graalvm.compiler.nodeinfo.processor \
org.graalvm.compiler.nodes.test \
org.graalvm.compiler.options.processor \
org.graalvm.compiler.options.test \
org.graalvm.compiler.phases.common.test \
org.graalvm.compiler.processor \
org.graalvm.compiler.replacements.jdk12.test \
org.graalvm.compiler.replacements.jdk9.test \
org.graalvm.compiler.replacements.processor \
org.graalvm.compiler.replacements.test \
org.graalvm.compiler.serviceprovider.processor \
org.graalvm.compiler.test \
org.graalvm.compiler.virtual.bench \
org.graalvm.micro.benchmarks \
@@ -511,10 +511,6 @@ jdk.aot_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler,jdk.aot \
#
jdk.aot_EXCLUDES += \
jdk.tools.jaotc.test
#
################################################################################
sun.charsets_COPY += .dat
@@ -539,13 +535,8 @@ jdk.jfr_ADD_JAVAC_FLAGS := -XDstringConcat=inline -Xlint:-exports
################################################################################
# If this is an imported module that has prebuilt classes, only compile
# module-info.java.
ifneq ($(IMPORT_MODULES_CLASSES), )
IMPORT_MODULE_DIR := $(IMPORT_MODULES_CLASSES)/$(MODULE)
ifneq ($(wildcard $(IMPORT_MODULE_DIR)), )
$(MODULE)_INCLUDE_FILES := module-info.java
endif
else
IMPORT_MODULE_DIR :=
ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
$(MODULE)_INCLUDE_FILES := module-info.java
endif
################################################################################
@@ -651,13 +642,13 @@ endif
# If this is an imported module, copy the pre built classes and resources into
# the modules output dir
ifneq ($(wildcard $(IMPORT_MODULE_DIR)), )
ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
$(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
$(call CacheFind, $(IMPORT_MODULE_DIR))
$(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
$(call MakeDir, $(@D))
# Do not delete marker and build meta data files
$(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))
$(CP) -R $(IMPORT_MODULE_DIR)/* $(@D)/
$(CP) -R $(IMPORT_MODULES_CLASSES)/$(MODULE)/* $(@D)/
$(TOUCH) $@
TARGETS += $(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -29,7 +29,6 @@ include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
include TextFileProcessing.gmk
################################################################################
@@ -47,7 +46,6 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(BUILD_TOOLS_SRC_DIRS), \
EXCLUDES := \
build/tools/classlist \
build/tools/deps \
build/tools/docs \
build/tools/jigsaw \
@@ -88,56 +86,4 @@ TARGETS += $(COMPILE_DEPEND) $(DEPEND_SERVICE_PROVIDER)
################################################################################
# To be able to call the javascript filter when generating man pages using
# pandoc, we need to create this executable wrapper script.
ifeq ($(ENABLE_PANDOC), true)
# PANDOC_TROFF_MANPAGE_FILTER is duplicated for export in ToolsJdk.gmk.
PANDOC_TROFF_MANPAGE_FILTER := \
$(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-troff-manpage-filter
PANDOC_TROFF_MANPAGE_FILTER_SETUP := \
$(BUILDTOOLS_OUTPUTDIR)/manpages/_pandoc_troff_manpage_filter_setup.marker
# Create a usable instance of the wrapper script that calls the pandoc filter
# (which is written in javascript).
$(eval $(call SetupTextFileProcessing, CREATE_PANDOC_TROFF_MANPAGE_FILTER, \
SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-troff-manpage-filter.sh.template, \
OUTPUT_FILE := $(PANDOC_TROFF_MANPAGE_FILTER), \
REPLACEMENTS := \
@@BOOT_JDK@@ => $(BOOT_JDK) ; \
@@TOPDIR@@ => $(TOPDIR) ; \
@@JJS_FLAGS@@ => $(addprefix -J, $(JAVA_FLAGS_SMALL)), \
))
# Created script must be made executable
$(PANDOC_TROFF_MANPAGE_FILTER_SETUP): $(CREATE_PANDOC_TROFF_MANPAGE_FILTER)
$(CHMOD) a+rx $(PANDOC_TROFF_MANPAGE_FILTER)
$(TOUCH) $@
TARGETS += $(PANDOC_TROFF_MANPAGE_FILTER_SETUP)
# PANDOC_HTML_MANPAGE_FILTER is duplicated for export in ToolsJdk.gmk.
PANDOC_HTML_MANPAGE_FILTER := \
$(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-html-manpage-filter
PANDOC_HTML_MANPAGE_FILTER_SETUP := \
$(BUILDTOOLS_OUTPUTDIR)/manpages/_pandoc_html_manpage_filter_setup.marker
# Create a usable instance of the wrapper script that calls the pandoc filter
# (which is written in javascript).
$(eval $(call SetupTextFileProcessing, CREATE_PANDOC_HTML_MANPAGE_FILTER, \
SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-html-manpage-filter.sh.template, \
OUTPUT_FILE := $(PANDOC_HTML_MANPAGE_FILTER), \
REPLACEMENTS := \
@@BOOT_JDK@@ => $(BOOT_JDK) ; \
@@TOPDIR@@ => $(TOPDIR) ; \
@@JJS_FLAGS@@ => $(addprefix -J, $(JAVA_FLAGS_SMALL)), \
))
# Created script must be made executable
$(PANDOC_HTML_MANPAGE_FILTER_SETUP): $(CREATE_PANDOC_HTML_MANPAGE_FILTER)
$(CHMOD) a+rx $(PANDOC_HTML_MANPAGE_FILTER)
$(TOUCH) $@
TARGETS += $(PANDOC_HTML_MANPAGE_FILTER_SETUP)
endif
all: $(TARGETS)

View File

@@ -38,7 +38,7 @@ CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
$(eval $(call FillCacheFind, $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR)))
ifneq ($(LIBS_DIR), )
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@ include MakeBase.gmk
### CLDRConverter needs the JRE time zone names from the java.base source.
define cldrconverter_copytznames
$(call MakeTargetDir)
$(MKDIR) -p '$(@D)'
$(RM) '$@'
$(SED) -e "s/package sun.util.resources/package build.tools.cldrconverter/" \
-e "s/extends TimeZoneNamesBundle//" \
@@ -46,7 +46,7 @@ $(eval $(call SetupCopyFiles,COPY_INTERIM_CLDRCONVERTER, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes/build/tools/cldrconverter, \
FILES := TimeZoneNames.java, \
MACRO := cldrconverter_copytznames))
##########################################################################################
all: $(COPY_INTERIM_CLDRCONVERTER)

View File

@@ -1,56 +0,0 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
include $(SPEC)
include MakeBase.gmk
################################################################################
JCOV_INPUT_IMAGE_DIR :=
ifneq ($(JCOV_INPUT_JDK), )
JCOV_INPUT_IMAGE_DIR := $(JCOV_INPUT_JDK)
else
JCOV_INPUT_IMAGE_DIR := $(JDK_IMAGE_DIR)
endif
#moving instrumented jdk image in and out of jcov_temp because of CODETOOLS-7902299
JCOV_TEMP := $(SUPPORT_OUTPUTDIR)/jcov_temp
$(JCOV_IMAGE_DIR)/release: $(JCOV_INPUT_IMAGE_DIR)/release
$(call LogWarn, Creating instrumented jdk image with JCov)
$(call MakeDir, $(JCOV_TEMP) $(IMAGES_OUTPUTDIR))
$(RM) -r $(JCOV_IMAGE_DIR) $(JCOV_TEMP)/*
$(CP) -r $(JCOV_INPUT_IMAGE_DIR) $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)
$(JAVA) -Xmx3g -jar $(JCOV_HOME)/lib/jcov.jar JREInstr \
-t $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)/template.xml \
-rt $(JCOV_HOME)/lib/jcov_network_saver.jar \
-exclude 'java.lang.Object' \
-exclude 'jdk.internal.org.objectweb.**' \
-exclude jdk.test.Main -exclude '**\$Proxy*' \
$(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)
$(MV) $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR) $(JCOV_IMAGE_DIR)
$(RMDIR) $(JCOV_TEMP)
jcov-image: $(JCOV_IMAGE_DIR)/release

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@ COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk
$(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \
$(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY))))
$(call LogInfo, Copying java modules to buildjdk: $(MODULES_TO_COPY))
$(ECHO) $(LOG_INFO) "Copying java modules to buildjdk: $(MODULES_TO_COPY)"
$(RM) -r $(BUILDJDK_OUTPUTDIR)/jdk/modules
$(MKDIR) -p $(BUILDJDK_OUTPUTDIR)/jdk/modules
$(foreach m, $(MODULES_TO_COPY), \

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include Execute.gmk
include Modules.gmk
ifeq ($(MODULE), )
@@ -38,8 +37,7 @@ $(eval $(call IncludeCustomExtension, CreateJmods.gmk))
################################################################################
JMODS_DIR := $(IMAGES_OUTPUTDIR)/jmods
JMODS_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jmods
JMOD_FILE := $(MODULE).jmod
JMODS_TEMPDIR := $(SUPPORT_OUTPUTDIR)/jmods
LIBS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \
$(SUPPORT_OUTPUTDIR)/modules_libs $(IMPORT_MODULES_LIBS))))
@@ -120,7 +118,7 @@ ifeq ($(MODULE), java.base)
endif
endif
else # not java.base
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
# Only java.base needs to include the MSVC*_DLLs. Make sure no other module
# tries to include them (typically imported ones).
ifneq ($(MSVCR_DLL), )
@@ -154,27 +152,26 @@ endif
# to avoid false incremental rebuilds.
ifeq ($(INTERIM_JMOD), true)
DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS))
INTERIM_MSG := interim$(SPACE)
endif
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
# Create jmods in the support dir and then move them into place to keep the
# Create jmods in a temp dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
$(eval $(call SetupExecute, create_$(JMOD_FILE), \
WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \
DEPS := $(DEPS), \
OUTPUT_FILE := $(JMODS_DIR)/$(JMOD_FILE), \
SUPPORT_DIR := $(JMODS_SUPPORT_DIR), \
PRE_COMMAND := $(RM) $(JMODS_DIR)/$(JMOD_FILE) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
COMMAND := $(JMOD) create --module-version $(VERSION_SHORT) \
--target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
--module-path $(JMODS_DIR) $(JMOD_FLAGS) \
$(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
POST_COMMAND := $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \
))
$(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
$(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))
$(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))
$(RM) $@ $(JMODS_TEMPDIR)/$(notdir $@)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/jmods/$(MODULE).jmod, \
$(JMOD) create \
--module-version $(VERSION_SHORT) \
--target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
--module-path $(JMODS_DIR) \
$(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \
)
$(MV) $(JMODS_TEMPDIR)/$(notdir $@) $@
TARGETS += $(create_$(JMOD_FILE))
TARGETS += $(JMODS_DIR)/$(MODULE).jmod
################################################################################

View File

@@ -1,4 +1,4 @@
# Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,12 +26,11 @@ default: all
include $(SPEC)
include MakeBase.gmk
include Execute.gmk
include Modules.gmk
include ModuleTools.gmk
include ProcessMarkdown.gmk
include ToolsJdk.gmk
include ZipArchive.gmk
include $(TOPDIR)/make/ToolsJdk.gmk
include $(TOPDIR)/make/ModuleTools.gmk
# This is needed to properly setup DOCS_MODULES.
$(eval $(call ReadImportMetaData))
@@ -62,11 +61,11 @@ MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
$(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
# URLs
JAVADOC_BASE_URL := https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage
BUG_SUBMIT_URL := https://bugreport.java.com/bugreport/
JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage
BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
COPYRIGHT_URL := {@docroot}/../legal/copyright.html
LICENSE_URL := https://www.oracle.com/technetwork/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
REDISTRIBUTION_URL := https://www.oracle.com/technetwork/java/redist-137594.html
LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
REDISTRIBUTION_URL := http://www.oracle.com/technetwork/java/redist-137594.html
# In order to get a specific ordering it's necessary to specify the total
# ordering of tags as the tags are otherwise ordered in order of definition.
@@ -169,6 +168,14 @@ JAVADOC_TOP := \
font-family: DejaVu Sans, Arial, Helvetica, sans-serif; \
font-weight: normal;">$(DRAFT_TEXT)</div>
JDK_INDEX_CONTENT := \
<!DOCTYPE html> \
<html lang="en"> \
<head> \
<meta http-equiv="refresh" content="0;url=api/index.html"> \
</head> \
</html>
################################################################################
# JDK javadoc titles/text snippets
@@ -196,13 +203,10 @@ define setup_gengraph_dot_to_png
# For each module needing a graph, create a png file from the dot file
# generated by the GenGraphs tool and store it in the target dir.
$$(eval $$(call SetupExecute, gengraphs_png_$1_$2, \
INFO := Running dot for module graphs for $2, \
DEPS := $$(gengraphs_$1_TARGET), \
OUTPUT_FILE := $$($1_$2_PNG_TARGET), \
SUPPORT_DIR := $$($1_GENGRAPHS_DIR), \
COMMAND := $$(DOT) -Tpng -o $$($1_$2_PNG_TARGET) $$($1_$2_DOT_SRC), \
))
$$($1_$2_PNG_TARGET): $$($1_GENGRAPHS_MARKER)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$($1_$2_DOT_SRC), \
$$(DOT) -Tpng -o $$($1_$2_PNG_TARGET) $$($1_$2_DOT_SRC))
$1_MODULEGRAPH_TARGETS += $$($1_$2_PNG_TARGET)
endef
@@ -224,7 +228,7 @@ define create_overview_file
<blockquote><dl> \
#
$1_OVERVIEW_TEXT += $$(foreach g, $$($1_GROUPS), \
<dt style="margin-top: 8px;">$$($$g_GROUP_NAME)</dt> \
<dt style="margin-top: 8px;"><a href="\#$$g">$$($$g_GROUP_NAME)</a></dt> \
<dd style="margin-top: 8px;">$$($$g_GROUP_DESCRIPTION)</dd> \
)
$1_OVERVIEW_TEXT += \
@@ -328,7 +332,7 @@ define SetupApiDocsGenerationBody
$1_JAVADOC_CMD := $$(JAVA) -Djava.awt.headless=true $$($1_JAVA_ARGS) \
$$(NEW_JAVADOC)
else
$1_OPTIONS += $$(addprefix -J, $$($1_JAVA_ARGS))
$1_OPTIONS += $$(addprefix -J, $$($1_JAVA_ARGS))
endif
$1_VARDEPS := $$($1_JAVA_ARGS) $$($1_OPTIONS) $$(MODULES_SOURCE_PATH) \
@@ -340,18 +344,18 @@ define SetupApiDocsGenerationBody
$1_SOURCE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach module, \
$$($1_ALL_MODULES), $$(call FindModuleSrcDirs, $$(module)))))
$$(eval $$(call SetupExecute, javadoc_$1, \
WARN := Generating $1 javadoc for $$(words $$($1_ALL_MODULES)) modules, \
INFO := Javadoc modules: $$($1_ALL_MODULES), \
DEPS := $$(BUILD_TOOLS_JDK) $$($1_VARDEPS_FILE) $$($1_SOURCE_DEPS) \
$$($1_OVERVIEW), \
OUTPUT_DIR := $$($1_TARGET_DIR), \
SUPPORT_DIR := $$(SUPPORT_OUTPUTDIR)/docs, \
COMMAND := $$($1_JAVADOC_CMD) -d $$($1_TARGET_DIR) $$($1_OPTIONS) \
$$($1_LOG_OPTION), \
))
# Javadoc creates a lot of files but use index.html as a marker
$$($1_TARGET_DIR)/index.html: $$(BUILD_TOOLS_JDK) $$($1_VARDEPS_FILE) \
$$($1_SOURCE_DEPS) $$($1_OVERVIEW)
$$(call LogWarn, Generating $1 javadoc for \
$$(words $$($1_ALL_MODULES)) modules)
$$(call LogInfo, Javadoc modules: $$($1_ALL_MODULES))
$$(call MakeDir, $$($1_TARGET_DIR))
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1, \
$$($1_JAVADOC_CMD) -d $$($1_TARGET_DIR) \
$$($1_OPTIONS) $$($1_LOG_OPTION))
$1_JAVADOC_TARGETS := $$(javadoc_$1_TARGET)
$1_JAVADOC_TARGETS := $$($1_TARGET_DIR)/index.html
ifeq ($$(ENABLE_FULL_DOCS), true)
# We have asked ModuleGraph to generate links to png files. Now we must
@@ -371,18 +375,19 @@ define SetupApiDocsGenerationBody
$$(TOPDIR)/make/jdk/src/classes/build/tools/jigsaw/javadoc-graphs.properties
$1_GENGRAPHS_DIR := $$(SUPPORT_OUTPUTDIR)/docs/$1-gengraphs
$1_GENGRAPHS_MARKER := $$($1_GENGRAPHS_DIR)/_gengraphs_run.marker
$$(eval $$(call SetupExecute, gengraphs_$1, \
INFO := Running gengraphs for $1 documentation, \
DEPS := $$(BUILD_JIGSAW_TOOLS) $$(GENGRAPHS_PROPS), \
OUTPUT_DIR := $$($1_GENGRAPHS_DIR), \
COMMAND := $$(TOOL_GENGRAPHS) --spec --output $$($1_GENGRAPHS_DIR) \
--dot-attributes $$(GENGRAPHS_PROPS), \
))
$$($1_GENGRAPHS_MARKER): $$(BUILD_JIGSAW_TOOLS) $$(GENGRAPHS_PROPS)
$$(call LogInfo, Running gengraphs for $1 documentation)
$$(call MakeDir, $$($1_GENGRAPHS_DIR))
$$(call ExecuteWithLog, $$($1_GENGRAPHS_DIR)/gengraphs, \
$$(TOOL_GENGRAPHS) --spec --output $$($1_GENGRAPHS_DIR) \
--dot-attributes $$(GENGRAPHS_PROPS) && \
$$(TOUCH) $$($1_GENGRAPHS_MARKER))
# For each module needing a graph, create a png file from the dot file
# generated by the GenGraphs tool and store it in the target dir.
# They will depend on gengraphs_$1_TARGET, and will be added to $1.
# They will depend on $1_GENGRAPHS_MARKER, and will be added to $1.
$$(foreach m, $$($1_MODULES_NEEDING_GRAPH), \
$$(eval $$(call setup_gengraph_dot_to_png,$1,$$m)) \
)
@@ -461,7 +466,7 @@ $(eval $(call SetupApiDocsGeneration, JAVASE_API, \
# Setup generation of the reference Java SE API documentation (javadoc + modulegraph)
# The reference javadoc is just the same as javase, but using the BootJDK javadoc
# and a stable set of javadoc options. Typically it is used for generating
# and a stable set of javadoc options. Typically it is used for generating
# diffs between the reference javadoc and a javadoc bundle of a specific build
# generated in the same way.
@@ -480,7 +485,14 @@ $(eval $(call SetupApiDocsGeneration, REFERENCE_API, \
################################################################################
# Copy the global resources, including the top-level redirect index.html
JDK_INDEX_HTML := $(DOCS_OUTPUTDIR)/index.html
$(JDK_INDEX_HTML):
$(ECHO) '$(JDK_INDEX_CONTENT)' > $@
JDK_INDEX_TARGETS += $(JDK_INDEX_HTML)
# Copy the global resources
GLOBAL_SPECS_RESOURCES_DIR := $(TOPDIR)/make/data/docs-resources/
$(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \
SRC := $(GLOBAL_SPECS_RESOURCES_DIR), \
@@ -520,9 +532,9 @@ $(foreach m, $(ALL_MODULES), \
) \
)
ifeq ($(ENABLE_PANDOC), true)
ifeq ($(ENABLE_FULL_DOCS), true)
# For all markdown files in $module/share/specs directories, convert them to
# html, if we have pandoc (otherwise we'll just skip this).
# html.
GLOBAL_SPECS_DEFAULT_CSS_FILE := $(DOCS_OUTPUTDIR)/resources/jdk-default.css
@@ -530,7 +542,7 @@ ifeq ($(ENABLE_PANDOC), true)
$(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \
$(foreach d, $(SPECS_$m), \
$(if $(filter %.md, $(call CacheFind, $d)), \
$(eval $m_$d_NAME := SPECS_TO_HTML_$m_$(strip $(call RelativePath, $d, $(TOPDIR)))) \
$(eval $m_$d_NAME := CONVERT_MARKDOWN_$m_$(strip $(call RelativePath, $d, $(TOPDIR)))) \
$(eval $(call SetupProcessMarkdown, $($m_$d_NAME), \
SRC := $d, \
FILES := $(filter %.md, $(call CacheFind, $d)), \
@@ -541,40 +553,6 @@ ifeq ($(ENABLE_PANDOC), true)
) \
) \
)
# For all markdown files in $module/share/man directories, convert them to
# html.
# Create dynamic man pages from markdown using pandoc. We need
# PANDOC_HTML_MANPAGE_FILTER, a wrapper around
# PANDOC_HTML_MANPAGE_FILTER_JAVASCRIPT. This is created by buildtools-jdk.
# We should also depend on the source javascript filter
PANDOC_HTML_MANPAGE_FILTER_JAVASCRIPT := \
$(TOPDIR)/make/scripts/pandoc-html-manpage-filter.js
$(foreach m, $(ALL_MODULES), \
$(eval MAN_$m := $(call FindModuleManDirs, $m)) \
$(foreach d, $(MAN_$m), \
$(if $(filter %.md, $(call CacheFind, $d)), \
$(eval $m_$d_NAME := MAN_TO_HTML_$m_$(strip $(call RelativePath, $d, $(TOPDIR)))) \
$(eval $(call SetupProcessMarkdown, $($m_$d_NAME), \
SRC := $d, \
FILES := $(filter %.md, $(call CacheFind, $d)), \
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
REPLACEMENTS := @@VERSION_SHORT@@ => $(VERSION_SHORT), \
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
$(PANDOC_HTML_MANPAGE_FILTER_JAVASCRIPT), \
)) \
$(eval JDK_SPECS_TARGETS += $($($m_$d_NAME))) \
) \
) \
)
# The html generated from markdown also needs the css file
JDK_SPECS_TARGETS += $(COPY_GLOBAL_RESOURCES)
endif
# Special treatment for generated documentation

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,21 +29,19 @@ default: all
include $(SPEC)
include MakeBase.gmk
include Execute.gmk
include $(TOPDIR)/make/ModuleTools.gmk
################################################################################
ALL_MODULEINFO_CLASSES := $(wildcard $(JDK_OUTPUTDIR)/modules/*/module-info.class)
PACKAGES_ATTRIBUTE_TARGET := $(JDK_OUTPUTDIR)/_packages_attribute.done
ALL_MODULEINFO_CLASSES := $(wildcard $(JDK_OUTPUTDIR)/modules/*/module_info.class)
$(eval $(call SetupExecute, optimize_image, \
INFO := Optimizing the exploded image, \
DEPS := $(ALL_MODULEINFO_CLASSES) $(BUILD_JIGSAW_CLASSES), \
OUTPUT_DIR := $(JDK_OUTPUTDIR), \
COMMAND := $(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR), \
))
$(PACKAGES_ATTRIBUTE_TARGET): $(ALL_MODULEINFO_CLASSES) $(BUILD_JIGSAW_CLASSES)
$(call LogInfo, Optimizing the exploded image)
$(TOOL_ADD_PACKAGES_ATTRIBUTE) $(JDK_OUTPUTDIR)
$(TOUCH) $@
TARGETS := $(optimize_image_TARGET)
TARGETS := $(PACKAGES_ATTRIBUTE_TARGET)
################################################################################

View File

@@ -31,17 +31,15 @@ default: all
include $(SPEC)
include MakeBase.gmk
include SetupJavaCompilers.gmk
include JarArchive.gmk
################################################################################
# Create a jar with our generator class. Using a jar is intentional since it
# will load more classes
$(eval $(call SetupJavaCompilation, CLASSLIST_JAR, \
SETUP := GENERATE_JDKBYTECODE, \
SRC := $(TOPDIR)/make/jdk/src/classes, \
$(eval $(call SetupJarArchive, CLASSLIST_JAR, \
SRCS := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
INCLUDES := build/tools/classlist, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
))
@@ -59,8 +57,6 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
INTERIM_IMAGE_DIR := $(BUILD_JDK)
endif
# Save the stderr output of the command and print it along with stdout in case
# something goes wrong.
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
$(call MakeDir, $(LINK_OPT_DIR))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
@@ -69,14 +65,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
2> $(LINK_OPT_DIR)/stderr > $(JLI_TRACE_FILE) \
|| ( \
exitcode=$$? ; \
$(ECHO) "ERROR: Failed to generate link optimization data." \
"This is likely a problem with the newly built JVM/JDK." ; \
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
exit $$exitcode \
)
$(LOG_DEBUG) 2>&1 > $(JLI_TRACE_FILE)
$(GREP) -v HelloClasslist $@.raw > $@
# The jli trace is created by the same recipe as classlist. By declaring these

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,18 +35,18 @@ SPEC_DOTFILES_DIR := $(GENGRAPHS_DIR)/spec-dotfiles
TOOLS_MODULE_SRCDIR := $(TOPDIR)/make/jdk/src/classes/build/tools/jigsaw
$(GENGRAPHS_DIR)/jdk.dot: $(BUILD_JIGSAW_TOOLS)
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(TOOL_GENGRAPHS) --output $(GENGRAPHS_DIR)
$(SPEC_DOTFILES_DIR)/java.se.dot: $(BUILD_JIGSAW_TOOLS)
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(TOOL_GENGRAPHS) --spec --output $(SPEC_DOTFILES_DIR)
$(GENGRAPHS_DIR)/technology-summary.html: $(TOOLS_MODULE_SRCDIR)/technology-summary.html
$(install-file)
$(GENGRAPHS_DIR)/module-summary.html: $(BUILD_JIGSAW_TOOLS) $(GENGRAPHS_DIR)/technology-summary.html
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(TOOL_MODULESUMMARY) -o $@ --module-path $(IMAGES_OUTPUTDIR)/jmods
all: $(GENGRAPHS_DIR)/jdk.dot $(GENGRAPHS_DIR)/module-summary.html $(SPEC_DOTFILES_DIR)/java.se.dot

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -79,7 +79,7 @@ ifneq ($(MOD_FILES), )
$(BUILD_TOOLS_JDK) \
$(MOD_FILES) \
$(call DependOnVariable, ALL_MODULES)
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
$(TOOL_GENMODULEINFOSOURCE) -o $@.tmp \
--source-file $< \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -55,10 +55,10 @@ help:
$(info $(_) make install # Install the generated images locally)
$(info $(_) make reconfigure # Rerun configure with the same arguments as last time)
$(info $(_) make help # Give some help on using make)
$(info $(_) make check # Run basic testing (currently tier1))
$(info $(_) make test-<test> # Run test, e.g. test-tier1)
$(info $(_) make test TEST=<t> # Run test(s) given by TEST specification)
$(info $(_) make exploded-test TEST=<t> # Run test(s) on the exploded image instead of)
$(info $(_) make test # Run tests, default is all tests (see TEST below))
$(info $(_) make run-test-<test> # Run test, e.g. run-test-tier1)
$(info $(_) make run-test TEST=<t> # Run test(s) given by TEST specification)
$(info $(_) make exploded-run-test TEST=<t> # Run test(s) on the exploded image instead of)
$(info $(_) # the full jdk image)
$(info )
$(info Targets for cleaning)
@@ -99,13 +99,10 @@ help:
$(info $(_) TEST_JOBS=<n> # Run <n> parallel test jobs)
$(info $(_) CONF_CHECK=<method> # What to do if spec file is out of date)
$(info $(_) # method is 'auto', 'ignore' or 'fail' (default))
$(info $(_) TEST="test1 ..." # Use the given test descriptor(s) for testing, e.g.)
$(info $(_) # make test TEST="jdk_lang gtest:all")
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness)
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness)
$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
$(info $(_) make test TEST=<test> # Only run the given test or tests, e.g.)
$(info $(_) # make test TEST="jdk_lang jdk_net")
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness for run-test)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness for run-test)
$(info )
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
$(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
@@ -122,7 +119,7 @@ print-configurations:
run-test-prebuilt:
@( cd $(topdir) && \
$(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \
run-test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" )
run-test-prebuilt TEST="$(TEST)" )
ALL_GLOBAL_TARGETS := help print-configurations run-test-prebuilt

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,16 +27,16 @@ default: all
include $(SPEC)
include MakeBase.gmk
include Execute.gmk
include Modules.gmk
TOOL_TARGETS :=
JDK_TARGETS :=
JRE_TARGETS :=
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Images-pre.gmk))
################################################################################
############################################################################
# All modules for the current target platform.
ALL_MODULES := $(call FindAllModules)
@@ -56,6 +56,9 @@ BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
# Use this file inside the image as target for make rule
JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
JLINK_ORDER_RESOURCES := **module-info.class
JLINK_JLI_CLASSES :=
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
@@ -85,61 +88,151 @@ ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
endif
$(eval $(call SetupExecute, jlink_jdk, \
WARN := Creating jdk image, \
DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JDK_MODULES_LIST), \
OUTPUT_DIR := $(JDK_IMAGE_DIR), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \
COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
$(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR), \
))
$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
$(ECHO) Creating jdk image
$(RM) -r $(JDK_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \
$(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
$(JLINK_JDK_EXTRA_OPTS) \
--output $(JDK_IMAGE_DIR) \
)
$(TOUCH) $@
JLINK_JDK_TARGETS := $(jlink_jdk)
$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
$(ECHO) Creating legacy jre image
$(RM) -r $(JRE_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \
$(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
$(JLINK_JRE_EXTRA_OPTS) \
--output $(JRE_IMAGE_DIR) \
)
$(TOUCH) $@
$(eval $(call SetupExecute, jlink_jre, \
WARN := Creating legacy jre image, \
DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JDK_MODULES_LIST), \
OUTPUT_DIR := $(JDK_IMAGE_DIR), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
PRE_COMMAND := $(RM) -r $(JRE_IMAGE_DIR), \
COMMAND := $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
$(JLINK_JRE_EXTRA_OPTS) --output $(JRE_IMAGE_DIR), \
))
TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
JLINK_JRE_TARGETS := $(jlink_jre)
################################################################################
# /man dir
#
# All variables in this section are assigned with simple =, without :, to enable
# more selective overriding from the custom version of this file.
#
# Avoid evaluating this whole section on windows for speed and stability
ifneq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(BUILD_MANPAGES), true)
JRE_MAN_PAGES += \
java.1 \
jjs.1 \
keytool.1 \
orbd.1 \
pack200.1 \
rmid.1 \
rmiregistry.1 \
servertool.1 \
unpack200.1
ifeq ($(BUILD_CDS_ARCHIVE), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
CDS_ARCHIVE := bin/server/classes.jsa
else
CDS_ARCHIVE := lib/server/classes.jsa
endif
JDK_MAN_PAGES += \
$(JRE_MAN_PAGES) \
idlj.1 \
jar.1 \
jarsigner.1 \
javac.1 \
javadoc.1 \
javap.1 \
jconsole.1 \
jcmd.1 \
jdb.1 \
jdeps.1 \
jinfo.1 \
jmap.1 \
jps.1 \
jrunscript.1 \
jstack.1 \
jstat.1 \
jstatd.1 \
rmic.1 \
serialver.1
$(eval $(call SetupExecute, gen_cds_archive_jdk, \
WARN := Creating CDS archive for jdk image, \
DEPS := $(jlink_jdk), \
OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
-Xmx128M -Xms128M $(LOG_INFO), \
))
# This variable is potentially overridden in the closed makefile.
MAN_SRC_BASEDIR ?= $(TOPDIR)/src
JDK_TARGETS += $(gen_cds_archive_jdk)
ifeq ($(OPENJDK_TARGET_OS), linux)
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc
MAN1_SUBDIR = man
endif
ifeq ($(OPENJDK_TARGET_OS), solaris)
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
MAN1_SUBDIR = sun/man/man1
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
MAN1_SUBDIR = man
endif
$(eval $(call SetupExecute, gen_cds_archive_jre, \
WARN := Creating CDS archive for jre image, \
DEPS := $(jlink_jre), \
OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
-Xmx128M -Xms128M $(LOG_INFO), \
))
$(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
JDK_TARGETS += $(gen_cds_archive_jdk)
endif
$(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
$(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
$(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
ifeq ($(OPENJDK_TARGET_OS), solaris)
$(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
$(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
endif
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
$(JRE_IMAGE_DIR)/man/ja:
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
$(JDK_IMAGE_DIR)/man/ja:
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
endif
ifeq ($(OPENJDK_TARGET_OS), solaris)
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
$(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES))
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
$(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
endif
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
$(JRE_IMAGE_DIR)/man/ja
JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
$(JDK_IMAGE_DIR)/man/ja
endif
JRE_TARGETS += $(JRE_MAN_PAGE_LIST)
JDK_TARGETS += $(JDK_MAN_PAGE_LIST)
endif # BUILD_MANPAGES
endif # Windows
################################################################################
# src.zip
@@ -162,7 +255,7 @@ ifneq ($(filter jdk, $(MAKECMDGOALS)), )
)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
else
DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
@@ -210,7 +303,7 @@ ALL_JDK_MODULES := $(JDK_MODULES)
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
$(call FindTransitiveDepsForModule, $m)))
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBS_TARGET_SUBDIR := bin
else
LIBS_TARGET_SUBDIR := lib
@@ -229,7 +322,7 @@ else
DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
# On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
# dirs.
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call FillCacheFind, \
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
FindDebuginfoFiles = \
@@ -262,11 +355,11 @@ $(eval $(call IncludeCustomExtension, Images-post.gmk))
################################################################################
$(JRE_TARGETS): $(JLINK_JRE_TARGETS)
$(JDK_TARGETS): $(JLINK_JDK_TARGETS)
$(JRE_TARGETS): $(TOOL_JRE_TARGETS)
$(JDK_TARGETS): $(TOOL_JDK_TARGETS)
jdk: $(JLINK_JDK_TARGETS) $(JDK_TARGETS)
jre: $(JLINK_JRE_TARGETS) $(JRE_TARGETS)
jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
symbols: $(SYMBOLS_TARGETS)
all: jdk jre symbols

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -240,11 +240,6 @@ else # HAS_SPEC=true
override BUILD_LOG_PIPE :=
endif
ifeq ($(filter dist-clean, $(SEQUENTIAL_TARGETS)), dist-clean)
# We can't have a log file if we're about to remove it.
override BUILD_LOG_PIPE :=
endif
ifeq ($(OUTPUT_SYNC_SUPPORTED), true)
OUTPUT_SYNC_FLAG := -O$(OUTPUT_SYNC)
endif
@@ -277,7 +272,7 @@ else # HAS_SPEC=true
else
$(ECHO) "Re-running configure using default settings"
endif
( cd $(OUTPUTDIR) && PATH="$(ORIGINAL_PATH)" AUTOCONF="$(AUTOCONF)" \
( cd $(OUTPUTDIR) && PATH="$(ORIGINAL_PATH)" \
CUSTOM_ROOT="$(CUSTOM_ROOT)" \
CUSTOM_CONFIG_DIR="$(CUSTOM_CONFIG_DIR)" \
$(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )

View File

@@ -50,7 +50,7 @@ ifeq ($(HAS_SPEC),)
# Make control variables, handled by Init.gmk
INIT_CONTROL_VARIABLES += LOG CONF CONF_NAME SPEC JOBS TEST_JOBS CONF_CHECK \
COMPARE_BUILD JTREG GTEST MICRO TEST_OPTS TEST_VM_OPTS
COMPARE_BUILD JTREG GTEST TEST_OPTS TEST_VM_OPTS
# All known make control variables
MAKE_CONTROL_VARIABLES := $(INIT_CONTROL_VARIABLES) TEST JDK_FILTER
@@ -264,13 +264,9 @@ ifeq ($(HAS_SPEC),)
endif
endif
# The --no-print-directory is needed to make the call from
# FindTest.gmk to Test.gmk work with LOG=debug/trace. See
# JDK-8213736
$$(main_targets_file):
@( cd $$(topdir) && \
$$(MAKE) $$(MAKE_LOG_FLAGS) -r -R --no-print-directory \
-f $$(topdir)/make/Main.gmk \
$$(MAKE) $$(MAKE_LOG_FLAGS) -r -R -f $$(topdir)/make/Main.gmk \
-I $$(topdir)/make/common SPEC=$(strip $2) NO_RECIPES=true \
$$(MAKE_LOG_VARS) \
create-main-targets-include )
@@ -483,7 +479,7 @@ else # $(HAS_SPEC)=true
$(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
endef
ifeq ($(call isBuildOs, windows), true)
ifeq ($(OPENJDK_BUILD_OS), windows)
# On windows we need to synchronize with the javac server to be able to
# move or remove the build output directory. Since we have no proper
# synchronization process, wait for a while and hope it helps. This is only

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

107
make/Jprt.gmk Normal file
View File

@@ -0,0 +1,107 @@
#
# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This file contains targets and utilities needed by JPRT.
# Cygpath is only defined when running on Cygwin
ifneq ($(CYGPATH), )
# If we get JPRT_ARCHIVE_*BUNDLE externally, make sure they have /cygdrive
# style paths
ifdef JPRT_ARCHIVE_BUNDLE
override JPRT_ARCHIVE_BUNDLE := $(shell $(CYGPATH) -u $(JPRT_ARCHIVE_BUNDLE))
endif
ifdef JPRT_ARCHIVE_TEST_BUNDLE
override JPRT_ARCHIVE_TEST_BUNDLE := \
$(shell $(CYGPATH) -u $(JPRT_ARCHIVE_TEST_BUNDLE))
endif
ifdef JPRT_ARCHIVE_SYMBOLS_BUNDLE
override JPRT_ARCHIVE_SYMBOLS_BUNDLE := \
$(shell $(CYGPATH) -u $(JPRT_ARCHIVE_SYMBOLS_BUNDLE))
endif
endif
# When running in JPRT these will be provided. Need defaults so that this makefile
# is valid anyway.
ifndef JPRT_ARCHIVE_BUNDLE
JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/jdk-image.zip
endif
ifndef JPRT_ARCHIVE_TEST_BUNDLE
JPRT_ARCHIVE_TEST_BUNDLE=/tmp/jprt_bundles/test-image.zip
endif
ifndef JPRT_ARCHIVE_SYMBOLS_BUNDLE
JPRT_ARCHIVE_SYMBOLS_BUNDLE=/tmp/jprt_bundles/symbols-image.zip
endif
ifeq ($(SKIP_BOOT_CYCLE), false)
jprt_bundle: bootcycle-images
endif
################################################################################
# JPRT specific bundling targets
JPRT_TARGET ?= $(DEFAULT_MAKE_TARGET)
ifeq ($(JPRT_TARGET), $(DEFAULT_MAKE_TARGET))
jprt_bundle: $(DEFAULT_MAKE_TARGET) $(JPRT_ARCHIVE_BUNDLE) \
$(JPRT_ARCHIVE_TEST_BUNDLE)
SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
SRC_TEST_IMAGE_DIR := $(TEST_IMAGE_DIR)
# This target must be called in the context of a SPEC file
$(JPRT_ARCHIVE_BUNDLE): product-images
$(call MakeDir, $(@D))
$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
$(JPRT_ARCHIVE_TEST_BUNDLE): test-image
$(call MakeDir, $(@D))
$(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
##############################################################################
# Optional symbols bundle
ifeq ($(GCOV_ENABLED), true)
jprt_bundle: $(JPRT_ARCHIVE_SYMBOLS_BUNDLE)
$(JPRT_ARCHIVE_SYMBOLS_BUNDLE): product-images
$(call MakeDir, $(@D))
$(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
endif
##############################################################################
else
# Just fake the main bundle to satisfy JPRT
jprt_bundle: $(JPRT_TARGET)
@$(call TargetEnter)
$(MKDIR) -p $(OUTPUTDIR)/bundles
$(CD) $(TOPDIR) && $(TAR) cf - README | $(GZIP) > \
$(JPRT_ARCHIVE_BUNDLE)
@$(call TargetExit)
endif
ALL_TARGETS += jprt_bundle
################################################################################
$(eval $(call IncludeCustomExtension, Jprt.gmk))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@ include TextFileProcessing.gmk
default: bundles
# Only macosx has bundles defined.
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
bundles: jre-bundle jdk-bundle
@@ -63,15 +63,15 @@ ifeq ($(call isTargetOs, macosx), true)
$(JDK_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib:
$(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@))
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(RM) $@
$(LN) -s ../Home/lib/libjli.dylib $@
$(LN) -s ../Home/lib/jli/libjli.dylib $@
$(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib:
$(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@))
$(call MakeTargetDir)
$(MKDIR) -p $(@D)
$(RM) $@
$(LN) -s ../Home/lib/libjli.dylib $@
$(LN) -s ../Home/lib/jli/libjli.dylib $@
$(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \
SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -262,31 +262,6 @@ hotspot-ide-project:
ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
$(HOTSPOT_VARIANT_LIBS_TARGETS) hotspot-ide-project
################################################################################
# Generate libs and launcher targets for creating compile_commands.json fragments
define DeclareCompileCommandsRecipe
$1-compile-commands:
$$(call LogInfo, Generating compile_commands.json fragments for $1)
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk $1-only \
GENERATE_COMPILE_COMMANDS_ONLY=true)
COMPILE_COMMANDS_TARGETS_$2 += $1-compile-commands
endef
$(foreach t, $(HOTSPOT_VARIANT_LIBS_TARGETS), \
$(eval $(call DeclareCompileCommandsRecipe,$t,HOTSPOT)) \
)
$(foreach t, $(LIBS_TARGETS) $(LAUNCHER_TARGETS), \
$(eval $(call DeclareCompileCommandsRecipe,$t,JDK)) \
)
compile-commands compile-commands-hotspot:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCommands.gmk)
ALL_TARGETS += $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
ALL_TARGETS += compile-commands compile-commands-hotspot
################################################################################
# Build demos targets
@@ -371,15 +346,10 @@ release-file:
exploded-image-optimize:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
ifeq ($(JCOV_ENABLED), true)
jcov-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-image)
endif
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
zip-source jrtfs-jar jdk-image legacy-jre-image \
symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize jcov-image
release-file exploded-image-optimize
################################################################################
# Docs targets
@@ -456,7 +426,7 @@ define DeclareInterimJmodRecipe
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
MODULE=$1 \
JMODS_DIR=$(INTERIM_JMODS_DIR) \
JMODS_SUPPORT_DIR=$(INTERIM_JMODS_DIR)/support \
JMODS_TEMPDIR=$(INTERIM_JMODS_DIR)/temp \
INTERIM_JMOD=true \
)
endef
@@ -478,27 +448,24 @@ ALL_TARGETS += $(INTERIM_JMOD_TARGETS) interim-image generate-link-opt-data
#
define DeclareRunTestRecipe
test-$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
TEST="$1")
run-test-$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test TEST="$1")
exploded-test-$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
exploded-run-test-$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
TEST="$1" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
endef
# ALL_NAMED_TESTS is defined in FindTests.gmk
$(foreach t, $(ALL_NAMED_TESTS), $(eval $(call DeclareRunTestRecipe,$t)))
ALL_TEST_TARGETS := $(addprefix test-, $(ALL_NAMED_TESTS))
# We only support the "exploded-test-gtest" shortcut
ALL_EXPLODED_TESTS := gtest
ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-test-, $(ALL_EXPLODED_TESTS))
ALL_TEST_TARGETS := $(addprefix run-test-, $(ALL_NAMED_TESTS))
ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-run-test-, $(ALL_NAMED_TESTS))
ALL_TARGETS += $(ALL_TEST_TARGETS) $(ALL_EXPLODED_TEST_TARGETS)
################################################################################
# Build tests and microbenchmarks
# Build tests
#
prepare-test-image:
@@ -528,6 +495,13 @@ test-image-hotspot-jtreg-graal:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregGraalUnit.gmk \
test-image-hotspot-jtreg-graal)
run-test:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test TEST="$(TEST)")
exploded-run-test:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
ifeq ($(BUILD_GTEST), true)
test-image-hotspot-gtest:
+($(CD) $(TOPDIR)/make/hotspot/test && $(MAKE) $(MAKE_ARGS) -f GtestImage.gmk)
@@ -542,38 +516,51 @@ ifeq ($(BUILD_FAILURE_HANDLER), true)
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
-f BuildFailureHandler.gmk build)
# Runs the tests for the failure handler jtreg extension
test-failure-handler:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
-f BuildFailureHandler.gmk test)
# Copies the failure handler jtreg extension into the test image
test-image-failure-handler:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
-f BuildFailureHandler.gmk images)
endif
build-microbenchmark:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f test/BuildMicrobenchmark.gmk)
ALL_TARGETS += prepare-test-image build-test-hotspot-jtreg-native \
test-image-hotspot-jtreg-native build-test-jdk-jtreg-native \
test-image-jdk-jtreg-native build-test-lib build-test-failure-handler \
test-failure-handler test-image-failure-handler test-image-hotspot-gtest \
test-image-hotspot-jtreg-graal build-test-hotspot-jtreg-graal \
build-microbenchmark
run-test exploded-run-test
################################################################################
# Run tests
# Run tests specified by $(TEST), or the default test set.
test:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
TEST="$(TEST)")
$(call RunTests, $(TEST), $(JDK_IMAGE_DIR))
exploded-test:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
test-hotspot-jtreg:
$(call RunTests, "hotspot_all", $(JDK_IMAGE_DIR))
jcov-test:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
TEST="$(TEST)" TEST_OPTS_JCOV=true)
test-hotspot-jtreg-native:
$(call RunTests, "hotspot_native_sanity", $(JDK_IMAGE_DIR))
ALL_TARGETS += test exploded-test jcov-test
test-hotspot-internal:
$(call RunTests, "hotspot_internal", $(JDK_OUTPUTDIR))
test-hotspot-gtest:
$(call RunTests, "hotspot_gtest", $(JDK_OUTPUTDIR))
test-jdk-jtreg-native:
$(call RunTests, "jdk_native_sanity", $(JDK_IMAGE_DIR))
test-make:
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk $(TEST_TARGET))
ALL_TARGETS += test test-hotspot-jtreg test-hotspot-jtreg-native \
test-hotspot-internal test-hotspot-gtest test-jdk-jtreg-native test-make
################################################################################
# Bundles
@@ -587,12 +574,7 @@ test-bundles:
docs-bundles:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk docs-bundles)
ifeq ($(JCOV_ENABLED), true)
jcov-bundles:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk jcov-bundles)
endif
ALL_TARGETS += product-bundles test-bundles docs-bundles jcov-bundles
ALL_TARGETS += product-bundles test-bundles docs-bundles
################################################################################
# Install targets
@@ -648,7 +630,6 @@ else
# Declare dependencies between hotspot-<variant>* targets
$(foreach v, $(JVM_VARIANTS), \
$(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \
$(eval hotspot-$v-gensrc: java.base-copy) \
$(eval hotspot-$v-libs: hotspot-$v-gensrc java.base-copy) \
)
@@ -710,17 +691,16 @@ else
# copied and processed.
java.desktop-gensrc-src: java.base-gensrc java.base-copy
# The annotation processing for jdk.internal.vm.compiler
# and jdk.internal.vm.compiler.management needs classes from the current JDK.
# The annotation processing for jdk.internal.vm.ci and jdk.internal.vm.compiler
# needs classes from the current JDK.
jdk.internal.vm.ci-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.ci))
jdk.internal.vm.compiler-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler))
jdk.internal.vm.compiler.management-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler.management))
# For these modules, the gensrc step is generating a module-info.java.extra
# For jdk.internal.vm.compiler, the gensrc step is generating a module-info.java.extra
# file to be processed by the gensrc-moduleinfo target.
jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src
jdk.jdeps-gendata: java rmic
@@ -755,22 +735,6 @@ else
$(foreach m, $(ALL_MODULES), $(eval $m-jmod: $($(m)_JMOD_DEPS)))
$(foreach m, $(INTERIM_IMAGE_MODULES), $(eval $m-interim-jmod: $($(m)_JMOD_DEPS)))
# Setup the minimal set of generated native source dependencies for hotspot
$(foreach v, $(JVM_VARIANTS), \
$(eval hotspot-$v-libs-compile-commands: hotspot-$v-gensrc) \
$(foreach m, $(filter java.desktop jdk.hotspot.agent, $(GENSRC_MODULES)), \
$(eval hotspot-$v-libs-compile-commands: $m-gensrc)) \
)
# For the full JDK compile commands, create all possible generated sources
$(foreach m, $(GENSRC_MODULES), $(eval $m-libs-compile-commands: $m-gensrc))
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs-compile-commands: $m-java))
$(COMPILE_COMMANDS_TARGETS_HOTSPOT): clean-compile-commands
$(COMPILE_COMMANDS_TARGETS_JDK): clean-compile-commands
compile-commands-hotspot: $(COMPILE_COMMANDS_TARGETS_HOTSPOT)
compile-commands: $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
# Jmods cannot be created until we have the jmod tool ready to run. During
# a normal build we run it from the exploded image, but when cross compiling
# it's run from the buildjdk, which is either created at build time or user
@@ -811,8 +775,6 @@ else
jrtfs-jar: interim-langtools
build-microbenchmark: interim-langtools exploded-image
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
ifeq ($(CREATE_BUILDJDK), true)
# If creating a buildjdk, the interim image needs to be based on that.
@@ -838,10 +800,6 @@ else
mac-jdk-bundle: jdk-image
mac-legacy-jre-bundle: legacy-jre-image
ifeq ($(JCOV_INPUT_JDK), )
jcov-image: jdk-image
endif
# The optimize target can run as soon as the modules dir has been completely
# populated (java, copy and gendata targets) and the basic libs and launchers
# have been built.
@@ -869,21 +827,17 @@ else
docs-jdk-specs: $(JVM_DOCS_TARGETS) jdk.jdi-gensrc \
docs-jdk-index
docs-jdk-index: exploded-image buildtools-modules
docs-zip: docs-jdk
# Tests
test: jdk-image test-image
exploded-test: exploded-image test-image
jcov-test: jcov-image test-image
test-make: clean-test-make compile-commands
test-make-compile-commands: compile-commands
run-test: jdk-image test-image
exploded-run-test: exploded-image test-image
# Declare dependency for all generated test targets
$(foreach t, $(filter-out test-make%, $(ALL_TEST_TARGETS)), $(eval $t: jdk-image test-image))
$(foreach t, $(ALL_TEST_TARGETS), $(eval $t: jdk-image test-image))
$(foreach t, $(ALL_EXPLODED_TEST_TARGETS), $(eval $t: exploded-image test-image))
create-buildjdk-copy: jdk.jlink-java java.base-gendata \
@@ -893,10 +847,14 @@ else
interim-image: $(INTERIM_JMOD_TARGETS)
test-make: clean-test-make
build-test-lib: exploded-image-optimize
build-test-failure-handler: interim-langtools
test-failure-handler: build-test-failure-handler
test-image-failure-handler: build-test-failure-handler
build-test-hotspot-jtreg-native: buildtools-jdk \
@@ -914,6 +872,12 @@ else
test-image-hotspot-gtest: hotspot
test-hotspot-internal: exploded-image
test-hotspot-jtreg: jdk-image test-image
test-hotspot-gtest: exploded-image test-image-hotspot-gtest
install: product-images
product-bundles: product-images
@@ -922,8 +886,6 @@ else
docs-bundles: docs-image
jcov-bundles: jcov-image
generate-summary: jmods buildtools-modules
update-x11wrappers: java.base-copy buildtools-jdk
@@ -1034,7 +996,7 @@ ifneq ($(CREATE_BUILDJDK), true)
endif
endif
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
product-images: mac-jdk-bundle
endif
@@ -1053,10 +1015,6 @@ test-image: prepare-test-image \
test-image-jdk-jtreg-native test-image-failure-handler \
test-image-demos-jdk $(JVM_TEST_IMAGE_TARGETS)
ifneq ($(JMH_CORE_JAR), )
test-image: build-microbenchmark
endif
################################################################################
# all-images builds all our deliverables as images.
@@ -1088,28 +1046,6 @@ all: all-images
ALL_TARGETS += default jdk images docs bundles all
# Aliases used for running tests.
# Let "run-test" be an alias for "test"
$(foreach t, $(ALL_NAMED_TESTS), $(eval run-test-$t: test-$t))
RUN_TEST_TARGETS := $(addprefix run-test-, $(ALL_NAMED_TESTS))
run-test: test
exploded-run-test: exploded-test
# "make check" is a common idiom for running basic testing
check: test-tier1
# Keep some old names as aliases
test-hotspot-jtreg: test-hotspot_all
test-hotspot-jtreg-native: test-hotspot_native_sanity
test-hotspot-gtest: exploded-test-gtest
test-jdk-jtreg-native: test-jdk_native_sanity
ALL_TARGETS += $(RUN_TEST_TARGETS) run-test exploded-run-test check \
test-hotspot-jtreg test-hotspot-jtreg-native test-hotspot-gtest \
test-jdk-jtreg-native
################################################################################
################################################################################
#
@@ -1120,8 +1056,7 @@ ALL_TARGETS += $(RUN_TEST_TARGETS) run-test exploded-run-test check \
# file.
CLEAN_DIRS += hotspot jdk bootcycle-build test buildtools support \
images make-support test-make bundles buildjdk test-results test-support \
support/images
images make-support test-make bundles buildjdk test-results test-support
CLEAN_DIR_TARGETS := $(addprefix clean-, $(CLEAN_DIRS))
CLEAN_SUPPORT_DIRS += demos
CLEAN_SUPPORT_DIR_TARGETS := $(addprefix clean-, $(CLEAN_SUPPORT_DIRS))
@@ -1136,15 +1071,12 @@ CLEAN_MODULE_PHASE_TARGETS := $(addprefix clean-, $(foreach m, $(ALL_MODULES), \
# Remove everything, except the output from configure.
clean: $(CLEAN_DIR_TARGETS)
($(CD) $(OUTPUTDIR) && $(RM) -r build*.log* compile_commands.json)
($(CD) $(OUTPUTDIR) && $(RM) -r build*.log*)
$(ECHO) Cleaned all build artifacts.
clean-docs:
$(call CleanDocs)
clean-compile-commands:
$(call CleanMakeSupportDir,compile-commands)
$(CLEAN_DIR_TARGETS):
$(call CleanDir,$(patsubst clean-%, %, $@))
@@ -1171,15 +1103,11 @@ clean-support: clean-jdk
clean-test: clean-test-results clean-test-support
# When cleaning images, also clean the support/images directory.
clean-images: clean-support/images
# Remove everything, including configure configuration. If the output
# directory was created by configure and now becomes empty, remove it as well.
dist-clean: clean
($(CD) $(OUTPUTDIR) && \
$(RM) -r *spec.gmk $(CONFIGURESUPPORT_OUTPUTDIR) Makefile compare.sh ide \
configure.log* build.log*)
$(RM) -r *spec.gmk $(CONFIGURESUPPORT_OUTPUTDIR) Makefile compare.sh ide)
$(if $(filter $(CONF_NAME),$(notdir $(OUTPUTDIR))), \
if test "x`$(LS) $(OUTPUTDIR)`" != x; then \
$(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \
@@ -1190,9 +1118,9 @@ dist-clean: clean
)
$(ECHO) Cleaned everything, you will have to re-run configure.
ALL_TARGETS += clean clean-docs clean-compile-commands dist-clean $(CLEAN_DIR_TARGETS) \
$(CLEAN_SUPPORT_DIR_TARGETS) $(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) \
$(CLEAN_MODULE_TARGETS) $(CLEAN_MODULE_PHASE_TARGETS)
ALL_TARGETS += clean clean-docs dist-clean $(CLEAN_DIR_TARGETS) $(CLEAN_SUPPORT_DIR_TARGETS) \
$(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) $(CLEAN_MODULE_TARGETS) \
$(CLEAN_MODULE_PHASE_TARGETS)
################################################################################
# Declare *-only targets for each normal target
@@ -1202,6 +1130,11 @@ ALL_TARGETS += $(addsuffix -only, $(filter-out dist-clean clean%, $(ALL_TARGETS)
################################################################################
# Include JPRT targets
include $(TOPDIR)/make/Jprt.gmk
################################################################################
# The following targets are intentionally not added to ALL_TARGETS since they
# are internal only, to support Init.gmk.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,17 @@
ifndef _MAINSUPPORT_GMK
_MAINSUPPORT_GMK := 1
# Run the tests specified by $1, with PRODUCT_HOME specified by $2
# JT_JAVA is picked up by the jtreg launcher and used to run Jtreg itself.
define RunTests
($(CD) $(TOPDIR)/test && $(MAKE) $(MAKE_ARGS) -j1 -k MAKEFLAGS= \
JT_HOME=$(JT_HOME) PRODUCT_HOME=$(strip $2) \
TEST_IMAGE_DIR=$(TEST_IMAGE_DIR) \
ALT_OUTPUTDIR=$(OUTPUTDIR) TEST_JOBS=$(TEST_JOBS) \
JT_JAVA=$(BOOT_JDK) JIB_JAR=$(JIB_JAR) \
JOBS=$(JOBS) $1) || true
endef
define CleanDocs
@$(PRINTF) "Cleaning docs ..."
@$(PRINTF) "\n" $(LOG_DEBUG)
@@ -54,13 +65,6 @@ define CleanSupportDir
@$(PRINTF) " done\n"
endef
define CleanMakeSupportDir
@$(PRINTF) "Cleaning $(strip $1) make support artifacts ..."
@$(PRINTF) "\n" $(LOG_DEBUG)
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/$(strip $1)
@$(PRINTF) " done\n"
endef
define CleanTest
@$(PRINTF) "Cleaning test $(strip $1) ..."
@$(PRINTF) "\n" $(LOG_DEBUG)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@ TARGETS :=
include $(MAKEFILE_PREFIX)-$(MODULE).gmk
# Setup copy rules from the modules directories to the jdk image directory.
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \
@@ -93,12 +93,6 @@ $(eval $(call SetupCopyFiles, COPY_CMDS, \
FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)/%, $(TARGETS)), \
))
$(eval $(call SetupCopyFiles, COPY_MAN, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_man/$(MODULE), \
DEST := $(JDK_OUTPUTDIR)/man, \
FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_man/$(MODULE)/%, $(TARGETS)), \
))
$(eval $(call SetupCopyFiles, COPY_CONF, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE), \
DEST := $(JDK_OUTPUTDIR)/conf, \
@@ -106,9 +100,5 @@ $(eval $(call SetupCopyFiles, COPY_CONF, \
$(TARGETS)), \
))
ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
all: $(filter $(MAKESUPPORT_OUTPUTDIR)/compile-commands/%, $(TARGETS))
else
all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \
$(COPY_INCLUDE) $(COPY_CMDS) $(COPY_MAN) $(COPY_CONF) $(LINK_LIBS_TO_LIB)
endif
all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \
$(COPY_INCLUDE) $(COPY_CMDS) $(COPY_CONF) $(LINK_LIBS_TO_LIB)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,31 @@ include FindTests.gmk
# We will always run multiple tests serially
.NOTPARALLEL:
################################################################################
# Setup global test running parameters
################################################################################
# Each factor variable comes in 3 variants. The first one is reserved for users
# to use on command line. The other two are for predifined configurations in JDL
# and for machine specific configurations respectively.
TEST_JOBS_FACTOR ?= 1
TEST_JOBS_FACTOR_JDL ?= 1
TEST_JOBS_FACTOR_MACHINE ?= 1
ifeq ($(TEST_JOBS), 0)
# Concurrency based on min(cores / 2, 12) * TEST_JOBS_FACTOR
TEST_JOBS := $(shell $(AWK) \
'BEGIN { \
c = $(NUM_CORES) / 2; \
if (c > 12) c = 12; \
c = c * $(TEST_JOBS_FACTOR); \
c = c * $(TEST_JOBS_FACTOR_JDL); \
c = c * $(TEST_JOBS_FACTOR_MACHINE); \
if (c < 1) c = 1; \
printf "%.0f", c; \
}')
endif
################################################################################
# Parse global control variables
################################################################################
@@ -45,8 +70,8 @@ ifneq ($(TEST_VM_OPTS), )
endif
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
KEYWORDS := JOBS TIMEOUT, \
STRING_KEYWORDS := VM_OPTIONS, \
))
# Helper function to propagate TEST_OPTS values.
@@ -61,18 +86,14 @@ define SetTestOpt
endef
# Setup _NT_SYMBOL_PATH on Windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
ifndef _NT_SYMBOL_PATH
# Can't use PathList here as it adds quotes around the value.
_NT_SYMBOL_PATH := \
$(subst $(SPACE),;,$(strip \
$(foreach p, $(sort $(dir $(wildcard \
$(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \
$(call FixPath, $p) \
) \
))
$(subst $(SPACE),;, $(foreach p, $(sort $(dir $(wildcard \
$(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), $(call FixPath, $p)))
export _NT_SYMBOL_PATH
$(call LogDebug, Rewriting _NT_SYMBOL_PATH to $(_NT_SYMBOL_PATH))
$(info _NT_SYMBOL_PATH $(_NT_SYMBOL_PATH))
endif
endif
@@ -81,9 +102,6 @@ endif
$(eval $(call IncludeCustomExtension, RunTests.gmk))
################################################################################
# This is the JDK that we will test
JDK_UNDER_TEST := $(JDK_IMAGE_DIR)
TEST_RESULTS_DIR := $(OUTPUTDIR)/test-results
TEST_SUPPORT_DIR := $(OUTPUTDIR)/test-support
TEST_SUMMARY := $(TEST_RESULTS_DIR)/test-summary.txt
@@ -107,156 +125,8 @@ ifneq ($(wildcard $(JTREG_FAILURE_HANDLER)), )
-timeoutHandlerTimeout:0
endif
GTEST_LAUNCHER_DIRS := $(patsubst %/gtestLauncher, %, \
$(wildcard $(TEST_IMAGE_DIR)/hotspot/gtest/*/gtestLauncher))
GTEST_VARIANTS := $(strip $(patsubst $(TEST_IMAGE_DIR)/hotspot/gtest/%, %, \
$(GTEST_LAUNCHER_DIRS)))
COV_ENVIRONMENT :=
JTREG_COV_OPTIONS :=
ifeq ($(TEST_OPTS_JCOV), true)
JCOV_OUTPUT_DIR := $(TEST_RESULTS_DIR)/jcov-output
JCOV_GRABBER_LOG := $(JCOV_OUTPUT_DIR)/grabber.log
JCOV_RESULT_FILE := $(JCOV_OUTPUT_DIR)/result.xml
JCOV_REPORT := $(JCOV_OUTPUT_DIR)/report
JCOV_MEM_OPTIONS := -Xms64m -Xmx4g
# Replace our normal test JDK with the JCov image.
JDK_UNDER_TEST := $(JCOV_IMAGE_DIR)
COV_ENVIRONMENT += JAVA_TOOL_OPTIONS="$(JCOV_MEM_OPTIONS)" \
_JAVA_OPTIONS="$(JCOV_MEM_OPTIONS)"
JTREG_COV_OPTIONS += -e:JAVA_TOOL_OPTIONS='$(JCOV_MEM_OPTIONS)' \
-e:_JAVA_OPTIONS='$(JCOV_MEM_OPTIONS)'
endif
ifeq ($(GCOV_ENABLED), true)
GCOV_OUTPUT_DIR := $(TEST_RESULTS_DIR)/gcov-output
COV_ENVIRONMENT += GCOV_PREFIX="$(GCOV_OUTPUT_DIR)"
JTREG_COV_OPTIONS += -e:GCOV_PREFIX="$(GCOV_OUTPUT_DIR)"
endif
################################################################################
# Optionally create AOT libraries for specified modules before running tests.
# Note, this could not be done during JDK build time.
################################################################################
# Note, this could not be done during JDK build time.
# Parameter 1 is the name of the rule.
#
# Remaining parameters are named arguments.
# MODULE The module to generate a library for
# BIN Output directory in which to put the library
# VM_OPTIONS List of JVM arguments to use when creating library
# OPTIONS_VAR Name of variable to put AOT java options in
# PREREQS_VAR Name of variable to put all AOT prerequisite rule targets in
# for test rules to depend on
#
SetupAotModule = $(NamedParamsMacroTemplate)
define SetupAotModuleBody
$1_AOT_LIB := $$($1_BIN)/$$(call SHARED_LIBRARY,$$($1_MODULE))
$1_AOT_CCLIST := $$(wildcard $$(TOPDIR)/test/hotspot/jtreg/compiler/aot/scripts/$$($1_MODULE)-list.txt)
# Create jaotc flags.
# VM flags which don't affect AOT code generation are filtered out:
# -Xcomp, -XX:+-TieredCompilation
$1_JAOTC_OPTS := \
-J-Xmx4g --info \
$$(addprefix -J, $$(filter-out -Xcomp %TieredCompilation, $$($1_VM_OPTIONS))) \
$$(addprefix --compile-commands$(SPACE), $$($1_AOT_CCLIST)) \
--linker-path $$(LD_JAOTC) \
#
ifneq ($$(filter -ea, $$($1_VM_OPTIONS)), )
$1_JAOTC_OPTS += --compile-with-assertions
endif
$$($1_AOT_LIB): $$(JDK_UNDER_TEST)/release \
$$(call DependOnVariable, $1_JAOTC_OPTS) \
$$(call DependOnVariable, JDK_UNDER_TEST)
$$(call LogWarn, Generating $$(patsubst $$(OUTPUTDIR)/%, %, $$@))
$$(call MakeTargetDir)
$$(call ExecuteWithLog, $$@, \
$((COV_ENVIRONMENT) \
$$(FIXPATH) $$(JDK_UNDER_TEST)/bin/jaotc \
$$($1_JAOTC_OPTS) --output $$@ --module $$($1_MODULE) \
)
$$(call ExecuteWithLog, $$@.check, \
$$(FIXPATH) $$(JDK_UNDER_TEST)/bin/java \
$$($1_VM_OPTIONS) -XX:+UnlockDiagnosticVMOptions \
-XX:+PrintAOT -XX:+UseAOTStrictLoading \
-XX:AOTLibrary=$$@ -version \
> $$@.verify-aot \
)
$1_AOT_OPTIONS += -XX:AOTLibrary=$$($1_AOT_LIB)
$1_AOT_TARGETS += $$($1_AOT_LIB)
endef
# Parameter 1 is the name of the rule.
#
# Remaining parameters are named arguments.
# MODULES The modules to generate a library for
# VM_OPTIONS List of JVM arguments to use when creating libraries
#
# After calling this, the following variables are defined
# $1_AOT_OPTIONS List of all java options needed to use the AOT libraries
# $1_AOT_TARGETS List of all targets that the test rule will need to depend on
#
SetupAot = $(NamedParamsMacroTemplate)
define SetupAotBody
$$(info Running with AOTd libraries for $$($1_MODULES))
# Put aot libraries in a separate directory so they are not deleted between
# test runs and may be reused between make invocations.
$$(foreach m, $$($1_MODULES), \
$$(eval $$(call SetupAotModule, $1_$$m, \
MODULE := $$m, \
BIN := $$(TEST_SUPPORT_DIR)/aot/$1, \
VM_OPTIONS := $$($1_VM_OPTIONS), \
)) \
$$(eval $1_AOT_OPTIONS += $$($1_$$m_AOT_OPTIONS)) \
$$(eval $1_AOT_TARGETS += $$($1_$$m_AOT_TARGETS)) \
)
endef
################################################################################
# Setup global test running parameters
################################################################################
# Each factor variable comes in 3 variants. The first one is reserved for users
# to use on command line. The other two are for predifined configurations in JDL
# and for machine specific configurations respectively.
TEST_JOBS_FACTOR ?= 1
TEST_JOBS_FACTOR_JDL ?= 1
TEST_JOBS_FACTOR_MACHINE ?= 1
ifeq ($(TEST_JOBS), 0)
CORES_DIVIDER := 2
ifeq ($(call isTargetCpuArch, sparc), true)
# For smaller SPARC machines we see reasonable scaling of throughput up to
# cpus/4 without affecting test reliability. On the bigger machines, cpus/4
# causes intermittent timeouts.
ifeq ($(shell $(EXPR) $(NUM_CORES) \> 16), 1)
CORES_DIVIDER := 5
else
CORES_DIVIDER := 4
endif
endif
MEMORY_DIVIDER := 2048
TEST_JOBS := $(shell $(AWK) \
'BEGIN { \
c = $(NUM_CORES) / $(CORES_DIVIDER); \
m = $(MEMORY_SIZE) / $(MEMORY_DIVIDER); \
if (c > m) c = m; \
c = c * $(TEST_JOBS_FACTOR); \
c = c * $(TEST_JOBS_FACTOR_JDL); \
c = c * $(TEST_JOBS_FACTOR_MACHINE); \
if (c < 1) c = 1; \
printf "%.0f", c; \
}')
endif
GTEST_LAUNCHER_DIRS := $(patsubst %/gtestLauncher, %, $(wildcard $(TEST_IMAGE_DIR)/hotspot/gtest/*/gtestLauncher))
GTEST_VARIANTS := $(strip $(patsubst $(TEST_IMAGE_DIR)/hotspot/gtest/%, %, $(GTEST_LAUNCHER_DIRS)))
################################################################################
# Parse control variables
@@ -265,22 +135,17 @@ endif
ifneq ($(TEST_OPTS), )
# Inform the user
$(info Running tests using TEST_OPTS control variable '$(TEST_OPTS)')
$(eval $(call SetTestOpt,VM_OPTIONS,JTREG))
$(eval $(call SetTestOpt,VM_OPTIONS,GTEST))
$(eval $(call SetTestOpt,JOBS,JTREG))
$(eval $(call SetTestOpt,TIMEOUT,JTREG))
endif
### Jtreg
$(eval $(call SetTestOpt,VM_OPTIONS,JTREG))
$(eval $(call SetTestOpt,JAVA_OPTIONS,JTREG))
$(eval $(call SetTestOpt,AOT_MODULES,JTREG))
$(eval $(call SetTestOpt,JOBS,JTREG))
$(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN \
MAX_MEM, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS AOT_MODULES, \
KEYWORDS := JOBS TIMEOUT TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS, \
))
ifneq ($(JTREG), )
@@ -288,15 +153,9 @@ ifneq ($(JTREG), )
$(info Running tests using JTREG control variable '$(JTREG)')
endif
### Gtest
$(eval $(call SetTestOpt,VM_OPTIONS,GTEST))
$(eval $(call SetTestOpt,JAVA_OPTIONS,GTEST))
$(eval $(call SetTestOpt,AOT_MODULES,GTEST))
$(eval $(call ParseKeywordVariable, GTEST, \
SINGLE_KEYWORDS := REPEAT, \
STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
KEYWORDS := REPEAT, \
STRING_KEYWORDS := OPTIONS VM_OPTIONS, \
))
ifneq ($(GTEST), )
@@ -304,22 +163,6 @@ ifneq ($(GTEST), )
$(info Running tests using GTEST control variable '$(GTEST)')
endif
### Microbenchmarks
$(eval $(call SetTestOpt,VM_OPTIONS,MICRO))
$(eval $(call SetTestOpt,JAVA_OPTIONS,MICRO))
$(eval $(call ParseKeywordVariable, MICRO, \
SINGLE_KEYWORDS := ITER FORK TIME WARMUP_ITER WARMUP_TIME, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS RESULTS_FORMAT TEST_JDK \
BENCHMARKS_JAR, \
))
ifneq ($(MICRO), )
# Inform the user
$(info Running tests using MICRO control variable '$(MICRO)')
endif
################################################################################
# Component-specific Jtreg settings
@@ -376,24 +219,6 @@ define ParseGtestTestSelection
)
endef
# Helper function to determine if a test specification is a microbenchmark test
#
# It is a microbenchmark test if it is either "micro", or "micro:" followed by
# an optional test filter string.
define ParseMicroTestSelection
$(if $(filter micro%, $1), \
$(if $(filter micro, $1), \
micro:all \
, \
$(if $(filter micro:, $1), \
micro:all \
, \
$1 \
) \
) \
)
endef
# Helper function that removes the TOPDIR part
CleanupJtregPath = \
$(strip $(patsubst %/, %, $(subst $(JTREG_TOPDIR)/,, $1)))
@@ -468,32 +293,16 @@ endef
# Helper function to determine if a test specification is a special test
#
# It is a special test if it is "special:" followed by a test name,
# if it is "make:" or "make-" followed by a make test, or any of the special
# test names as a single word.
# It is a special test if it is "special:" followed by a test name.
define ParseSpecialTestSelection
$(if $(filter special:%, $1), \
$1 \
) \
$(if $(filter make%, $1), \
$(if $(filter make:%, $1), \
special:$(strip $1) \
) \
$(if $(filter make-%, $1), \
special:$(patsubst make-%,make:%, $1) \
) \
$(if $(filter make, $1), \
special:make:all \
)
) \
$(if $(filter failure-handler, $1), \
special:$(strip $1) \
)
endef
ifeq ($(TEST), )
$(info No test selection given in TEST!)
$(info Please use e.g. 'make test TEST=tier1' or 'make test-tier1')
$(info Please use e.g. 'run-test TEST=tier1' or 'run-test-tier1')
$(info See doc/testing.[md|html] for help)
$(error Cannot continue)
endif
@@ -506,9 +315,6 @@ $(foreach test, $(TEST), \
$(if $(strip $(PARSED_TESTS)), , \
$(eval PARSED_TESTS += $(call ParseGtestTestSelection, $(test))) \
) \
$(if $(strip $(PARSED_TESTS)), , \
$(eval PARSED_TESTS += $(call ParseMicroTestSelection, $(test))) \
) \
$(if $(strip $(PARSED_TESTS)), , \
$(eval PARSED_TESTS += $(call ParseJtregTestSelection, $(test))) \
) \
@@ -578,23 +384,15 @@ define SetupRunGtestTestBody
$1_GTEST_REPEAT :=--gtest_repeat=$$(GTEST_REPEAT)
endif
ifneq ($$(GTEST_AOT_MODULES), )
$$(eval $$(call SetupAot, $1, \
MODULES := $$(GTEST_AOT_MODULES), \
VM_OPTIONS := $$(GTEST_VM_OPTIONS) $$(GTEST_JAVA_OPTIONS), \
))
endif
run-test-$1: pre-run-test $$($1_AOT_TARGETS)
run-test-$1:
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, \
$$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \
-jdk $(JDK_UNDER_TEST) $$($1_GTEST_FILTER) \
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \
$$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \
$$(GTEST_JAVA_OPTIONS) $$($1_AOT_OPTIONS) \
-jdk $(JDK_IMAGE_DIR) $$($1_GTEST_FILTER) \
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \
$$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
@@ -627,122 +425,7 @@ define SetupRunGtestTestBody
$1: run-test-$1 parse-test-$1
TARGETS += $1 run-test-$1 parse-test-$1
TEST_TARGETS += parse-test-$1
endef
################################################################################
### Rules for Microbenchmarks
# Helper function for SetupRunMicroTest. Set a MICRO_* variable from, in order:
# 1) Specified by user on command line
# 2) Generic default
#
# Note: No spaces are allowed around the arguments.
# Arg $1 The test ID (i.e. $1 in SetupRunMicroTest)
# Arg $2 Base variable, e.g. MICRO_TEST_JDK
# Arg $3 The default value (optional)
define SetMicroValue
ifneq ($$($2), )
$1_$2 := $$($2)
else
ifneq ($3, )
$1_$2 := $3
endif
endif
endef
SetupRunMicroTest = $(NamedParamsMacroTemplate)
define SetupRunMicroTestBody
$1_TEST_RESULTS_DIR := $$(TEST_RESULTS_DIR)/$1
$1_TEST_SUPPORT_DIR := $$(TEST_SUPPORT_DIR)/$1
$1_EXITCODE := $$($1_TEST_RESULTS_DIR)/exitcode.txt
$1_TEST_NAME := $$(strip $$(patsubst micro:%, %, $$($1_TEST)))
$$(eval $$(call SetMicroValue,$1,MICRO_BENCHMARKS_JAR,$$(TEST_IMAGE_DIR)/micro/benchmarks.jar))
$$(eval $$(call SetMicroValue,$1,MICRO_TEST_JDK,$$(JDK_UNDER_TEST)))
$$(eval $$(call SetMicroValue,$1,MICRO_JAVA_OPTIONS))
# Current tests needs to open java.io
$1_MICRO_JAVA_OPTIONS += --add-opens=java.base/java.io=ALL-UNNAMED
# Set library path for native dependencies
$1_MICRO_JAVA_OPTIONS += -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native
# Save output as JSON or CSV file
ifneq ($$(MICRO_RESULTS_FORMAT), )
$1_MICRO_BASIC_OPTIONS += -rf $$(MICRO_RESULTS_FORMAT)
$1_MICRO_BASIC_OPTIONS += -rff $$($1_TEST_RESULTS_DIR)/jmh-result.$(MICRO_RESULTS_FORMAT)
endif
ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )
$1_MICRO_VM_OPTIONS := -jvmArgs $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
endif
ifneq ($$(MICRO_ITER), )
$1_MICRO_ITER := -i $$(MICRO_ITER)
endif
ifneq ($$(MICRO_FORK), )
$1_MICRO_FORK := -f $$(MICRO_FORK)
endif
ifneq ($$(MICRO_TIME), )
$1_MICRO_TIME := -r $$(MICRO_TIME)
endif
ifneq ($$(MICRO_WARMUP_ITER), )
$1_MICRO_WARMUP_ITER := -wi $$(MICRO_WARMUP_ITER)
endif
ifneq ($$(MICRO_WARMUP_TIME), )
$1_MICRO_WARMUP_TIME := -w $$(MICRO_WARMUP_TIME)
endif
run-test-$1: pre-run-test
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, \
$$(FIXPATH) $$($1_MICRO_TEST_JDK)/bin/java $$($1_MICRO_JAVA_OPTIONS) \
-jar $$($1_MICRO_BENCHMARKS_JAR) \
$$($1_MICRO_ITER) $$($1_MICRO_FORK) $$($1_MICRO_TIME) \
$$($1_MICRO_WARMUP_ITER) $$($1_MICRO_WARMUP_TIME) \
$$($1_MICRO_VM_OPTIONS) $$($1_MICRO_BASIC_OPTIONS) $$(MICRO_OPTIONS) \
$$($1_TEST_NAME) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/micro.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
)
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/micro.txt
parse-test-$1: run-test-$1
$$(call LogWarn, Finished running test '$$($1_TEST)')
$$(call LogWarn, Test report is stored in $$(strip \
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
$$(if $$(wildcard $$($1_EXITCODE)), \
$$(eval $1_EXIT_CODE := $$(shell $$(CAT) $$($1_EXITCODE))) \
$$(if $$(filter 0, $$($1_EXIT_CODE)), \
$$(eval $1_PASSED := 1) \
$$(eval $1_ERROR := 0) \
, \
$$(eval $1_PASSED := 0) \
$$(eval $1_ERROR := 1) \
) \
$$(eval $1_FAILED := 0) \
$$(eval $1_TOTAL := $$(shell \
$$(EXPR) $$($1_PASSED) + $$($1_ERROR))) \
, \
$$(eval $1_PASSED := 0) \
$$(eval $1_FAILED := 0) \
$$(eval $1_ERROR := 1) \
$$(eval $1_TOTAL := 1) \
)
$1: run-test-$1 parse-test-$1
TARGETS += $1 run-test-$1 parse-test-$1
TEST_TARGETS += parse-test-$1
TARGETS += $1
endef
################################################################################
@@ -780,11 +463,12 @@ define SetupRunJtregTestBody
$1_TEST_NAME := $$(strip $$(patsubst jtreg:%, %, $$($1_TEST)))
$1_TEST_ROOT := \
$1_COMPONENT := \
$$(strip $$(foreach root, $$(JTREG_TESTROOTS), \
$$(if $$(filter $$(root)%, $$(JTREG_TOPDIR)/$$($1_TEST_NAME)), $$(root)) \
$$(if $$(filter $$(root)%, $$(JTREG_TOPDIR)/$$($1_TEST_NAME)), \
$$(lastword $$(subst /, $$(SPACE), $$(root))) \
) \
))
$1_COMPONENT := $$(lastword $$(subst /, $$(SPACE), $$($1_TEST_ROOT)))
# This will work only as long as just hotspot has the additional "jtreg" directory
ifeq ($$($1_COMPONENT), jtreg)
$1_COMPONENT := hotspot
@@ -807,9 +491,6 @@ define SetupRunJtregTestBody
$$(eval $$(call SetJtregValue,$1,JTREG_BASIC_OPTIONS))
$$(eval $$(call SetJtregValue,$1,JTREG_PROBLEM_LIST))
# Only the problem list for the current test root should be used.
$1_JTREG_PROBLEM_LIST := $$(filter $$($1_TEST_ROOT)%, $$($1_JTREG_PROBLEM_LIST))
ifneq ($(TEST_JOBS), 0)
$$(eval $$(call SetJtregValue,$1,JTREG_JOBS,$$(TEST_JOBS)))
else
@@ -820,12 +501,7 @@ define SetupRunJtregTestBody
# we may end up with a lot of JVM's
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
# SPARC is in general slower per core so need to scale up timeouts a bit.
ifeq ($(call isTargetCpuArch, sparc), true)
JTREG_TIMEOUT_FACTOR ?= 8
else
JTREG_TIMEOUT_FACTOR ?= 4
endif
JTREG_TIMEOUT ?= 4
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
@@ -836,10 +512,10 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -$$($1_JTREG_TEST_MODE) \
-verbose:$$(JTREG_VERBOSE) -retain:$$(JTREG_RETAIN) \
-concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR) \
-concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT) \
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE)
$1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet
$1_JTREG_BASIC_OPTIONS += -automatic -keywords:\!ignore -ignore:quiet
# Make it possible to specify the JIB_DATA_DIR for tests using the
# JIB Artifact resolver
@@ -848,7 +524,7 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
# symbol lookup in hserr files
ifeq ($$(call isTargetOs, windows), true)
ifeq ($$(OPENJDK_TARGET_OS), windows)
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
endif
@@ -869,16 +545,8 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$($1_JTREG_PROBLEM_LIST))
endif
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
$1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$(wildcard \
$$(JTREG_EXTRA_PROBLEM_LISTS) \
$$(addprefix $$($1_TEST_ROOT)/, $$(JTREG_EXTRA_PROBLEM_LISTS)) \
))
endif
ifneq ($$(JIB_HOME), )
$1_JTREG_BASIC_OPTIONS += -e:JIB_HOME=$$(JIB_HOME)
ifneq ($$(JIB_JAR), )
$1_JTREG_BASIC_OPTIONS += -cpa:$$(JIB_JAR)
endif
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_GRAAL_DIR=${TEST_IMAGE_DIR}/hotspot/jtreg/graal
@@ -887,47 +555,23 @@ define SetupRunJtregTestBody
$1_JTREG_LAUNCHER_OPTIONS += -Djava.library.path="$(JTREG_FAILURE_HANDLER_DIR)"
endif
ifneq ($$(JTREG_KEYWORDS), )
# The keywords string may contain problematic characters and may be quoted
# already when it arrives here. Remove any existing quotes and replace them
# with one set of single quotes.
$1_JTREG_KEYWORDS := \
$$(strip $$(subst $$(SQUOTE),,$$(subst $$(DQUOTE),,$$(JTREG_KEYWORDS))))
ifneq ($$($1_JTREG_KEYWORDS), )
$1_JTREG_BASIC_OPTIONS += -k:'$$($1_JTREG_KEYWORDS)'
endif
endif
ifneq ($$(JTREG_AOT_MODULES), )
$$(eval $$(call SetupAot, $1, \
MODULES := $$(JTREG_AOT_MODULES), \
VM_OPTIONS := $$(JTREG_VM_OPTIONS) $$(JTREG_JAVA_OPTIONS), \
))
endif
ifneq ($$($1_AOT_OPTIONS), )
$1_JTREG_BASIC_OPTIONS += -vmoptions:"$$($1_AOT_OPTIONS)"
endif
clean-workdir-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
run-test-$1: pre-run-test clean-workdir-$1 $$($1_AOT_TARGETS)
run-test-$1: clean-workdir-$1
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
$$(COV_ENVIRONMENT) \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_UNDER_TEST) \
-testjdk:$$(JDK_IMAGE_DIR) \
-dir:$$(JTREG_TOPDIR) \
-reportDir:$$($1_TEST_RESULTS_DIR) \
-workDir:$$($1_TEST_SUPPORT_DIR) \
$$(JTREG_OPTIONS) \
$$(JTREG_FAILURE_HANDLER_OPTIONS) \
$$(JTREG_COV_OPTIONS) \
$$($1_TEST_NAME) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
@@ -961,11 +605,9 @@ define SetupRunJtregTestBody
$$(eval $1_TOTAL := 1) \
)
$1: run-test-$1 parse-test-$1 clean-workdir-$1
TARGETS += $1 run-test-$1 parse-test-$1 clean-workdir-$1
TEST_TARGETS += parse-test-$1
$1: run-test-$1 parse-test-$1
TARGETS += $1
endef
################################################################################
@@ -987,14 +629,14 @@ define SetupRunSpecialTestBody
$1_TEST_ARGS :=
endif
ifeq ($$($1_TEST_NAME), failure-handler)
ifeq ($(BUILD_FAILURE_HANDLER), true)
$1_TEST_COMMAND_LINE := \
($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f \
BuildFailureHandler.gmk test)
else
$$(error Cannot test failure handler if it is not built)
endif
ifeq ($$($1_TEST_NAME), hotspot-internal)
$1_TEST_COMMAND_LINE := \
$$(JDK_IMAGE_DIR)/bin/java -XX:+ExecuteInternalVMTests \
-XX:+ShowMessageBoxOnError -version
else ifeq ($$($1_TEST_NAME), failure-handler)
$1_TEST_COMMAND_LINE := \
($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f \
BuildFailureHandler.gmk test)
else ifeq ($$($1_TEST_NAME), make)
$1_TEST_COMMAND_LINE := \
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f \
@@ -1003,7 +645,7 @@ define SetupRunSpecialTestBody
$$(error Invalid special test specification: $$($1_TEST_NAME))
endif
run-test-$1: pre-run-test
run-test-$1:
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
@@ -1029,9 +671,7 @@ define SetupRunSpecialTestBody
$1: run-test-$1 parse-test-$1
TARGETS += $1 run-test-$1 parse-test-$1
TEST_TARGETS += parse-test-$1
TARGETS += $1
endef
################################################################################
@@ -1042,9 +682,6 @@ endef
UseGtestTestHandler = \
$(if $(filter gtest:%, $1), true)
UseMicroTestHandler = \
$(if $(filter micro:%, $1), true)
UseJtregTestHandler = \
$(if $(filter jtreg:%, $1), true)
@@ -1066,11 +703,6 @@ $(foreach test, $(TESTS_TO_RUN), \
TEST := $(test), \
)) \
) \
$(if $(call UseMicroTestHandler, $(test)), \
$(eval $(call SetupRunMicroTest, $(TEST_ID), \
TEST := $(test), \
)) \
) \
$(if $(call UseJtregTestHandler, $(test)), \
$(eval $(call SetupRunJtregTest, $(TEST_ID), \
TEST := $(test), \
@@ -1093,36 +725,12 @@ endif
# The main target for RunTests.gmk
################################################################################
#
# Provide hooks for adding functionality before and after all tests are run.
#
# The SetupRun*Test functions have populated TARGETS.
$(call LogInfo, RunTest setup starting)
# This target depends on all actual test having been run (TEST_TARGETS has beeen
# populated by the SetupRun*Test functions). If you need to provide a teardown
# hook, you must let it depend on this target.
run-all-tests: $(TEST_TARGETS)
$(call LogInfo, RunTest teardown starting)
# This is an abstract target that will be run before any actual tests. Add your
# target as a dependency to thisif you need "setup" type functionality executed
# before all tests.
pre-run-test:
$(call LogInfo, RunTest setup done)
# This is an abstract target that will be run after all actual tests, but before
# the test summary. If you need "teardown" type functionality, add your target
# as a dependency on this, and let the teardown target depend on run-all-tests.
post-run-test: run-all-tests
$(call LogInfo, RunTest teardown done)
#
# Create and print a table of the result of all tests run
#
TEST_FAILURE := false
run-test-report: post-run-test
run-test: $(TARGETS)
# Create and print a table of the result of all tests run
$(RM) $(TEST_SUMMARY).old 2> /dev/null
$(MV) $(TEST_SUMMARY) $(TEST_SUMMARY).old 2> /dev/null || true
$(RM) $(TEST_LAST_IDS).old 2> /dev/null
@@ -1166,54 +774,8 @@ run-test-report: post-run-test
$(CAT) $(TEST_SUMMARY)
$(ECHO)
# The main run-test target
run-test: run-test-report
TARGETS += run-all-tests pre-run-test post-run-test run-test-report run-test
################################################################################
# Setup JCov
################################################################################
ifeq ($(TEST_OPTS_JCOV), true)
jcov-do-start-grabber:
$(call MakeDir, $(JCOV_OUTPUT_DIR))
if $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -status 1>/dev/null 2>&1 ; then \
$(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600 ; \
fi
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar Grabber -v -t \
$(JCOV_IMAGE_DIR)/template.xml -o $(JCOV_RESULT_FILE) \
1>$(JCOV_GRABBER_LOG) 2>&1 &
jcov-start-grabber: jcov-do-start-grabber
$(call LogWarn, Starting JCov Grabber...)
$(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -t 600 -wait
jcov-stop-grabber:
$(call LogWarn, Stopping JCov Grabber...)
$(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600
jcov-gen-report: jcov-stop-grabber
$(call LogWarn, Generating JCov report ...)
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar RepGen -sourcepath \
`$(ECHO) $(TOPDIR)/src/*/share/classes/ | $(TR) ' ' ':'` -fmt html \
-o $(JCOV_REPORT) $(JCOV_RESULT_FILE)
TARGETS += jcov-do-start-grabber jcov-start-grabber jcov-stop-grabber \
jcov-gen-report
# Hook this into the framework at appropriate places
pre-run-test: jcov-start-grabber
post-run-test: jcov-gen-report
jcov-gen-report: run-all-tests
endif
################################################################################
all: run-test
.PHONY: default all $(TARGETS)
.PHONY: default all run-test $(TARGETS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -49,11 +49,10 @@ TOPDIR := $(strip $(patsubst %/make/, %, $(dir $(makefile_path))))
# given.
# Note: No spaces are allowed around the arguments.
#
# $1: The name of the variable
# $1: The name of the argument
# $2: The default value, if any, or OPTIONAL (do not provide a default but
# do not exit if it is missing)
# $3: If NO_CHECK, disable checking for target file/directory existence
# If MKDIR, create the default directory
define SetupVariable
ifeq ($$($1), )
ifeq ($2, )
@@ -76,17 +75,10 @@ define SetupVariable
endif
# If $1 has a value (is not optional), and $3 is not set (to NO_CHECK),
# and if wildcard is empty, then complain that the file is missing.
ifeq ($3, MKDIR)
ifneq ($$(findstring $$(LOG), info debug trace), )
$$(info Creating directory for $1)
endif
$$(shell mkdir -p $$($1))
else ifneq ($3, NO_CHECK)
ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1))), )
$$(info Error: Prebuilt variable $1 points to missing file/directory:)
$$(info '$$($1)')
$$(error Cannot continue.)
endif
ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1)) $3), )
$$(info Error: Prebuilt variable $1 points to missing file/directory:)
$$(info '$$($1)')
$$(error Cannot continue.)
endif
endef
@@ -95,12 +87,12 @@ endef
# $1: The output file name
# $2..$N: The lines to output to the file
define CreateNewSpec
$(if $(strip $(33)), \
$(if $(strip $(26)), \
$(error Internal makefile error: \
Too many arguments to macro, please update CreateNewSpec in RunTestsPrebuilt.gmk) \
) \
$(shell $(RM) $1) \
$(foreach i, $(call sequence, 2, 32), \
$(foreach i, $(call sequence, 2, 25), \
$(if $(strip $($i)), \
$(call AppendFile, $(strip $($i)), $1) \
) \
@@ -114,14 +106,14 @@ endef
# Verify that user has given correct additional input.
# These variables are absolutely necessary
$(eval $(call SetupVariable,OUTPUTDIR,$(TOPDIR)/build/run-test-prebuilt,MKDIR))
$(eval $(call SetupVariable,OUTPUTDIR))
$(eval $(call SetupVariable,BOOT_JDK))
$(eval $(call SetupVariable,JT_HOME))
# These can have default values based on the ones above
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols))
# Provide default values for tools that we need
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
@@ -210,8 +202,8 @@ endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
$(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
$(error Cannot continue.)
$$(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
$$(error Cannot continue.)
endif
FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
PATH_SEP:=;
@@ -220,67 +212,17 @@ else
PATH_SEP:=:
endif
# Check number of cores and memory in MB
# Check number of cores
ifeq ($(OPENJDK_TARGET_OS), linux)
NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
MEMORY_SIZE := $(shell \
$(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \
)
NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
else ifeq ($(OPENJDK_TARGET_OS), macosx)
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
else ifeq ($(OPENJDK_TARGET_OS), solaris)
NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
MEMORY_SIZE := $(shell \
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
)
NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
else ifeq ($(OPENJDK_TARGET_OS), windows)
NUM_CORES := $(NUMBER_OF_PROCESSORS)
MEMORY_SIZE := $(shell \
$(EXPR) `wmic computersystem get totalphysicalmemory -value \
| $(GREP) = | $(SED) 's/\\r//g' \
| $(CUT) -d "=" -f 2-` / 1024 / 1024 \
)
endif
ifeq ($(NUM_CORES), )
$(warn Could not find number of CPUs, assuming 1)
NUM_CORES := 1
endif
ifeq ($(MEMORY_SIZE), )
$(warn Could not find memory size, assuming 1024 MB)
MEMORY_SIZE := 1024
endif
# Setup LD for AOT support
ifneq ($(DEVKIT_HOME), )
ifeq ($(OPENJDK_TARGET_OS), windows)
LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
LIBRARY_PREFIX :=
SHARED_LIBRARY_SUFFIX := .dll
else ifeq ($(OPENJDK_TARGET_OS), linux)
LD_JAOTC := $(DEVKIT_HOME)/bin/ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
else ifeq ($(OPENJDK_TARGET_OS), macosx)
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .dylib
else ifeq ($(OPENJDK_TARGET_OS), solaris)
# Prefer system linker for AOT on Solaris.
LD_JAOTC := ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
endif
NUM_CORES := $(NUMBER_OF_PROCESSORS)
else
LD := ld
endif
ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), )
TEST_OPTS_JCOV := true
JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR)
else
TEST_OPTS_JCOV := false
JCOV_IMAGE_DIR :=
NUM_CORES := 1
endif
################################################################################
@@ -303,7 +245,6 @@ $(call CreateNewSpec, $(NEW_SPEC), \
BOOT_JDK := $(BOOT_JDK), \
JT_HOME := $(JT_HOME), \
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
JCOV_IMAGE_DIR := $(JCOV_IMAGE_DIR), \
TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \
SYMBOLS_IMAGE_DIR := $(SYMBOLS_IMAGE_DIR), \
MAKE := $(MAKE), \
@@ -319,12 +260,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
OPENJDK_TARGET_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS), \
OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \
NUM_CORES := $(NUM_CORES), \
MEMORY_SIZE := $(MEMORY_SIZE), \
LD_JAOTC := $(LD_JAOTC), \
LIBRARY_PREFIX := $(LIBRARY_PREFIX), \
SHARED_LIBRARY_SUFFIX := $(SHARED_LIBRARY_SUFFIX), \
include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \
TEST_OPTS_JCOV := $(TEST_OPTS_JCOV), \
$(CUSTOM_NEW_SPEC_LINE), \
)
@@ -340,6 +276,9 @@ run-test-prebuilt:
@$(RM) -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error
@cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \
TEST="$(TEST)"
@if test -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error ; then \
exit 1 ; \
fi
all: run-test-prebuilt

View File

@@ -124,7 +124,7 @@ JLINK := $(FIXPATH) $(JLINK_CMD)
JMOD := $(FIXPATH) $(JMOD_CMD)
JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
BUILD_JAVA := $(JAVA)
################################################################################
# Some common tools. Assume most common name and no path.
AWK := awk
@@ -172,21 +172,3 @@ UNZIP := unzip
EXPR := expr
FILE := file
HG := hg
# On Solaris gnu versions of some tools are required.
ifeq ($(OPENJDK_BUILD_OS), solaris)
AWK := gawk
GREP := ggrep
EGREP := ggrep -E
FGREP := grep -F
SED := gsed
TAR := gtar
endif
ifeq ($(OPENJDK_BUILD_OS), windows)
CYGPATH := cygpath
endif
################################################################################
# Simple macros from spec.gmk.in
SHARED_LIBRARY=$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,43 +23,33 @@
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
$(eval $(call IncludeCustomExtension, SourceRevision-pre.gmk))
$(eval $(call IncludeCustomExtension, SourceRevision.gmk))
################################################################################
# Keep track of what source revision is used to create the build, by creating
# a tracker file in the output directory. This tracker file is included in the
# source image, and can be used to recreate the source revision used.
# image, and can be used to recreate the source revision used.
#
# We're either building directly from an SCM repository, and if so, use the
# current revision from that SCM. Otherwise, we are building from a source
# bundle. As a part of creating this source bundle, the current SCM revisions of
# all repos will be stored in a file in the top dir, which is then used when
# creating the tracker file.
# We're either building directly from a mercurial forest, and if so, use the
# current revision from mercurial. Otherwise, we are building from a source
# bundle. As a part of creating this source bundle, the current mercurial
# revisions of all repos will be stored in a file in the top dir, which is then
# used when creating the tracker file.
STORED_SOURCE_REVISION := $(TOPDIR)/.src-rev
USE_SCM := false
# Are we using mercurial?
ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
USE_SCM := true
SCM_DIR := .hg
ID_COMMAND := $(PRINTF) "hg:%s" "$$($(HG) id -i)"
else ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
USE_SCM := true
SCM_DIR := .git
ID_COMMAND := $(PRINTF) "git:%s%s\n" \
"$$(git log -n1 --format=%H | cut -c1-12)" \
"$$(if test -n "$$(git status --porcelain)"; then printf '+'; fi)"
endif
ifeq ($(USE_SCM), true)
# Verify that the entire forest is consistent
$(foreach repo, $(call FindAllReposRel), \
$(if $(wildcard $(TOPDIR)/$(repo)/$(SCM_DIR)),, \
$(error Inconsistent revision control: $(repo) is missing $(SCM_DIR) directory)) \
$(if $(wildcard $(TOPDIR)/$(repo)/.hg),, \
$(error Inconsistent revision control: $(repo) is missing .hg directory)) \
)
# Replace "." with "_top" and "/" with "-"
@@ -68,9 +58,7 @@ ifeq ($(USE_SCM), true)
################################################################################
# SetupGetRevisionForRepo defines a make rule for creating a file containing
# the name of the repository and the output of the scm command for that
# repository.
#
# the name of the repository and the output of "hg id" for that repository.
# Argument 1 is the relative path to the repository from the top dir.
#
SetupGetRevisionForRepo = $(NamedParamsMacroTemplate)
@@ -80,7 +68,7 @@ ifeq ($(USE_SCM), true)
$$(SUPPORT_OUTPUTDIR)/src-rev/$$($1_FILENAME): FRC
$$(call MakeDir, $$(@D))
$$(ECHO) $$(strip $1):`$$(CD) $$($1_REPO_PATH) && $$(ID_COMMAND)` > $$@
$$(ECHO) $$(strip $1):`$$(HG) id -i --repository $$($1_REPO_PATH)` > $$@
REPO_REVISIONS += $$(SUPPORT_OUTPUTDIR)/src-rev/$$($1_FILENAME)
endef
@@ -106,58 +94,40 @@ ifeq ($(USE_SCM), true)
$(eval $(call CreateSourceRevisionFile, $(STORED_SOURCE_REVISION)))
scm-store-source-revision: $(STORED_SOURCE_REVISION)
store-source-revision: $(STORED_SOURCE_REVISION)
$(eval $(call CreateSourceRevisionFile, $(SOURCE_REVISION_TRACKER)))
scm-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
STORE_SOURCE_REVISION_TARGET := scm-store-source-revision
CREATE_SOURCE_REVISION_TRACKER_TARGET := scm-create-source-revision-tracker
.PHONY: scm-store-source-revision scm-create-source-revision-tracker
create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
else
# Not using any SCM
# Not using HG
ifneq ($(wildcard $(STORED_SOURCE_REVISION)), )
# We have a stored source revision (.src-rev)
src-store-source-revision:
$(call LogInfo, No SCM configuration present$(COMMA) not updating .src-rev)
store-source-revision:
$(call LogInfo, No mercurial configuration present$(COMMA) not updating .src-rev)
$(SOURCE_REVISION_TRACKER): $(STORED_SOURCE_REVISION)
$(install-file)
src-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
else
# We don't have a stored source revision. Can't do anything, really.
src-store-source-revision:
$(call LogWarn, Error: No SCM configuration present$(COMMA) cannot create .src-rev)
store-source-revision:
$(call LogWarn, Error: No mercurial configuration present$(COMMA) cannot create .src-rev)
exit 2
src-create-source-revision-tracker:
$(call LogWarn, Warning: No SCM configuration present and no .src-rev)
create-source-revision-tracker:
$(call LogWarn, Warning: No mercurial configuration present and no .src-rev)
endif
STORE_SOURCE_REVISION_TARGET := src-store-source-revision
CREATE_SOURCE_REVISION_TRACKER_TARGET := src-create-source-revision-tracker
.PHONY: src-store-source-revision src-create-source-revision-tracker
endif
################################################################################
$(eval $(call IncludeCustomExtension, SourceRevision-post.gmk))
################################################################################
store-source-revision: $(STORE_SOURCE_REVISION_TARGET)
create-source-revision-tracker: $(CREATE_SOURCE_REVISION_TRACKER_TARGET)
all: store-source-revision create-source-revision-tracker
FRC: # Force target
.PHONY: store-source-revision create-source-revision-tracker
.PHONY: all store-source-revision create-source-revision-tracker

View File

@@ -30,7 +30,7 @@ include MakeBase.gmk
############################################################################
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
FIXPATH_COPY := $(TEST_IMAGE_DIR)/bin/fixpath.exe
$(FIXPATH_COPY): $(firstword $(FIXPATH))

View File

@@ -47,6 +47,9 @@ TOOL_COMPILEFONTCONFIG = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_cla
TOOL_COMPILEPROPERTIES = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.compileproperties.CompileProperties
TOOL_JARREORDER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.jarreorder.JarReorder
TOOL_GENERATECHARACTER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatecharacter.GenerateCharacter
@@ -64,6 +67,9 @@ TOOL_GENERATEBREAKITERATORDATA = $(JAVA_SMALL) \
TOOL_GENERATECURRENCYDATA = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatecurrencydata.GenerateCurrencyData
TOOL_HASHER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.hasher.Hasher
TOOL_TZDB = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.tzdb.TzdbZoneRulesCompiler
@@ -103,6 +109,10 @@ TOOL_CLDRCONVERTER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes
TOOL_GENERATELSREQUIVMAPS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatelsrequivmaps.EquivMapsGenerator
TOOL_GENMODULESXML = $(JAVA_SMALL) $(INTERIM_LANGTOOLS_BOOTCLASSPATH) \
-cp $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes) \
build.tools.module.GenJdepsModulesXml
TOOL_GENMODULEINFOSOURCE = $(JAVA_SMALL) $(INTERIM_LANGTOOLS_BOOTCLASSPATH) \
-cp $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes) \
build.tools.module.GenModuleInfoSource
@@ -116,11 +126,4 @@ TOOL_PUBLICSUFFIXLIST = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_clas
##########################################################################################
# Executable javascript filter for man page generation using pandoc.
PANDOC_TROFF_MANPAGE_FILTER := $(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-troff-manpage-filter
PANDOC_HTML_MANPAGE_FILTER := $(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-html-manpage-filter
##########################################################################################
endif # _TOOLS_GMK

View File

@@ -34,7 +34,7 @@ include ProcessMarkdown.gmk
#
################################################################################
ifeq ($(ENABLE_PANDOC), false)
ifeq ($(PANDOC), )
$(info No pandoc executable was detected by configure)
$(error Cannot continue)
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include Execute.gmk
include NativeCompilation.gmk
include ToolsJdk.gmk
@@ -48,21 +47,17 @@ ifeq ($(COMPILE_TYPE), cross)
endif
X11WRAPPERS_OUTPUT := $(SUPPORT_OUTPUTDIR)/x11wrappers
GENERATOR_SOURCE_FILE := $(X11WRAPPERS_OUTPUT)/src/data_generator.c
GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
WRAPPER_OUTPUT_FILE := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt
BITS := $(OPENJDK_TARGET_CPU_BITS)
# Generate the C code for the program that will output the offset file.
$(eval $(call SetupExecute, gensrc_generator, \
INFO := Generating X11 wrapper data generator source code, \
DEPS := $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BUILD_TOOLS_JDK), \
OUTPUT_FILE := $(GENERATOR_SOURCE_FILE), \
COMMAND := $(TOOL_WRAPPERGENERATOR) gen_c_source $(GENERATOR_SOURCE_FILE) \
$(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BITS), \
))
$(X11WRAPPERS_OUTPUT)/src/data_generator.c: $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BUILD_TOOLS_JDK)
$(call LogInfo, Generating X11 wrapper data generator source code)
$(call MakeDir, $(@D))
$(call ExecuteWithLog, $@, \
$(TOOL_WRAPPERGENERATOR) gen_c_source $@ $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BITS))
DATA_GENERATOR_INCLUDES := \
-I$(TOPDIR)/src/hotspot/share/include \
@@ -80,7 +75,7 @@ DATA_GENERATOR_INCLUDES := \
$(eval $(call SetupNativeCompilation, BUILD_DATA_GENERATOR, \
PROGRAM := data_generator, \
OUTPUT_DIR := $(X11WRAPPERS_OUTPUT)/bin, \
EXTRA_FILES := $(GENERATOR_SOURCE_FILE), \
EXTRA_FILES := $(X11WRAPPERS_OUTPUT)/src/data_generator.c, \
CFLAGS := $(X_CFLAGS) $(DATA_GENERATOR_INCLUDES) $(CFLAGS_JDKEXE), \
LDFLAGS := $(LDFLAGS_JDKEXE), \
LIBS := $(X_LIBS), \
@@ -88,19 +83,16 @@ $(eval $(call SetupNativeCompilation, BUILD_DATA_GENERATOR, \
))
# Run the executable to create the data file.
$(eval $(call SetupExecute, run_wrappergen, \
INFO := Generating X11 wrapper data files, \
DEPS := $(BUILD_DATA_GENERATOR), \
OUTPUT_FILE := $(WRAPPER_OUTPUT_FILE), \
COMMAND := $(BUILD_DATA_GENERATOR_TARGET) | $(SORT) > $(WRAPPER_OUTPUT_FILE), \
))
wrapper-information: $(run_wrappergen)
$(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt: $(BUILD_DATA_GENERATOR_TARGET)
$(call LogInfo, Generating X11 wrapper data files)
$(call MakeDir, $(@D))
$(call ExecuteWithLog, $(X11WRAPPERS_OUTPUT)/generation, \
$(BUILD_DATA_GENERATOR_TARGET) | $(SORT) > $@)
$(ECHO) IMPORTANT: If you update the X11 wrapper data files, they most certainly
$(ECHO) need to be updated for both 32 and 64 bit platforms. You have now
$(ECHO) updated them for $(BITS) bit platforms only.
TARGETS += $(run_wrappergen) wrapper-information
TARGETS += $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt
################################################################################

View File

@@ -70,7 +70,7 @@ TARGETS += $(IMAGES_OUTPUTDIR)/sec-bin.zip
#
# Windows specific binary security packages.
#
ifeq ($(call isTargetOs, windows), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
# sec-windows-bin.zip is used by builds where the corresponding sources are not available
$(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP, \
SRC := $(JDK_OUTPUTDIR), \
@@ -80,7 +80,7 @@ ifeq ($(call isTargetOs, windows), true)
TARGETS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip
# JGSS files contain the native Kerberos library
ifeq ($(call isTargetCpu, x86_64), true)
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
JGSS_ZIP_NAME = jgss-windows-x64-bin.zip
else
JGSS_ZIP_NAME = jgss-windows-i586-bin.zip

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -168,7 +168,7 @@ AC_DEFUN([ADD_JVM_ARG_IF_OK],
[
$ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
$ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
OUTPUT=`$3 $1 -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
@@ -223,8 +223,6 @@ AC_DEFUN([BASIC_FIXUP_PATH],
BASIC_FIXUP_PATH_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_PATH_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
BASIC_FIXUP_PATH_WSL($1)
else
# We're on a unix platform. Hooray! :)
path="[$]$1"
@@ -272,8 +270,6 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
BASIC_FIXUP_EXECUTABLE_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
BASIC_FIXUP_EXECUTABLE_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
BASIC_FIXUP_EXECUTABLE_WSL($1)
else
# We're on a unix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
@@ -406,8 +402,6 @@ AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
# AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
AC_SUBST(AUTOCONF)
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
@@ -575,8 +569,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
BASIC_REQUIRE_PROGS(GZIP, pigz gzip)
BASIC_REQUIRE_PROGS(LN, ln)
BASIC_REQUIRE_PROGS(LS, ls)
# gmkdir is known to be safe for concurrent invocations with -p flag.
BASIC_REQUIRE_PROGS(MKDIR, [gmkdir mkdir])
BASIC_REQUIRE_PROGS(MKDIR, mkdir)
BASIC_REQUIRE_PROGS(MKTEMP, mktemp)
BASIC_REQUIRE_PROGS(MV, mv)
BASIC_REQUIRE_PROGS(NAWK, [nawk gawk awk])
@@ -613,13 +606,10 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
# These are not required on all platforms
BASIC_PATH_PROGS(CYGPATH, cygpath)
BASIC_PATH_PROGS(WSLPATH, wslpath)
BASIC_PATH_PROGS(DF, df)
BASIC_PATH_PROGS(CPIO, [cpio bsdcpio])
BASIC_PATH_PROGS(NICE, nice)
BASIC_PATH_PROGS(LSB_RELEASE, lsb_release)
BASIC_PATH_PROGS(CMD, [cmd.exe /mnt/c/Windows/System32/cmd.exe])
BASIC_PATH_PROGS(PANDOC, pandoc)
])
###############################################################################
@@ -640,14 +630,11 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
EXE_SUFFIX=".exe"
BASIC_CHECK_PATHS_WINDOWS
else
PATH_SEP=":"
EXE_SUFFIX=""
fi
AC_SUBST(PATH_SEP)
AC_SUBST(EXE_SUFFIX)
# We get the top-level directory from the supporting wrappers.
AC_MSG_CHECKING([for top-level directory])
@@ -875,7 +862,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
AC_MSG_RESULT([in default location])
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
else
AC_MSG_RESULT([in build directory with custom name])
fi
@@ -992,8 +979,6 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
MAKE_EXPECTED_ENV='cygwin'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
MAKE_EXPECTED_ENV='msys'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
MAKE_EXPECTED_ENV='x86_64-.*-linux-gnu'
else
AC_MSG_ERROR([Unknown Windows environment])
fi
@@ -1185,7 +1170,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
BASIC_CHECK_FIND_DELETE
BASIC_CHECK_TAR
BASIC_CHECK_GREP
BASIC_SETUP_PANDOC
# These tools might not be installed by default,
# need hint on how to install them.
@@ -1206,7 +1190,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
BASIC_PATH_PROGS(READELF, [greadelf readelf])
BASIC_PATH_PROGS(DOT, dot)
BASIC_PATH_PROGS(HG, hg)
BASIC_PATH_PROGS(GIT, git)
BASIC_PATH_PROGS(STAT, stat)
BASIC_PATH_PROGS(TIME, time)
BASIC_PATH_PROGS(FLOCK, flock)
@@ -1282,18 +1265,7 @@ AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
$2
else
# In WSL, local Windows drives are considered remote by df, but we are
# required to build into a directory accessible from windows, so consider
# them local here.
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
if $DF $1 | $GREP -q "^[[A-Z]]:"; then
$2
else
$3
fi
else
$3
fi
$3
fi
fi
])
@@ -1370,34 +1342,6 @@ AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
AC_SUBST(BASH_ARGS)
])
################################################################################
#
# Setup Pandoc
#
AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
[
BASIC_PATH_PROGS(PANDOC, pandoc)
PANDOC_MARKDOWN_FLAG="markdown"
if test -n "$PANDOC"; then
AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown)
if $PANDOC --list-extensions | $GREP -q '\+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
else
AC_MSG_RESULT([no])
fi
fi
if test -n "$PANDOC"; then
ENABLE_PANDOC="true"
else
ENABLE_PANDOC="false"
fi
AC_SUBST(ENABLE_PANDOC)
AC_SUBST(PANDOC_MARKDOWN_FLAG)
])
################################################################################
#
# Default make target

View File

@@ -32,13 +32,6 @@ AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_UNIX_PATH],
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
$1="$unix_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# wslpath does not check the input, only call if an actual windows path was
# given.
if $ECHO "$windows_path" | $GREP -q ["^[a-zA-Z]:[\\\\/]"]; then
unix_path=`$WSLPATH -u "$windows_path"`
$1="$unix_path"
fi
fi
])
@@ -51,9 +44,6 @@ AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH],
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
windows_path=`cmd //c echo $unix_path`
$1="$windows_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
windows_path=`$WSLPATH -m "$unix_path"`
$1="$windows_path"
fi
])
@@ -110,31 +100,6 @@ AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS],
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP [[^-_/:a-zA-Z0-9\\.]]`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
TOPDIR_windows="$TOPDIR"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([TOPDIR_windows])
# First convert to Windows path to make input valid for cmd
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([input_path])
new_path=`$CMD /c $TOPDIR_windows/make/scripts/windowsShortName.bat "$input_path" \
| $SED -e 's|\r||g' \
| $TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Rewrite back to unix style
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
fi
])
# FIXME: The BASIC_FIXUP_*_CYGWIN/MSYS is most likely too convoluted
# and could probably be heavily simplified. However, all changes in this
# area tend to need lot of testing in different scenarios, and in lack of
@@ -192,23 +157,6 @@ AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
])
AC_DEFUN([BASIC_FIXUP_PATH_WSL],
[
# Input might be given as Windows format, start by converting to
# unix format.
new_path="[$]$1"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
[
# First separate the path from the arguments. This will split at the first
@@ -357,79 +305,6 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
# Now try to locate executable using which
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_back"
fi
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_bak"
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# In WSL, suffixes must be present for Windows executables
if test ! -f "$new_path"; then
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
else
input_to_shortpath="$new_path"
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$input_to_shortpath])
])
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
@@ -478,28 +353,8 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(MSYS_ROOT_PATH)
AC_MSG_RESULT([$MSYS_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$MSYS_ROOT_PATH"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
AC_MSG_CHECKING([Windows version])
# m4 replaces [ and ] so we use @<:@ and @:>@ instead
WINDOWS_VERSION=`$CMD /c ver.exe | $EGREP -o '(@<:@0-9@:>@+\.)+@<:@0-9@:>@+'`
AC_MSG_RESULT([$WINDOWS_VERSION])
AC_MSG_CHECKING([WSL kernel version])
WSL_KERNEL_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WSL_KERNEL_VERSION])
AC_MSG_CHECKING([WSL kernel release])
WSL_KERNEL_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WSL_KERNEL_RELEASE])
AC_MSG_CHECKING([WSL distribution])
WSL_DISTRIBUTION=`$LSB_RELEASE -d | sed 's/Description:\t//'`
AC_MSG_RESULT([$WSL_DISTRIBUTION])
WINDOWS_ENV_VENDOR='WSL'
WINDOWS_ENV_VERSION="$WSL_DISTRIBUTION $WSL_KERNEL_VERSION $WSL_KERNEL_RELEASE (on Windows build $WINDOWS_VERSION)"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin, msys, nor wsl was detected.])
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin nor msys was detected.])
fi
# Test if windows or unix (cygwin/msys) find is first in path.
@@ -540,8 +395,6 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
| tr ' ' '\n' | $GREP '^/./' | $SORT | $UNIQ`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.wsl; then
FIXPATH="$FIXPATH_BIN -w"
fi
FIXPATH_SRC_W="$FIXPATH_SRC"
FIXPATH_BIN_W="$FIXPATH_BIN"
@@ -559,17 +412,6 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
AC_MSG_ERROR([Could not create $FIXPATH_BIN])
fi
AC_MSG_RESULT([yes])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
OLD_WSLENV="$WSLENV"
WSLENV=`$ECHO $WSLENV | $SED 's/PATH\/l://'`
BASIC_APPEND_TO_PATH(WSLENV, "FIXPATH_PATH")
export WSLENV
export FIXPATH_PATH=$VS_PATH_WINDOWS
AC_MSG_NOTICE([FIXPATH_PATH is $FIXPATH_PATH])
AC_MSG_NOTICE([Rewriting WSLENV from $OLD_WSLENV to $WSLENV])
fi
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -63,29 +63,18 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
# If previous step claimed to have found a JDK, check it to see if it seems to be valid.
if test "x$BOOT_JDK_FOUND" = xmaybe; then
# Do we have a bin/java?
if test ! -x "$BOOT_JDK/bin/java$EXE_SUFFIX"; then
if test ! -x "$BOOT_JDK/bin/java"; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/java; ignoring])
BOOT_JDK_FOUND=no
else
# Do we have a bin/javac?
if test ! -x "$BOOT_JDK/bin/javac$EXE_SUFFIX"; then
if test ! -x "$BOOT_JDK/bin/javac"; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring])
AC_MSG_NOTICE([(This might be an JRE instead of an JDK)])
BOOT_JDK_FOUND=no
else
# Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java$EXE_SUFFIX" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $HEAD -n 1`
if [ [[ "$BOOT_JDK_VERSION" =~ "Picked up" ]] ]; then
AC_MSG_NOTICE([You have _JAVA_OPTIONS or JAVA_TOOL_OPTIONS set. This can mess up the build. Please use --with-boot-jdk-jvmargs instead.])
AC_MSG_NOTICE([Java reports: "$BOOT_JDK_VERSION".])
AC_MSG_ERROR([Cannot continue])
fi
if [ [[ "$BOOT_JDK_VERSION" =~ "Unrecognized option" ]] ]; then
AC_MSG_NOTICE([The specified --with-boot-jdk-jvmargs is invalid for the tested java])
AC_MSG_NOTICE([Error message: "$BOOT_JDK_VERSION".])
AC_MSG_NOTICE([Please fix arguments, or point to an explicit boot JDK which accept these arguments])
AC_MSG_ERROR([Cannot continue])
fi
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
# Extra M4 quote needed to protect [] in grep expression.
[FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION \
@@ -101,7 +90,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
AC_MSG_CHECKING([for Boot JDK])
AC_MSG_RESULT([$BOOT_JDK])
AC_MSG_CHECKING([Boot JDK version])
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java$EXE_SUFFIX" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $TR '\n\r' ' '`
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '`
AC_MSG_RESULT([$BOOT_JDK_VERSION])
fi # end check jdk version
fi # end check javac
@@ -294,11 +283,6 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
[path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify additional arguments to be passed to Boot JDK tools @<:@none@:>@])])
USER_BOOT_JDK_OPTIONS="$with_boot_jdk_jvmargs"
# We look for the Boot JDK through various means, going from more certain to
# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
# we detected something (if so, the path to the jdk is in BOOT_JDK). But we
@@ -335,11 +319,11 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
AC_SUBST(BOOT_JDK)
# Setup tools from the Boot JDK.
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA, java$EXE_SUFFIX)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC, javac$EXE_SUFFIX)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVADOC, javadoc$EXE_SUFFIX)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR, jar$EXE_SUFFIX)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JARSIGNER, jarsigner$EXE_SUFFIX)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA, java)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC, javac)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVADOC, javadoc)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR, jar)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JARSIGNER, jarsigner)
# Finally, set some other options...
@@ -388,6 +372,10 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
# Specify jvm options for anything that is run with the Boot JDK.
# Not all JVM:s accept the same arguments on the command line.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify JVM arguments to be passed to all java invocations of boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
AC_MSG_CHECKING([flags for boot jdk java command] )
# Force en-US environment
@@ -401,8 +389,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
fi
# Finally append user provided options to allow them to override.
ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
# Apply user provided options.
ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs])

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -60,15 +60,6 @@ if test $? = 0; then
esac
fi
# Test and fix wsl
echo $OUT | grep x86_64-unknown-linux-gnu > /dev/null 2> /dev/null
if test $? = 0; then
uname -r | grep Microsoft > /dev/null 2> /dev/null
if test $? = 0; then
OUT="x86_64-pc-wsl"
fi
fi
# Test and fix architecture string on AIX
# On AIX 'config.guess' returns 'powerpc' as architecture but 'powerpc' is
# implicitely handled as 32-bit architecture in 'platform.m4' so we check

View File

@@ -29,13 +29,7 @@
DIR=`dirname $0`
# Allow wsl
if echo $* | grep x86_64-pc-wsl >/dev/null ; then
echo $*
exit
fi
# Filter out everything that doesn't begin with "aarch64-"
# First, filter out everything that doesn't begin with "aarch64-"
if ! echo $* | grep '^aarch64-' >/dev/null ; then
. $DIR/autoconf-config.sub "$@"
# autoconf-config.sub exits, so we never reach here, but just in

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -42,11 +42,8 @@ AC_DEFUN([BPERF_CHECK_CORES],
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
if test -n "$NUM_LCPU"; then
NUM_CORES=$NUM_LCPU
FOUND_CORES=yes
fi
NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'`
FOUND_CORES=yes
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
NUM_CORES=$NUMBER_OF_PROCESSORS

View File

@@ -75,8 +75,6 @@ JVM_LDFLAGS := @OPENJDK_BUILD_JVM_LDFLAGS@
JVM_ASFLAGS := @OPENJDK_BUILD_JVM_ASFLAGS@
JVM_LIBS := @OPENJDK_BUILD_JVM_LIBS@
FDLIBM_CFLAGS := @OPENJDK_BUILD_FDLIBM_CFLAGS@
# The compiler for the build platform is likely not warning compatible with the official
# compiler.
WARNINGS_AS_ERRORS := false

View File

@@ -31,7 +31,6 @@
export LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
export OPENJDK_BUILD_OS_ENV="@OPENJDK_BUILD_OS_ENV@"
export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
export DEBUG_LEVEL="@DEBUG_LEVEL@"
@@ -74,26 +73,18 @@ export TOPDIR="@TOPDIR@"
export OUTPUTDIR="@OUTPUTDIR@"
if [ "@COMPILE_TYPE@" != "cross" ]; then
export JAVAP="@FIXPATH@ $OUTPUTDIR/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ $OUTPUTDIR/jdk/bin/jimage"
export JMOD="@FIXPATH@ $OUTPUTDIR/jdk/bin/jmod"
export JAVAP="@FIXPATH@ $OUTPUTDIR/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ $OUTPUTDIR/jdk/bin/jimage"
elif [ "@CREATE_BUILDJDK@" = "true" ]; then
export JAVAP="@FIXPATH@ $OUTPUTDIR/buildjdk/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ $OUTPUTDIR/buildjdk/jdk/bin/jimage"
export JMOD="@FIXPATH@ $OUTPUTDIR/buildjdk/jdk/bin/jmod"
export JAVAP="@FIXPATH@ $OUTPUTDIR/buildjdk/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ $OUTPUTDIR/buildjdk/jdk/bin/jimage"
else
export JAVAP="@FIXPATH@ @BUILD_JDK@/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ @BUILD_JDK@/bin/jimage"
export JMOD="@FIXPATH@ @BUILD_JDK@/bin/jmod"
export JAVAP="@FIXPATH@ @BUILD_JDK@/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
export JIMAGE="@FIXPATH@ @BUILD_JDK@/bin/jimage"
fi
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
if [ "$OPENJDK_BUILD_OS_ENV" = "windows.wsl" ]; then
export FIXPATH_PATH="@VS_PATH_WINDOWS@"
export WSLENV="$WSLENV:FIXPATH_PATH:DEBUG_FIXPATH"
else
export PATH="@VS_PATH@"
fi
export PATH="@VS_PATH@"
fi
# Now locate the main script and run it.

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -78,12 +78,9 @@ autoconf_missing_help() {
APT_GET="`which apt-get 2> /dev/null | grep -v '^no apt-get in'`"
YUM="`which yum 2> /dev/null | grep -v '^no yum in'`"
BREW="`which brew 2> /dev/null | grep -v '^no brew in'`"
ZYPPER="`which zypper 2> /dev/null | grep -v '^no zypper in'`"
CYGWIN="`which cygpath 2> /dev/null | grep -v '^no cygpath in'`"
if test "x$ZYPPER" != x; then
PKGHANDLER_COMMAND="sudo zypper install autoconf"
elif test "x$APT_GET" != x; then
if test "x$APT_GET" != x; then
PKGHANDLER_COMMAND="sudo apt-get install autoconf"
elif test "x$YUM" != x; then
PKGHANDLER_COMMAND="sudo yum install autoconf"
@@ -125,18 +122,14 @@ generate_configure_script() {
if test "x$CUSTOM_CONFIG_DIR" != x; then
# Generate configure script with custom hooks compiled in.
custom_patcher='sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|"'
custom_script_dir_include="-I$CUSTOM_CONFIG_DIR"
else
custom_patcher='cat'
custom_script_dir_include=""
fi
mkdir -p $build_support_dir
# Call autoconf but replace the "magic" variable in configure.ac if requested.
cat $conf_script_dir/configure.ac | eval $custom_patcher | \
${AUTOCONF} -W all $custom_script_dir_include -I$conf_script_dir - \
> $generated_script
${AUTOCONF} -W all -I$conf_script_dir - > $generated_script
rm -rf autom4te.cache
# Sanity check

View File

@@ -91,6 +91,7 @@ BASIC_SETUP_PATHS
JDKOPT_SETUP_OPEN_OR_CUSTOM
# These are needed to be able to create a configuration name (and thus the output directory)
JDKOPT_SETUP_JDK_VARIANT
JDKOPT_SETUP_DEBUG_LEVEL
HOTSPOT_SETUP_JVM_VARIANTS
@@ -180,9 +181,6 @@ TOOLCHAIN_MISC_CHECKS
# Setup the JTReg Regression Test Harness.
TOOLCHAIN_SETUP_JTREG
# Setup the Java Microbenchmark Harness (JMH)
LIB_TESTS_SETUP_JMH
# Setup Jib dependency tool
TOOLCHAIN_SETUP_JIB
@@ -236,7 +234,6 @@ JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
###############################################################################
#

View File

@@ -121,11 +121,7 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
# -g0 enables debug symbols without disabling inlining.
CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
if test "x$XLC_USES_CLANG" = xtrue; then
CFLAGS_DEBUG_SYMBOLS="-g1"
else
CFLAGS_DEBUG_SYMBOLS="-g"
fi
CFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Z7 -d2Zi+"
fi
@@ -165,36 +161,14 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
microsoft)
DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
WARNINGS_ENABLE_ALL="-W3"
DISABLED_WARNINGS="4800"
;;
solstudio)
DISABLE_WARNING_PREFIX="-erroff="
CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
WARNINGS_ENABLE_ALL_CFLAGS="-v"
WARNINGS_ENABLE_ALL_CXXFLAGS="+w"
DISABLED_WARNINGS_C=""
DISABLED_WARNINGS_CXX=""
CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all"
;;
gcc)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare \
-Wunused-function -Wundef -Wunused-value -Wreturn-type \
-Wtrampolines"
WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
DISABLED_WARNINGS="unused-parameter unused"
# Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset
# CFLAGS since any target specific flags will likely not work with the
# build compiler
@@ -209,40 +183,18 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
CXX="$CXX_OLD"
CFLAGS="$CFLAGS_OLD"
;;
clang)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
# Additional warnings that are not activated by -Wall and -Wextra
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \
-Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
DISABLED_WARNINGS="unused-parameter unused"
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# missing-method-return-type triggers in JavaNativeFoundation framework
DISABLED_WARNINGS="$DISABLED_WARNINGS missing-method-return-type"
fi
;;
xlc)
DISABLE_WARNING_PREFIX="-qsuppress="
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
# Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret"
WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all"
DISABLED_WARNINGS=""
;;
esac
AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
AC_SUBST(DISABLED_WARNINGS)
AC_SUBST(DISABLED_WARNINGS_C)
AC_SUBST(DISABLED_WARNINGS_CXX)
])
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
@@ -419,7 +371,32 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
FLAGS_CPU_LEGACY=$OPENJDK_BUILD_CPU_LEGACY
FLAGS_CPU_LEGACY_LIB=$OPENJDK_BUILD_CPU_LEGACY_LIB
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_], [BUILD_])
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
# Check that the compiler supports -ffp-contract=off flag
# Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
# otherwise.
# These flags are required for GCC-based builds of
# fdlibm with optimization without losing precision.
# Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_TRUE: [FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_FALSE: [FDLIBM_CFLAGS=""])
fi
AC_SUBST(FDLIBM_CFLAGS)
# Tests are only ever compiled for TARGET
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
CFLAGS_TESTEXE="$CFLAGS_JDKEXE"
CXXFLAGS_TESTEXE="$CXXFLAGS_JDKEXE"
AC_SUBST(CFLAGS_TESTLIB)
AC_SUBST(CFLAGS_TESTEXE)
AC_SUBST(CXXFLAGS_TESTLIB)
AC_SUBST(CXXFLAGS_TESTEXE)
])
################################################################################
@@ -519,9 +496,15 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
# technically NOT for CXX (but since this gives *worse* performance, use
# no-strict-aliasing everywhere!)
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing"
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX (but since this gives *worse* performance, use no-strict-aliasing everywhere!)
CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$CXXSTD_CXXFLAG -Werror],
IF_FALSE: [CXXSTD_CXXFLAG=""])
TOOLCHAIN_CFLAGS_JDK_CXXONLY="$CXXSTD_CXXFLAG"
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM $CXXSTD_CXXFLAG"
ADLC_CXXFLAG="$CXXSTD_CXXFLAG"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
# Restrict the debug information created by Clang to avoid
@@ -540,14 +523,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
TOOLCHAIN_FLAGS="-errtags -errfmt"
TOOLCHAIN_CFLAGS="-errshort=tags"
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
TOOLCHAIN_CFLAGS_JDK="-mt"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -v -W0,-noglobal" # C only
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
-library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
-library=stlport4 -mt -features=no%except"
if test "x$DEBUG_LEVEL" = xslowdebug; then
# Previously -g was used instead of -g0 for slowdebug; this is equivalent
# to setting +d.
@@ -555,11 +535,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# Suggested additions: -qsrcmsg to get improved error reporting
TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt -qstackprotect" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno -qstackprotect"
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
@@ -567,24 +546,37 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# CFLAGS WARNINGS STUFF
# Set JVM_CFLAGS warning handling
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
WARNING_CFLAGS_JVM="-Wpointer-arith -Wsign-compare -Wunused-function"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wundef -Wformat=2"
fi
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wunused-value -Woverloaded-virtual"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wreturn-type"
fi
elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-deprecated"
if test "x$OPENJDK_TARGET_OS" = xlinux; then
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-sometimes-uninitialized"
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JDK_CONLY="-errshort=tags"
WARNING_CFLAGS_JDK_CXXONLY="+w"
WARNING_CFLAGS_JDK="-errtags=yes -errfmt"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
WARNING_CFLAGS="" # currently left empty
WARNING_CFLAGS="-W3"
WARNING_CFLAGS_JDK="-wd4800"
WARNING_CFLAGS_JVM="-wd4800"
fi
# Set some additional per-OS defines.
@@ -654,13 +646,15 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
OS_CFLAGS_JVM="$OS_CFLAGS_JVM -DNEEDS_LIBRT"
fi
fi
# EXPORT
AC_SUBST(ADLC_CXXFLAG)
])
################################################################################
# $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check
# conditionals against.
# $2 - Optional prefix for each variable defined.
# $3 - Optional prefix for compiler variables (either BUILD_ or nothing).
AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
[
#### CPU DEFINES, these should (in theory) be independent on toolchain
@@ -730,6 +724,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# -Wno-psabi to get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
$1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
$1_CFLAGS_CPU_JVM="-DARM"
elif test "x$FLAGS_CPU" = xaarch64; then
if test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
$1_CFLAGS_CPU_JVM="-fsigned-char -DARM"
fi
elif test "x$FLAGS_CPU_ARCH" = xppc; then
$1_CFLAGS_CPU_JVM="-minsert-sched-nops=regroup_exact -mno-multiple -mno-string"
if test "x$FLAGS_CPU" = xppc64; then
@@ -750,13 +748,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
fi
$1_CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG} -Werror],
PREFIX: $3, IF_FALSE: [$1_CXXSTD_CXXFLAG=""])
$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY="${$1_CXXSTD_CXXFLAG}"
$1_TOOLCHAIN_CFLAGS_JVM="${$1_TOOLCHAIN_CFLAGS_JVM} ${$1_CXXSTD_CXXFLAG}"
$2ADLC_CXXFLAG="${$1_CXXSTD_CXXFLAG}"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$FLAGS_OS" = xlinux; then
# ppc test not really needed for clang
@@ -793,15 +784,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
FLAGS_SETUP_GCC6_COMPILER_FLAGS($1, $3)
TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: 6, PREFIX: $2, IF_AT_LEAST: FLAGS_SETUP_GCC6_COMPILER_FLAGS($1))
$1_TOOLCHAIN_CFLAGS="${$1_GCC6_CFLAGS}"
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
fi
# EXPORT to API
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM $TOOLCHAIN_CFLAGS_JVM \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG"
@@ -815,9 +805,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY \
$WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY \
$TOOLCHAIN_CFLAGS_JDK_CXXONLY \
${$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY} \
CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
$WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
$1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
@@ -835,28 +823,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
AC_SUBST($2CFLAGS_JDKEXE)
AC_SUBST($2CXXFLAGS_JDKLIB)
AC_SUBST($2CXXFLAGS_JDKEXE)
AC_SUBST($2ADLC_CXXFLAG)
COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
# Check that the compiler supports -ffp-contract=off flag
# Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
# otherwise.
# These flags are required for GCC-based builds of
# fdlibm with optimization without losing precision.
# Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
PREFIX: $3,
IF_TRUE: [$2FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_FALSE: [$2FDLIBM_CFLAGS=""])
fi
AC_SUBST($2FDLIBM_CFLAGS)
])
# FLAGS_SETUP_GCC6_COMPILER_FLAGS([PREFIX])
# Arguments:
# $1 - Prefix for each variable defined.
# $2 - Prefix for compiler variables (either BUILD_ or nothing).
AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
[
# These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code
@@ -864,11 +835,14 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
# Notably, value range propagation now assumes that the this pointer of C++
# member functions is non-null.
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
PREFIX: $2, IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
dnl IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
dnl IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
AC_MSG_NOTICE([GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
])

View File

@@ -51,7 +51,9 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
LDFLAGS_TESTEXE="${TARGET_LDFLAGS_JDK_LIBPATH}"
LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB"
LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE ${TARGET_LDFLAGS_JDK_LIBPATH}"
AC_SUBST(LDFLAGS_TESTLIB)
AC_SUBST(LDFLAGS_TESTEXE)
])
@@ -72,8 +74,10 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Add -z defs, to forbid undefined symbols in object files.
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs"
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1 -Wl,-z,relro"
BASIC_LDFLAGS_JVM_ONLY="-Wl,-z,noexecstack -Wl,-O1 -Wl,-z,relro"
BASIC_LDFLAGS_JDK_LIB_ONLY="-Wl,-z,noexecstack"
LIBJSIG_NOEXECSTACK_LDFLAGS="-Wl,-z,noexecstack"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
@@ -99,12 +103,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY="-opt:icf,8 -subsystem:windows"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
if test -n "$HAS_NOEXECSTACK"; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,noexecstack"
fi
fi
# Setup OS-dependent LDFLAGS
if test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
@@ -139,14 +137,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
fi
# Setup warning flags
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
else
LDFLAGS_WARNINGS_ARE_ERRORS=""
fi
AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
@@ -173,6 +163,10 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
elif test "x$OPENJDK_$1_CPU" = xarm; then
$1_CPU_LDFLAGS_JVM_ONLY="${$1_CPU_LDFLAGS_JVM_ONLY} -fsigned-char"
$1_CPU_LDFLAGS="$ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
elif test "x$FLAGS_CPU" = xaarch64; then
if test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
$1_CPU_LDFLAGS_JVM_ONLY="${$1_CPU_LDFLAGS_JVM_ONLY} -fsigned-char"
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then

View File

@@ -31,7 +31,9 @@
AC_DEFUN([FLAGS_SETUP_ARFLAGS],
[
# FIXME: figure out if we should select AR flags depending on OS or toolchain.
if test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
ARFLAGS="-r -mmacosx-version-min=$MACOSX_VERSION_MIN"
elif test "x$OPENJDK_TARGET_OS" = xaix; then
ARFLAGS="-X64"
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
# lib.exe is used as AR to create static libraries.
@@ -119,12 +121,6 @@ AC_DEFUN([FLAGS_SETUP_ASFLAGS_CPU_DEP],
# Misuse EXTRA_CFLAGS to mimic old behavior
$2JVM_ASFLAGS="$JVM_BASIC_ASFLAGS ${$2EXTRA_CFLAGS}"
if test "x$1" = "xTARGET" && \
test "x$TOOLCHAIN_TYPE" = xgcc && \
test "x$OPENJDK_TARGET_CPU" = xarm; then
$2JVM_ASFLAGS="${$2JVM_ASFLAGS} $ARM_ARCH_TYPE_ASFLAGS $ARM_FLOAT_TYPE_ASFLAGS"
fi
AC_SUBST($2JVM_ASFLAGS)
])

View File

@@ -34,7 +34,7 @@ m4_include([flags-other.m4])
AC_DEFUN([FLAGS_SETUP_ABI_PROFILE],
[
AC_ARG_WITH(abi-profile, [AS_HELP_STRING([--with-abi-profile],
[specify ABI profile for ARM builds (arm-vfp-sflt,arm-vfp-hflt,arm-sflt, armv5-vfp-sflt,armv6-vfp-hflt,aarch64) @<:@toolchain dependent@:>@ ])])
[specify ABI profile for ARM builds (arm-vfp-sflt,arm-vfp-hflt,arm-sflt, armv5-vfp-sflt,armv6-vfp-hflt,arm64,aarch64) @<:@toolchain dependent@:>@ ])])
if test "x$with_abi_profile" != x; then
if test "x$OPENJDK_TARGET_CPU" != xarm && \
@@ -46,59 +46,45 @@ AC_DEFUN([FLAGS_SETUP_ABI_PROFILE],
AC_MSG_CHECKING([for ABI profle])
AC_MSG_RESULT([$OPENJDK_TARGET_ABI_PROFILE])
# --- Arm-sflt CFLAGS and ASFLAGS ---
# Armv5te is required for assembler, because pld insn used in arm32 hotspot is only in v5E and above.
# However, there is also a GCC bug which generates unaligned strd/ldrd instructions on armv5te:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445, and it was fixed only quite recently.
# The resulting compromise is to enable v5TE for assembler and let GCC generate code for v5T.
if test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-sflt; then
ARM_FLOAT_TYPE=vfp-sflt
ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb'
ARM_ARCH_TYPE_ASFLAGS='-march=armv7-a -mthumb'
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-hflt; then
ARM_FLOAT_TYPE=vfp-hflt
ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb'
ARM_ARCH_TYPE_ASFLAGS='-march=armv7-a -mthumb'
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-sflt; then
ARM_FLOAT_TYPE=sflt
ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm'
ARM_ARCH_TYPE_ASFLAGS='-march=armv5te'
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv5-vfp-sflt; then
ARM_FLOAT_TYPE=vfp-sflt
ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm'
ARM_ARCH_TYPE_ASFLAGS='-march=armv5te'
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv6-vfp-hflt; then
ARM_FLOAT_TYPE=vfp-hflt
ARM_ARCH_TYPE_FLAGS='-march=armv6 -marm'
ARM_ARCH_TYPE_ASFLAGS='-march=armv6'
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm64; then
# No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
ARM_FLOAT_TYPE=
ARM_ARCH_TYPE_FLAGS=
elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xaarch64; then
# No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
ARM_FLOAT_TYPE=
ARM_ARCH_TYPE_FLAGS=
ARM_ARCH_TYPE_ASFLAGS=
else
AC_MSG_ERROR([Invalid ABI profile: "$OPENJDK_TARGET_ABI_PROFILE"])
fi
if test "x$ARM_FLOAT_TYPE" = xvfp-sflt; then
ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=softfp -mfpu=vfp -DFLOAT_ARCH=-vfp-sflt'
ARM_FLOAT_TYPE_ASFLAGS="-mfloat-abi=softfp -mfpu=vfp"
elif test "x$ARM_FLOAT_TYPE" = xvfp-hflt; then
ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=hard -mfpu=vfp -DFLOAT_ARCH=-vfp-hflt'
ARM_FLOAT_TYPE_ASFLAGS="-mfloat-abi=hard -mfpu=vfp"
elif test "x$ARM_FLOAT_TYPE" = xsflt; then
ARM_FLOAT_TYPE_FLAGS='-msoft-float -mfpu=vfp'
ARM_FLOAT_TYPE_ASFLAGS="-mfloat-abi=soft -mfpu=vfp"
fi
AC_MSG_CHECKING([for $ARM_FLOAT_TYPE floating point flags])
AC_MSG_RESULT([$ARM_FLOAT_TYPE_FLAGS])
AC_MSG_CHECKING([for $ARM_FLOAT_TYPE floating point flags for assembler])
AC_MSG_RESULT([$ARM_FLOAT_TYPE_ASFLAGS])
AC_MSG_CHECKING([for arch type flags])
AC_MSG_RESULT([$ARM_ARCH_TYPE_FLAGS])
AC_MSG_CHECKING([for arch type flags for assembler])
AC_MSG_RESULT([$ARM_ARCH_TYPE_ASFLAGS])
# Now set JDK_ARCH_ABI_PROP_NAME. This is equivalent to the last part of the
# autoconf target triplet.
@@ -255,8 +241,7 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
elif test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 &&
test "x$OPENJDK_TARGET_CPU" != xx32 ||
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 ||
test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc ||
test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
@@ -350,12 +335,8 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
CC_OUT_OPTION='-o$(SPACE)'
# When linking, how to specify the output
LD_OUT_OPTION='-o$(SPACE)'
# When archiving, how to specify the destination static archive.
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
AR_OUT_OPTION='-r -cs$(SPACE)'
else
AR_OUT_OPTION='-rcs$(SPACE)'
fi
# When archiving, how to specify the to be create static archive for object files.
AR_OUT_OPTION='rcs$(SPACE)'
fi
AC_SUBST(CC_OUT_OPTION)
AC_SUBST(LD_OUT_OPTION)
@@ -421,20 +402,17 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
# ------------------------------------------------------------
# Check that the C compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CC] supports "ARG_ARGUMENT"])
AC_MSG_CHECKING([if the C compiler supports "ARG_ARGUMENT"])
supports=yes
saved_cflags="$CFLAGS"
saved_cc="$CC"
CFLAGS="$CFLAGS ARG_ARGUMENT"
CC="$ARG_PREFIX[CC]"
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
[supports=no])
AC_LANG_POP([C])
CC="$saved_cc"
CFLAGS="$saved_cflags"
AC_MSG_RESULT([$supports])
@@ -452,20 +430,17 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
# ------------------------------------------------------------
# Check that the C++ compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CXX] supports "ARG_ARGUMENT"])
AC_MSG_CHECKING([if the C++ compiler supports "ARG_ARGUMENT"])
supports=yes
saved_cxxflags="$CXXFLAGS"
saved_cxx="$CXX"
CXXFLAGS="$CXXFLAG ARG_ARGUMENT"
CXX="$ARG_PREFIX[CXX]"
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
[supports=no])
AC_LANG_POP([C++])
CXX="$saved_cxx"
CXXFLAGS="$saved_cxxflags"
AC_MSG_RESULT([$supports])
@@ -483,22 +458,18 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
# ------------------------------------------------------------
# Check that the C and C++ compilers support an argument
BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
IF_TRUE: [C_COMP_SUPPORTS="yes"],
IF_FALSE: [C_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
IF_TRUE: [C_COMP_SUPPORTS="yes"],
IF_FALSE: [C_COMP_SUPPORTS="no"])
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
IF_FALSE: [CXX_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
IF_FALSE: [CXX_COMP_SUPPORTS="no"])
AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
AC_MSG_CHECKING([if both compilers support "ARG_ARGUMENT"])
supports=no
if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then
supports=yes;
fi
if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi
AC_MSG_RESULT([$supports])
if test "x$supports" = "xyes" ; then

Some files were not shown because too many files have changed in this diff Show More