diff options
author | Xi Ruoyao <xry111@xry111.site> | 2022-06-30 20:02:07 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2022-06-30 20:02:07 +0800 |
commit | e4d72ed3dbd8e865a916d1d613f12dd083f42fb1 (patch) | |
tree | a136b3cd0f149e05932d771576d586e33f81ff36 | |
parent | f7c33596090837392bda93032a034253bc94b6e7 (diff) | |
parent | f8b27abcda6fd5beaaf3f57ae31da4878b5aca0e (diff) |
Merge remote-tracking branch 'origin/trunk' into xry111/clfs-ng
-rw-r--r-- | chapter01/changelog.xml | 10 | ||||
-rw-r--r-- | chapter06/ncurses.xml | 46 | ||||
-rw-r--r-- | chapter08/ncurses.xml | 50 |
3 files changed, 82 insertions, 24 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index c1ac5a88c..73d614768 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,6 +41,16 @@ --> <listitem> + <para>2022-06-29</para> + <itemizedlist> + <listitem> + <para>[pierre] - Generate shared C++ bindings for ncurses, instead + of generating and then removing the static ones.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> <para>2022-06-14</para> <itemizedlist> <listitem> diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 34426d4b7..d9457c081 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -65,9 +65,10 @@ popd</userinput></screen> --mandir=/usr/share/man \ --with-manpage-format=normal \ --with-shared \ + --without-normal \ + --with-cxx-shared \ --without-debug \ --without-ada \ - --without-normal \ --disable-stripping \ --enable-widec</userinput></screen> @@ -84,6 +85,37 @@ popd</userinput></screen> </varlistentry> <varlistentry> + <term><parameter>--with-shared</parameter></term> + <listitem> + <para>This makes Ncurses build and install shared C libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--without-normal</parameter></term> + <listitem> + <para>This prevents Ncurses building and installing static C + libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--without-debug</parameter></term> + <listitem> + <para>This prevents Ncurses building and installing debug + libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--with-cxx-shared</parameter></term> + <listitem> + <para>This makes Ncurses build and install shared C++ bindings. It + also prevents it building and installing static C++ bindings.</para> + </listitem> + </varlistentry> + + <varlistentry> <term><parameter>--without-ada</parameter></term> <listitem> <para>This ensures that Ncurses does not build support for the Ada @@ -115,14 +147,6 @@ popd</userinput></screen> </listitem> </varlistentry> - <varlistentry> - <term><parameter>--without-normal</parameter></term> - <listitem> - <para>This switch disables building and installing most static libraries. - </para> - </listitem> - </varlistentry> - </variablelist> <para>Compile the package:</para> @@ -133,12 +157,12 @@ popd</userinput></screen> <screen><userinput remap="install">make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen> - +<!-- <para>Remove an unneeded static library not handled by <command>configure</command>:</para> <screen><userinput remap="install">rm -v $LFS/usr/lib/libncurses++w.a</userinput></screen> - +--> <variablelist> <title>The meaning of the install options:</title> diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml index 64e7c7653..31cd65a6c 100644 --- a/chapter08/ncurses.xml +++ b/chapter08/ncurses.xml @@ -48,6 +48,7 @@ --with-shared \ --without-debug \ --without-normal \ + --with-cxx-shared \ --enable-pc-files \ --enable-widec \ --with-pkg-config-libdir=/usr/lib/pkgconfig</userinput></screen> @@ -56,16 +57,33 @@ <title>The meaning of the new configure options:</title> <varlistentry> - <term><parameter>--enable-widec</parameter></term> + <term><parameter>--with-shared</parameter></term> <listitem> - <para>This switch causes wide-character libraries (e.g., <filename - class="libraryfile">libncursesw.so.&ncurses-version;</filename>) - to be built instead of normal ones (e.g., <filename - class="libraryfile">libncurses.so.&ncurses-version;</filename>). - These wide-character libraries are usable in both multibyte and - traditional 8-bit locales, while normal libraries work properly - only in 8-bit locales. Wide-character and normal libraries are - source-compatible, but not binary-compatible.</para> + <para>This makes Ncurses build and install shared C libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--without-normal</parameter></term> + <listitem> + <para>This prevents Ncurses building and installing static C + libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--without-debug</parameter></term> + <listitem> + <para>This prevents Ncurses building and installing debug + libraries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--with-cxx-shared</parameter></term> + <listitem> + <para>This makes Ncurses build and install shared C++ bindings. It + also prevents it building and installing static C++ bindings.</para> </listitem> </varlistentry> @@ -78,10 +96,16 @@ </varlistentry> <varlistentry> - <term><parameter>--without-normal</parameter></term> + <term><parameter>--enable-widec</parameter></term> <listitem> - <para>This switch disables building and installing most static libraries. - </para> + <para>This switch causes wide-character libraries (e.g., <filename + class="libraryfile">libncursesw.so.&ncurses-version;</filename>) + to be built instead of normal ones (e.g., <filename + class="libraryfile">libncurses.so.&ncurses-version;</filename>). + These wide-character libraries are usable in both multibyte and + traditional 8-bit locales, while normal libraries work properly + only in 8-bit locales. Wide-character and normal libraries are + source-compatible, but not binary-compatible.</para> </listitem> </varlistentry> @@ -112,7 +136,7 @@ <screen><userinput remap="install">make DESTDIR=$PWD/dest install install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib -rm -v dest/usr/lib/{libncursesw.so.&ncurses-version;,libncurses++w.a} +rm -v dest/usr/lib/libncursesw.so.&ncurses-version; cp -av dest/* /</userinput></screen> <para>Many applications still expect the linker to be able to find |