1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-17 08:01:36 +00:00
Commit Graph

69 Commits

Author SHA1 Message Date
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
Gerald Pfeifer
bade31e0e3 Update to the 20150414 snapshot of GCC 5.0.1 and adjust to this
particularity of the new GCC versioning scheme where the third
component of the version number is bumped when the release branches.
Use three component version numbers again.
2015-04-19 01:03:14 +00:00
Gerald Pfeifer
defd9aab77 Update to the 20150405 snapshot of GCC 5.0. 2015-04-06 14:21:56 +00:00
Gerald Pfeifer
0ff05d75c8 Update to the 20150329 snapshot of GCC 5.0. 2015-04-03 13:20:01 +00:00
John Marino
bd64a4f18c lang/gcc(46,47,48,49,5): Use OPTIONS_EXCLUDE_DragonFly to block JAVA
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
2015-03-26 20:36:04 +00:00
Bryan Drewery
01f8b6d7d7 Fix UNIQUENAME not being unique after recent PORTNAME shuffle.
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
2015-03-23 18:56:10 +00:00
Gerald Pfeifer
d319b52cc6 Update to the 20150322 snapshot of GCC 5.0. 2015-03-23 13:41:57 +00:00
Gerald Pfeifer
c78df99e25 Add CPE information. [1]
Use PKGNAMESUFFIX so that PORTNAME falls back to plain gcc and we
can avoid setting DISTNAME and CPE_PRODUCT. [2]

PR:		198260 [1]
Submitted by:	shun.fbsd.pr@dropcut.net [1]
Suggested by:	mat [2]
2015-03-22 23:11:13 +00:00
John Marino
716e5c49e9 lang/gcc5: Support DragonFly's gcc50 base compiler in specific scenario 2015-03-18 10:39:04 +00:00
Gerald Pfeifer
e3e9df93c8 Update to the 20150315 snapshot of GCC 5.0. 2015-03-16 01:03:36 +00:00
Gerald Pfeifer
268e1eea17 Update to the 20150308 snapshot of GCC 5.0. 2015-03-10 17:00:25 +00:00
Gerald Pfeifer
bf2296c873 Update to the 20150301 snapshot of GCC 5.0. 2015-03-07 20:29:14 +00:00
Gerald Pfeifer
b732c3e2fc Update to the 20150222 snapshot of GCC 5.0. 2015-02-24 18:22:40 +00:00
Gerald Pfeifer
a49f241292 Update to the 20150215 snapshot of GCC 5.0. 2015-02-16 02:17:42 +00:00
Gerald Pfeifer
bf2d09da2e Update to the 20150208 snapshot of GCC 5.0. 2015-02-10 18:03:14 +00:00
Gerald Pfeifer
cac544398e Update to the 20150201 snapshot of GCC 5.0.
This now successfully builds libffi again, so we can enable JAVA by
default on i386 and amd64.

PR:		197171
2015-02-02 00:46:28 +00:00
Gerald Pfeifer
978f07dbce Also disable Java and libffi on amd64 until the next snapshot of
GCC 5.0.

PR:		197171
2015-01-30 00:18:46 +00:00
Andreas Tobler
0e7b60b426 Allow to build gcc for armv6(hf).
Approved by:	gerald	(maintainer)
2015-01-28 05:37:26 +00:00
Gerald Pfeifer
d33c10d634 Update to the 20150125 snapshot of GCC 5.0. Sadly libffi is still
broken thus Java remains disabled on i386.
2015-01-26 12:53:12 +00:00
Gerald Pfeifer
8ce8e4cf51 Update to the 20150118 snapshot of GCC 5.0.
libgcj-5.0.pc is now properly called libgcj-5.pc; adjust pkg-plist.

libffi is broken on FreeBSD i386 since 2015-01-11, cf.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64779, so disable it
for the time being.
2015-01-25 23:42:16 +00:00
Gerald Pfeifer
50f8a1208f Update to the 20150111 snapshot of GCC 5.0.
Welcome FreeBSD/ARM support to upstream GCC! [1]

Thanks to:	andreast [1]
2015-01-12 03:20:43 +00:00
Gerald Pfeifer
75bd5e2638 Update to the 20150104 snapshot of GCC 5.0. 2015-01-09 06:46:08 +00:00
Gerald Pfeifer
0022b7cd59 Update to the 20141228 snapshot of GCC 5.0. 2015-01-02 14:17:52 +00:00
Dimitry Andric
0e14fd9299 When building the gcc ports using a full bootstrap, tell the configure
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)
2014-12-30 19:19:43 +00:00