Commit graph

112 commits

Author SHA1 Message Date
Gerald Pfeifer
9ce9cd0961 Disconnect GCC 4.5 alias lang/gcc45.
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
2011-11-12 22:03:55 +00:00
Gerald Pfeifer
4bf3e880f0 Fix mis-applied patch from revision 1.59 (moving the new code one
conditional up).

Discussed with:	bf
2011-10-30 20:58:22 +00:00
Gerald Pfeifer
1be81e083d Refer to GCC 4.7 instead of GCC 4.5. Mark the part that should not see
changes based on GCC changes more clearly.
2011-10-30 15:51:09 +00:00
Gerald Pfeifer
af5f25332e When USE_GCC=X.Y+ has been specified, prefer the default version of
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
2011-10-30 01:34:38 +00:00
Gerald Pfeifer
f8f617d71c Fix the previous commit for the case where USE_FORTRAN is undefined.
Pointy hat to:	self, bf
2011-10-08 08:17:16 +00:00
Gerald Pfeifer
0e5f319fdb Reference the GCC run-time libraries via FFLAGS, too, in addition to
CFLAGS and LDFLAGS, if USE_FORTRAN=yes has been specified.

Submitted by:	bf
2011-10-08 07:37:53 +00:00
Gerald Pfeifer
8fec0a2dbc Make USE_FORTRAN=yes imply the use of GCC 4.6 over GCC 4.5 so far.
Exp-run by:	pav
Thanks to:	pav, bf (for fixing several ports)
2011-09-19 00:40:21 +00:00
Gerald Pfeifer
610afbf497 Cater to versions of FreeBSD greater than 9 (up to 99). [1]
Tweak the representation of versions of GCC that newer appeared in base.

Submitted by:	bf [1]
2011-09-10 12:10:37 +00:00
Gerald Pfeifer
cbb4e03279 Refer to GCC 4.2+ instead of GCC 3.4+ in a comment, since the latter is
not in any supported release of FreeBSD any more.
2011-09-04 16:56:11 +00:00
Gerald Pfeifer
bb4e46d8f0 Clean up after revision 1.51 and adjust comments to the new reality of us
not caring about FreeBSD <= 6 any more (and thus no g77 in base ever).
2011-07-31 22:40:39 +00:00
Gerald Pfeifer
be59813462 Add support for USE_GCC=4.7, USE_GCC=4.7+ and notably an installation of
lang/gcc47 being used when USE_GCC=4.5+ or the like is specified.

PR:		159036
Submitted by:	kalten@gmx.at
2011-07-19 21:16:39 +00:00
Florent Thoumie
c406a95c53 Latest round of infrastructure changes.
- 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]
2011-05-04 22:33:13 +00:00
Gerald Pfeifer
53b59d25b9 lang/gcc44 and later depend on the devel/binutils port. Leverage that
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
2011-02-01 01:41:19 +00:00
Gerald Pfeifer
ce32945194 Simplify the case of USE_FORTRAN=g77. Update a comment.
Discussed with:	bf
2010-10-17 11:24:50 +00:00
Gerald Pfeifer
ac147fb18c In addition to CC and CXX now also set CPP with USE_GCC. Add the output
of CPP to the test-gcc target.

Submitted by:	bf
2010-09-28 02:48:29 +00:00
Gerald Pfeifer
478a268d25 USE_FORTRAN=yes now implies lang/gcc45 up from lang/gcc44.
cad/salome and math/freemat needed some adjustments, apart from these
this looks like a far more easy upgrade than previous ones and according
to the upstream developers we do not even need to bump dependent ports
since GNU Fortran 4.4 and 4.5 are sufficiently compatible.

Tested by:	erwin (and pointyhat)
2010-09-24 23:14:46 +00:00
Gerald Pfeifer
7cce6f025f Remove the transparent rewriting of USE_GCC=4.3+ to USE_GCC=4.4+. 2010-09-04 17:08:27 +00:00
Gerald Pfeifer
c7e5571fb1 Disconnect lang/gcc43, that is, USE_GCC=4.3 is not supported any longer. 2010-08-07 10:56:01 +00:00
Gerald Pfeifer
3313b35c77 Extend and clarify the documentation for USE_GCC, making it explicit
that the form requesting a minimum version is preferred over the one
requesting just one version (as I had enhanced portlint to advise a
while ago).
2010-06-11 21:06:18 +00:00
Gerald Pfeifer
992a6ce56c Tweak a conditional added in the previous commit that apparently causes
troubles in some cases.
2010-06-06 19:15:03 +00:00
Gerald Pfeifer
6c6e96d736 USE_GCC=4.3 is deprecated (and no port uses it anymore). USE_GCC=4.3+
is transparently rewritten to USE_GCC=4.4+ and lang/gcc43 will be
disconnected from the USE_GCC infrastructure soon.
2010-06-06 17:17:04 +00:00
Gerald Pfeifer
188695d67d Add support for early GCC 4.6 snapshots (lang/gcc46) via USE_GCC=4.6
and USE_GCC=4.6+.  This version of GCC is in its very early development
stages and use thereof highly experimental.  Use at your own risk.
2010-05-02 17:39:06 +00:00
Gerald Pfeifer
9451233322 Replace the use of GCC 4.3 in a comment/example by GCC 4.5 since the
former will be gone soon.
2010-05-02 14:44:59 +00:00
Gerald Pfeifer
d34293c411 Locate the GCC run-time libraries under ${LOCALBASE}, where the GCC
ports are installed/assumed, instead of ${PREFIX} where a dependent
port is installed.

Reported by:	Rob Farmer <rfarmer@predatorlabs.net>
2010-02-14 22:36:50 +00:00
Gerald Pfeifer
dd0c5a8b14 Split the logic around USE_GCC in two parts. The first handles the
processing of USE_GCC directives, the second then takes a concrete
selection coming from the previous or the code handling USE_FORTRAN
via _USE_GCC.

The one user-visible change is that not just users of USE_FORTRAN,
but now also users of USE_GCC set an rpath via CFLAGS and LDFLAGS. [1]

PR:		129518, 142226 [1]
2010-01-02 13:51:33 +00:00
Gerald Pfeifer
e993d17822 Quote the output for BUILD_DEPENDS and RUN_DEPENDS in the test-gcc
target.  This is necessary to properly handle dependencies such as
libtool>=2.2:${PORTSDIR}/devel/libtool22.
2010-01-02 12:05:30 +00:00
Gerald Pfeifer
05145f810f Add a run-time dependency for all uses of lang/gcc* except for gcc34
which is subsumbed by later versions.  This is needed for libstdc++
and other core run-time libraries.

PR:		129518, 142226
2010-01-02 08:11:28 +00:00
Gerald Pfeifer
8962147d75 Add support for USE_GCC=4.5 and USE_GCC=4.5+. Improve the documentation
a bit.

Suggested by:	bsam
2009-10-10 11:45:30 +00:00
Gerald Pfeifer
7454e883a4 Have CFLAGS and LDFLAGS set an -rpath to the lang/gcc44 library directory
when building with USE_FORTRAN=yes.  This makes us use libstdc++.so.6
(and others) brought by this port as opposed to /usr/bin/libstdc++.so.6
that comes with our system compiler which is based on an older version
of GCC 4.2.  Newer version of GCC run-time libraries with the same soname
are always backwards compatible.

Feature safe:	yes
2009-09-26 01:02:01 +00:00
Gerald Pfeifer
62a1e74d3a Also print LDFLAGS as part of the test-gcc target. Print quotes around
CFLAGS and FFLAGS, too, to exactly see where we have whitespace.

Feature safe:	yes
2009-09-23 21:13:07 +00:00
Gerald Pfeifer
6919a81f81 USE_FORTRAN=yes now implies lang/gcc44 up from lang/gcc43. Remove one
explicit reference to the version number on the way.

Tested by:	pav (and pointyhat)
Thanks to:	pav, everyone who helped up fixing their ports
2009-09-12 18:07:51 +00:00
Gerald Pfeifer
fa26f08f74 Tweak some comments. The two non-whitespace changes are a fix from
/lang/gcc43 to lang/gcc43 and removing to notes that might be seen
as indicative of GCC only being needed at build time.
2009-07-12 22:35:13 +00:00
Gerald Pfeifer
312bfa10b8 Remove support for USE_GCC=2.95 after lang/gcc295 has been failing to
build for what must be 9+ months and we have removed all dependencies
the last couple of months.
2009-06-19 17:48:47 +00:00
Gerald Pfeifer
76ecd704b3 Remove GCC 2.8 from the list of options for USE_GCC; the lang/gcc28
port has been removed a while ago and no port has USE_GCC=2.8 in use.
2009-03-28 23:57:56 +00:00
Gerald Pfeifer
42d94d6424 Remove support for GCC 3.3. No port in the tree uses this any longer,
and lang/gcc33 has been deprecated for a month.
2009-03-07 19:17:44 +00:00
Gerald Pfeifer
7693744e77 Set CC and CXX to match the choice of GNU Fortran compilers for C and
C++, too, to avoid subtle compatibility problems.

Diagnose the case where an unexpected value is provided for USE_FORTRAN.

Fix the OSVERSION for which lang/gcc34 should be used foor USE_FORTRAN=g77
according to our Porters Handbook.

Add RUN_DEPENDS to the output of the test-gcc target.

PR:		131114
Submitted by:	bf2006a@yahoo.com
2009-02-02 01:45:13 +00:00
Gerald Pfeifer
c769462937 Add support for USE_GCC=4.4+ and remove USE_GCC=4.1+ (which is not used
by any other port at this point).
2009-01-18 03:10:19 +00:00
Maho Nakata
59477d2349 Fix typo.
Submitted by:	bf <bf2006a@yahoo.com>
2009-01-06 05:45:23 +00:00
Maho Nakata
365214a06b Add RUN_DEPENDS as well when we specify USE_FORTRAN.
PR:		119052
Approved by:	gerald
2009-01-06 03:48:55 +00:00
Gerald Pfeifer
0cce195551 Fix whitespace to four rows per tab style, update version numbers in the
description of USE_GCC, and adjust description of USE_FORTRAN to recent
changes.
2009-01-05 22:26:07 +00:00
Gerald Pfeifer
d0f50100ab When USE_FORTRAN is specified, add F77, FC, and FFLAGS to CONFIGURE_ENV
too, not just MAKE_ENV.
2009-01-05 20:25:52 +00:00
Gerald Pfeifer
277cb5e697 Update USE_FORTRAN=yes to leverage lang/gcc43 instead of lang/gcc42
and remove USE_FORTRAN=gfortran42 which is not used by any port anyway.

PR:		129656
2009-01-05 14:53:23 +00:00
Gerald Pfeifer
510446b284 Remove support for GCC 2.7 (the lang/gcc27 port) which, as it turns out,
had been removed from ports three years ago.
2008-08-17 06:57:17 +00:00
Gerald Pfeifer
8fbaded65b Remove support for GCC 3.2 which is not used by a port anymore (and
where we'll shortly remove lang/gcc32 which does not support amd64,
for example).
2008-08-16 20:48:58 +00:00
Pav Lucistnik
e314a0d3c4 - Add CC and CXX to MAKE_ENV for all ports
PR:		ports/86106, ports/101120 (based on)
2008-07-24 22:29:33 +00:00
Gerald Pfeifer
f51e2a7fcc Provide the test-gcc target and at least key information there even if
USE_GCC has not been specified.  This is relevant for USE_FORTRAN, but
should be useful in general.
2008-06-28 16:52:40 +00:00
Gerald Pfeifer
93e37fc5a3 Add support for GCC 4.3 (lang/gcc43), to be enabled by USE_GCC=4.3+.
No objections by:	portmgr (linimon, marcus, erwin)
2008-05-05 23:26:30 +00:00
Gerald Pfeifer
8deb6a4aca Remove lang/gcc40 which only has three dependencies left in the tree
(all of which only have it as a minimal requirement and also build with
lang/gcc42) and has issues on at least 8-CURRENT.

Approved by:	portmgr (pav)
2007-11-05 19:26:16 +00:00
Pav Lucistnik
736ba201dc - Pass FFLAGS to make when USE_FORTRAN is set [1]
- Fix detection of i386 libs on amd64/ia64 [2]
- Make IGNORE messages show as a real sentences [3]
- Make COPYTREE_* work under unpriviledged user [4]

PR:		ports/112203 [2], ports/114329 [3], ports/113425
Submitted by:	gerald [1], Scot Hetzel <swhetzel@gmail.com> [2], danfe [3],
		Dmitry Marakasov <amdmi3@amdmi3.ru> [4]
2007-07-27 21:40:11 +00:00
Maho Nakata
4b163093ab Add USE_FORTRAN knob. All ports that use FORTRAN should
use this knob.

Approved by: gerald, portmgr (pav)
2007-07-12 01:57:10 +00:00
Pav Lucistnik
b06abcc4cb Recognize gcc42 in 7-CURRENT base
Approved by:	portmgr (implicit)
2007-05-19 22:06:14 +00:00
Pav Lucistnik
e8db33b749 - Transfer maintainership of this file to Gerald Pfeifer 2007-01-29 09:27:04 +00:00
Gerald Pfeifer
78d0daf10c Make WITH_FORTRAN use lang/gcc42 (which now builds the Fortran frontend by
default) instead of lang/gfortran (which is scheduled for removal).

Reviewed by:	thierry, maho
Approved by:	portmgr (pav)
2007-01-06 09:46:09 +00:00
Mark Linimon
a245fe1498 * Split bsd.port.mk pre and post includes into 3 pieces instead of 2, to
allow OPTIONS to be able to influence dependencies.  This is still
  experimental [1]

* Teach bsd.gcc.mk about gfortran [2]

* Remove the outdated emulators/linux_base; the new default has been
  linux_base-fc4.  This will allow the outdated port to be removed [3]

* Add USE_FIREBIRD macros to bsd.database.mk [4]

PR:	93687 [1], 93690 [2], 103184 [3], 103357 [4]

Submitted by:	shaun [1], Pedro F. Giffuni <giffunip at asme to org> [2],
		gerald [2], thierry [2], vd [3], skv [4]
2006-09-30 19:25:46 +00:00
Mark Linimon
e2d64eefa6 * Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]

* Add sha256 to CHECKSUM_ALGORITHMS [2]

* Remove some whitespace [2]

* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]

* Fix USE_LDCONFIG with non-default PREFIX [4]

* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
  support [5]

* Add 'make missing' to show missing dependencies [6]

* Fix DESKTOP_ENTRIES processing on 4.x [7]

PR:	92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
	93601 [6], 98891 [7]

Submitted by:	linimon [1], edwin [2], alex at foxybanana dot com [3],
		gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
		shaun [7]
2006-07-05 02:18:09 +00:00
Kirill Ponomarev
01c588a635 - Fix 'all-depends-list' target in cases if dependencies list is
very long and if some dependencies can't be added into the list.
  [1]

- Fix FAM support.  Make gamin the default FAM system. [2]

- Introduce new 'quicksearch' target to show only port, path and
  info section of the matching ports. [3]

- Introduce new category - rubygems. [4]

- Fix stale dependencies while installing qmail slaveport and
  another port that depends on qmail. [5]

- Add commentary for describes target in bsd.port.mk. [6]

- Fix warning issued during make index on archs !368. [7]

- Add USE_DOS2UNIX variable.  If set to "YES", remove the ^M from
  all files under ${WRKSRC}. If set to a string, remove in all files
  under ${WRKSRC} with one of these names the ^Ms. [8]

- Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by
  checking the existance of the Perl modules with the "perl -e 'use
  module;'" command. [9]

- Fix bsd.port.mk variable quoting issues.  No quoting is necessary
  anymore either in the Makefile or on the command line.  Affected
  variables include:

  BROKEN
  FORBIDDEN
  IGNORE
  MANUAL_PACKAGE_BUILD
  NO_CDROM
  NO_PACKAGE
  RESTRICTED

  [10]

- Add NOFETCHFILES variable.  If set, don't download these files
  from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from
  ${MASTER_SITE_OVERRIDE}). [11]

- Improve 'search' target output. [12]

- Add a new virtual category for Amateur Radio - hamradio. [13]

- Cleanup some old/unused pathes in bsd.port.mk. [14]

- Add @dirrmtry for plists which does the same as:
  "@unexec rmdir %D/foo 2>/dev/null || true" [15]

- Remove virtual category - offix. [16]

- Use portsnap instead of cvsup or cvs on "make update" in
  /usr/ports. [17]

- Move location of bsd.autotools.mk within bsd.port.mk [18]

- Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19]

- Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20]

- Replace the string "FreeBSD" by "The FreeBSD Project" in the
  security warning [21]

- Add bsd.local.mk for local modification to ports framework. [22]

- Replace rcNG spelling by rc.d [23]

- Remove superfluous USE_REINPLACE. [24]

Special thanks to:      linimon for spending hours with all these patches
                        clement for fixes
                        kris for help with pointyhat
PR:     ports/86310 [1], ports/89498 [2], ports/83530 [3],
        ports/83789 [4], ports/84053 [5], ports/86281 [6],
        ports/87214 [7], ports/87234 [8], ports/87318 [9],
        ports/87396 [10], ports/87605 [11], ports/87840 [12],
        ports/88230 [13], ports/88493 [14], ports/88711 [15],
        ports/88751 [16], ports/89281 [17], ports/89999 [18],
        ports/90031 [19], ports/90150 [20], ports/90668 [21],
        ports/91433 [23], ports/88754 [24]
Submitted by:   mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3],
                pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7],
                edwin [8, 9, 11, 15, 21],
                fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12],
                Carl Makin <carl@stagecraft.cx> [13], arved [14],
                NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18],
                jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
Edwin Groothuis
b5407164d8 Add support for lang/gcc42 2006-01-21 05:27:11 +00:00
Kirill Ponomarev
66a68620ff Remove gcc3.1
Submitted by:	gerald
2005-07-31 17:07:23 +00:00
Edwin Groothuis
d8f397a82b Add support for USE_GCC=2.8 (*)
(*) Yes I know I'm only kidding myself with it.
2005-06-06 06:30:18 +00:00
Edwin Groothuis
b86571032d USE_GCC=X.Y+ should prefer the stock compiler
USE_GCC=3.2+ on a 6-CURRENT system prefers the GCC 3.2 compiler
    instead of the GCC 3.4 default system compiler.
    One often uses USE_GCC=3.2+ to enable a port to build on RELENG_4,
    but that does not mean a 6-CURRENT user doesn't want to use the
    native compiler.
    I also argue that the correct algorithm for USE_GCC=3.2+ is:
    1. Use system compiler if it's version is allowable by the USE_GCC
       invocation.
    2. Prefer the highest version # found already installed and allowed
       by the USE_GCC invocation, rather than the lowest.
    3. Install the specified GCC version and use if, if no other already
       installed compiler meets the USE_GCC invocation.

#1 and #3 are implemented with this patch, but #2 isn't.

The reason for it is because there is no highest version # specifiable
with the USE_GCC command. What could be made is that the USE_GCC
command accepts two arguments, where the first is the lower version,
the second is the upper version. Or USE_GCC=-4.0, where everything
<= 4.0 is allowed.

PR:		ports/81116
Reviewed by:	David O'Brien <obrien@freebsd.org>
2005-06-03 01:42:54 +00:00
Edwin Groothuis
70c0695c19 [patch] Include gcc 4.1 in Mk/bsd.gcc.mk
With the import of lang/gcc41, enable support for it in bsd.gcc.mk.

PR:		ports/81262
Submitted by:	Edwin Groothuis <edwin@mavetju.org>
2005-05-21 11:34:43 +00:00
Kirill Ponomarev
1c8dc16ebe * Change bento to pointyhat names in comments. [1]
* Document DISABLE_VULNERABILITIES variable. [2]

* Add WWW: line for 'search' target. [3]

* Speedup check-vulnerable invokation, if portaudit is installed. [4]

* Run install-info for all .info files. [5]

* Run add-plist-docs more strictly and prevent some situations with
  leftover files in the future. [6]

* Introduce two new variables: MASTER_PORT and SLAVE_PORT.
  The results from these variables is only used as information for
  users. [7]

* Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8]

* Move all USE_GCC entries to new file - bsd.gcc.mk.  'test-gcc'
  target allows users to check gcc version if USE_GCC is used.  Give
  maintainers opportunity to add '+' character to USE_GCC version
  for using specified and higher versions. [9]

* Install startup scripts with the help of USE_RC_SUBR variable. [10]

* Add three new targets: config-recursive, rmconfig-recursive and
  config-conditional.  You can set or delete OPTIONS for all
  dependencies before every build.  config-conditional target is
  used to skip configuring ports which have already been
  configured. [11]

* Fix using of WANT_PGSQL_VER variable if postgresql is already
  installed. [12]

PR:		ports/75768 [1], ports/75728 [2], ports/76187 [3],
		ports/76191 [4], ports/76182 [5], ports/75379 [6],
		ports/75286 [7], ports/75727 [8], ports/76489 [9],
		ports/73691 ports/69217 [10], ports/76254 [11],
		ports/76988 [12]
Submitted by:	dinoex [1], edwin [2] [5] [6] [8] [9] [10],
		Marcus Grando <marcus@corp.grupos.com.br> [3],
		tobez and Valentin Nechayev <netch@netch.kiev.ua> [4],
		linimon [7], Florent Thoumie <flz@xbsd.org> [10],
		Chris Dillon <cdillon@wolves.k12.mo.us> [11],
		girgen [12]
2005-02-07 11:17:50 +00:00