GCC, the GNU Compiler Collection, supports a number of languages. This
port installs the C, C++, and Fortran front ends as gcc44, g++44, and
gfortran44 respectively.
WWW: http://gcc.gnu.org/
Gerald Pfeifer <gerald@FreeBSD.org>
Remove lang/gcc44 aka GCC 4.4 which has been deprecated since 2011-05-08
and was originally created 2008-03-01, thirteen months before the upstream
release of GCC 4.4.0. Even lang/gcc45 has been gone for more than two
years now.
Recommend the generic lang/gcc as a replacement.
Set the license to a combination of GPLv3 (for the compiler itself) and
GPLv3 with GCC Runtime Library Exception (for the runtime).
Remove the man7 pages, which we are not packaging, from the staging
area to silence some warnings some are concerned about. [1]
Submitted by: miwi [1]
Discussed with: antoine [1]
Update deprecation message now that no other port depends on gcc44 any more.
Still convert to staging, remove a no longer necessary dependency on bison
and backport some other changes (variable naming,...) from lang/gcc46 in
case someone wants or needs to retain this port locally after we remove it
here.
Change PORTNAME from gcc to gcc44 to match the actual name of this
port and avoid a package name collision with other GCC ports. This
also allows us to remove LATEST_LINK.
Move to the new LIB_DEPENDS standard.
Sync the debugging output in pre-everything with later GCC ports.
SSP support has been added to ports with WITH_SSP for i386 and amd64
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
(Only the first 15 lines of the commit message are shown above )
lang/gcc*: define CONFIGURE_TARGET genericly (8 ports)
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
Fix build on head by removing USE_GCC=any, and adding -fgnu89-inline to cflags
(gfortran requires gnu99)
PR: ports/181816
Submitted by: tijl
Approved by: gerald
Work around a bug in libcpp that pulls in the optional system iconv
if present (even if the libiconv port is present and requested) and
fails using that.
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.
libstdc++ does not seem to require adjustments, so PR 161417 may not
be relevant in full.
PR: 161417
Introduce ICONV_CONFIGURE_ARG variable defined at Uses/iconv.mk.
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)
Convert USE_BISON to USES= bison
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
Force numerous ports that fail to build with clang over to instead always
rely on gcc. The patch uses the new USE_GCC=any code in Mk/bsd.gcc.mk to
accomplish this.
The ports chosen were ports that blocked 2 or more ports from building with
clang. (There are several hundred other ports that still fail to build with
clang, even with this patch. This is merely one step along the way.)
Those interested in fixing these ports with clang, and have clang as their
default compiler, can simply set FORCE_BASE_CC_FOR_TESTING=yes.
For those who have gcc as their default compiler, this change is believed
to cause no change.
Hat: portmgr
Tested with: multiple runs on amd64-8-exp-bcm and 9-exp-clang, with various
combinations of patch/no-patch and flag settings.
Update to the 20110531 snapshot of GCC 4.4.7.
Upstream now only provides a single tarball, so this brings a number
of changes around that.
Among others based on this, enable c, c++, and fortran (and only these)
explicitly. [1]
Reported by: Scott Allendorf <scott-allendorf@uiowa.edu> [1]
Update to the 20110419 snapshot of GCC 4.4.7, which is basically the
release of GCC 4.4.6.
Replace the, now dysfunctional, post-patch target with a configure
option that marks this build of GCC as "FreeBSD Ports Collection". [1]
Reported by: Bjoern Koenig <bkoenig@alpha-tierchen.de> [1]
Update to the 20110322 snapshot of GCC 4.4.6.
Remove support for the testsuite and the full-regression-test Makefile
target since we'll be phasing out this port in the near future.
Update to the 20100622 snapshot of GCC 4.4.5. This brings this version
of GCC more in sync with the FreeBSD system compiler enabling features
such as __stack_chk_fail, fixing libffi and libmudflap support as well
as enabling default_use_cxa_atexit. lang/gcc45 and lang/gcc46 already
feature all of these improvements.
Simplify full-regression-test.
Feature safe: yes
Remove support for the Java frontend which pretty clearly never has been
successfully used by anyone, yet adds a lot to build time and size. Those
interested in GCJ are better served using lang/gcc45.
Also update to the 20100518 snapshot of GCC 4.4.5.
Update to the 20100216 snapshot of GCC 4.4.4.
Use current GNU binutils from ports (devel/binutils) instead of the
system tools. The latter are half a decade old and fail to properly
support modern CPUs and their standard features such as SSE or AVX in
the case of AMD64/Intel64 which means that they even break when using
a simple -march=native. This helps address repeated user problems here
and there, also by establishing a consistent base if, for example, the
user has different flavors of as and ld in her path.
On the way, sort CONFIGURE_ARGS.
Feature safe: yes
Update to the 20100126 snapshot of GCC 4.4.4. This being the first
snapshot of this minor version it basically coincides with the official
release of GCC 4.4.3 for those who prefer tracking releases.
With lang/gcc295 gone (and not building for most of the last year), we can
now remove the check for a gcc295 binary that might cause build failure in
libgcj.
No longer download Objective-C related files which we don't actually use.
Minor style changes.
Adjust the ports description to the new style I am using for the various
gcc ports and remove an obsolete note on memory consumption when building
libgcj (the Java library).
Update to the 20091020 snapshot of GCC 4.4.3 which is pretty much the
regular GCC 4.4.2 release. GCC 4.4 is in strict regression only fix
mode, so updates are quite safe, but if you want to lock on a certain
snapshot, this may be one.