summaryrefslogtreecommitdiff
path: root/mk/compiler.mk
diff options
context:
space:
mode:
authorjlam <jlam>2004-02-01 01:57:39 +0000
committerjlam <jlam>2004-02-01 01:57:39 +0000
commite82fabf1242ba696243a4a4b1ca52990dbf7f435 (patch)
treebc884c6e7a31effaede99718c68c13154c30d202 /mk/compiler.mk
parentcb52dd0a429ef22235eea21ed79b4cc582377bde (diff)
downloadpkgsrc-e82fabf1242ba696243a4a4b1ca52990dbf7f435.tar.gz
Garbage collect compiler.mk as it's superseded by the new compiler
selection framework in pkgsrc/mk/compiler.
Diffstat (limited to 'mk/compiler.mk')
-rw-r--r--mk/compiler.mk272
1 files changed, 0 insertions, 272 deletions
diff --git a/mk/compiler.mk b/mk/compiler.mk
deleted file mode 100644
index d4002a5b200..00000000000
--- a/mk/compiler.mk
+++ /dev/null
@@ -1,272 +0,0 @@
-# $NetBSD: compiler.mk,v 1.24 2003/12/10 09:08:24 sketch Exp $
-
-# This Makefile fragment implements handling for supported
-# C/C++/fortran compilers.
-#
-# This file should NOT be included from pkg Makefiles, as it is
-# automatically included by bsd.prefs.mk.
-#
-# The following variables are used:
-#
-# GCC_REQD
-# Sets the minimum required version of gcc. Packages can set
-# this if they are known to require gcc>2.8.0, which is the
-# compiler shipped with NetBSD 1.5.
-#
-# Note: Be conservative when setting GCC_REQD, as lang/gcc3 is
-# known not to build on some platforms, eg. Darwin. If gcc3 is
-# required, set GCC_REQD=3.0 so that we do not try to pull in
-# lang/gcc3 unnecessarily and have it fail.
-#
-# USE_GCC_SHLIB
-# Indicates that a package uses GCC shared libraries, so we
-# register a runtime dependency on the compiler package.
-#
-# USE_GCC2
-# Always use pkgsrc gcc2 from lang/gcc. This overrides any
-# GCC_REQD setting. Must NOT be set in package Makefiles.
-#
-# USE_GCC3
-# Always use pkgsrc gcc3 from lang/gcc3. This overrides any
-# GCC_REQD setting. Must NOT be set in package Makefiles.
-#
-# USE_PKGSRC_GCC
-# Use the appropriate version of GCC from pkgsrc based on
-# GCC_REQD.
-#
-# USE_SUNPRO
-# Use the Sun Microsystems Inc. WorkShop/Forte/Sun ONE Studio
-# compiler collection.
-#
-# USE_MIPSPRO
-# Use the Silicon Graphics, Inc. MIPSpro compiler.
-#
-# The following variables are defined, and available for testing in
-# package Makefiles:
-#
-# CC_VERSION
-# The compiler and version being used. For gcc, this is
-# 'gcc-<version>' and the string reported by ${CC} -V | grep
-# '^cc' for others.
-#
-# e.g.
-# .include "../../mk/bsd.prefs.mk"
-#
-# .if !empty(CC_VERSION:Mgcc-3*)
-# ...
-# .endif
-#
-
-.if !defined(COMPILER_MK)
-COMPILER_MK= # defined
-
-# Defaults for SunPro, work around sys.mk setting CC by default to
-# 'gcc'. These can be overriden by the user in /etc/mk.conf or on the
-# command line.
-.if defined(USE_SUNPRO) && defined(CC) && !empty(CC:Mgcc)
-CC= /opt/SUNWspro/bin/cc
-CPP= /opt/SUNWspro/bin/cc -E
-CXX= /opt/SUNWspro/bin/CC
-.endif
-
-# Do a dance to determine which version of gcc is being used, if any,
-# and whether it satisfies GCC_REQD.
-#
-# We only pull in lang/gcc or lang/gcc3 if necessary, or if
-# USE_PKGSRC_GCC is defined.
-#
-.if !defined(USE_SUNPRO) && !defined(USE_MIPSPRO) && \
- !defined(USE_GCC2) && !defined(USE_GCC3)
-
-# Darwin's gcc reports "Apple Computer ... based on gcc version ...",
-# so we can't just grep for ^gcc.
-_CC_VERSION_STRING!= if ${CC} -v 2>&1 | ${GREP} -q 'gcc version'; then \
- echo `${CC} -v 2>&1 | ${GREP} 'gcc version'`; \
- fi
-
-# egcs is considered to be gcc-2.8.1.
-. if !empty(_CC_VERSION_STRING:Megcs*)
-_CC_VERSION= 2.8.1
-_CC_IS_GCC= YES
-. elif !empty(_CC_VERSION_STRING:Mgcc*)
-_CC_VERSION!= ${CC} -dumpversion
-_CC_IS_GCC= YES
-. endif
-
-. if defined(_CC_IS_GCC)
-GCC_REQD?= 2.8.0
-_GCC_VERSION_REQD= gcc>=${GCC_REQD}
-
-# packages should define USE_PKGSRC_GCC to force install and use of
-# pkgsrc gcc, which defaults to gcc2.
-. if defined(USE_PKGSRC_GCC)
-GCC_REQD= 2.95.3
-_NEED_PKGSRC_GCC= YES
-. else
-_GCC_IN_USE= gcc-${_CC_VERSION}
-_NEED_PKGSRC_GCC!= \
- if ${PKG_ADMIN} pmatch '${_GCC_VERSION_REQD}' ${_GCC_IN_USE}; then \
- ${ECHO} "NO"; \
- else \
- ${ECHO} "YES"; \
- fi
-. endif # USE_PKGSRC_GCC
-
-. endif # _CC_IS_GCC
-
-.endif # !USE_MIPSPRO && !USE_SUNPRO && !USE_GCC2 && !USE_GCC3
-
-# we default to gcc2 if all of the above determined that we need
-# pkgsrc gcc.
-.if defined(_NEED_PKGSRC_GCC) && ${_NEED_PKGSRC_GCC} == "YES"
-. if !empty(GCC_REQD:M3*)
-USE_GCC3= # defined
-. else
-USE_GCC2= # defined
-. endif
-.endif
-
-.if defined(USE_GCC2) && empty(_PKGSRC_DEPS:Mgcc-2*)
-GCC_REQD= 2.95.3
-
-# we need to define these early, as they are used by gcc/buildlink2.mk.
-_GCC_SUBPREFIX= gcc-2.95.3/
-_GCC_ARCHDIR= ${_GCC_PREFIX}${_GCC_ARCHSUBDIR}
-_GCC_PREFIX= ${LOCALBASE}/${_GCC_SUBPREFIX}
-_GCC_LIBGCCDIR!= \
- if [ -x ${_GCC_PREFIX}bin/gcc ]; then \
- dirname `${_GCC_PREFIX}bin/gcc --print-libgcc-file-name`; \
- else \
- ${ECHO} not-defined; \
- fi
-_GCC_ARCHSUBDIR= \
- ${_GCC_LIBGCCDIR:S|^${BUILDLINK_PREFIX.gcc}/${_GCC_SUBPREFIX}||}
-
-# Only pull in the pkg dependency if we're not actually building it
-. if empty(PKGPATH:Mlang/gcc)
-
-. if empty(USE_BUILDLINK2:M[nN][oO])
-. include "../lang/gcc/buildlink2.mk"
-. else
-
-# Packages that link against gcc shared libraries need a full
-# dependency.
-. if defined(USE_GCC_SHLIB)
-DEPENDS+= gcc>=${GCC_REQD}:../../lang/gcc
-. else
-BUILD_DEPENDS+= gcc>=${GCC_REQD}:../../lang/gcc
-. endif
-. endif # buildlink2
-. endif # PKGPATH != lang/gcc
-
-. if exists(${_GCC_PREFIX}bin/gcc)
-_CC_IS_GCC= YES
-PATH:= ${_GCC_PREFIX}bin:${PATH}
-CC= ${_GCC_PREFIX}bin/gcc
-CPP= ${_GCC_PREFIX}bin/cpp
-CXX= ${_GCC_PREFIX}bin/g++
-F77= ${_GCC_PREFIX}bin/g77
-PKG_FC:= ${F77}
-. endif
-
-.elif defined(USE_GCC3) && empty(_PKGSRC_DEPS:Mgcc-3*)
-GCC_REQD= 3.3
-
-# we need to define these early, as they are used by gcc3/buildlink2.mk.
-_GCC_SUBPREFIX= gcc-3.3/
-_GCC_ARCHDIR= ${_GCC_PREFIX}${_GCC_ARCHSUBDIR}
-_GCC_PREFIX= ${LOCALBASE}/${_GCC_SUBPREFIX}
-
-# Only pull in the pkg dependency if we're not actually building it
-. if empty(PKGPATH:Mlang/gcc3)
-
-. if empty(USE_BUILDLINK2:M[nN][oO])
-. include "../lang/gcc3/buildlink2.mk"
-. else
-
-# Packages that link against gcc shared libraries need a full
-# dependency.
-. if defined(USE_GCC_SHLIB)
-DEPENDS+= gcc3>=${GCC_REQD}:../../lang/gcc3
-. else
-BUILD_DEPENDS+= gcc3>=${GCC_REQD}:../../lang/gcc3
-. endif
-. endif # buildlink2
-. endif # PKGPATH != lang/gcc3
-
-. if exists(${_GCC_PREFIX}bin/gcc)
-_GCC_LIBGCCDIR!= \
- dirname `${_GCC_PREFIX}bin/gcc --print-libgcc-file-name`
-_GCC_ARCHSUBDIR= \
- ${_GCC_LIBGCCDIR:S|^${LOCALBASE}/${_GCC_SUBPREFIX}||}
-
-_CC_IS_GCC= YES
-PATH:= ${_GCC_PREFIX}bin:${PATH}
-CC= ${_GCC_PREFIX}bin/gcc
-CPP= ${_GCC_PREFIX}bin/cpp
-CXX= ${_GCC_PREFIX}bin/g++
-F77= ${_GCC_PREFIX}bin/g77
-PKG_FC:= ${F77}
-. endif
-.endif # USE_GCC3
-
-# Ensure that the correct rpath is passed to the linker if we need to
-# link against gcc shared libs.
-.if (defined(USE_GCC2) || defined(USE_GCC3)) && defined(USE_GCC_SHLIB)
-_GCC_LDFLAGS= -L${_GCC_ARCHDIR} -Wl,${RPATH_FLAG}${_GCC_ARCHDIR} -L${_GCC_PREFIX}lib -Wl,${RPATH_FLAG}${_GCC_PREFIX}lib
-LDFLAGS+= ${_GCC_LDFLAGS}
-.endif
-
-# CC_VERSION can be tested by package Makefiles to tweak things based
-# on the compiler being used.
-#
-CC_VERSION?= # empty
-.if defined(_CC_IS_GCC)
-. if !defined(_CC_VERSION)
-_CC_VERSION!= if ${CC} -dumpversion > /dev/null 2>&1; then \
- ${ECHO} `${CC} -dumpversion`; \
- else \
- ${ECHO} ""; \
- fi
-. endif
-CC_VERSION= gcc-${_CC_VERSION}
-.else
-CC_VERSION!= ${CC} -V 2>&1 | ${GREP} '^cc'
-.endif
-
-# The SunPro C++ compiler doesn't support passing linker flags with
-# -Wl to CC, so we make buildlink2 perform the required magic.
-#
-.if defined(USE_SUNPRO)
-_COMPILER_LD_FLAG= # SunPro compiler
-.else
-_COMPILER_LD_FLAG= -Wl, # GCC and others
-.endif
-
-# Pass the required flags to imake to tell it we're using gcc on
-# Solaris.
-#
-.if ${OPSYS} == "SunOS" && defined(_CC_IS_GCC)
-IMAKEOPTS+= -DHasGcc2=YES -DHasGcc2ForCplusplus=YES
-.endif
-
-.endif # COMPILER_MK
-
-# XXX this test is outside if !defined(COMPILER_MK) because some
-# XXX packages include bsd.prefs.mk before defining USE_BUILDLINK2.
-#
-# create a fake libstdc++.la if one exists in /usr/lib.
-.if empty(USE_BUILDLINK2:M[nN][oO])
-. if defined(_CC_IS_GCC) && exists(/usr/lib/libstdc++.la)
-. if (!defined(BUILDLINK_TARGETS) || \
- defined(BUILDLINK_TARGETS) && empty(BUILDLINK_TARGETS:Mlibstdc++-buildlink-la))
-BUILDLINK_TARGETS+= libstdc++-buildlink-la
-
-libstdc++-buildlink-la:
- ${_PKG_SILENT}${_PKG_DEBUG} \
- lafile="${BUILDLINK_DIR}/lib/libstdc++.la"; \
- libpattern="/usr/lib/libstdc++.*"; \
- ${BUILDLINK_FAKE_LA}
-. endif
-. endif
-.endif