Date: Sun, 15 Sep 2013 02:24:00 -0400 From: Matt Penna <matthew.penna@gmail.com> To: "freebsd-doc@freebsd.org" <freebsd-doc@freebsd.org> Subject: Re: augment USE_GCC description in the porter's handbook Message-ID: <7A6DAFBE-6290-410C-B463-D820365A2F7D@gmail.com> In-Reply-To: <20130913032440.GA68665@regency.nsu.ru> References: <20130913032440.GA68665@regency.nsu.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 12, 2013, at 11:24 PM, Alexey Dokuchaev <danfe@nsu.ru> wrote: > hi, >=20 > cooked something up, so people would get less confused about proper > USE_GCC usage. diff attached. >=20 > - <programlisting>USE_GCC=3D3.4</programlisting> > + <programlisting>USE_GCC=3DX.Y</programlisting> > =20 > - <para>would add a dependency on gcc34 for every port, > - including gcc34 itself!</para> > + <para>(where X.Y is version number) would add a dependency on > + gccXY for every port, including = <literal>lang/gccXY</literal> > + itself!</para> I am unsure about this change. I understand the value in generalizing = it, but I think leaving it with a specific version number provides a = clearer example. So, it might be better as it is currently written? > <entry><makevar>USE_GCC</makevar></entry> > - <entry>The port requires a specific version of > - <command>gcc</command> to build. The exact version > - can be specified with value such as > - <literal>3.4</literal>. The minimal required > - version can be specified as <literal>3.4+</literal>. > - The <command>gcc</command> from the base system is > - used when it satisfies the requested version, > - otherwise an appropriate <command>gcc</command> is > - compiled from ports and the <makevar>CC</makevar> > - and <makevar>CXX</makevar> variables are > - adjusted.</entry> > + <entry>The port requires GCC (<command>gcc</command> or > + <command>g++</command>) to build. Some ports need any > + GCC version, some require modern, recent versions. It > + is typically set to <literal>any</literal> (in this > + case, GCC from base would be used on versions of &os; > + that still have it, or <literal>lang/gcc</literal> = port > + would be installed when default C/C++ compiler is = Clang); > + or <literal>yes</literal> (means always use stable, = modern > + GCC from <literal>lang/gcc</literal> port). The exact > + version can be also specified, with a value such as > + <literal>4.7</literal>. The minimal required > + version can be specified as <literal>4.6+</literal>. > + The GCC from the base system is used when it satisfies > + the requested version, otherwise an appropriate = compiler > + in built from the port, and the <makevar>CC</makevar> > + and <makevar>CXX</makevar> variables are adjusted > + accordingly.</entry> I have some ideas about clarifying this, but I would like to better = understand the final point because "appropriate compiler" is a little = vague. Is lang/gcc the compiler that is always used in this situation as = long as it satisfies the minimal version requirement? Or is it possible = that a version older than lang/gcc will be used? Example: USE_GCC is set to "4.2+". Would lang/gcc (currently at 4.6, I = believe) always be built and installed? Or would 4.2 potentially be = built, as this is also available in the ports tree? If I should get = clarification on another list, I would be glad to do that. Matt=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A6DAFBE-6290-410C-B463-D820365A2F7D>