Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Sep 2013 09:33:38 -0400
From:      Jerry <jerry@seibercom.net>
To:        freebsd-ports@freebsd.org
Subject:   Re: [HEADSUP][CFT] New compiler USES flag, please test, review comment
Message-ID:  <20130913093338.40b9eb3e@scorpio>
In-Reply-To: <20130913131753.GJ33103@ithaqua.etoilebsd.net>
References:  <20130913131753.GJ33103@ithaqua.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/ZwficfLWf8xIux4/be9b68j
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Fri, 13 Sep 2013 15:17:53 +0200
Baptiste Daroussin articulated:

> Hi,
>=20
> Given how old our gcc in base is and the work done on clang and
> libc++.
>=20
> It is becoming complicating to make some ports properly working on
> all supported version of FreeBSD.
>=20
> To help in that I would like to propose a new USES:
> compiler
>=20
> http://people.freebsd.org/~bapt/compiler.mk.txt
>=20
> What it does is:
>=20
> USES=3Dcompiler
>=20
> Will set 2 variables:
> COMPILER_TYPE to gcc or clang depending on the base compiler
> COMPILER_VERSION wish will be the 2 first digits of the compiler
> version 46 for gcc 4.6.* 33 for clang 3.3.*
>=20
> USES=3Dcompiler:features
> It creates a new COMPILER_FEATURES which will gather the supported
> features of the compiler.
>=20
> Features being:
> libstdc++ if the c++ compiler uses libstdc++ by default
> libc++ if the c++ compiler uses libc++ by default
> And the standard supported by the compiler:
> c89, c99, c11, gnu89, gnu99, gnu11, c++98, c++11, gnu++98, gnu++11
>=20
> USES=3Dcompiler:c11
>=20
> Means you need a c11 capable compiler, and if your default comiler is
> not able to do it, it will picked clang33 by default of gcc 4.6+ if
> you specify in your make.conf you do prefer gcc over clang
>=20
> USES=3D compiler:c++11
>=20
> Means you need a c++1 capable compiler but not necessary a c++ 11
> aware standard library, in that case if the base compiler is not able
> to support c++11 clang33 will be used from ports otherwise gcc 4.6+
> if you specify it in make.conf.
>=20
> USES=3D compiler=3Dstdc++11
>=20
> You need a c++11 aware stdlibrary, if the base compiler doesn't have
> it then gcc 4.6+ will be used.
>=20
> To specify you do prefer gcc over clang by default add
> FAVORITE_COMPILER=3Dgcc in your make.conf
>=20
> For all cases that does not fall into one of the above case continue
> using USE_GCC as you where doing before

Excellent idea. I was never in favor of switching to "clang" anyway. I
would have preferred that the base "gcc" was updated to the latest
stable version; however, too many people got their shorts in a bunch
and that wasn't going to happen. This sounds like a smart, well thought
out concept; therefore, it will probably be rejected.

--=20
Jerry =E2=99=94

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the Reply-To header.
__________________________________________________________________


--Sig_/ZwficfLWf8xIux4/be9b68j
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (FreeBSD)

iQEcBAEBAgAGBQJSMxQ6AAoJEF2rWD2do7dNtOUH/0m8V28zyzIJG8r3rWltCQ88
podOeAzhbKqOPl+JhSOrP0YfeReT9uJyqSd+HOJegI8d0liUskvrks6a5s6kYFhA
BpBdCZJTFPPM0iuPaaU4xe3nZ/hPfRJdSzSG9d70YOs6JlJR7Ti+CJ9racGTRJr+
KUEh1+x9VZPHDEoNHly+WgnJJLbthU7XdH0P2OXONsPfIivRCPZ7+OTMJw9IgZTa
idaPM/QpDGEXV94baQcTzeBMlXU3c77asJPsyaL4y/5tOrHEv9Z5tpXTKQB8j1AF
90HoKUmV4C+MJuTdMgvhg9PdpvGxxAOAKgDHU7fAiPD6Yq0CbzuoP8PSUkohw28=
=UkQg
-----END PGP SIGNATURE-----

--Sig_/ZwficfLWf8xIux4/be9b68j--



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