Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Jan 2010 18:09:06 GMT
From:      Rene Ladan <rene@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 172483 for review
Message-ID:  <201001021809.o02I96v9010348@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=172483

Change 172483 by rene@rene_self on 2010/01/02 18:08:09

	[porters-handbook/clang]
	- respect 72 columns
	- add c89 to list of programs not to invoke directly
	- remove note on -O4, current versions of clang/llvm do the right thing
	- remove references to my server, moved to the wiki

Affected files ...

.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#65 edit

Differences ...

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#65 (text+ko) ====

@@ -13666,19 +13666,20 @@
       <sect1 id="dads-clang">
 	<title>Clang: new C/C++ compiler</title>
 
-	<para>A future version of &os; will likely have the Clang C/C++
-	  compiler as its base compiler.  Some modifications to the Ports
-	  Collection are necessary.  In general, these involve
-	  <quote>generalizing the port</quote> and <quote>making the source
-	    code portable</quote>.  More specifically:</para>
+	<para>A future version of &os; will have the Clang C/C++
+	  compiler as its base compiler.  Some modifications to the
+	  Ports Collection are necessary.  In general, these involve
+	  <quote>generalizing the port</quote> and <quote>making the
+	    source code portable</quote>.  More specifically:</para>
 
 	<itemizedlist>
 	  <listitem>
-	    <para>Respect the <makevar>CC</makevar> and <makevar>CXX</makevar>
-	      variables. Do not use any of the programs <filename>cc</filename>,
-	      <filename>c99</filename>, <filename>gcc</filename>,
-	      <filename>c++</filename>, or <filename>g++</filename> in a port
-	      directly.</para>
+	    <para>Respect the <makevar>CC</makevar> and
+	      <makevar>CXX</makevar> variables.  Do not use any of the
+	      programs <filename>cc</filename>,
+	      <filename>c89</filename>, <filename>c99</filename>,
+	      <filename>gcc</filename>, <filename>c++</filename>, or
+	      <filename>g++</filename> in a port directly.</para>
 	  </listitem>
 
 	  <listitem>
@@ -13687,28 +13688,31 @@
 	  </listitem>
 
 	  <listitem>
-	    <para>Do not use <filename>cpp</filename> for reformatting manual
-	      pages or shell scripts.  Try to use something more suitable
-	      instead, possibly falling back to <makevar>CPP</makevar>.</para>
+	    <para>Do not use <filename>cpp</filename> for reformatting
+	      manual pages or shell scripts.  Try to use something more
+	      suitable instead, possibly falling back to
+	      <makevar>CPP</makevar>.</para>
 	      <!-- (rene) what about the C++ preprocessor? -->
 	  </listitem>
 
 	  <listitem>
-	    <para>Clang uses the gnu99 standard by default, while GCC uses the
-	      gnu89 standard by default.  Therefore, if there are any linker
-	      errors caused by the different semantics of
-	      <literal>inline</literal>, compiler errors caused by the use of
-	      reserved C99 keywords (i.e. restrict) or calls to unimplemented
-	      ISO C99 math routines try to add <literal>USE_CSTD=gnu89</literal>
-	      to the port <filename>Makefile</filename>.</para>
+	    <para>Clang uses the gnu99 standard by default, while GCC
+	      uses the gnu89 standard by default.  Therefore, if there
+	      are any linker errors caused by the different semantics of
+	      <literal>inline</literal>, compiler errors caused by the
+	      use of reserved C99 keywords (i.e. restrict) or calls to
+	      unimplemented ISO C99 math routines, try to add
+	      <literal>USE_CSTD=gnu89</literal> to the port
+	      <filename>Makefile</filename>.</para>
 	  </listitem>
 
 	  <listitem>
-	    <para>The <literal>-traditional</literal> option is not supported,
-	      so existing occurrences have to be removed.  No consensus has yet
-	      been reached on ports abusing this option to preserve white space
-	      in text formatting.  Note that the Clang preprocessor does not
-	      preserve white space.</para>
+	    <para>The <literal>-traditional</literal> option is not
+	      supported, so existing occurrences have to be removed.
+	      No consensus has yet been reached on ports which abuse
+	      this option to preserve white space in text formatting.
+	      Note that the Clang preprocessor does not preserve white
+	      space.</para>
 	  </listitem>
 
 	  <listitem>
@@ -13725,21 +13729,14 @@
 
 	    <programlisting>int main(void)</programlisting>
 	  </listitem>
-
-	  <listitem>
-	    <para>The maximum usable optimization level is 3.  Level 4 is
-	      reserved for link-time optimization for the Clang backend.</para>
-	  </listitem>
-
-	  <!--(rene) -I and -L belong to CONFIGURE_ENV, not to CFLAGS (?)-->
 	</itemizedlist>
 
 	<para>Some temporary hacks that might be used if all else fails:</para>
 
 	<itemizedlist>
 	  <listitem>
-	    <para>Adding <literal>-fheinous-gnu-extensions</literal>.  Note
-	      that this option is already deprecated.</para>
+	    <para>Adding <literal>-fheinous-gnu-extensions</literal>.
+	      Note that this option is already deprecated.</para>
 	  </listitem>
 
 	  <listitem>
@@ -13750,15 +13747,6 @@
 	      <literal>-Werror</literal>.</para>
 	  </listitem>
 	</itemizedlist>
-
-	<para>The current patch set can be downloaded from <ulink
-	    url="http://rene-ladan.nl/clang/patches">a server of rene@</ulink>.
-	  A <ulink url="http://rene-ladan.nl/clang/patch-tree">customizable
-	    script</ulink> to automatically update your Tinderbox Ports Tree
-	  and apply the patches to it is also available.  You might also want
-	  to fetch <ulink url="http://rene-ladan.nl/clang/rm-these-files">the
-	    list of files to remove</ulink> from there.  This list is relative
-	  to the Tinderbox Ports Tree.</para>
       </sect1>
 
       <sect1 id="dads-cc">



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001021809.o02I96v9010348>