aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.gcc.mk
Commit message (Collapse)AuthorAgeFilesLines
* Since there is not going to be any new version of GCC in the FreeBSDGerald Pfeifer2015-04-221-16/+13
| | | | | | | | | | | base system ever again, simplify the GCCVERSION table and logic to not worry about minimum system versions carrying a certain version of GCC. This also removes the _GCCVERSION_${v}_R variables and simplifies some logic and debug output. Notes: svn path=/head/; revision=384521
* Move LANG_GCC_IS from bsd.gcc.mk to bsd.default-versions.mk and useGerald Pfeifer2015-01-261-3/+0
| | | | | | | | | | this and GCC_DEFAULT instead of hard-coding the version of GCC used by lang/gcc in Uses/fortran.mk. Approved by: portmgr (antoine) Notes: svn path=/head/; revision=377909
* Rename the somewhat confusingly named GCC_DEFAULT_V to LANG_GCC_IS.Gerald Pfeifer2015-01-041-2/+2
| | | | | | | (The regular GCC_DEFAULT is still set in bsd.default-versions.mk.) Notes: svn path=/head/; revision=376187
* Update examples to use GCC 4.9 instead of 4.8, since the latter is nowGerald Pfeifer2014-11-071-2/+2
| | | | | | | the default version anyway. Notes: svn path=/head/; revision=372268
* Add support for USE_GCC=5 and its preferred form USE_GCC=5+.Gerald Pfeifer2014-11-021-1/+2
| | | | | | | PR: 194676 Notes: svn path=/head/; revision=372091
* Depend on lang/gccXY if users wish to use a different version of gcc byTijl Coosemans2014-09-261-2/+3
| | | | | | | | | | | | | default than lang/gcc (currently 4.8). (I don't fully agree with this implementation but this makes something like DEFAULT_VERSIONS+=gcc=4.9 in make.conf work correctly.) Reported by: Luca Pizzamiglio <luca.pizzamiglio@gmail.com> Approved by: gerald Notes: svn path=/head/; revision=369328
* Refer to bsd.default-versions.mk for the canonical version of GCC; noGerald Pfeifer2014-03-161-3/+2
| | | | | | | longer duplicate version information related to that. Notes: svn path=/head/; revision=348390
* Update the default version of GCC used in the Ports Collection fromGerald Pfeifer2014-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=347808
* Revert bogus parts of revision 345909.Gerald Pfeifer2014-02-251-1/+1
| | | | Notes: svn path=/head/; revision=345910
* Reword the documentation at the top of this file.Gerald Pfeifer2014-02-251-1/+1
| | | | | | | Sort the FPC_DEFAULT and GCC_DEFAULT entries. Notes: svn path=/head/; revision=345909
* Replace all uses of GCC_DEFAULT_VERSION by GCC_DEFAULT, remove theGerald Pfeifer2014-02-241-6/+7
| | | | | | | | | | | definition of the former from Mk/bsd.gcc.mk and add the latter -- still set to 4.6 -- to Mk/bsd.default-versions.mk. Include Mk/bsd.default-versions.mk from Mk/bsd.gcc.mk to tie the two together. Notes: svn path=/head/; revision=345903
* Remove the _GCC_BUILD_DEPENDS variable which we had kept for the sakeGerald Pfeifer2014-02-231-3/+0
| | | | | | | | | | | | of some ports using this unexpectedly. There are no further instances in the tree any more. If there is an absolute need to refer to the GCC runtime directory that cannot be covered by CFLAGS, LDFLAGS or the like, use _GCC_RUNTIME. This hardly ever should be necessary, though. Avoid whenever possible! Notes: svn path=/head/; revision=345690
* Convert all USE_FORTRAN=yes to "USES=fortran, USE_GCC=yes". In most casesTijl Coosemans2014-02-161-49/+1
| | | | | | | | | | | | | | USE_GCC=yes has been omitted though. Remove USE_FORTRAN handling from bsd.port.mk and bsd.gcc.mk. Minor cleanups in some ports like USE_GMAKE, NOPORTDOCS,... Exp-run: bdrewery Approved by: portmgr (bdrewery) Notes: svn path=/head/; revision=344614
* Unregister lang/gcc44 now that it is no longer used by any port.Rene Ladan2014-01-261-2/+1
| | | | | | | Approved by: gerald Notes: svn path=/head/; revision=341241
* Disconnect lang/gcc34 from bsd.gcc.mk, it is not used by any port anymore.Rene Ladan2014-01-041-12/+1
| | | | | | | | | | | This also removes the g77 option of USE_FORTRAN, and USE_GCC now always implies a dependency on binutils. Reviewed by: bapt Approved by: maintainer (gerald) Notes: svn path=/head/; revision=338649
* Explicitly include the GCC run time directory in LDFLAGS. This shouldGerald Pfeifer2013-12-071-1/+1
| | | | | | | | | | not be necessary when linking with GCC, but that's not the only way the link process can be invoked. PR: 182136 Notes: svn path=/head/; revision=335855
* Unbreak USE_GCC=any. We do need to keep GCC 4.2 in our internal tablesGerald Pfeifer2013-11-231-1/+2
| | | | | | | | | | | for that, even if lang/gcc42 is gone. Tested on systems with and without GCC in base. Reported by: Terry Kennedy <TERRY@tmk.com>, dbn Notes: svn path=/head/; revision=334653
* Bye, bye lang/gcc42 aka GCC 4.2. As a port you have served us well,Gerald Pfeifer2013-11-231-5/+2
| | | | | | | | | | | | but six-and-a-half years after the upstream release of GCC 4.2.0 and exactly two years after the removal of lang/gcc45 the time has come. This reduces package name collisions around GCC related ports by 12.5%. [1] Reported by: bapt [1] Notes: svn path=/head/; revision=334629
* Document USE_GCC=any. Reformat the description a bit and use newerGerald Pfeifer2013-11-101-5/+11
| | | | | | | versions of GCC for reference. Notes: svn path=/head/; revision=333442
* Add support for USE_GCC=4.9 and USE_GCC=4.9+.Gerald Pfeifer2013-10-131-1/+2
| | | | | | | | | | Beware, this version of GCC is _not_ anywhere near ready for production use. Use at your own risk, and rather don't use it for regular ports. Submitted by: devzone.my@gmail.com Notes: svn path=/head/; revision=330254
* Merge two loops and initialize _GCC_FOUND${v} and check whether USE_GCCGerald Pfeifer2013-03-291-14/+9
| | | | | | | points to a valid version in parallel. Notes: svn path=/head/; revision=315538
* When the same version of GCC is present as a port and in base, preferGerald Pfeifer2013-03-191-4/+2
| | | | | | | | | the former. Improve consistency of the code in on place. Notes: svn path=/head/; revision=314673
* Simplify (and strictly speaking, though not practically given versionGerald Pfeifer2013-03-161-4/+6
| | | | | | | | | | | | | | number schemes between FreeBSD and GCC, correct) the check for a valid version specified by USE_GCC. [1] If IGNORE is set, have test-gcc note that instead of showing its usual, and in that case incorrect and useless, debugging output. PR: 175252 [1] Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> [1] Notes: svn path=/head/; revision=314352
* Do not just rely on the version number of FreeBSD in deciding whetherGerald Pfeifer2013-03-031-3/+5
| | | | | | | | | | | | | | a certain version of GCC is in the base, but also check the existence of /usr/bin/gcc. This unbreaks systems where GCC is not built as part of the world, and instead relies on versions of GCC in the Ports Collection there. PR: 175252 Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> Notes: svn path=/head/; revision=313323
* Remove a bogus old check that assumes that every version of FreeBSD hasGerald Pfeifer2013-03-021-5/+1
| | | | | | | | | | | | GCC in the base. Adjust a comment, now describing the real purpose of the code remaining in that block. PR: 175252 Notes: svn path=/head/; revision=313177
* Fix when bsd.gcc.mk is included and USE_GCC is undefined for example in case aBaptiste Daroussin2012-12-221-1/+1
| | | | | | | port use USE_FORTRAN Notes: svn path=/head/; revision=309408
* Add a new form of USE_GCC, USE_GCC=yes, which generically requestsGerald Pfeifer2012-12-221-4/+14
| | | | | | | | | | | | | | a current version of GCC. This reduces churn for individual ports and further increases consistency (in line with a canonical version that we introduced with GCC_DEFAULT_VERSION earlier on and the older USE_FORTRAN=yes). On the way, make some comments more consistent. Discussed with: linimon Notes: svn path=/head/; revision=309406
* In addition to CFLAGS and LDFLAGS now also CXXFLAGS set an rpath toGerald Pfeifer2012-11-061-0/+1
| | | | | | | | | | | | | | the GCC run-time. This extends revision r246991 (2010-01-02) and should not be necessary in most cases since LDFLAGS already covers linking, but one can always compile and link in one swoop, and this makes things consistent between C and C++. Feature safe: yes Notes: svn path=/head/; revision=307045
* Introduce the new semantic USE_GCC=any, which can be set in any portMark Linimon2012-10-071-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Makefile. For systems where CC is gcc, this has no effect. For systems where CC is clang, this forces the use of the base GCC suite. (Some forward compatibility is also covered in the patch.) Confirmed to have no ill-effects via multiple runs with gcc as CC: http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.8-exp-bcm.20121006012556.pointyhat-west/ and clang as CC: http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp-clang.20121005165436.pointyhat-west/ This change is necessary (but insufficient) for the upcoming switch to clang as CC for the tier-1 architectures. Finally, accept FORCE_BASE_CC_FOR_TESTING as an override for USE_GCC, for those who wish to help debug ports with clang. It is an absolute override; it overrides not only the value "any" but also any value such as "4.4+". Reviewed by: brooks, gerald Approved by: maintainer (gerald) Notes: svn path=/head/; revision=305504
* Introduce _GCC_RUNTIME, to be used by ports in need of knowing theGerald Pfeifer2012-08-031-3/+4
| | | | | | | | | | | | run-time directory of the version of GCC in use. As a side effect this fixes the inclusion of said directory into CFLAGS and LDFLAGS (and FFLAGS where applicable). [1] Reported by: Scott Allendorf <scott-allendorf@uiowa.edu> [1] Notes: svn path=/head/; revision=301973
* Add support for USE_GCC=4.8, USE_GCC=4.8+, and generally detectGerald Pfeifer2012-08-031-1/+2
| | | | | | | | | and consider lang/gcc48 if present. Submitted by: kwm Notes: svn path=/head/; revision=301961
* Use the stable, slow moving lang/gcc instead of lang/gcc46 forGerald Pfeifer2012-08-031-7/+14
| | | | | | | | | | | | | | | | | USE_GCC=4.6 and USE_GCC=4.6+ and generally whenever the default version of GCC is employed. This will significantly benefit tinderboxes and the larger, reasonably conservative user base by reducing the amount of rebuilds. Rename _GCC_BUILD_DEPENDS to _GCC_PORT, but still set _GCC_BUILD_DEPENDS in the end for the sake of some ports relying on that. PR: 169449 Discussed with: bf Notes: svn path=/head/; revision=301878
* - Revert accidental commitSunpoet Po-Chuan Hsieh2012-06-261-8/+1
| | | | Notes: svn path=/head/; revision=300018
* - Add shared TLS descriptionSunpoet Po-Chuan Hsieh2012-06-261-1/+8
| | | | Notes: svn path=/head/; revision=300017
* - Remove emacs mode, -*- mode: ...; -*- [1]Martin Wilke2012-05-231-1/+1
| | | | | | | | | | | | | | | | | | | - Comments for BUILD_ and RUN_DEPENDS fail to mention alternate means to specify dependencie [2] - Fix make reinstall [3] - Trivial comment change for PORTDATA [4] PR: 151954 [1] 161314 [2] 167085 [3] 167465 [4] Submitted by: Anonymous <swell.k@gmail.com> [1] dougb@ and Chris Rees <utisoft@gmail.com> [2] Garrett Cooper <yanegomi@gmail.com> [3] "Bryan Drewery" <bryan@shatow.net> [4] Tested via: phw Notes: svn path=/head/; revision=297274
* Remove last reference to GCC 4.5 now that no port refers to it any more.Gerald Pfeifer2012-04-291-5/+0
| | | | Notes: svn path=/head/; revision=295673
* Disconnect GCC 4.5 alias lang/gcc45.Gerald Pfeifer2011-11-121-3/+7
| | | | | | | | | | | No ports uses this directly any more via USE_GCC=4.5 and for the sake of those nine that have USE_GCC=4.5+ we transparently rewrite this to USE_GCC=4.6+ which has already happened for weeks for tinderbox builds. Feature safe: yes Notes: svn path=/head/; revision=285671
* Fix mis-applied patch from revision 1.59 (moving the new code oneGerald Pfeifer2011-10-301-4/+5
| | | | | | | | | conditional up). Discussed with: bf Notes: svn path=/head/; revision=284753
* Refer to GCC 4.7 instead of GCC 4.5. Mark the part that should not seeGerald Pfeifer2011-10-301-3/+2
| | | | | | | changes based on GCC changes more clearly. Notes: svn path=/head/; revision=284731
* When USE_GCC=X.Y+ has been specified, prefer the default version ofGerald Pfeifer2011-10-301-4/+9
| | | | | | | | | | | | | | | | GCC (the one which also USE_FORTRAN=yes chooses) in case we do have to install GCC in any case. Only if an acceptable version of GCC is already present use that one. This will ease the load on tinderboxes, further the use of current versions of GCC, and minimize the need to download/carry several versions of GCC for users of pre-built packages. PR: 160507 Submitted by: bf Notes: svn path=/head/; revision=284690
* Fix the previous commit for the case where USE_FORTRAN is undefined.Gerald Pfeifer2011-10-081-0/+2
| | | | | | | Pointy hat to: self, bf Notes: svn path=/head/; revision=283164
* Reference the GCC run-time libraries via FFLAGS, too, in addition toGerald Pfeifer2011-10-081-0/+3
| | | | | | | | | CFLAGS and LDFLAGS, if USE_FORTRAN=yes has been specified. Submitted by: bf Notes: svn path=/head/; revision=283163
* Make USE_FORTRAN=yes imply the use of GCC 4.6 over GCC 4.5 so far.Gerald Pfeifer2011-09-191-4/+4
| | | | | | | | Exp-run by: pav Thanks to: pav, bf (for fixing several ports) Notes: svn path=/head/; revision=281967
* Cater to versions of FreeBSD greater than 9 (up to 99). [1]Gerald Pfeifer2011-09-101-6/+6
| | | | | | | | | Tweak the representation of versions of GCC that newer appeared in base. Submitted by: bf [1] Notes: svn path=/head/; revision=281575
* Refer to GCC 4.2+ instead of GCC 3.4+ in a comment, since the latter isGerald Pfeifer2011-09-041-1/+1
| | | | | | | not in any supported release of FreeBSD any more. Notes: svn path=/head/; revision=281169
* Clean up after revision 1.51 and adjust comments to the new reality of usGerald Pfeifer2011-07-311-4/+2
| | | | | | | not caring about FreeBSD <= 6 any more (and thus no g77 in base ever). Notes: svn path=/head/; revision=278658
* Add support for USE_GCC=4.7, USE_GCC=4.7+ and notably an installation ofGerald Pfeifer2011-07-191-1/+2
| | | | | | | | | | lang/gcc47 being used when USE_GCC=4.5+ or the like is specified. PR: 159036 Submitted by: kalten@gmx.at Notes: svn path=/head/; revision=277965
* Latest round of infrastructure changes.Florent Thoumie2011-05-041-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | - bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1] - bsd.port.mk: call target "install-rc-script" before "post-install" [2] - [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3] - [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4] - [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5] - [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6] PR: ports/156575 [1], ports/139116 [2], ports/152498 [3], ports/155983 [4], ports/155510 [5], ports/156340 [6] Submitted by: Florent Thoumie <flz@xbsd.org> [1], Sergey Skvortsov <skv@freebsd.org> [2], Olli Hauer <ohauer@FreeBSD.org> [3], Eitan Adler <lists@eitanadler.com> [4], Eitan Adler <lists@eitanadler.com> [5], Eitan Adler <lists@eitanadler.com> [6] Notes: svn path=/head/; revision=273640
* lang/gcc44 and later depend on the devel/binutils port. Leverage thatGerald Pfeifer2011-02-011-0/+5
| | | | | | | | | | | and USE_BINUTILS for every port we are building with this combo. That way all the tools in binutils may be used. Suggested by: bf Feature safe: yes Notes: svn path=/head/; revision=268511
* Simplify the case of USE_FORTRAN=g77. Update a comment.Gerald Pfeifer2010-10-171-8/+4
| | | | | | | Discussed with: bf Notes: svn path=/head/; revision=263140