diff options
author | reed <reed@pkgsrc.org> | 2007-09-18 01:51:10 +0000 |
---|---|---|
committer | reed <reed@pkgsrc.org> | 2007-09-18 01:51:10 +0000 |
commit | edb3562456ede9025fc1c20f68a3f8c6064e5652 (patch) | |
tree | bdc9068d7a6a43a55268d504f1071bd84f7f845a | |
parent | 7c6a237bbe001341e3c28d0c8e4e09bc52ab93c0 (diff) | |
download | pkgsrc-edb3562456ede9025fc1c20f68a3f8c6064e5652.tar.gz |
For Portable C Compiler.
Add beginning of PKGSRC_COMPILER=pcc support.
Based on "sunpro".
Please help improve this. I have not tested with C++ or fortan.
-rw-r--r-- | mk/compiler.mk | 5 | ||||
-rw-r--r-- | mk/compiler/pcc.mk | 78 |
2 files changed, 81 insertions, 2 deletions
diff --git a/mk/compiler.mk b/mk/compiler.mk index 78281611152..0d29c422f85 100644 --- a/mk/compiler.mk +++ b/mk/compiler.mk @@ -1,4 +1,4 @@ -# $NetBSD: compiler.mk,v 1.61 2007/06/09 18:44:37 rillig Exp $ +# $NetBSD: compiler.mk,v 1.62 2007/09/18 01:51:10 reed Exp $ # # This Makefile fragment implements handling for supported C/C++/Fortran # compilers. @@ -20,6 +20,7 @@ # hp HP-UX C/aC++ compilers # mipspro Silicon Graphics, Inc. MIPSpro (n32/n64) # mipspro-ucode Silicon Graphics, Inc. MIPSpro (o32) +# pcc Portable C Compiler # sunpro Sun Microsystems, Inc. WorkShip/Forte/Sun # ONE Studio # xlc IBM's XL C/C++ compiler suite (Darwin/MacOSX) @@ -86,7 +87,7 @@ USE_LANGUAGES+= c _USE_PKGSRC_GCC= yes .endif -_COMPILERS= ccc gcc icc ido mipspro mipspro-ucode sunpro xlc hp +_COMPILERS= ccc gcc icc ido mipspro mipspro-ucode sunpro xlc hp pcc _PSEUDO_COMPILERS= ccache distcc f2c .if defined(NOT_FOR_COMPILER) && !empty(NOT_FOR_COMPILER) diff --git a/mk/compiler/pcc.mk b/mk/compiler/pcc.mk new file mode 100644 index 00000000000..3d60e514b79 --- /dev/null +++ b/mk/compiler/pcc.mk @@ -0,0 +1,78 @@ +# $NetBSD: pcc.mk,v 1.1 2007/09/18 01:51:10 reed Exp $ +# +# This is the compiler definition for the PCC compiler. +# +# User-settable variables: +# +# PCCBASE +# The base directory where the compiler is installed. +# + +.if !defined(COMPILER_PCC_MK) +COMPILER_PCC_MK= defined + +# Add the dependency on pcc +# NOTE: not enabled by default as may be installed already +# TODO: check for this? +#BUILD_DEPENDS+= pcc-[0-9]*:../../lang/pcc + +.include "../../mk/bsd.prefs.mk" + +PCCBASE?= ${PREFIX} + +# common definitions +_COMPILER_TYPE.c= CC +_COMPILER_TYPE.c++ = CXX +_COMPILER_TYPE.fortran= FC + +# PCC-specific definitions +_COMPILER_LANGS= c c++ fortran +_COMPILER_NAME.c= pcc +# TODO: +_COMPILER_NAME.c++ = CC +_COMPILER_NAME.fortran= f77 + +# LANGUAGES.<compiler> is the list of supported languages by the +# compiler. +# +LANGUAGES.pcc= # empty + +.for l in ${_COMPILER_LANGS} +. for t in ${_COMPILER_TYPE.${l}} +. for n in ${_COMPILER_NAME.${l}} +. if exists(${PCCBASE}/bin/${n}) +LANGUAGES.pcc+= ${l} +_COMPILER_STRIP_VARS+= ${t} +${t}PATH= ${PCCBASE}/bin/${n} +PKG_${t}:= ${PCCBASE}/bin/${n} +. endif +. endfor +. endfor +.endfor + +# Turn on C99 support if required +#.if !empty(USE_LANGUAGES:Mc99) +#_WRAP_EXTRA_ARGS.CC+= -xc99 +#.endif + +_LINKER_RPATH_FLAG= -R + +_COMPILER_RPATH_FLAG= -Wl,-R + +.if exists(${CCPATH}) +CC_VERSION_STRING!= ${CCPATH} -v 2>&1 || ${TRUE} +CC_VERSION!= ${CCPATH} -v 2>&1 | ${GREP} '^pcc' +.else +CC_VERSION_STRING?= ${CC_VERSION} +CC_VERSION?= pcc +.endif + +# _LANGUAGES.<compiler> is ${LANGUAGES.<compiler>} restricted to the +# ones requested by the package in USE_LANGUAGES. +# +_LANGUAGES.pcc= # empty +.for _lang_ in ${USE_LANGUAGES} +_LANGUAGES.pcc+= ${LANGUAGES.pcc:M${_lang_}} +.endfor + +.endif # COMPILER_PCC_MK |