aboutsummaryrefslogtreecommitdiff
path: root/lang/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Remove # $FreeBSD$ from Makefiles.Mathieu Arnold2021-04-061-1/+0
|
* Bump PORTREVISION for ports depending on the canonical version of GCCGerald Pfeifer2019-07-261-1/+1
| | | | | | | | | | | | | | | | | | as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3 to GCC 9.1 under most circumstances now after revision 507371. This includes ports - with USE_GCC=yes or USE_GCC=any, - with USES=fortran, - using Mk/bsd.octave.mk which in turn features USES=fortran, and - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. PR: 238330 Notes: svn path=/head/; revision=507372
* Bump PORTREVISION for ports depending on the canonical version of GCCGerald Pfeifer2018-12-121-1/+1
| | | | | | | | | | | | | | | | | | defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t GCC 8.2 under most circumstances. This includes ports - with USE_GCC=yes or USE_GCC=any, - with USES=fortran, - using Mk/bsd.octave.mk which in turn features USES=fortran, and - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib plus, as a double check, everything INDEX-11 showed depending on lang/gcc7. PR: 231590 Notes: svn path=/head/; revision=487272
* Bump PORTREVISION for the change to pkg-descr in r481962.Gerald Pfeifer2018-10-131-1/+1
| | | | | | | PR: 232162 Notes: svn path=/head/; revision=481964
* Avoid referencing the concrete version number of the port pulled inGerald Pfeifer2018-10-131-2/+2
| | | | | | | | | | via this meta-port. PR: 232162 Submitted by: freebsd@mcwest.org Notes: svn path=/head/; revision=481962
* Bump PORTREVISIONs of all users of math/mpc that we just updated toGerald Pfeifer2018-03-101-0/+1
| | | | | | | version 1.1.0 (via revision 464079). Notes: svn path=/head/; revision=464084
* Remove the additional java category from this port. lang/gcc6, whichGerald Pfeifer2017-12-051-1/+1
| | | | | | | | | | this pulls in by default, still provides GCJ/libgcj (as the last GCC-based port doing so), but unlike C, C++, or Fortran we do not create any symlink for Java and users may also change the default version of GCC, so really nothing Java-specific here. Notes: svn path=/head/; revision=455581
* Ensure our dependencies also work properly when GCC_DEFAULT is one ofGerald Pfeifer2017-12-031-1/+3
| | | | | | | | | the older versions, in particular 4.9 which is the last working on SPARC. Reported by: linimon Notes: svn path=/head/; revision=455405
* Replace the hard-coded PORTVERSION by GCC_DEFAULT now that we did dumpGerald Pfeifer2017-09-111-2/+1
| | | | | | | | | | the major version (so this does not result in a need for PORTEPOCH). PR: 219275 Reported by: jbeich Notes: svn path=/head/; revision=449652
* Also bump PORTREVISION of lang/gcc which now refers to lang/gcc6 byGerald Pfeifer2017-09-111-1/+1
| | | | | | | | | | default. PR: 219275 Reported by: rakuco Notes: svn path=/head/; revision=449625
* Switch web reference (WWW) from http to https.Gerald Pfeifer2017-07-081-1/+1
| | | | Notes: svn path=/head/; revision=445304
* Fix RUN_DEPENDS.Gerald Pfeifer2017-05-281-1/+1
| | | | | | | Reported by: pkg-fallout, Matthew D. Fuller <fullermd@over-yonder.net> Notes: svn path=/head/; revision=441901
* Essentially replace (or rather reinvent) the lang/gcc port, which moreGerald Pfeifer2017-05-2711-656/+14
| | | | | | | | | | | | | | | | | | | | | or less ended up identical to lang/gcc5 now that we differentiate between lang/gccX-devel and lang/gccX ports, by (or as) a meta-port that pulls in the respective lang/gccX port (based on the setting of $GCC_DEFAULT) and defines gcc, g++, and gfortran as symlinks to the respective versioned binaries. This is the end of a long journey establishing this infrastructure which is now similar to the one of the python ports, for example, and makes upgrading the default as well as adjusting the default locally a lot easier. (PORTVERSION remains at 5.4.0 for now to avoid PORTEPOCH, but PORTREVISION gets a bump.) Suggested by: tijl (a while ago) Notes: svn path=/head/; revision=441883
* - Fix shebangMartin Wilke2017-04-141-0/+4
| | | | | | | Approved by: gerald (maintainer via mail) Notes: svn path=/head/; revision=438545
* Define WCHAR_T for aarch64 on all active gcc (gcc/gcc5 and gcc6) releases.Andreas Tobler2017-04-081-1/+6
| | | | | | | | | | | This define is already in upstream. The gcc*-devel ports will pickup the commit from upstream. Submitted by: kan@ Approved by: gerald@ (maintainer) Notes: svn path=/head/; revision=438061
* Copy over files/patch-disable-armvhf-config.gcc from lang/gcc5 toGerald Pfeifer2017-04-081-0/+18
| | | | | | | | | fix the armv6 bootstrap. Reported by: andreast, jbeich Notes: svn path=/head/; revision=437982
* By default bootstrap on powerpc64 (option BOOTSTRAP), which avoids anGerald Pfeifer2017-04-071-0/+1
| | | | | | | | | ICE on this architecture. Reported by: andreast Notes: svn path=/head/; revision=437960
* Add support for aarch64.Gerald Pfeifer2017-04-012-2/+188
| | | | | | | Submitted by: andreast Notes: svn path=/head/; revision=437475
* Update lang/gcc and hence the default version of GCC in the PortsGerald Pfeifer2017-04-018-773/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=437437
* Remove files/patch-armv6-hf-support since armv6hf no longer exists asGerald Pfeifer2017-04-011-18/+0
| | | | | | | | | an arch. Reported by: andreast Notes: svn path=/head/; revision=437435
* Use relative links for the generic g++, gcc, and gfortran.Gerald Pfeifer2017-03-261-3/+4
| | | | | | | | | | Replace a shell for-loop with a bmake .for-loop on the way. Reported by: danfe Reviewed by: danfe Notes: svn path=/head/; revision=436983
* Remove traces of armv6hf which no longer exists as an arch. [1]Gerald Pfeifer2017-02-031-6/+5
| | | | | | | | | | | Remove an extraneous definition of DISTVERSION (which in general we only need for ports tracking weekly GCC snapshots) and simplify the definition of GCC_VERSION. Reported by: andreast [1] Notes: svn path=/head/; revision=433249
* The output of tools like awk, date, sort, tr,... depends on the currentTijl Coosemans2017-01-181-4/+1
| | | | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=431796
* Remove gcc/files/patch-libcpp which has not been present on lang/gcc49Gerald Pfeifer2016-12-051-11/+0
| | | | | | | | | | | | | | | and lang/gcc48, but is something we have in lang/gcc47 and that lang/gcc carried over from the days it was about GCC 4.7 (so surviving both the transitions to GCC 4.8 and recently GCC 4.9). The underlying issue was addressed upstream 2014-10-24 with r216679, and in FreeBSD head 2013-09-06 by theraven@ who fixed fixed our iconv.h to not include stdbool.h. PR: 161417 Notes: svn path=/head/; revision=427827
* Fix build of lang/gcc with libc++ 3.9.0, similar to r421625:Dimitry Andric2016-11-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While testing the clang390-import branch, I ran into the following errors building lang/gcc49: In file included from /wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/c/c-objc-common.c:33: In file included from /usr/include/c++/v1/new:70: /usr/include/c++/v1/exception:267:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'? _VSTD::abort(); ^~~~~~~ /usr/include/c++/v1/__config:451:15: note: expanded from macro '_VSTD' #define _VSTD std::_LIBCPP_NAMESPACE ^ /wrkdirs/usr/ports/lang/gcc49/work/gcc-4.9.4/gcc/system.h:685:13: note: 'fancy_abort' declared here extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; ^ 1 error generated. What is happening here, is that the source file includes gcc/system.h, which defines abort to fancy_abort, and then the source file includes <new>, which attempts to call _VSTD::abort() (the _VSTD is a libc++ alias for std::). The macro definition then causes the above breakage. Newer gcc ports, such as gcc5 and gcc6 don't show this issue, because upstream gcc first added an include of <algorithm> (which indirectly includes <new>) in r217348 [1], and later even add a direct include of <new> in r232736 [2]. Fix it for this version, by adding the direct include of <new> to gcc/system.h. This makes the 'second' includes of <new> in some .c files superfluous, but at least they won't result in errors. [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=217348 [2] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=232736 Approved by: portmgr (antoine) PR: 212465 Notes: svn path=/head/; revision=427110
* Pet portlint re patch format.Gerald Pfeifer2016-11-233-0/+3
| | | | Notes: svn path=/head/; revision=426982
* Long awaited, finally update the default version of GCC in the PortsGerald Pfeifer2016-11-2011-431/+46
| | | | | | | | | | | | | | | | | | | Collection as well as the lang/gcc port from GCC 4.8.5 to GCC 4.9.4! See http://gcc.gnu.org/gcc-4.9/changes.html for an extensive list of changes and http://gcc.gnu.org/gcc-4.9/porting_to.html for information on how to port to that new version (if necessary). files/java-patch-hier required adjustments, gcc/files/patch-arm-libcpp is not needed any longer (merged upstream), and we're also loosing the local Stack Protector patches/backports. PR: 196712 Tested by: antoine (-exp runs) Supported by: antoine, kwm, and others Notes: svn path=/head/; revision=426565
* ${RM} already has -f.Mathieu Arnold2016-10-211-4/+4
| | | | | | | | | | PR: 213570 Submitted by: mat Exp-run by: antoine Sponsored by: Absolight Notes: svn path=/head/; revision=424411
* Revert previous commit (which should have gone into lang/gcc48),Gerald Pfeifer2016-08-241-0/+1
| | | | | | | restoring OPTIONS_DEFAULT_powerpc64=BOOTSTRAP. Notes: svn path=/head/; revision=420822
* Remove OPTIONS_DEFAULT_powerpc64=BOOTSTRAP which is redundant withGerald Pfeifer2016-08-241-1/+0
| | | | | | | OPTIONS_DEFAULT. Notes: svn path=/head/; revision=420821
* Default powerpc64 to bootstrapping (option BOOTSTRAP) since otherwiseGerald Pfeifer2016-08-241-2/+3
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=420820
* GCC uses an AWK script to generate source code that helps processGerald Pfeifer2016-08-142-1/+5
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=420178
* Skip armv6hf support and move it into armv6.Andreas Tobler2016-06-031-0/+17
| | | | | | | Discussed with: gerald@ Notes: svn path=/head/; revision=416337
* Apply the following to all common GCC ports based on end-of-life versionsGerald Pfeifer2016-05-061-2/+0
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=414734
* Make MULTILIB_DESC consistent and more logical also for the lang/gccGerald Pfeifer2016-05-031-1/+1
| | | | | | | and lang/gcc48 ports, now in line across all lang/gcc* ports. Notes: svn path=/head/; revision=414552
* lang/gcc*: convert to CONFIGURE_OUTSOURCEJan Beich2016-04-131-10/+5
| | | | | | | | | | PR: 208294, 208309 Exp-run by: antoine Approved by: gerald (maintainer) Differential Revision: https://reviews.freebsd.org/D4157 Notes: svn path=/head/; revision=413188
* Remove ${PORTSDIR}/ from dependencies, categories h, i, j, k, and l.Mathieu Arnold2016-04-011-9/+9
| | | | | | | | With hat: portmgr Sponsored by: Absolight Notes: svn path=/head/; revision=412347
* This being the generic GCC port, add gfortran, gcc, and g++ as linksGerald Pfeifer2015-11-242-1/+9
| | | | | | | | | | | | | to the versioned executable (gfortran48, gcc48, and g++48). These standard names are going to remain in place in case of version upgrades and constitute the default, and expected by users, names. Suggested by: db Reviewed by: db Notes: svn path=/head/; revision=402352
* Add a MULTILIB option to gcc{,48,49,5} for powerpc64Julio Merino2015-11-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=402245
* "Backport" the -fstack-protector-strong patchset from lang/gcc48 toGerald Pfeifer2015-11-094-0/+383
| | | | | | | | | | lang/gcc. PR: 203751, 186852 [1] Submitted by: software-freebsd@interfasys.ch [1] Notes: svn path=/head/; revision=401086
* Revert r401072.Julio Merino2015-11-081-9/+0
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=401074
* Add a MULTILIB option to gcc{,48,49,5} for powerpc64Julio Merino2015-11-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=401072
* Add missing USES=compiler, needed for ${COMPILER_TYPE} checksAntoine Brodin2015-10-051-1/+1
| | | | | | | PR: 203540 Notes: svn path=/head/; revision=398656
* Remove deprecated @exec/@unexec from ports using ccache-update-linksAntoine Brodin2015-09-261-2/+2
| | | | Notes: svn path=/head/; revision=397956
* Update to GCC 4.8.5. Mostly bug fixes, a very conservative update.Gerald Pfeifer2015-07-172-4/+3
| | | | Notes: svn path=/head/; revision=392340
* Merge MASTER_SITES and MASTER_SITE_SUBDIR into just the former.Gerald Pfeifer2015-05-011-2/+1
| | | | | | | Suggested by: mat Notes: svn path=/head/; revision=385140
* Bump portrevision after revert as some people did managed to build the _2 ↵Baptiste Daroussin2015-04-271-1/+1
| | | | | | | version Notes: svn path=/head/; revision=384836
* Reverting temporary r384814Baptiste Daroussin2015-04-273-136/+1
| | | | | | | | | | | | While the feature has a great value, it is right now breaking the build of lang/gcc. Given the importance of lang/gcc it is better to revert now and reapply the patch once it has been fixed and passes an exp-run on all supported version With hat: portmgr Notes: svn path=/head/; revision=384834
* Implement the FreeBSD specific pieces for thread affinity for OpenMP.Adrian Chadd2015-04-273-1/+136
| | | | | | | | | | | | | | Upstream gcc 4.8 doesn't have support for this - it'll create threads, but it won't do any of the thread affinity stuff for FreeBSD. This allows for OMP_PROC_BIND=true to bind threads to their initial CPUs, leading to some pretty drastic improvements in performance for certain NUMA workloads. Approved by: gerald Notes: svn path=/head/; revision=384814
* Remove unnecesssary UNIQUENAME.Gerald Pfeifer2015-04-061-1/+0
| | | | Notes: svn path=/head/; revision=383445