Commit graph

65 commits

Author SHA1 Message Date
Felix Palmen
5ca22080ae Mk/Uses/compiler.mk: Support newer C++ standards
* Add c++20-lang and c++2b-lang arguments
* Respect LLVM_DEFAULT if it fullfills the requirements

PR:			244810, 266029
Exp-run by:		antoine
Approved by:		bapt, tcberner (mentor)
Differential Revision:	https://reviews.freebsd.org/D35889
2022-09-11 13:34:29 +02:00
Jan Beich
b00b217c0a Mk/Uses/compiler.mk: switch to -stdlib=libc++
GCC >= 11 supports -stdlib=libc++ (like Clang) which allows to
simplify USES=compiler:gcc-c++11-lib logic.

PR:		265964
Exp-run by:	antoine
2022-08-25 21:35:38 +00:00
Tobias C. Berner
aa25396790 framework: cleanup conditional-indentations in Mk/
Run Tools/scripts/indent_make_if.pl on all of Mk.

These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible

Differential Revision:	https://reviews.freebsd.org/D35024
Reviewed by:		portmgr (rene, bapt)
2022-04-24 12:00:20 +02:00
Rene Ladan
767d81e129 Mk: release portmgr maintainership of most USES files
Differential Revision: https://reviews.freebsd.org/D34936

Reviewed by:	desktop (tcberner), portmgr (tcberner), ruby (yasu), tijl
2022-04-24 11:29:12 +02:00
Gerald Pfeifer
80847668cf Mk/Uses/compiler.mk: Avoid USE_GCC=any
USE_GCC=any is gone, replace it by USE_GCC=yes which has been equivalent
for a while now.

Approved by:	portmgr (antoine)
2021-10-15 18:56:26 +00:00
Fernando Apesteguía
07fb2d5e9d */*: Remove compiler:openmp from Mk/Uses/compiler.mk
The option implied a dependency on gcc but clang got openmp support long ago.

Remove compiler:openmp from Mk/Uses/compiler.mk

For ports using USE=compiler:openmp, just remove it and make them build with
clang.
Fix conditionals when necessary
Bump PORTREVISION where appropriate

If problem arises, they can be addressed by using USE_GCC=yes

An update to the Porter's Handbook will follow.

Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D31971
2021-10-03 19:47:27 +02:00
Mathieu Arnold
5d33e04596
framework: Remove $FreeBSD$
Where appropriate fiddle with a few other things.
2021-04-06 16:27:10 +02:00
Joseph Mingrone
6d6094534b compiler.mk: Update clang dependency to v10; clean up duplication
PR:		252627
Approved by:	brooks, portmgr (swills)
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D28120
2021-01-21 17:47:55 +00:00
Jung-uk Kim
10c04dc03c Support compiler version >= 10 (again).
PR:		244781
Approved by:	portmgr (antoine)
2020-03-13 21:46:34 +00:00
Antoine Brodin
056c5054ac Revert r528363, it's broken for llvm < 10
With hat:	portmgr
2020-03-13 19:50:39 +00:00
Jung-uk Kim
4cbea9f8d4 Support compiler version >= 10.
PR:		244781
Approved by:	portmgr (antoine)
2020-03-13 16:41:54 +00:00
Antoine Brodin
b76bece251 All supported versions of FreeBSD that install clang have version 6.0.0 or
newer

With hat:	portmgr
2018-12-23 12:01:32 +00:00
Antoine Brodin
8ed8d2151d Add support for USES=compiler:c++17-lang
PR:		222415
Submitted by:	Naram Qashat
With hat:	portmgr
2018-06-11 12:39:03 +00:00
Jan Beich
5e1285aafa Update USES=compiler:c++14-lang to Clang 6.0 on FreeBSD 10
PR:		227679
Exp-run by:	antoine (only 10.4)
2018-04-27 23:14:32 +00:00
Bryan Drewery
1fc7692af8 Don't add 'yes' onto the end of errored std output lookups. 2018-03-16 19:31:14 +00:00
Bryan Drewery
64b73075ab PORTS_ENV: Reorder CC hash and std hash so CC's comes first.
This is only a cosmetic change.

Approved by:	portmgr (implicit)
2018-03-14 23:21:12 +00:00
Bryan Drewery
e9cbf56e8f PORTS_ENV: Rename OUTPUT_* to CC_OUTPUT_* to be more clearly related to compiler.mk.
This is purely a cosmetic change.

Approved by:	portmgr (implicit)
2018-03-14 23:10:36 +00:00
Bryan Drewery
dc15d9f81f Add compiler.mk to PORTS_ENV.
This only handles the default CC=cc but is enough to significantly improve
INDEX/Poudriere ports var gathering due to reducing around a dozen cc
fork+exec for every port that all have the same result.  These values
are reused during the port build as well which reduces more fork+exec
contention there.

Approved by:	portmgr (implicit)
2018-02-28 19:34:05 +00:00
Baptiste Daroussin
2f6b619246 Replace llvm 3.4 by llvm 5.0, as a choice for people who enforce clang
by default everywhere

This code would actually needs to be probably cleaned up, but that would be
for later
2018-02-06 13:30:29 +00:00
Jan Beich
54d482ae91 Update USES=compiler:c++14-lang to Clang 5.0 on FreeBSD 10
PR:		224591
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2017-12-27 10:41:30 +00:00
Gerald Pfeifer
3d86e92285 Replace USE_GCC=5+ by USE_GCC=yes in the case of USES=compiler:c++14-lang.
When this was added by r392084 on 2015-07-14, the default flavor of GCC
was GCC 4.8 and explicitly requesting GCC 5 (or later) was necessary for
C++ 14 support.  Now that the default version of GCC is GCC 6, after GCC 5
for several months, we can use the preferred notion of USE_GCC=yes instead
of specifying a concrete minimum version.

Among others this helps with cases where GCC 6 is better adjusted for
FreeBSD, notably the well known std::to_string issue (where that is only
enabled with GCC 6 or later).

PR:		222268
Approved by:	portmgr (antoine)
MFH:		2017Q3
2017-09-12 20:43:58 +00:00
Baptiste Daroussin
04eecb2f57 Use llvm 4.0 for c++14
exp-run:	antoine
Reviewed by:	antoine, swills
Approved by:	swills
Differential Revision:	https://reviews.freebsd.org/D10228
2017-04-30 11:57:46 +00:00
Alex Kozlov
f37a53c2ba - Remove checks for .PARSEDIR and vestiges of pmake support
PR:	218832
Approved by:	portmgr (antoine)
2017-04-26 19:04:30 +00:00
Rene Ladan
6f019c90b3 Remove support for FreeBSD < 10.3 from Mk/*
This does not yet convert the files to bmake.

Reviewed by:	mat
Differential Revision:	https://reviews.freebsd.org/D9016
2017-01-03 07:24:49 +00:00
Jan Beich
13d07760cf Switch USES=compiler:gcc-c++11-lib to use base libc++ on 10.2+ systems
PR:		215192
Requested by:	dim
Exp-run by:	antoine
Approved by:	antoine
2016-12-16 05:08:09 +00:00
Antoine Brodin
89ba71e63f All supported versions of FreeBSD that install clang have version 3.4.1 or
newer,  so remove obsolete checks in compiler.mk and objc.mk

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D8496
2016-11-12 17:42:52 +00:00
Baptiste Daroussin
421767bd88 Remove the now unneeded ${PORTSDIR} from dependency definition in
The infrastructure Makefiles

PR:		206569
Exp run by:	antoine
Differential Revision:	D5047
2016-03-27 01:23:25 +00:00
Antoine Brodin
e63e9d9f15 Extend r405599 to make COMPILER_VERSION and ALT_COMPILER_VERSION more
compatible with clang 3.8 trunk

PR:		206074
With hat:	portmgr
2016-01-14 18:54:29 +00:00
Bryan Drewery
bbeb4f68d0 Make COMPILER_VERSION more compatible with clang 3.8 trunk.
"clang version 3.8.0 (trunk 256945) (based on LLVM 3.8.0svn)" was giving
"38 38" was a result.  Now duplicates for fmake are trimmed and only the first
version found is used for bmake using its :tW.

With hat:	portmgr
In collaboration with:	dim
2016-01-08 23:41:25 +00:00
Mathieu Arnold
7f0f664d7e Drop 8 support.
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3694
2015-10-15 14:55:14 +00:00
Baptiste Daroussin
8cea2b0147 Readd PORTSDIR for now we will only start removing them after 2016Q1 is branched
This gives more time for tools to get updated, available in packages etc before
bothering users
2015-10-15 07:36:38 +00:00
Baptiste Daroussin
869e1f27d0 Drop the necessity to add ${PORTSDIR} to dependency line
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute

Checked with poudriere, portmaster, portupgrade

PR:		203685
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3866
2015-10-14 16:49:35 +00:00
Brad Davis
37d8b6d3fc Bump the version of clang to 3.6 when c++14-lang is specified
Discussed with:	brooks
Approved by:	bdrewery (mentor)
2015-08-08 21:38:18 +00:00
Brad Davis
94f1a3fc69 Add support for USES= compiler:c++14
PR:		201076
Approved by:	bapt, bdrewery (mentor)
2015-07-14 20:32:14 +00:00
Antoine Brodin
75dac6f24a Set CHOSEN_COMPILER_TYPE for USES=compiler:gcc-c++11-lib
PR:		ports/196111
Submitted by:	Jan Beich
With hat:	portmgr
2014-12-28 21:46:23 +00:00
Antoine Brodin
da4156e14e Enforce clang 3.4 in USES=c*11*,objc,gnustep as clang 3.3 has some bugs
Requested by:	bapt
PR:		ports/195122
Differential Revision:	https://reviews.freebsd.org/D1181
Exp-run by:	self
With hat:	portmgr
2014-11-21 17:22:06 +00:00
Antoine Brodin
ccb7128a1c Switch from clang33 to clang34 for ports using compiler:*11*, objc or
gnustep on freebsd 8.4 and 9.1

PR:		ports/193555
Differential Revision:	https://reviews.freebsd.org/D935
Reviewed by:	bapt
Exp-run:	self
2014-10-18 18:13:58 +00:00
Tijl Coosemans
fe837ee6c6 Change the way USES is handled:
- Loop over USES twice, once to define all *_ARGS variables and once to
  include Uses/*.mk.  This allows all Uses/*.mk to examine arguments given
  to other USES entries.
- Always define *_ARGS (possibly empty) and replace commas with spaces.

Similar for _USES_POST.

Adjust all Uses/*.mk:
- defined(u_ARGS) becomes !empty(u_ARGS)
- Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g}
- Some Uses/*.mk used ":" as argument separator instead of ",", but no port
  used this form
- Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which
  has no effect
- Uses/twisted.mk: simplify handling of the case where neither "build" nor
  "run" arguments have been specified

PR:		193931
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-09-28 16:36:31 +00:00
Nathan Whitehorn
2ac785c621 Avoid using clang as a fallback compiler on Tier-2 systems for C++0x
or C11 features on platforms where it is not known to work.
2014-06-29 20:35:05 +00:00
Bryan Drewery
5d75e32429 - Fix logic from r359424 to not always apply - only apply on tier2 archs.
With hat:	portmgr
2014-06-27 03:23:52 +00:00
Nathan Whitehorn
275f89be81 On some Tier-2 platforms (e.g. PowerPC), clang kind of works and so is
installed but is not cc. On such platforms, clang is usually not default
for a reason and so using it for C++11 is unwise. Instead, fall back to
newer GCC. On i386 and amd64, clang works even if it isn't the default,
so continue using it there.

This fixes the build for Boost, among other software, on PowerPC.

Approved by:	bapt
2014-06-26 22:16:37 +00:00
Baptiste Daroussin
e149a86133 Add compiler:gcc-c++11-lib to instrument gcc linking with libc++ on system where default stl is libc++ 2014-04-08 15:16:39 +00:00
Gerald Pfeifer
5b4f2ad658 Move MAINTAINER lines to the end of the initial comment block and
make things a bit more consistent.

Approved by:	portmgr (bapt)
2014-03-15 10:31:54 +00:00
Baptiste Daroussin
9e94573f8f Now that default gcc is 4.7 switch back to USE_GCC=yes where appropriate 2014-03-12 17:45:48 +00:00
Rene Ladan
949300ce57 Mention the new c++0x argument.
Approved by:	portmgr (bdrewery)
2014-01-10 22:09:07 +00:00
Baptiste Daroussin
7b6e9b4ecd Fix test 2014-01-09 07:10:02 +00:00
Baptiste Daroussin
b8a4248e6e Make gcc 4.6 is sufficient for c++0x 2014-01-09 06:56:42 +00:00
Baptiste Daroussin
9271597aee Allow to choose clang from base on 9.2 when looking for a C11 compiler
Add compiler:c++0x modeled over compiler:c++11-lang [1]

Requested by:	delphij [1]
2014-01-09 06:55:18 +00:00
Rene Ladan
7657603be6 Spell out "nestedfct"
Approved by:	portmgr (bapt)
2013-12-15 23:45:39 +00:00
Rene Ladan
f7110a705a Mention nestedfct parameter.
Perform some language fixes while here.

Approved by:	portmgr (bapt)
2013-12-15 23:22:33 +00:00