1 # Handle dependency requirements on ruby
5 # Valid ARGS: (v27, v30, v31), build, interp
7 # --------------------------------------
8 # Variables which can be set by the port
9 # --------------------------------------
11 # RUBY_SETUP - Set to the alternative name of setup.rb
12 # (default: setup.rb).
13 # RUBY_EXTCONF - Set to the alternative name of extconf.rb
14 # (default: extconf.rb)
15 # RUBY_FLAGS - flags passed to ruby (default : blank)
17 # --------------------------------------
19 # --------------------------------------
20 # RUBY - Set to full path of ruby
21 # RUBY_VER - Set to the alternative short version of ruby in the
22 # form of `x.y' (see below for current value).
23 # RUBY_SUFFIX - Suffix for ruby binaries and directories
24 # RUBY_ARCH - Set to target architecture name.
25 # RUBY_SHLIBVER - Major version of libruby (see below for current value)
26 # RUBY_LIBDIR - Installation path for architecture independent libraries.
27 # RUBY_ARCHLIBDIR - Installation path for architecture dependent libraries.
28 # RUBY_SITELIBDIR - Installation path for site arch. independent libraries.
29 # RUBY_SITEARCHLIBDIR - Installation path for site arch. dependent libraries.
30 # RUBY_DOCDIR - Installation path for documents.
31 # RUBY_EXAMPLESDIR - Installation path for examples.
32 # RUBY_RIDIR - Installation path for site arch. independent ri documents.
33 # RUBY_SITERIDIR - Installation path for site arch. dependent ri documents.
36 .if !defined(_INCLUDE_USES_RUBY_MK)
37 _INCLUDE_USES_RUBY_MK= yes
39 # ------------------------------------------------------
40 # Incorporated in ravenadm
41 # ------------------------------------------------------
42 # BUILD/RUN_DEPENDS+= rubyXX:single:standard
43 # ------------------------------------------------------
46 . if !empty(ruby_ARGS:Mv27)
48 . elif !empty(ruby_ARGS:Mv30)
50 . elif !empty(ruby_ARGS:Mv31)
53 _RUBY_VERSION= ${RUBY_DEFAULT}
56 RUBY_VER= ${_RUBY_VERSION}
57 RUBY_VERSION= ${RUBY_${_RUBY_VERSION}_VERSION}
58 RUBY_SUFFIX= ${_RUBY_VERSION:S/.//g}
59 RUBY_SHLIBVER?= ${RUBY_VER:S/.//}
61 RUBY_EXTCONF?= extconf.rb
63 RUBY_NAME= ruby${RUBY_SUFFIX}
64 RUBY_SYSLIBDIR= ${PREFIX}/lib
65 RUBY_SITEDIR= ${RUBY_SYSLIBDIR}/ruby/site_ruby
66 RUBY_VENDORDIR= ${RUBY_SYSLIBDIR}/ruby/vendor_ruby
67 RUBY_OPSYSMAJ= ${OPSYS:tl}${MAJOR}
68 RUBY_ARCH= ${ARCH_STANDARD}-${RUBY_OPSYSMAJ:S/sunos5/solaris2/}
69 RUBY= ${LOCALBASE}/bin/${RUBY_NAME}
72 RUBY_LIBDIR?= ${RUBY_SYSLIBDIR}/ruby/${RUBY_VER}
73 RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH}
74 RUBY_SITELIBDIR?= ${RUBY_SITEDIR}/${RUBY_VER}
75 RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH}
76 RUBY_VENDORLIBDIR?= ${RUBY_VENDORDIR}/${RUBY_VER}
77 RUBY_VENDORARCHLIBDIR?= ${RUBY_VENDORLIBDIR}/${RUBY_ARCH}
78 RUBY_DOCDIR?= ${PREFIX}/share/doc/${RUBY_NAME}
79 RUBY_EXAMPLESDIR?= ${PREFIX}/share/examples/${RUBY_NAME}
80 RUBY_RIDIR?= ${PREFIX}/share/ri/${RUBY_VER}/system
81 RUBY_SITERIDIR?= ${PREFIX}/share/ri/${RUBY_VER}/site
84 PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \
85 RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \
86 RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \
87 RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \
88 RUBY_VENDORLIBDIR="${RUBY_VENDORLIBDIR}" \
89 RUBY_VENDORARCHLIBDIR="${RUBY_VENDORARCHLIBDIR}" \
90 RUBY_DOCDIR="${RUBY_DOCDIR}" \
91 RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}" \
92 RUBY_RIDIR="${RUBY_RIDIR}" \
93 RUBY_SITERIDIR="${RUBY_SITERIDIR}"
95 PLIST_SUB+= ${PLIST_RUBY_DIRS:C,DIR="(${LOCALBASE}|${PREFIX})/,DIR=",} \
96 RUBY_VERSION="${RUBY_VERSION}" \
97 RUBY_VER="${RUBY_VER}" \
98 RUBY_SHLIBVER="${RUBY_SHLIBVER}" \
99 RUBY_ARCH="${RUBY_ARCH}" \
100 RUBY_SUFFIX="${RUBY_SUFFIX}" \
101 RUBY_NAME="${RUBY_NAME}" \
103 RUBY_CONFIGURE_ARGS+= --with-rubyhdrdir="${PREFIX}/include/ruby-${RUBY_VER}/" \
104 --with-rubylibprefix="${PREFIX}/lib/ruby" \
105 --docdir="${RUBY_DOCDIR}" \
106 --with-soname=ruby${RUBY_SUFFIX} \
107 --program-prefix="" \
108 --program-suffix="${RUBY_SUFFIX}"
110 # Disable auto-use of setup.rb (It's never been used)
111 # . if empty(ruby_ARGS:Minterp)
113 _USES_configure+= 490:ruby-setup-configure \
114 492:ruby-extconf-configure
115 _USES_build+= 490:ruby-setup-build \
116 859:ruby-setup-install # RUBY always sets INSTALL_REQ_TOOLCHAIN
119 ruby-setup-configure:
120 @if [ -f "${CONFIGURE_WRKSRC}/${RUBY_SETUP}" ]; then \
121 ${ECHO_MSG} "===> Configure arguments:";\
122 for myarg in ${CONFIGURE_ARGS}; do\
123 ${ECHO_MSG} " $$myarg";\
125 ${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure";\
126 (cd ${CONFIGURE_WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
127 ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} config ${CONFIGURE_ARGS});\
130 ruby-extconf-configure:
131 . if defined(RUBY_EXTCONF_SUBDIRS)
132 . for d in ${RUBY_EXTCONF_SUBDIRS}
133 @if [ -f "${CONFIGURE_WRKSRC}/${RUBY_EXTCONF}" ]; then \
134 ${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure";\
135 (cd ${CONFIGURE_WRKSRC}/${d} && \
136 ${SETENV} ${CONFIGURE_ENV} RB_USER_INSTALL=yes \
137 ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} \
138 --with-opt-dir="${LOCALBASE}" ${CONFIGURE_ARGS});\
142 @if [ -f "${CONFIGURE_WRKSRC}/${RUBY_EXTCONF}" ]; then \
143 ${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure";\
144 (cd ${CONFIGURE_WRKSRC} && \
145 ${SETENV} ${CONFIGURE_ENV} RB_USER_INSTALL=yes \
146 ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} \
147 --with-opt-dir="${LOCALBASE}" ${CONFIGURE_ARGS});\
152 @if [ -f "${BUILD_WRKSRC}/${RUBY_SETUP}" ]; then \
153 ${ECHO_MSG} "===> Running ${RUBY_SETUP} to build";\
154 (cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \
155 ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} setup);\
159 @if [ -f "${INSTALL_WRKSRC}/${RUBY_SETUP}" ]; then \
160 ${ECHO_MSG} "===> Running ${RUBY_SETUP} to install";\
161 (cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} \
162 ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} install --prefix=${STAGEDIR});\
165 .endif # _INCLUDE_USES_RUBY_MK