aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.ruby.mk
diff options
context:
space:
mode:
authorAkinori MUSHA <knu@FreeBSD.org>2000-09-06 20:06:58 +0000
committerAkinori MUSHA <knu@FreeBSD.org>2000-09-06 20:06:58 +0000
commit2631f6ed9ccc69529cc18e7e4984738bc7fb86ae (patch)
tree7bb27467b29a43f9c5bb11d5f89d8c8485116b43 /Mk/bsd.ruby.mk
parent3889191e63f911e1c70c40ef6f52fe217dc0f974 (diff)
downloadports-2631f6ed9ccc69529cc18e7e4984738bc7fb86ae.tar.gz
ports-2631f6ed9ccc69529cc18e7e4984738bc7fb86ae.zip
Add bsd.ruby.mk, which stores utility definitions for Ruby related ports.
Approved by: asami
Notes
Notes: svn path=/head/; revision=32343
Diffstat (limited to 'Mk/bsd.ruby.mk')
-rw-r--r--Mk/bsd.ruby.mk170
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