summaryrefslogtreecommitdiff
path: root/mk/wrapper/bsd.wrapper.mk
diff options
context:
space:
mode:
authormarino <marino@pkgsrc.org>2012-07-08 19:57:10 +0000
committermarino <marino@pkgsrc.org>2012-07-08 19:57:10 +0000
commit89dacfd0002bcee778664a8108054fdb4972b37d (patch)
tree4da9ca3823611acfbc8bd00bcb40f6fbfd554be5 /mk/wrapper/bsd.wrapper.mk
parent6b7e1446e50330b9dc6269f4d083841d64be3084 (diff)
downloadpkgsrc-89dacfd0002bcee778664a8108054fdb4972b37d.tar.gz
compiler.mk/gcc.mk: Add support for USE_LANGUAGES+= ada
All recent packages featuring Ada code have a hard dependency on the lang/gnat-aux compiler package. The valid values for USE_LANGUAGES are c, c99, c++, fortran, fortran77, java, objc, so specifying a specific compiler was necessary up into now. One problem with lang/gnat-aux is that it is installed at ${LOCALBASE} where the lang/gccXX compilers are installed at ${LOCALBASE}/gccXX. The latter compilers have no possibility of sharing conflicting files unlike lang/gnat-aux. Rather than fundamentally update the GCC 4.6-based lang/gnat-aux to avoid these conflicts, a new Ada-capable compiler based on GCC 4.7 was created with the intent of being supported by mk/compiler.mk and mk/compiler/gcc.mk. The Ada packages will be effectively migrated from lang/gnat-aux to the new lang/gcc-aux compiler, but lang/gcc-aux will remain as a standalone package as it is the only GCC 4.6-based compiler that builds on DragonFly and serves it as a world and kernel compile option. In addition to the current language wrappers, lang/gcc-aux adds wrappers for "ada" (unique to gcc-aux, hardlinked to gcc driver), and the gnat, gnatmake, gnatbind, gnatlink, gnatchop, gnatprep, and gnatls programs. Supporting all of these allows the wrapper system to be used with Ada packages; currently wrappers are mostly disabled on them. The lang/gcc47 implicitly adds support for the "objc-c++" language by adding it to the USE_LANGUAGES list, but it wasn't really supported. An attempt was made to better support objc-c++, but this new enumeration probably still needs work or needs to be removed completely. Logic for Ada support: 1) All lang/gccXX compilers have version numbers ranging from 2.8.1 to 9. 2) lang/gcc-aux uses the release date as its version number in the form of YYYYMMDD with a minimum value of 20120614, so there is no version overlap. 3) When at least one element of USE_LANGUAGES is "ada", the value of 20120614 is added to the set of GCC_REQD which selects lang/gcc-aux. 4) The _NEED_NEWER_GCC check is disabled. It fails and isn't relevant; unless a package sets GCC_REQD over 20120614, the only way to select lang/gcc-aux is to specify the Ada language and only one compiler known to gcc.mk can support it.
Diffstat (limited to 'mk/wrapper/bsd.wrapper.mk')
-rw-r--r--mk/wrapper/bsd.wrapper.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk
index d55424f8882..8650ec66f37 100644
--- a/mk/wrapper/bsd.wrapper.mk
+++ b/mk/wrapper/bsd.wrapper.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.wrapper.mk,v 1.86 2011/08/04 13:32:05 obache Exp $
+# $NetBSD: bsd.wrapper.mk,v 1.87 2012/07/08 19:57:10 marino Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -174,7 +174,7 @@ WRAPPER_${_wrappee_}= ${WRAPPER_BINDIR}/${${_wrappee_}}
.endfor # _WRAPPEES
_WRAP_ALIASES.AS= as
-_WRAP_ALIASES.CC= cc gcc
+_WRAP_ALIASES.CC= cc gcc ada
_WRAP_ALIASES.CXX= c++ g++ CC cxx
_WRAP_ALIASES.CPP= cpp
_WRAP_ALIASES.FC= f77 g77