8215131: Pandoc 2.3/build documentation fixes
Reviewed-by: erikj
This commit is contained in:
parent
c235d97d2a
commit
8c00337375
@ -1,19 +1,24 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc">
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||||
<title>Building the JDK</title>
|
<title>Building the JDK</title>
|
||||||
<style type="text/css">code{white-space: pre;}</style>
|
<style type="text/css">
|
||||||
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.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]>
|
<!--[if lt IE 9]>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
|
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header id="title-block-header">
|
||||||
<h1 class="title">Building the JDK</h1>
|
<h1 class="title">Building the JDK</h1>
|
||||||
</header>
|
</header>
|
||||||
<nav id="TOC">
|
<nav id="TOC">
|
||||||
@ -640,11 +645,13 @@ 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>
|
<p>Note that alsa is needed even if you only want to build a headless JDK.</p>
|
||||||
<ul>
|
<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><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><p>Install the libraries into the cross-compilation toolchain. For instance:</p>
|
<li>Install the libraries into the cross-compilation toolchain. For instance:</li>
|
||||||
|
</ul>
|
||||||
<pre><code>cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc
|
<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_1.0.25-4_armhf.deb .
|
||||||
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
|
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
|
||||||
<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>
|
||||||
|
<li>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4 id="x11-1">X11</h4>
|
<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>
|
<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>
|
||||||
@ -690,17 +697,21 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</c
|
|||||||
<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>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>
|
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p>Install cross-compiler on the <em>build</em> system:</p>
|
<li>Install cross-compiler on the <em>build</em> system:</li>
|
||||||
<pre><code>apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu</code></pre></li>
|
</ul>
|
||||||
<li><p>Create chroot on the <em>build</em> system, configuring it for <em>target</em> system:</p>
|
<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 \
|
<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 \
|
--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></li>
|
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/</code></pre>
|
||||||
<li><p>Configure and build with newly created chroot as sysroot/toolchain-path:</p>
|
<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/
|
<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
|
make images
|
||||||
ls build/linux-aarch64-normal-server-release/</code></pre></li>
|
ls build/linux-aarch64-normal-server-release/</code></pre>
|
||||||
</ul>
|
|
||||||
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
|
<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>
|
<p>Architectures that are known to successfully cross-compile like this are:</p>
|
||||||
<table>
|
<table>
|
||||||
@ -860,12 +871,7 @@ cannot create ... Permission denied
|
|||||||
spawn failed</code></pre>
|
spawn failed</code></pre>
|
||||||
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
|
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
|
||||||
<h3 id="getting-help">Getting Help</h3>
|
<h3 id="getting-help">Getting Help</h3>
|
||||||
<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 <script type="text/javascript">
|
<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>
|
||||||
<!--
|
|
||||||
h='openjdk.java.net';a='@';n='build-dev';e=n+a+h;
|
|
||||||
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
|
|
||||||
// -->
|
|
||||||
</script><noscript>build-dev at openjdk dot java dot net</noscript>. 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>
|
<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>
|
<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-repository-for-pushing-changes-defpath">Setting Up a Repository for Pushing Changes (defpath)</h3>
|
||||||
|
@ -918,7 +918,7 @@ targets are given, a native toolchain for the current platform will be
|
|||||||
created. Currently, at least the following targets are known to work:
|
created. Currently, at least the following targets are known to work:
|
||||||
|
|
||||||
Supported devkit targets
|
Supported devkit targets
|
||||||
------------------------
|
-------------------------
|
||||||
x86_64-linux-gnu
|
x86_64-linux-gnu
|
||||||
aarch64-linux-gnu
|
aarch64-linux-gnu
|
||||||
arm-linux-gnueabihf
|
arm-linux-gnueabihf
|
||||||
@ -1130,7 +1130,7 @@ without additional cleanup.
|
|||||||
Architectures that are known to successfully cross-compile like this are:
|
Architectures that are known to successfully cross-compile like this are:
|
||||||
|
|
||||||
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
|
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
|
||||||
------------ ------------------------- --------------------------- ------------ ----------------------
|
------------ ------------------------- --------------------------- ------------- -----------------------
|
||||||
x86 default default i386 i386-linux-gnu
|
x86 default default i386 i386-linux-gnu
|
||||||
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
|
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
|
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc">
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||||
<title>Testing the JDK</title>
|
<title>Testing the JDK</title>
|
||||||
<style type="text/css">code{white-space: pre;}</style>
|
<style type="text/css">
|
||||||
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.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]>
|
<!--[if lt IE 9]>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
|
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header id="title-block-header">
|
||||||
<h1 class="title">Testing the JDK</h1>
|
<h1 class="title">Testing the JDK</h1>
|
||||||
</header>
|
</header>
|
||||||
<nav id="TOC">
|
<nav id="TOC">
|
||||||
|
@ -80,7 +80,7 @@ define ProcessMarkdown
|
|||||||
$$(call LogInfo, Converting $2 to $$($1_FORMAT))
|
$$(call LogInfo, Converting $2 to $$($1_FORMAT))
|
||||||
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
|
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
|
||||||
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
|
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
|
||||||
$$(PANDOC) $$($1_OPTIONS) -f markdown -t $$($1_FORMAT) --standalone \
|
$$(PANDOC) $$($1_OPTIONS) -f markdown-smart -t $$($1_FORMAT) --standalone \
|
||||||
$$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS) '$$($1_$2_PANDOC_INPUT)' \
|
$$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS) '$$($1_$2_PANDOC_INPUT)' \
|
||||||
-o '$$($1_$2_PANDOC_OUTPUT)')
|
-o '$$($1_$2_PANDOC_OUTPUT)')
|
||||||
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
|
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user