< prev index next >

doc/building.html

Print this page

        

@@ -56,10 +56,11 @@
 <li><a href="#freetype">FreeType</a></li>
 <li><a href="#cups">CUPS</a></li>
 <li><a href="#x11">X11</a></li>
 <li><a href="#alsa">ALSA</a></li>
 <li><a href="#libffi">libffi</a></li>
+<li><a href="#softfloat">SoftFloat</a></li>
 </ul></li>
 <li><a href="#build-tools-requirements">Build Tools Requirements</a><ul>
 <li><a href="#autoconf">Autoconf</a></li>
 <li><a href="#gnu-make">GNU Make</a></li>
 <li><a href="#gnu-bash">GNU Bash</a></li>

@@ -418,10 +419,17 @@
 <ul>
 <li>To install on an apt-based Linux, try running <code>sudo apt-get install libffi-dev</code>.</li>
 <li>To install on an rpm-based Linux, try running <code>sudo yum install libffi-devel</code>.</li>
 </ul>
 <p>Use <code>--with-libffi=&lt;path&gt;</code> if <code>configure</code> does not properly locate your libffi files.</p>
+<h3 id="softfloat">SoftFloat</h3>
+<p><a href="http://www.jhauser.us/arithmetic/SoftFloat.html">Berkeley SoftFloat-3</a> can be used on ARM processors without FPU to slightly enhance the arithmetic precision of some floating point operations. It is not required, system softfp routines can be used without any problems. The precision loss is extremely small, but <a href="http://mail.openjdk.java.net/pipermail/aarch32-port-dev/2016-November/000611.html">the JCK detects it</a>.</p>
+<ul>
+<li>To build the library, you will have to download its source and build it for the target platform. To do so, take a look in its <code>build/Linux-ARM-VFPv2-GCC</code> subdirectory.</li>
+</ul>
+<p>You can enable this library by specifying a library prefix via <code>--with-sflt=&lt;path&gt;</code> or by specifying path to softfloat.a via <code>--with-sflt-lib=&lt;path&gt;</code> and path to directory containing softfloat.h via <code>--with-sflt-include=&lt;path&gt;</code>. You will also need to specify path to the SoftFloat license file with <code>--with-sflt-license=&lt;path&gt;</code>. If you want to use the prefix option, ensure that <code>&lt;prefix&gt;/lib/softfloat.a</code>, <code>&lt;prefix&gt;/include/softfloat.h</code> and <code>&lt;prefix&gt;/share/softfloat/softfloat.md</code> exist. However you can override the defaults by using the options above.</p>
+<p>If you do not enable this library, standard system libraries will be used instead.</p>
 <h2 id="build-tools-requirements">Build Tools Requirements</h2>
 <h3 id="autoconf">Autoconf</h3>
 <p>The JDK requires <a href="http://www.gnu.org/software/autoconf">Autoconf</a> on all platforms. At least version 2.69 is required.</p>
 <ul>
 <li>To install on an apt-based Linux, try running <code>sudo apt-get install autoconf</code>.</li>

@@ -489,10 +497,11 @@
 <li><code>--with-freetype=&lt;path&gt;</code> - Set the path to <a href="#freetype">FreeType</a></li>
 <li><code>--with-cups=&lt;path&gt;</code> - Set the path to <a href="#cups">CUPS</a></li>
 <li><code>--with-x=&lt;path&gt;</code> - Set the path to <a href="#x11">X11</a></li>
 <li><code>--with-alsa=&lt;path&gt;</code> - Set the path to <a href="#alsa">ALSA</a></li>
 <li><code>--with-libffi=&lt;path&gt;</code> - Set the path to <a href="#libffi">libffi</a></li>
+<li><code>--with-sflt=&lt;path&gt;</code> - Enable and set the path to <a href="#softfloat">SoftFloat</a> library.</li>
 <li><code>--with-jtreg=&lt;path&gt;</code> - Set the path to JTReg. See <a href="#running-tests">Running Tests</a></li>
 </ul>
 <p>Certain third-party libraries used by the JDK (libjpeg, giflib, libpng, lcms and zlib) are included in the JDK repository. The default behavior of the JDK build is to use this version of these libraries, but they might be replaced by an external version. To do so, specify <code>system</code> as the <code>&lt;source&gt;</code> option in these arguments. (The default is <code>bundled</code>).</p>
 <ul>
 <li><code>--with-libjpeg=&lt;source&gt;</code> - Use the specified source for libjpeg</li>
< prev index next >