1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-17 03:25:46 +00:00
Commit Graph

110 Commits

Author SHA1 Message Date
Tijl Coosemans
23e99b00ef Run "/usr/sbin/service ldconfig restart" for USE_LDCONFIG instead of
"ldconfig -m <path>" so the order of ldconfig search directories after
package installation is the same as after a reboot.  The original command
simply appends the path to the list of directories while the ldconfig rc.d
script uses "sort -u".

Bump lang/gcc* which are known to install libraries with exactly the same
name so the library loaded at runtime depends on the order of the search
directories.

PR:		228046
Approved by:	portmgr (antoine)
2018-05-14 19:15:36 +00:00
Gerald Pfeifer
f960f73cd7 Simplify MASTER_SITES in all GCC-ports related to end-of-lifed releases
(gcc47, gcc48, gcc49, and gcc5), taking advantage of the default for GCC
releases provided by MASTER_SITES_ABBREVS.

Reported by:	portlint
2018-05-13 20:05:29 +00:00
Alex Dupre
aca2d686e3 Update mpfr to 4.0.1 release and bump PORTVERSION of dependent ports. 2018-04-19 07:08:45 +00:00
Mark Linimon
d0c5aa8cc1 Allow gcc compilers to be built on new arch 'powerpcspe'.
Tested for no-harm on amd64.

Submitted by:		jhibbits
Approved by:		portmgr (tier-2 blanket)
Differential Revision:	D13126
2018-03-31 12:11:36 +00:00
Gerald Pfeifer
c2a92a1aea Bump PORTREVISIONs of all users of math/mpc that we just updated to
version 1.1.0 (via revision 464079).
2018-03-10 17:46:04 +00:00
Gerald Pfeifer
5faa586c70 GCC 5 reached end-of-life last year, so add a deprecation note like
lang/gcc49 and earlier already carry and recommend GCC 6 or later
instead of GCC 5.

PR:		225629
2018-02-02 23:26:14 +00:00
Dimitry Andric
3f6545049c Fix builds of lang/gcc{48,49,5} with clang 6.0.0
Since clang++ 6.0.0 now defaults to -std=gnu++14 (similar to g++ 6 and
higher), building gcc48, gcc49 or gcc5 produce quite a number of
"invalid suffix on literal; C++11 requires a space between literal and
identifier" errors.  This is because in many places, double quotes are
directly followed by printf helper macros like HOST_WIDE_INT_PRINT.

In gcc 6 and later, spaces were added between the double quotes and the
macros, to fix this issue, but for earlier versions, use a combination
of find, grep and sed to add them mechanically throughout the respective
source trees.

In addition, gcc5 needs a regular patch to fix an incorrect call to
error(), which should have been error_at().  (This was a mismerge by
upstream.)

Approved by:	gerald (maintainer)
PR:		224927
MFH:		2018Q1
2018-01-09 22:08:45 +00:00
Gerald Pfeifer
ccac5f629a Add support for armv7. [1]
Rework the architecture-specific special settings, sorting snippets and
using .elif instead of distinct .if sequences.

Tested by:	andreast [1]
2017-11-25 19:10:03 +00:00
Gerald Pfeifer
58df02fee2 Remove second instance of install-strip patch that was applied twice.
No functional change.

Pointy hat to:	self
2017-11-23 08:14:50 +00:00
Gerald Pfeifer
fb19c812a9 Backport two fixes from lang/gcc6:
[1] Make sure what we install is stripped (i.e., debug info is removed).

    (For more background see revisions 454177 and 454422.)

[2] Add a patch that we pulled into gcc6-devel via upstream a week ago
    that addresses a real-world issue around threading and unwinding as
    files/patch-freebsd-unwind.h .

Bump PORTREVISION since [2] is a functional change and [1] changes the
package.

Reported by:	Ports QA Framework, miwi, sobomax [1]
Discussed with:	tijl, miwi [1]
Tested by:	sobomax [1]
Differential Revision:	https://reviews.freebsd.org/D10357 [1]
2017-11-19 21:50:50 +00:00
Gerald Pfeifer
151ffd5bd7 Remove conflict with lang/gcc5-devel which does not exist any more
since revision 452563.
2017-11-17 19:42:29 +00:00
Gerald Pfeifer
b669b32ce5 Backport revision 454177 from lang/gcc7:
Make sure what we install is stripped (i.e., debug info is removed).

The straightforward way is setting INSTALL_TARGET to install-strip,
which is supported by the upstream GCC build machinery.

Unfortunately this fails when running as regular user (non-root)
since strip requires write permission to the files in question,
and we install binaries as r-xr-xr-x by default.  To work around
that we need to set BINMODE to allow for write access by the user,
something that's common on GNU/Linux (which is why this probably
has not been noticed there).  This is not necessary when running
as root.

(A different approach suggested was to set STRIP=true, alas that
leads to many files actually not being stripped.  This is due to
GCC using its own script install-sh that in turn uses cp, chmod,
strip,...  instead of our own install-* tools in many cases.)

According to tests by sobomax@ and me installs of lang/gcc6 went
down by about a fourth.

Do not bump PORTREVISION since this only changes builds by non-root
users, is not a functional change, and the previous state of using
a bit more storage had been there "forever".

Reported by:	Ports QA Framework, miwi, sobomax
Discussed with:	tijl, miwi
Tested by:	sobomax
Differential Revision:	https://reviews.freebsd.org/D10357
2017-11-16 22:13:38 +00:00
Gerald Pfeifer
d3597b8b43 Merge revisions 437281
This adds a man page for gcov-dump5 (introduced recently) and also
  one for gcov-tool5 (which we have had for a while).

and 436904

  This brings a new little utility program gcov-dump6 to dump code
  coverage data (unfortunately without a man page or documentation).

from lang/gcc5-devel into pkg-plist which I had missed in the update
to GCC 5.5 a few minutes ago.
2017-10-11 14:49:22 +00:00
Gerald Pfeifer
a543cb90ac Update to the GCC 5.5 release. This brings more than 250 final bug
fixes compared to GCC 5.4 and is the last release planned on the GCC 5
branch which is now closed.

files/patch-aarch64-support, files/patch-disable-armvhf-config.gcc,
files/patch-libgcc-config-arm-unwind-arm, and files/patch-x86-64-fix-m16
all have been merged upstream in between GCC 5.4 and 5.5 and can thus
be removed; the same is the case for most of files/patch-libc++.

Finally, the tarball is now compressed using xz instead of bzip2.

PR:		216266
2017-10-11 14:35:28 +00:00
Gerald Pfeifer
432d9fe60d Graphite loop optimizations are an experimental feature of GCC, disabled
by default (and guarded by the GRAPHITE option).

Now that we have both GCC 6 and GCC 7 in the tree and GCC 5 is going end
of live upstream soon, remove Graphite support from the GCC 5-related
ports.  Anyone using Graphite is better served by the newer versions of
GCC.
2017-09-23 21:14:18 +00:00
Gerald Pfeifer
7fa6796c9c Now that the default version of GCC in the tree is GCC 6 (the lang/gcc6
port), remove Java support (incl. the JAVA option) from lang/gcc5.  Only
one other port actually relies on this and this change speeds up the build
and reduces the size of this port/package quite a bit.
2017-09-21 20:38:38 +00:00
Gerald Pfeifer
aa36701d51 Do not quote constant strings compared with ${ARCH}. [1] Remove
some commented (and thus disabled) logic around this on the way.

This brings the active lang/gcc* release-based ports in sync with
their respective lang/gcc*-devel twins.

PR:		221905 [1]
Submitted by:	linimon [1]
2017-09-17 17:51:24 +00:00
Gerald Pfeifer
cf75addb67 Move ONLY_FOR_ARCHS and BROKEN_sparc64 together and up into a block
of their own (per guidance from portlint and the manual).
2017-09-06 14:09:24 +00:00
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