Skip to content

Commit d283c17

Browse files
author
ripley
committed
update on LTO and macOS Java
git-svn-id: https://svn.r-project.org/R/trunk@87430 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent 9c869db commit d283c17

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

doc/manual/R-admin.texi

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,12 +1100,12 @@ later of Apple clang warn by default in all modes if @option{-Wall} or
11001100
@node Link-Time Optimization
11011101
@subsection Link-Time Optimization
11021102

1103-
There is support for using link-time optimization (@abbr{LTO}) if the toolchain
1104-
supports it: configure with flag @option{--enable-lto}. When @abbr{LTO} is
1105-
enabled it is used for compiled code in add-on packages unless the flag
1106-
@option{--enable-lto=R} is used@footnote{Then recommended packages
1107-
installed as part of the @R{} installation do use @abbr{LTO}, but not packages
1108-
installed later.}.
1103+
There is support for using link-time optimization (@abbr{LTO}) if the
1104+
toolchain supports it: configure with flag @option{--enable-lto}. When
1105+
@abbr{LTO} is enabled it is also used for compiled code in add-on
1106+
packages unless the flag @option{--enable-lto=R} is used@footnote{Then
1107+
all add-on packages, including recommended packages are not installed
1108+
with @abbr{LTO}.}.
11091109

11101110
The main benefit seen to date from @abbr{LTO} has been detecting long-standing
11111111
bugs in the ways packages pass arguments to compiled code and between
@@ -1184,10 +1184,10 @@ FPICFLAGS=-fPIC
11841184
@end example
11851185
@noindent
11861186
We suggest only using these if the problem is encountered (it had not
1187-
been seen on @acronym{CRAN} with GCC 10--14 at the time of writing).
1187+
been seen on @acronym{CRAN} with GCC 10--15 at the time of writing).
11881188

1189-
Note that @R{} may need to be re-compiled after even a minor update to
1190-
the compiler (e.g.@: from 13.1 to 13.2).
1189+
Note that @R{} will usually need to be re-compiled after even a minor
1190+
update to the compiler (e.g.@: from 13.1 to 13.2).
11911191

11921192
@node LTO with LLVM
11931193
@subsubsection @abbr{LTO} with @I{LLVM}
@@ -5608,17 +5608,19 @@ macOS does not comes with an installed Java runtime (@abbr{JRE}) and a
56085608
macOS upgrade may remove one if already installed: it is intended to be
56095609
installed at first use. Check if a @abbr{JRE} is installed by running
56105610
@command{java -version} in a @command{Terminal} window: if Java is not
5611-
installed on an Intel Mac this may prompt you to install it. We
5612-
recommend you install a version with long-term support, e.g.@: 17 or
5613-
21@footnote{The planned @I{nextLTS} release is 25 in September 2025. Java 8
5614-
@emph{aka} 1.8.0 is still @I{LTS} but some packages require 11 or later.}
5615-
but not 18--20, 22--24 with a 6-month lifetime.
5611+
installed this may prompt you to install it from Oracle@footnote{Oracle
5612+
Java has a restrictive licence, unlike distributions based on OpenJDK.}
5613+
(but see the next paragraph). We recommend you install a version with
5614+
long-term support, e.g.@: 17 or 21@footnote{The planned @I{nextLTS}
5615+
release is 25 in September 2025. Java 8 @emph{aka} 1.8.0 is still
5616+
@I{LTS} but some packages require 11 or later.} but not 18--20, 22--24
5617+
with a 6-month lifetime.
56165618

56175619
The currently simplest way to install Java is from
56185620
@uref{https://adoptium.net, Adoptium}@footnote{which website works with
56195621
Safari but not some other browsers.}: this installs into an
56205622
Apple-standard location and so works with @command{/usr/bin/java}. Other
5621-
builds are available from
5623+
builds of OpenJDK are available from
56225624
@uref{https://www.azul.com/downloads/zulu-community/?os=macos&architecture=arm-64-bit&package=jdk}
56235625
and from @I{OpenJDK} at @uref{https://jdk.java.net/}, for which
56245626
@env{JAVA_HOME} may need to be set both when configuring @R{} and at

0 commit comments

Comments
 (0)