on FreeBSD 10, and amd64 on earlier versions.
SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.
On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].
On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
symbols.
Many thanks to jlh@ for this as he had many years of patience in getting
all of the necessary pieces [1][2] in.
[1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup
PR: ports/138228 [2]
Submitted by: jlh (bsd.ssp.mk based on)
Reviewed by: bapt
With hat: portmgr
exp-runs done: 37 over a month on 91i386,91amd64,10i386,10amd64
Instead of hardcoding the compiler target as FreeBSD, use the OPSYS
variable to it. This makes no practical difference for FreeBSD, but
it helps DragonFly get properly configured.
Approved by: gerald
if present instead of relying on the port we actually depend on.
The issue is that /usr/include/iconv.h has #include <stdbool.h> which
in turn, since both are included very late in the game, conflicts with
similar definintions by libcpp itself.
Interestingly enough, lang/gcc46 and lang/gcc48 did not fail under the
same test scenarios and libstdc++ does not seem to require adjustments,
so PR 161417 may not be relevant in full.
PR: 161417
It's value is "--with-libiconv-prefix=/usr/local" for systems
before 100043 with ports libiconv and to use at systems post
100043 with base iconv it's value is "" (NULL).
Co-authors: bapt, madpilot and bsam (me)
(This requires an EPOCH bump due to how snapshots are labeled.)
Introduce a new option BOOTSTRAP that allows for doing a full
bootstrap of GCC, as opposed to just running a simple build.
Bootstrapping is actually the default upstream, we disable it
by default for the stable flavors of GCC since that is a huge
win in terms of build time of the port. No change in default
behavior for this port.
It brings bison as a build dependency in case it is set the following way:
USES= bison or USES= bison:build
it brings bison as a run dependency in case it is set the following way:
USES= bison:run
it brings bison both as a run and build dependency in case it the set the following way:
USES= bison:both
While here trim some headers
Convert some USE_GNOME= gnomehack to USES= pathfix
instead of including a pre-built version of the Eclipse Java Compiler
(ECJ) ourselves. [1]
Replace the use of DISTFILES by DISTNAME, since we are now down to
one in all cases.
On the way, update to the 20130125 of GCC 4.6.4.
PR: 175072 [1]
just build, do not bootstrap, when building this port. This speeds
up a full port/package test cycle by 31% on a 4-core system; a simple
build/install will benefit even more.
(This may impact compile time by this compiler a bit, depending on
how well the system compiler optimizes this codebase. And we only
should do this for stable, established versions of GCC.)
On the way, update to the 20121102 snapshot of GCC 4.6.4.
Feature safe: yes
by GCC to allow for orthogonal setting them in the future. [1]
Print the list of languages being built as part of pre-everything
and shorten the output of operating system and version there.
Inspired by: jkim [1]
preferred version of GCC (usually based on a release) starting with
GCC 4.6.1, and add a proper CONFLICTS.
On the way rename %%GCC_VER%% in pkg-plist to %%GCC_VERSION%% and
make the Makefile machinery a bit more generic to minimize differences
between lang/gcc ports based on releases and those based on snapshots.
PR: 156857