Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Oct 2011 13:26:58 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Jakub Lach <jakub_lach@mailplus.pl>
Cc:        freebsd-current@freebsd.org
Subject:   Re: WITHOUT_GCC for build target / system without base gcc (9RC1)
Message-ID:  <4EAE9412.2080905@FreeBSD.org>
In-Reply-To: <1320054824481-4951986.post@n5.nabble.com>
References:  <1320054824481-4951986.post@n5.nabble.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-10-31 10:53, Jakub Lach wrote:
> When one can expect being able to have system
> without base gcc installed?

There's quite some work to be done.  The trickiest part is to get rid of
GNU libstdc++, which is sort of a symbiote with gcc.

Also, there are still some programs that hardcode ${CC}, and ignore any
environment-supplied value.


> Since I enabled clang, and
> I'm using gcc46 for ports, having base gcc is largely
> pointless for me,

You should use clang for ports. :) But seriously, building ports which
have not explicitly been marked as being gcc 4.5 or 4.6 compatible is
taking a chance.  It might work, or break in various interesting ways.

That said, many problems that manifest in ports when you build them with
clang, also pop up with newer versions of gcc, simply because both are
more strict with regard to sloppy coding practices.


> but couldn't build system with clang only,
> because of:
>
> ===>  usr.bin/xlint/llib (all)
> lint -cghapbx -Cposix /usr/src/usr.bin/xlint/llib/llib-lposix
> llib-lposix:
> lint: cannot exec /usr/obj/usr/src/tmp/usr/bin/cc: No such file or directory
> *** Error code 1

Yes, this is one of the programs that hardcodedly calls 'cc', and
ignores environment values.  I simply haven't got to fixing this yet,
but I plan on doing so soon.


> PS. If I'm doing something retarded, feel free to point out.
> I'm just feeling that 3 compilers on one system is a bit much,
> and most ports are developed with newest gcc in mind, while
> for FreeBSD clang is obviously way to go.

As I said, many ports compile fine with clang, so you could get by just
with the compiler in base.  On my systems, everything is clang-compiled,
including all ports, but I am using just a subset of the available ones,
of course.

There are even people that would like to remove all compilers from the
base system, and move them to an external package, so you can freely
switch to whatever toolchain has your fancy.  But that will take some
time to materialize... :)


> FWIW, right now I would need base gcc only for compiling
> libreoffice, and I hope it will change sometime in future.

I have no idea what the issues are with libreoffice, so I can't help you
there, sorry.



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