1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-15 03:14:23 +00:00
Commit Graph

92 Commits

Author SHA1 Message Date
Gerald Pfeifer
7ddd43998f Remove workaround for PR 219274 that bapt@ had put in place in 2014
from pkg-plist for lang/gcc5 and lang/gcc6 (which won't be updated
too soon otherwise).

PR:		219274
2017-08-06 06:24:31 +00:00
Gerald Pfeifer
2de565ed20 Remove headers being created by GCC's fixincludes machinery from the
installation / packaging to avoid breakage when FreeBSD's headers are
changing afterwards.  Several fellow committers have strongly indicated
that our headers do not need the kind of adjustments that GCC performs.
2017-07-02 02:45:43 +00:00
Mark Linimon
b174cda302 Alphabetize ARCH definitions.
No need to bump PORTREVISION because package does not change.

Reviewed by:	gerald
Approved by:	portmgr (tier-2 blanket)
2017-06-26 22:50:12 +00:00
Gerald Pfeifer
dc886afb8c Adjust WWW URL to refer to https and avoid a trailing slash. 2017-06-17 22:34:29 +00:00
Gerald Pfeifer
df84a690e2 Remove CONFLICT with lang/gcc (which now pulls in lang/gcc5 by default).
Instead add mutual CONFLICTS between lang/gcc5 and lang/gcc5-devel which
we actually missed.
2017-05-28 09:31:40 +00:00
Andreas Tobler
b172a04396 Make _Unwind_GetIP, _Unwind_GetIPInfo and _Unwind_SetIP available as functions
for arm*-*-freebsd*.
This patch is already pushed upstream to all active gcc branches.
GCC-5, GCC-6, GCC-7 and trunk. The gcc?-devel ports will catch up these bits
with the next update.
Once a new release for gcc6 or gcc5 is done, this patch will be obsolete.

Approved by: gerald@ (maintainer)
2017-05-21 20:34:22 +00:00
Martin Wilke
0af18a4496 - Fix shebang
Approved by:	gerald (maintainer via mail)
2017-04-14 20:50:32 +00:00
Andreas Tobler
2f4835ed3d Define WCHAR_T for aarch64 on all active gcc (gcc/gcc5 and gcc6) releases.
This define is already in upstream.
The gcc*-devel ports will pickup the commit from upstream.

Submitted by:	kan@
Approved by:	gerald@ (maintainer)
2017-04-08 18:55:35 +00:00
Andreas Tobler
a3cfc59b7c Fix armv6 bootstrap. This piece of config is already in the upstream tree and
will go away once gcc-5.5 is released.

Approved by:	gerald (maintainer)
2017-04-05 16:52:53 +00:00
Gerald Pfeifer
c2a2c19c13 Sync files/java-patch-hier with the lang/gcc port (the only difference
being a marker to avoid a portlint warning re patch format).
2017-04-03 13:44:50 +00:00
Gerald Pfeifer
34f043b1c4 Pet portlint wrt. patch file format. 2017-04-01 19:31:07 +00:00
Gerald Pfeifer
33696f63d8 Add files/patch-x86-64-fix-m16 which already has been accepted in
the upstream GCC 5 branch (and hence is in lang/gcc5-devel) and
which we carry in lang/gcc.

It should become obsolete when/if GCC 5.5 releases.
2017-04-01 18:35:05 +00:00
Gerald Pfeifer
8dcf56497b Provide the JAVA option also for powerpc64, in alignment with the
lang/gcc5-devel and lang/gcc ports.
2017-04-01 15:41:04 +00:00
Gerald Pfeifer
d39ad836d1 Update lang/gcc and hence the default version of GCC in the Ports
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.

files/patch-arm-support and files/patch-gcc_system.h have become
obsolete.  New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.

ONLY_FOR_ARCHS now also includes arm.

A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.

Finally, conflicts with other lang/gcc* ports are adjusted suitably.

In terms of changes for users, this upgrade brings the following:

The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.

The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support.  It uses a new ABI by default.

There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.

OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers.  Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.

New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.

GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code.  This provides a C API and a C++ wrapper API.

Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.

The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.

https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.

PR:             216707, 218125
Tested by:      antoine (-exp runs)
Supported by:   jbeich, tcberner, and others
2017-04-01 15:03:21 +00:00
Andreas Tobler
2b08cf452f Backport the bits needed for aarch64-*-freebsd* support from the gcc5-devel
port.
These bits will go away once GCC releases the next gcc5.

Approved by:	gerald (maintainer)
2017-02-16 18:35:53 +00:00
Gerald Pfeifer
992cf590dc Remove traces of armv6hf which no longer exists as an arch. [1]
Remove files/patch-unwind-ia64.h: we have not been supporting ia64 with
this release series, i.e., ONLY_FOR_ARCHS does not include ia64.

No PORTREVISION bump since nothing should actually change for
existing/supported platforms.

Reported by:	andreast [1]
2017-02-09 10:40:45 +00:00
Gerald Pfeifer
0e341eae57 No longer define CPE_VERSION for ports tracking releases of GCC since
there the default of PORTREVISION is just fine.
2017-02-03 15:18:48 +00:00
Gerald Pfeifer
d49444afc5 Sort ONLY_FOR_ARCHS. 2017-02-01 21:53:58 +00:00
Dimitry Andric
54e90b862c Similar to bug 212465, lang/gcc5 doesn't compile with recent versions of
libc++, because it attempts to redefine abort():

In file included from /wrkdirs/usr/ports/lang/gcc5/work/gcc-5.4.0/gcc/auto-profile.c:25:
In file included from /usr/include/c++/v1/map:446:
/usr/include/c++/v1/functional:1398:2: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
        _VSTD::abort();
        ^~~~~~~
/usr/include/c++/v1/__config:383:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^

Patch this in the same way as the other gcc ports, by including <new> in
gcc/system.h, and moving a few includes to before "system.h".

Approved by:	gerald (maintainer)
PR:		216266
MFH:		2017Q1
2017-01-31 21:25:30 +00:00
Tijl Coosemans
02f27a83b4 The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user.  Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables.  LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well.  The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.

Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).

PR:		215882
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2017-01-18 13:20:31 +00:00
Gerald Pfeifer
3d74360444 Omit the definition of DISTVERSION which is only necessary for ports
tracking snapshots of GCC and simplify the definition of GCC_VERSION
(but keep the latter as a variable to align the gcc5-devel and gcc5 ports).
2017-01-15 17:51:04 +00:00
Mathieu Arnold
eabbfd75e3 ${RM} already has -f.
PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-21 12:51:40 +00:00
Mark Linimon
faeb07165a Mark as broken on sparc64.
Approved by:	portmgr (tier-2 blanket)
2016-09-18 10:38:16 +00:00
Gerald Pfeifer
f7939668a6 Default powerpc64 to bootstrapping (option BOOTSTRAP) since otherwise
GCC can be mis-built, leading to an internal compiler error building
libgcc/libgcov.c, at least on FreeBSD 11.

Adjust OPTIONS_DEFINE_powerpc64 and OPTIONS_DEFAULT_powerpc64
incrementally (with +=) to avoid overwriting settings defined
at the top of the Makefile (or child ports). [1]

Submitted by:	swills [1]
Reported by:	swills
2016-08-24 20:05:40 +00:00
Gerald Pfeifer
e131e5ffc9 Backport the following from lang/gcc5-devel:
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.
2016-08-22 10:42:38 +00:00
Gerald Pfeifer
f7b3456c92 Backport the following from lang/gcc5-devel:
GCC uses an AWK script to generate source code that helps process
command-line options.  According to POSIX, string comparisons (and
hence sorting) are to be performed based on the locale's collating
order.  Alas GNU AWK only does so in POSIX mode, whereas starting
with FreeBSD 11 we do so by default, running into a bug (or false
assumption) with that script used by GCC.

Setting MAKE_ARGS such that AWK is always invoked in the C locale
works around this bug.

PR:		210122, 211742
Submitted by:	jkim
2016-08-17 16:22:50 +00:00
Gerald Pfeifer
442931a890 Update to the GCC 5.4 release.
files/patch-build-without-bootstrap and files/patch-gcc-freebsd-powerpc64
(ELFv2 support for FreeBSD PowerPC64) are now upstream, so drop them.

Due to timeing of the release freeze files/patch-armv6-hf-support has not
been integrated in this upstream release yet.
2016-06-06 14:01:42 +00:00
Andreas Tobler
fdbf4ee15e Skip armv6hf support and move it into armv6.
Discussed with: gerald@
2016-06-03 21:24:41 +00:00
Jan Beich
70267d209b lang/gcc*: convert to CONFIGURE_OUTSOURCE
PR:		208294, 208309
Exp-run by:	antoine
Approved by:	gerald (maintainer)
Differential Revision:	https://reviews.freebsd.org/D4157
2016-04-13 10:40:58 +00:00
Mathieu Arnold
a9dcad2fff Remove ${PORTSDIR}/ from dependencies, categories h, i, j, k, and l.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:08:37 +00:00
Andreas Tobler
78cef0473e Bring the fixes mentioned below from upstream to our gcc-5.3 release port.
[1]: https://gcc.gnu.org/ml/gcc-patches/2015-12/msg02057.html
[2]: https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00685.html

PR:		205394, 205440
Approved by:	gerald (maintainer)
2016-01-09 11:56:21 +00:00
Andreas Tobler
3637bd7a43 Add two fixes which have missed the gcc-5.3 release date:
- Fix --disable-bootstrap build.
- Add ELFv2 support for FreeBSD PowerPC64.

Approved by:	gerald (maintainer)
2015-12-06 18:37:17 +00:00
Gerald Pfeifer
eb56753d7d Update to the GCC 5.3 release.
Reestablish the GRAPHITE option.  Still off by default, as originally.

Pet overeager portlint (when it comes to patch format).
2015-12-05 18:25:46 +00:00
Gerald Pfeifer
f78e0cbc0f Disable GRAPHITE option for the time being, to be restored later this
month with the update to GCC 5.3.

PR:		204925
Reported by:	amdmi3
2015-12-01 11:06:34 +00:00
Julio Merino
dad9e883dd Add a MULTILIB option to gcc{,48,49,5} for powerpc64
This change is the same as r400632, which updated gcc[56]-devel, but now
for gcc{,48,49,5}.  This change is the second attempt at doing this: the
first attempt went in r401072 and was reverted in r401074 because the diff
was bogus and enabled the new MULTILIB option under all platforms instead
of just powerpc64.

This fixes the build of gcc{,48,49,5} under powerpc64 when the system
is built without the lib32 libraries.

More in detail:

If the system is built with lib32 support (WITH_LIB32, which is the default),
building gcc from ports results in a compiler that can target both 64-bit and
32-bit binaries on powerpc64.  However, when lib32 support is disabled
(WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
the build fails.

To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
support is possible and defaults to yes to preserve the current behavior) to
allow the user to explicitly control this feature.

Approved by:    gerald (maintainer), bdrewery (mentor), andreast
Differential Revision:  https://reviews.freebsd.org/D3952
2015-11-22 21:06:54 +00:00
Gerald Pfeifer
1dc524ae67 Backport support for Graphite loop optimizations via a new option
GRAPHITE from gcc5-devel.

This is off by default for the time being and pulls in devel/isl
as an additional dependency.
2015-11-20 22:19:24 +00:00
Julio Merino
c7f5a2f84d Revert r401072.
I'm not sure what happened exactly but I think I committed the change from
the wrong client.  The applied change enabled the MULTILIB option for all
architectures and not only powerpc64.  Let's just revert the commit and do
it properly from scratch; other things might be wrong so I wanna take a
closer look, and it's best to just revert quickly.
2015-11-08 20:31:51 +00:00
Julio Merino
c6b41d9541 Add a MULTILIB option to gcc{,48,49,5} for powerpc64
This change is the same as r400632, which updated gcc[56]-devel, but now
for gcc{,48,49,5}.  Waited a week to ensure the change caused nothing to go
horribly wrong but this change is very low risk because it only affects
powerpc64.

This fixes the build of gcc{,48,49,5} under powerpc64 when the system
is built without the lib32 libraries.

More in detail:

If the system is built with lib32 support (WITH_LIB32, which is the default),
building gcc from ports results in a compiler that can target both 64-bit and
32-bit binaries on powerpc64.  However, when lib32 support is disabled
(WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
the build fails.

To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
support is possible and defaults to yes to preserve the current behavior) to
allow the user to explicitly control this feature.

Approved by:    gerald (maintainer), bdrewery (mentor), andreast
Differential Revision:  https://reviews.freebsd.org/D3952
2015-11-08 20:09:59 +00:00
Antoine Brodin
6269ce33ed Add missing USES=compiler, needed for ${COMPILER_TYPE} checks
PR:		203540
2015-10-05 16:59:50 +00:00
Antoine Brodin
67ad2d2460 Remove deprecated @exec/@unexec from ports using ccache-update-links 2015-09-26 11:03:19 +00:00
Mathieu Arnold
21a283f3be Remove UNIQUENAME and LATEST_LINK.
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
2015-08-17 14:20:40 +00:00
Tijl Coosemans
a374acb969 By default libtool replaces -export-symbols <file> with -retain-symbols-file
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do.  On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).

Bump PORTREVISION on all ports where the build log contains -export-symbols.

audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions.  Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to.  Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.

japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything.  Just don't hide anything at all
like the textproc/scim configure script does.

multimedia/schroedinger: Apply an upstream patch.

textproc/scim-input-pad: Same as japanese/scim-honoka.

PR:		201922
Approved by:	portmgr (antoine)
Exp-run by:	antoine
2015-08-02 15:03:19 +00:00
Gerald Pfeifer
d6c14f2586 Update from GCC 5.1 (the first release of GCC 5) to GCC 5.2.
This mostly brings bug fixes across teh board plus, thanks to
andreast@, support for position independent code directly upstream,
so we can remove files/patch-pie-support.
2015-07-24 23:43:26 +00:00
Andreas Tobler
7c4201492d Backport PIE support for FreeBSD from GCC trunk.
Approved by:	gerald
2015-06-09 20:01:00 +00:00
Gerald Pfeifer
116733644e Merge MASTER_SITES and MASTER_SITE_SUBDIR into just the former.
Suggested by:	mat
2015-04-28 20:11:07 +00:00
Gerald Pfeifer
1e75b9ebaf Fix MASTER_SITE_SUBDIR.
Reported by:	jbeich
Pointy Hat to:	whatever injects distcache.FreeBSD.org into my testing
2015-04-28 14:01:38 +00:00
John Marino
33b254a7d0 lang/gcc5: Remove Dragonfly's Makefile; it's no longer needed
Now that the JAVA exclusion is part of the main Makefile, the only thing
Makefile.DragonFly was doing was supporting pre-gcc5 dev branch.  Those
users have a static package available to them, and in general they are
expected to upgrade to post-gcc5 in base anyway.  Thus the DF makefile
is no longer necessary.
2015-04-28 06:32:23 +00:00
Gerald Pfeifer
45a4754eff Update to the 5.1 release, the first release of the GCC 5 series.
The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.

The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support.  It uses a new ABI by default.

There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.

OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers.  Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.

New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.

GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code.  This provides a C API and a C++ wrapper API.

Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.

The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.

https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
2015-04-27 23:42:09 +00:00
Gerald Pfeifer
6172869742 Update to the 20150421 snapshot of GCC 5.0.1 -- nearly the 5.1 release. 2015-04-22 20:11:53 +00:00
Gerald Pfeifer
c82b8f3dde Update the comment that describes the relationship of PORTVERSION and
GCC_VERSION.
2015-04-19 22:07:22 +00:00