Fri Dec 8 19:27:08 2023 UTC (170d)
fixes.xml: add clarifications about a few compiler variables

The relatively recently added USE_CC_FEATURES, USE_CXX_FEATURES,
FORCE_C_STD, and FORCE_CXX_STD only apply to certain compilers.


(gutteridge)
diff -r1.196 -r1.197 pkgsrc/doc/guide/files/fixes.xml

cvs diff -r1.196 -r1.197 pkgsrc/doc/guide/files/fixes.xml (expand / switch to unified diff)

--- pkgsrc/doc/guide/files/fixes.xml 2023/11/29 19:34:51 1.196
+++ pkgsrc/doc/guide/files/fixes.xml 2023/12/08 19:27:08 1.197
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1<!-- $NetBSD: fixes.xml,v 1.196 2023/11/29 19:34:51 zafer Exp $ --> 1<!-- $NetBSD: fixes.xml,v 1.197 2023/12/08 19:27:08 gutteridge Exp $ -->
2 2
3<chapter id="fixes"> <?dbhtml filename="fixes.html"?> 3<chapter id="fixes"> <?dbhtml filename="fixes.html"?>
4<title>Making your package work</title> 4<title>Making your package work</title>
5 5
6<sect1 id="general-operation"> 6<sect1 id="general-operation">
7 <title>General operation</title> 7 <title>General operation</title>
8 8
9 <para>One appealing feature of pkgsrc is that it runs on many 9 <para>One appealing feature of pkgsrc is that it runs on many
10 different platforms. As a result, it is important to ensure, 10 different platforms. As a result, it is important to ensure,
11 where possible, that packages in pkgsrc are portable. This 11 where possible, that packages in pkgsrc are portable. This
12 chapter mentions some particular details you should pay 12 chapter mentions some particular details you should pay
13 attention to while working on pkgsrc.</para> 13 attention to while working on pkgsrc.</para>
14 14
@@ -1444,48 +1444,51 @@ c, c++, fortran, fortran77, java, objc,  @@ -1444,48 +1444,51 @@ c, c++, fortran, fortran77, java, objc,
1444 compiler, set either <varname>USE_CC_FEATURES</varname> 1444 compiler, set either <varname>USE_CC_FEATURES</varname>
1445 or <varname>USE_CXX_FEATURES</varname>. Allowed values for 1445 or <varname>USE_CXX_FEATURES</varname>. Allowed values for
1446 <varname>USE_CC_FEATURES</varname> are currently: 1446 <varname>USE_CC_FEATURES</varname> are currently:
1447<programlisting> 1447<programlisting>
1448c11, c99, has_include 1448c11, c99, has_include
1449</programlisting> 1449</programlisting>
1450 Allowed values for <varname>USE_CXX_FEATURES</varname> are 1450 Allowed values for <varname>USE_CXX_FEATURES</varname> are
1451 currently: 1451 currently:
1452<programlisting> 1452<programlisting>
1453c++11, c++14, c++17, c++20, has_include, regex, filesystem, 1453c++11, c++14, c++17, c++20, has_include, regex, filesystem,
1454charconv, parallelism_ts, unique_ptr, put_time, 1454charconv, parallelism_ts, unique_ptr, put_time,
1455is_trivially_copy_constructible 1455is_trivially_copy_constructible
1456</programlisting> 1456</programlisting>
 1457 Note at present these variables only affect use of GCC, not other
 1458 compilers.
1457 </para> 1459 </para>
1458 1460
1459 <para>Language variants like <literal>gnu99</literal> and 1461 <para>Language variants like <literal>gnu99</literal> and
1460 <literal>c++11</literal> can be specified in <varname>FORCE_C_STD</varname> 1462 <literal>c++11</literal> can be specified in <varname>FORCE_C_STD</varname>
1461 and <varname>FORCE_CXX_STD</varname> if the package does not explicitly set 1463 and <varname>FORCE_CXX_STD</varname> if the package does not explicitly set
1462 <literal>-std=...</literal> when compiling (i.e. the package 1464 <literal>-std=...</literal> when compiling (i.e. the package
1463 assumes the compiler defaults to C++11 or some other standard). 1465 assumes the compiler defaults to C++11 or some other standard).
1464 This is a common bug in upstream build systems.</para> 1466 This is a common bug in upstream build systems.</para>
1465 1467
1466 <para>Allowed values for <varname>FORCE_C_STD</varname> are 1468 <para>Allowed values for <varname>FORCE_C_STD</varname> are
1467 currently: 1469 currently:
1468<programlisting> 1470<programlisting>
1469c90, c99, c11, gnu90, gnu99, gnu11 1471c90, c99, c11, gnu90, gnu99, gnu11
1470</programlisting> 1472</programlisting>
1471 </para> 1473 </para>
1472 1474
1473 <para>Allowed values for <varname>FORCE_CXX_STD</varname> are 1475 <para>Allowed values for <varname>FORCE_CXX_STD</varname> are
1474 currently: 1476 currently:
1475<programlisting> 1477<programlisting>
1476c++03, c++11, c++14, c++17, c++20, 1478c++03, c++11, c++14, c++17, c++20,
1477gnu++03, gnu++11, gnu++14, gnu++17, gnu++20 1479gnu++03, gnu++11, gnu++14, gnu++17, gnu++20
1478</programlisting> 1480</programlisting>
 1481 Note at present these variables only affect use of GCC and Clang.
1479 </para> 1482 </para>
1480 </sect2> 1483 </sect2>
1481 1484
1482 <sect2 id="java-programming-language"> 1485 <sect2 id="java-programming-language">
1483 <title>Java</title> 1486 <title>Java</title>
1484 1487
1485 <para>If a program is written in Java, use the Java framework in 1488 <para>If a program is written in Java, use the Java framework in
1486 pkgsrc. The package must include 1489 pkgsrc. The package must include
1487 <filename>../../mk/java-vm.mk</filename>. This Makefile fragment 1490 <filename>../../mk/java-vm.mk</filename>. This Makefile fragment
1488 provides the following variables:</para> 1491 provides the following variables:</para>
1489 1492
1490 <itemizedlist> 1493 <itemizedlist>
1491 <listitem><para><varname>USE_JAVA</varname> defines if a build 1494 <listitem><para><varname>USE_JAVA</varname> defines if a build