tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Selecting a C++ compiler

On 11/05/17 18:25, Greg Troxel wrote:
We have paused on this, and I would really like to see this issue fixed
for 2017Q4; NetBSD 6 is quite troubled.

I plan to add a wiki page about compiler selection, kind of a design
document, and to dare to get things wrong in the name of provoking
progress.  I think we have a mostly converged design, and actual
implementation will not be that hard.

I think the possibly-controversial issues are:

   how much to remove from gcc pacakges to make bootstrapping easier
   (NLS), vs having separate bootstrapping packages

   How to steer with NetBSD 7, which has gcc 4.8, which seems good enough
   for almost all C++11 programs, but not fireox which seems to need 4.9.

and will highlight those in the page.  I'll post again when there's a
stake in the ground to argue about.

For the record, here's my full mk.conf for the gcc5 CentOS 7 pbulk build.  I honestly don't see it as a problem to exempt this many packages from the gcc requirement. as long as we can keep these packages building with gcc 4.4(CentOS 6 base) for another year or two and 4.8(CentOS 7 base) for a few years beyond that. Most of these packages are pretty stable upstream at this point, so that shouldn't take a lot of effort.  Does anyone know of any currently supported platforms using older compilers than RHEL/CentOS?

# Example /sharedapps/pkg-2017Q3/etc/mk.conf file produced by bootstrap-pkgsrc
# Wed Oct 18 10:33:33 CDT 2017

.ifdef BSD_PKG_MK    # begin pkgsrc settings

ABI=            64

PKG_DBDIR=        /sharedapps/pkg-2017Q3/pkgdb
LOCALBASE=        /sharedapps/pkg-2017Q3
VARBASE=        /sharedapps/pkg-2017Q3/var
PKG_TOOLS_BIN=        /sharedapps/pkg-2017Q3/sbin
PKGINFODIR=        info
PKGMANDIR=        man

PREFER_PKGSRC=        yes

# Written by ./pkg-pbulk-setup

PKG_DEVELOPER=              yes
X11_TYPE=                   modular
FETCH_USING=                curl
MAKE_JOBS=                  8
PKGSRC_FORTRAN=             gfortran
WRKOBJDIR=                  /tmp/pkgbuild
PREFER_NATIVE=              no
PREFER_PKGSRC=              yes

.if empty(PKGPATH:Mlang/gcc5) && \
    empty(PKGPATH:Mpkgtools/cwrappers) && \
    empty(PKGPATH:Mdevel/nbpatch) && \
    empty(PKGPATH:Mpkgtools/digest) && \
    empty(PKGPATH:Msysutils/checkperms) && \
    empty(PKGPATH:Mlang/perl5) && \
    empty(PKGPATH:Mdevel/p5-gettext) && \
    empty(PKGPATH:Mconverters/help2man) && \
    empty(PKGPATH:Mdevel/autoconf) && \
    empty(PKGPATH:Mconverters/p5-Unicode-EastAsianWidth) && \
    empty(PKGPATH:Mdevel/libtool-base) && \
    empty(PKGPATH:Marchivers/pax) && \
    empty(PKGPATH:Mlang/gcc5-libs) && \
    empty(PKGPATH:Mdevel/ncurses) && \
    empty(PKGPATH:Mmisc/p5-Locale-libintl) && \
    empty(PKGPATH:Mtextproc/p5-Text-Unidecode) && \
    empty(PKGPATH:Mdevel/gtexinfo) && \
    empty(PKGPATH:Mdevel/gettext-tools) && \
    empty(PKGPATH:Mdevel/gettext-lib) && \
    empty(PKGPATH:Mdevel/gmp) && \
    empty(PKGPATH:Mmath/mpfr) && \
    empty(PKGPATH:Mmath/cloog) && \
    empty(PKGPATH:Mmath/isl) && \
    empty(PKGPATH:Marchivers/xz) && \
    empty(PKGPATH:Mdevel/m4) && \
    empty(PKGPATH:Marchivers/bzip2) && \


.endif  # GCC_REQD

.endif            # end pkgsrc settings

Earth is a beta site.

Home | Main Index | Thread Index | Old Index