diff options
author | knu <knu@FreeBSD.org> | 2000-09-07 04:06:58 +0800 |
---|---|---|
committer | knu <knu@FreeBSD.org> | 2000-09-07 04:06:58 +0800 |
commit | c1cef1a16abad107e932d903b98a3bd8a46d053a (patch) | |
tree | 6bd38eb28011e5f751bc0800ff9eff404b42ee65 /Mk/bsd.ruby.mk | |
parent | 11a64932bab2b929f6308c6cea272f71748bff77 (diff) | |
download | freebsd-ports-gnome-c1cef1a16abad107e932d903b98a3bd8a46d053a.tar.gz freebsd-ports-gnome-c1cef1a16abad107e932d903b98a3bd8a46d053a.tar.zst freebsd-ports-gnome-c1cef1a16abad107e932d903b98a3bd8a46d053a.zip |
Add bsd.ruby.mk, which stores utility definitions for Ruby related ports.
Approved by: asami
Diffstat (limited to 'Mk/bsd.ruby.mk')
-rw-r--r-- | Mk/bsd.ruby.mk | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/Mk/bsd.ruby.mk b/Mk/bsd.ruby.mk new file mode 100644 index 000000000000..0d5b8dcdafd8 --- /dev/null +++ b/Mk/bsd.ruby.mk @@ -0,0 +1,170 @@ +# +# bsd.ruby.mk - Utility definitions for Ruby related ports. +# +# Created by: Akinori MUSHA <knu@FreeBSD.org> +# +# $FreeBSD$ +# + +Ruby_Include= bsd.ruby.mk +Ruby_Include_MAINTAINER= knu@FreeBSD.org + +# +# [User variables] +# +# RUBY_VER - Set to the alternative short version of ruby (see below for current value). +# USE_RUBY - Says that the port uses ruby for building and running. +# USE_LIBRUBY - Says that the port uses libruby. +# USE_RUBY_EXTCONF - Says that the port uses extconf.rb to configure. +# RUBY_EXTCONF - Set to the alternative name of extconf.rb (default: extconf.rb). +# RUBY_EXTCONF_SUBDIRS - Set to list of subdirectories, if multiple modules are included. +# USE_RUBY_SETUP - Says that the port uses setup.rb to configure and build. Implies USE_RUBY_AMSTD. +# RUBY_SETUP - Set to the alternative name of setup.rb (default: setup.rb). +# USE_RUBY_AMSTD - Says that the port uses amstd for building and running. +# USE_RUBY_RD - Says that the port uses rd to generate documents. +# +# [Non-user variables] +# +# RUBY_PKGNAMEPREFIX - Common PKGNAMEPREFIX for ruby ports (default: ruby${RUBY_SUFFIX}-) +# RUBY_VERSION - Full version of ruby (see below for current value). +# RUBY_SHLIBVER - Major version of libruby (see below for current value). +# RUBY_ARCH - Directory name of architecture dependent libraries. +# RUBY_SUFFIX - Suffix for ruby binaries and directories. +# RUBY_NAME - Ruby's name with trailing suffix. +# +# RUBY - Set to full path of ruby. +# RUBY_RD - Set to full path of rd. +# +# RUBY_PORT - Set to port path of ruby without PORTSDIR. +# RUBY_AMSTD_PORT - Set to port path of ruby-amstd without PORTSDIR. +# RUBY_RD_PORT - Set to port path of rd without PORTSDIR. +# +# RUBY_LIB_DEPENDS - Set to LIB_DEPENDS entry for libruby. +# RUBY_DEPENDS - Set to BUILD_DEPENDS/RUN_DEPENDS entry for ruby. +# RUBY_AMSTD_DEPENDS - Set to BUILD_DEPENDS/RUN_DEPENDS entry for ruby-amstd. +# RUBY_RD2_DEPENDS - Set to BUILD_DEPENDS entry for rd. +# +# RUBY_LIBDIR - Installation path for architecture independent libraries. +# RUBY_ARCHLIBDIR - Installation path for architecture dependent libraries. +# RUBY_SITELIBDIR - Installation path for site architecture independent libraries. +# RUBY_SITEARCHLIBDIR - Installation path for site architecture dependent libraries. +# RUBY_DOCDIR - Installation path for documents. +# RUBY_EXAMPLESDIR - Installation path for examples. +# + +RUBY_VER?= 1.6 + +.if ${RUBY_VER} == 1.4 +RUBY_VERSION= 1.4.6 +RUBY_SUFFIX= ${RUBY_VER:S/.//} +.else +RUBY_VERSION= 1.6.0 +RUBY_SUFFIX= # empty +.endif + +RUBY_PKGNAMEPREFIX?= ruby${RUBY_SUFFIX}- # could be rb${RUBY_SUFFIX}- +RUBY_VER= ${RUBY_VERSION:R} +RUBY_SHLIBVER?= ${RUBY_VER:S/.//} +RUBY_ARCH?= ${ARCH}-freebsd${OSREL} +RUBY_NAME?= ruby${RUBY_SUFFIX} + +# Commands +RUBY?= ${LOCALBASE}/bin/${RUBY_NAME} +RUBY_RD?= ${LOCALBASE}/bin/rd2 + +# Ports +RUBY_PORT?= lang/ruby${RUBY_SUFFIX} +RUBY_AMSTD_PORT?= devel/ruby-amstd +RUBY_RD_PORT?= textproc/ruby-rdtool + +# Depends +RUBY_LIB_DEPENDS?= ${RUBY_NAME}.${RUBY_SHLIBVER}:${PORTSDIR}/${RUBY_PORT} +RUBY_DEPENDS?= ${RUBY}:${PORTSDIR}/${RUBY_PORT} +RUBY_AMSTD_DEPENDS?= ${RUBY_SITELIBDIR}/amstd/info.rb:${PORTSDIR}/${RUBY_AMSTD_PORT} +RUBY_RD2_DEPENDS?= ${RUBY_RD}:${PORTSDIR}/${RUBY_RD_PORT} + +# Directories +RUBY_LIBDIR?= ${LOCALBASE}/lib/ruby/${RUBY_VER} +RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH} +RUBY_SITELIBDIR?= ${LOCALBASE}/lib/ruby/site_ruby/${RUBY_VER} +RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH} +RUBY_DOCDIR?= ${LOCALBASE}/share/doc/${RUBY_NAME} +RUBY_EXAMPLESDIR?= ${LOCALBASE}/share/examples/${RUBY_NAME} + +# PLIST +PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \ + RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \ + RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \ + RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \ + RUBY_DOCDIR="${RUBY_DOCDIR}" \ + RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}" + +PLIST_SUB+= RUBY_VERSION="${RUBY_VERSION}" \ + RUBY_VER="${RUBY_VER}" \ + RUBY_SHLIBVER="${RUBY_SHLIBVER}" \ + RUBY_ARCH="${RUBY_ARCH}" \ + RUBY_SUFFIX="${RUBY_SUFFIX}" \ + RUBY_NAME="${RUBY_NAME}" \ + ${PLIST_RUBY_DIRS:S,DIR="${LOCALBASE}/,DIR=",} + +# extconf.rb +.if defined(USE_RUBY_EXTCONF) +USE_RUBY= yes + +RUBY_EXTCONF?= extconf.rb +CONFIGURE_ARGS+= --with-opt-dir="${LOCALBASE}" + +do-configure: ruby-extconf-configure + +ruby-extconf-configure: +.if defined(RUBY_EXTCONF_SUBDIRS) +.for d in ${RUBY_EXTCONF_SUBDIRS} + @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure" + @cd ${WRKSRC}/${d}; \ + ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_EXTCONF} ${CONFIGURE_ARGS} +.endfor +.else + @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure" + @cd ${WRKSRC}; \ + ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_EXTCONF} ${CONFIGURE_ARGS} +.endif +.endif + +# setup.rb +.if defined(USE_RUBY_SETUP) +USE_RUBY_AMSTD= yes + +RUBY_SETUP?= setup.rb + +do-configure: ruby-setup-configure + +ruby-setup-configure: + @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure" + @cd ${WRKSRC}; \ + ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_SETUP} config ${CONFIGURE_ARGS} + +do-build: ruby-setup-build + +ruby-setup-build: + @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build" + @cd ${WRKSRC}; \ + ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_SETUP} setup +.endif + +.if defined(USE_LIBRUBY) +LIB_DEPENDS+= ${RUBY_LIB_DEPENDS} +.endif + +.if defined(USE_RUBY) +BUILD_DEPENDS+= ${RUBY_DEPENDS} +RUN_DEPENDS+= ${RUBY_DEPENDS} +.endif + +.if defined(USE_RUBY_AMSTD) +BUILD_DEPENDS+= ${RUBY_AMSTD_DEPENDS} +RUN_DEPENDS+= ${RUBY_AMSTD_DEPENDS} +.endif + +.if defined(USE_RUBY_RD) && !defined(NOPORTDOCS) +BUILD_DEPENDS+= ${RUBY_RD2_DEPENDS} +.endif |