Ignore:
Timestamp:
01/24/2024 12:26:42 PM (8 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
xry111/arm64
Children:
648f145
Parents:
9f894d5 (diff), 5bef8f2 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'origin/trunk' into xry111/arm64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/ncurses.xml

    r9f894d5 rd8c2d84  
    100100        <listitem>
    101101          <para>This switch causes wide-character libraries (e.g., <filename
    102           class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
     102          class="libraryfile">libncursesw.so.&ncurses-release;</filename>)
    103103          to be built instead of normal ones (e.g., <filename
    104           class="libraryfile">libncurses.so.&ncurses-version;</filename>).
     104          class="libraryfile">libncurses.so.&ncurses-release;</filename>).
    105105          These wide-character libraries are usable in both multibyte and
    106106          traditional 8-bit locales, while normal libraries work properly
     
    128128
    129129    <para>The installation of this package will overwrite
    130     <filename class="libraryfile">libncursesw.so.&ncurses-version;</filename>
     130    <filename class="libraryfile">libncursesw.so.&ncurses-release;</filename>
    131131    in-place.  It may crash the shell process which is using code and data
    132132    from the library file.  Install the package with
    133133    <literal>DESTDIR</literal>, and replace the library file correctly using
    134     <command>install</command> command:</para>
     134    <command>install</command> command (the header
     135    <filename>curses.h</filename> is also edited to ensure the
     136    wide-character ABI to be used as what we've done in
     137    <xref linkend='ch-tools-ncurses'/>):</para>
    135138
    136139<screen><userinput remap="install">make DESTDIR=$PWD/dest install
    137 install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
    138 rm -v  dest/usr/lib/libncursesw.so.&ncurses-version;
     140install -vm755 dest/usr/lib/libncursesw.so.&ncurses-release; /usr/lib
     141rm -v  dest/usr/lib/libncursesw.so.&ncurses-release;
     142sed -e 's/^#if.*XOPEN.*$/#if 1/' \
     143    -i dest/usr/include/curses.h
    139144cp -av dest/* /</userinput></screen>
    140145
    141146    <para>Many applications still expect the linker to be able to find
    142     non-wide-character Ncurses libraries. Trick such applications into linking with
    143     wide-character libraries by means of symlinks and linker scripts:</para>
     147    non-wide-character Ncurses libraries. Trick such applications into
     148    linking with wide-character libraries by means of symlinks
     149    (note that the <filename class='extension'>.so</filename> links are
     150    only safe with <filename>curses.h</filename> edited to always use the
     151    wide-character ABI):</para>
    144152
    145153<screen><userinput remap="install">for lib in ncurses form panel menu ; do
    146     rm -vf                    /usr/lib/lib${lib}.so
    147     echo "INPUT(-l${lib}w)" &gt; /usr/lib/lib${lib}.so
    148     ln -sfv ${lib}w.pc        /usr/lib/pkgconfig/${lib}.pc
     154    ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so
     155    ln -sfv ${lib}w.pc    /usr/lib/pkgconfig/${lib}.pc
    149156done</userinput></screen>
    150157
     
    153160    buildable:</para>
    154161
    155 <screen><userinput remap="install">rm -vf                     /usr/lib/libcursesw.so
    156 echo "INPUT(-lncursesw)" &gt; /usr/lib/libcursesw.so
    157 ln -sfv libncurses.so      /usr/lib/libcurses.so</userinput></screen>
     162<screen><userinput remap="install">ln -sfv libncursesw.so /usr/lib/libcurses.so</userinput></screen>
    158163
    159164    <para>If desired, install the Ncurses documentation:</para>
     
    207212        </seg>
    208213        <seg>
    209            libcursesw.so (symlink and linker script to libncursesw.so),
     214           libcurses.so (symlink),
     215           libform.so (symlink),
    210216           libformw.so,
     217           libmenu.so (symlink),
    211218           libmenuw.so,
     219           libncurses.so (symlink),
    212220           libncursesw.so,
    213221           libncurses++w.so,
    214            libpanelw.so, and their non-wide-character counterparts without "w"
    215               in the library names.</seg>
     222           libpanel.so (symlink),
     223           and libpanelw.so,
     224        </seg>
    216225        <seg>
    217226           /usr/share/tabset,
     
    343352      </varlistentry>
    344353
    345       <varlistentry id="libcursesw">
    346         <term><filename class="libraryfile">libcursesw</filename></term>
    347         <listitem>
    348           <para>A link to <filename>libncursesw</filename></para>
    349           <indexterm zone="ch-system-ncurses libcursesw">
    350             <primary sortas="c-libcursesw">libcursesw</primary>
    351           </indexterm>
    352         </listitem>
    353       </varlistentry>
    354 
    355354      <varlistentry id="libncursesw">
    356355        <term><filename class="libraryfile">libncursesw</filename></term>
Note: See TracChangeset for help on using the changeset viewer.