Annotation of pkgsrc/mk/compiler.mk, Revision 1.1
1.1 ! grant 1: # $NetBSD$
! 2:
! 3: # This Makefile fragment implements handling for supported
! 4: # C/C++/fortran compilers.
! 5: #
! 6: # The following variables are used:
! 7: #
! 8: # USE_GCC2
! 9: # Use pkgsrc gcc2 from lang/gcc. This is a user-only variable
! 10: # which must NOT be set in package Makefiles.
! 11: #
! 12: # USE_GCC3
! 13: # use pkgsrc gcc3 from lang/gcc3. This is a user-only variable
! 14: # which must NOT be set in package Makefiles.
! 15: #
! 16: # USE_GCC_SHLIB
! 17: # Indicates that a package uses GCC shared libraries, so we
! 18: # register a runtime dependency on the compiler package.
! 19: #
! 20: # The following variables are reserved for future use:
! 21: #
! 22: # USE_MIPSPRO
! 23: # Use the Silicon Graphics, Inc. MIPSpro compiler.
! 24: #
! 25: # USE_SUNPRO
! 26: # Use the Sun Microsystems Inc. WorkShop/Forte/Sun ONE Studio
! 27: # compiler collection.
! 28: #
! 29:
! 30: .if !defined(COMPILER_MK)
! 31: COMPILER_MK= # defined
! 32:
! 33: .include "../../mk/bsd.prefs.mk"
! 34:
! 35: .if defined(USE_GCC2) && empty(PKGPATH:Mlang/gcc) && empty(_PKGSRC_DEPS:Mgcc-2*)
! 36: GCC_REQD?= 2.95.3
! 37:
! 38: # we need to define these early, as they are used by gcc/buildlink2.mk.
! 39: _GCC_SUBPREFIX= gcc-2.95.3/
! 40: _GCC_ARCHDIR= ${_GCC_PREFIX}${_GCC_ARCHSUBDIR}
! 41: _GCC_ARCHSUBDIR= lib/gcc-lib/${MACHINE_GNU_PLATFORM}/2.95.3
! 42:
! 43: . if empty(USE_BUILDLINK2:M[nN][oO])
! 44: . include "../lang/gcc/buildlink2.mk"
! 45: . else
! 46: _GCC_PREFIX= ${LOCALBASE}/${_GCC_SUBPREFIX}
! 47:
! 48: # Packages that link against gcc shared libraries need a full
! 49: # dependency.
! 50: . if defined(USE_GCC_SHLIB)
! 51: DEPENDS+= gcc>=${GCC_REQD}:../../lang/gcc
! 52: LDFLAGS+= -L${_GCC_ARCHDIR} -Wl,${RPATH_FLAG}${_GCC_ARCHDIR} -L${_GCC_PREFIX}lib -Wl,${RPATH_FLAG}${_GCC_PREFIX}lib
! 53: . else
! 54: BUILD_DEPENDS+= gcc>=${GCC_REQD}:../../lang/gcc
! 55: . endif
! 56: . endif
! 57: PATH:= ${_GCC_PREFIX}bin:${PATH}
! 58: CC= ${_GCC_PREFIX}bin/gcc
! 59: CPP= ${_GCC_PREFIX}bin/cpp
! 60: CXX= ${_GCC_PREFIX}bin/g++
! 61: F77= ${_GCC_PREFIX}bin/g77
! 62: PKG_FC= ${F77}
! 63:
! 64: .elif defined(USE_GCC3) && empty(PKGPATH:Mlang/gcc3) && empty(_PKGSRC_DEPS:Mgcc-3*)
! 65: GCC_REQD?= 3.3
! 66:
! 67: # we need to define these early, as they are used by gcc3/buildlink2.mk.
! 68: _GCC_SUBPREFIX= gcc-3.3/
! 69: _GCC_ARCHDIR= ${_GCC_PREFIX}${_GCC_ARCHSUBDIR}
! 70:
! 71: . if empty(USE_BUILDLINK2:M[nN][oO])
! 72: . include "../lang/gcc3/buildlink2.mk"
! 73: . else
! 74: _GCC_PREFIX= ${LOCALBASE}/${_GCC_SUBPREFIX}
! 75: _GCC_LIBGCCDIR!= \
! 76: dirname `${_GCC_PREFIX}bin/gcc --print-libgcc-file-name`
! 77: _GCC_ARCHSUBDIR= \
! 78: ${_GCC_LIBGCCDIR:S|^${LOCALBASE}/${_GCC_SUBPREFIX}||}
! 79:
! 80: # Packages that link against gcc shared libraries need a full
! 81: # dependency.
! 82: . if defined(USE_GCC_SHLIB)
! 83: DEPENDS+= gcc3>=${GCC_REQD}:../../lang/gcc3
! 84: LDFLAGS+= -L${_GCC_ARCHDIR} -Wl,${RPATH_FLAG}${_GCC_ARCHDIR} -L${_GCC_PREFIX}lib -Wl,${RPATH_FLAG}${_GCC_PREFIX}lib
! 85: . else
! 86: BUILD_DEPENDS+= gcc3>=${GCC_REQD}:../../lang/gcc3
! 87: . endif
! 88: . endif
! 89: PATH:= ${_GCC_PREFIX}bin:${PATH}
! 90: CC= ${_GCC_PREFIX}bin/gcc
! 91: CPP= ${_GCC_PREFIX}bin/cpp
! 92: CXX= ${_GCC_PREFIX}bin/g++
! 93: F77= ${_GCC_PREFIX}bin/g77
! 94: PKG_FC= ${F77}
! 95: .endif # USE_GCC3
! 96:
! 97: .endif # COMPILER_MK
CVSweb <webmaster@jp.NetBSD.org>