rustc: demote curl and libssh2 to recommended

And, adjust LIBSSH2_SYS_USE_PKG_CONFIG according to if libssh2 is
installed.  Export it earlier so x.py build and x.py install will use
the same LIBSSH2_SYS_USE_PKG_CONFIG value.  This can reduce some
repeated building process.
This commit is contained in:
Xi Ruoyao 2022-10-08 19:02:47 +08:00
parent 1e9ccfa0c1
commit f2ae6ba809
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3

View File

@ -200,18 +200,25 @@
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="curl"/>,
<xref linkend="cmake"/>, and
<xref linkend="libssh2"/>
<xref linkend="cmake"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="curl"/>,
<xref linkend="libssh2"/>, and
<xref linkend="llvm"/>
(built with -DLLVM_LINK_LLVM_DYLIB=ON so that rust can link to
system LLVM instead of building its shipped version)
</para>
<note>
<para>
If a recommended dependency is not installed, a shipped copy in the
Rustc source tarball will be built and used.
</para>
</note>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="gdb"/> (used by the testsuite if it is present)
@ -336,6 +343,8 @@ EOF</userinput></screen>
src/tools/cargo/Cargo.toml &amp;&amp; -->
<screen><userinput>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &amp;&amp;
{ [ ! -e /usr/include/libssh2.h ] ||
export LIBSSH2_SYS_USE_PKG_CONFIG=1; } &amp;&amp;
python3 ./x.py build --exclude src/tools/miri</userinput></screen>
<note>
@ -414,8 +423,7 @@ python3 ./x.py build --exclude src/tools/miri</userinput></screen>
Still as your normal user, do a DESTDIR install:
</para>
<screen><userinput>export LIBSSH2_SYS_USE_PKG_CONFIG=1 &amp;&amp;
DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;
<screen><userinput>DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;
unset LIBSSH2_SYS_USE_PKG_CONFIG</userinput></screen>
<para>
@ -512,11 +520,10 @@ cp -a install/* /</userinput></screen>
will not stop at the first error.
</para>
<!-- https://github.com/alexcrichton/ssh2-rs/issues/173 -->
<para>
<command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: On some systems,
cairo fails to link during the install because it cannot find libssh2.
This seems to fix it, but again the reason why the problem occurs is not
understood.
<command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: Allow
<command>cargo</command> to link to system libssh2.
</para>
<para>