info is removed) from lang/gcc7 to lang/gcc47, lang/gcc48 and lang/gcc49.
(For more background see revisions 454177 and 454422.)
Reported by: Ports QA Framework, miwi, sobomax
Discussed with: tijl, miwi
Differential Revision: https://reviews.freebsd.org/D10357
but no expiration date at this point (since at least the latter two
still have users in the ports tree and sparc64 relies on the latter).
PR: 222373
Submitted by: Yasuhiro KIMURA <yasu@utahime.org>
- Move ONLY_FOR_ARCHS into the right position of the Makefile.
- Omit a comment describing GCC_VERSION and SUFFIX.
- Do not quote constant strings compared with ${ARCH}. [1]
- Last, but not least the only functional change (and an important one
at that): Remove headers being created by GCC's fixincludes machinery
from the installation / packaging to avoid breakage when FreeBSD's
headers are changing afterwards.
- On the way, add a TIMESTAMP to distinfo.
PR: 221905 [1]
Submitted by: linimon [1]
This is an old version of GCC (a couple of generations end-of-lifed)
that is not going to be fixed realistically, and we have newer ports
that work.
Discussed with: linimon, andreast
it as well as java from CATEGORIES) from this port.
After GCC 4.7 went end-of-life upstream in June 2014 there isn't much
use of that not better served by newer lang/gcc* ports and it speeds up
the build and simplifies this port significantly.
In addition to the expected changes to Makefile, pkg-plist, and pkg-descr,
this also removes files/java-patch-hier.
438272 to avoid DISTVERSION in this port .
On the way also drop the definition of DISTNAME and simplify the
definition of GCC_VERSION since GCC 4.7 is EOL.
There are two cases:
- The upstream versionning is compatible with our versionning, or using
DISTVERSION's magic leads to a compatible PORTVERSION, use
DISTVERSION. If it is possible to use DISTVERSIONPREFIX and
DISTVERSIONSUFFIX to make it compatible, use them.
- The upstream versionning is not compatible with our versionning, and
DISTVERSION's magic does not lead to a correct PORTVERSION, then set
PORTVERSION to the equivalent of our versionning, and set DISTNAME.
It is possible to use a third variable where you store upstream's
version and use it to compute PORTVERSION and/or DISTNAME, like the
dns/bind9* ports do.
Sponsored by: Absolight
of GCC including lang/gcc:
Only override CONFIGURE_TARGET for amd64 which is x86-64/x86_64 for the
rest of the world including GNU and GCC. For all other architectures
it already defaults to the value we were setting.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
The JAVA frontend doesn't build on DragonFly on any release. The new
OPTIONS_EXCLUDE_${OPSYS} feature is a nice way to avoid the use of
Makefile.DragonFly (most are in dports, but one is in lang/gcc5).
The recent addition of CXXFLAGS to lang/gcc5 prevents Makefile.DragonFly
on lang/gcc5 from being removed outright. There are a couple of options
available to allow its removal, but I'll need to discuss with Gerald.
Approved by: DragonFly blanket
This was causing the gcc packages to be generated with a
/usr/local/libdata/ldconfig/gcc file. All were conflicting. Bump
PORTREVISION to fix packages built during this time.
With hat: portmgr
Reported by: sunpoet
Use PKGNAMESUFFIX so that PORTNAME falls back to plain gcc and we
can avoid setting DISTNAME and CPE_PRODUCT. [2]
PR: 198256 [1]
Submitted by: shun.fbsd.pr@dropcut.net [1]
Suggested by: mat [2]
script to assume the BUILD_CONFIG is set to bootstrap-debug, instead of
letting it auto-detect.
With clang 3.5.0 this auto-detection can fail, due to a discrepancy [1]
[2] in its debug information, when objects are produced with and without
-g. When the auto-detection fails, gcc will compare objects with full
debug information during the stage comparisons, and this sometimes
causes those stage comparisons to fail unexpectedly.
[1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141222/250134.html
[2] http://llvm.org/PR22046
Approved by: gerald (maintainer)
Due to the way we have been handling PORTREVISION before lang/gcc48 this
requires PORTEPOCH.
Also, since this is now final and stable, no longer bootstrap this port.
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
GCC 4.6.4 to GCC 4.7.3. This entails updating the lang/gcc port as
well as changing the default in Mk/bsd.default-versions.mk.
This adds powerpc64 as a supported architecture (and removes ia64,
though it can be supported by manually installing lang/gcc48).
New binaries %%GNU_HOST%%-gcc-ar47, %%GNU_HOST%%-gcc-nm47, and
%%GNU_HOST%%-gcc-ranlib47 are provided to support link-time
optimization (LTO) which scales significantly better.
And it adds support for indirect functions (IFUNCS), experimental
support for transactional memory in the compiler as well as a supporting
run-time library called libitm, a new string length optimization pass,
and support for atomic operations specifying the C++11/C11 memory model.
Version 3.1 of the OpenMP specification is now supported for the C,
C++, and Fortran compilers.
GCC accepts the options -std=c11 and -std=gnu11 for the C11 revision
of the ISO C standard which inlcude support for unicode strings,
nonreturning functions (_Noreturn and <stdnoreturn.h>), alignment
support (_Alignas, _Alignof, max_align_t, <stdalign.h>), and a
__builtin_complex built-in function.
The C++ frontend now accepts the -std=c++11, -std=gnu++11, and
-Wc++11-compat options and implements many C++11 features of the
language including extended friends syntax, explicit override
control, non-static data member initializers, user-defined literals,
alias declarations, delegating constructors, atomic classes, and more.
The C++ standard library and Fortran frontend have received many
improvements. See http://gcc.gnu.org/gcc-4.7/changes.html for an
extense list of changes; http://gcc.gnu.org/gcc-4.7/porting_to.html
for information on how to port to that new version.
PR: 182136
Supported by: Christoph Moench-Tegeder <cmt@burggraben.net> (fixing many ports)
Tested by: bdrewery (two -exp runs)
Configure with --enable-gnu-indirect-function to enable the "ifunc"
attribute, a GCC extension. [1]
Remove the man7 pages, which we are not packaging, from the staging
area to silence some warnings some are concerned about. [2]
No longer run ccache-update-links as part of post-install which, in
the world of staging, no longer is what it used to be. Rely on the
existing @exec and @unexec in pkg-plist instead. [3]
Submitted by: jmg [1], miwi [2]
Discussed with: kib [1], antoine [2][3]
No longer add -I${LOCALBASE}/include to CFLAGS.
Since we now configure with --with-gmp=${LOCALBASE} this is no longer
necessary, and due to bugs in binutils (which should not install ansidecl.h
into ${PREFIX}/include) and GCC (which should search its own include
directories with higher priority) can lead to build failures.