version 1.3, 2017/11/26 01:28:44
|
version 1.4, 2017/11/26 15:37:02
|
Line 168 built it earlier.
|
Line 168 built it earlier.
|
When the base system is old (e.g., gcc 4.5 in NetBSD 6, or 4.1, in |
When the base system is old (e.g., gcc 4.5 in NetBSD 6, or 4.1, in |
NetBSD 5), then it is clear that a newer version must be built. For |
NetBSD 5), then it is clear that a newer version must be built. For |
these, PKGSRC_GXX_VERSION should default to a newish gcc, avoiding |
these, PKGSRC_GXX_VERSION should default to a newish gcc, avoiding |
being so new as to cause building issues. Currently, gcc6 is probably |
being so new as to cause building issues. Currently, gcc5 is probably |
a good choice. PKGSRC_GCC_VERSION should probably default to the |
a good choice, with gcc6 compiling significantly but not vastly fewer |
system version if it can build all C99 programs, or match |
packages. PKGSRC_GCC_VERSION should probably default to the system |
PKGSRC_GXX_VERSION, if the system version is too old. Perhaps gcc 4.5 |
version if it can build all C99 programs, or match PKGSRC_GXX_VERSION, |
would be used, but 4.1 not used. \todo Discuss. |
if the system version is too old. Perhaps gcc 4.5 would be used, but |
|
4.1 not used. \todo Discuss. |
|
|
When the base system is almost new enough, the decision about the |
When the base system is almost new enough, the decision about the |
default is more complicated. A key example is gcc 4.8, found in |
default is more complicated. A key example is gcc 4.8, found in |
Line 184 fail, and the general rule of moving to
|
Line 185 fail, and the general rule of moving to
|
generally-acceptable version applies, which currently leads to gcc6. |
generally-acceptable version applies, which currently leads to gcc6. |
This is in effect a declaration that "almost new enough" does not |
This is in effect a declaration that "almost new enough" does not |
count as new enough. Thus the plan for NetBSD 7 is to set |
count as new enough. Thus the plan for NetBSD 7 is to set |
PKGSRC_GCC_VERSION to 4.8 and PKGSRC_GXX_VERSION to 6. |
PKGSRC_GCC_VERSION to 4.8 and PKGSRC_GXX_VERSION to 5. |
|
|
When the base system is new, e.g. gcc 5 or gcc 6 it should simply be |
When the base system is new enough, e.g. gcc 5, 6 or 7 it should |
used. By "new enough", we mean that almost no programs in pkgsrc fail |
simply be used. By "new enough", we mean that almost no programs in |
to build with it, which implies that it supports (almost all) C++14 |
pkgsrc fail to build with it, which implies that it supports (almost |
programs. Our current definiton of new enough is gcc 5. |
all) C++14 programs. Our current definiton of new enough is gcc 5. |
|
|
### Limited mixed versions |
### Limited mixed versions |
|
|