c5113e8f68
Should be fix PR pkg/51613.
150 lines
3.1 KiB
Makefile
150 lines
3.1 KiB
Makefile
# $NetBSD: platform.mk,v 1.2 2016/11/13 16:03:31 taca Exp $
|
|
#
|
|
|
|
#
|
|
# Common definition for ruby*-base package (except ruby18-base).
|
|
#
|
|
|
|
.if !defined(_RUBY_PLATFORM_MK)
|
|
_RUBY_PLATFORM_MK= # defined
|
|
|
|
.include "../../lang/ruby/rubyversion.mk"
|
|
.include "../../mk/compiler.mk"
|
|
|
|
MAKE_DIRS+= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB} ${RUBY_SITERIDIR}
|
|
FILES_SUBST+= DATE=${DATE:Q}
|
|
|
|
REQD_DIRS+= ${GEM_HOME}/cache
|
|
REQD_DIRS+= ${GEM_HOME}/doc
|
|
|
|
#
|
|
# substitute path in rubygems.
|
|
#
|
|
SUBST_CLASSES+= conf
|
|
SUBST_STAGE.conf= pre-install
|
|
SUBST_FILES.conf= lib/rubygems/config_file.rb
|
|
SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
|
|
SUBST_MESSAGE.conf= Fixing configuration files.
|
|
|
|
#
|
|
# Don't reference pkgsrc's INSTALL macro since Ruby expect it could
|
|
# execute by unprivileged user.
|
|
#
|
|
CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
|
|
INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
|
|
CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG=""
|
|
|
|
#
|
|
# prevent unwanted mkdir recorded in rbconfig.rb
|
|
#
|
|
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
|
|
|
|
# Ruby build process depends on config.status's content
|
|
CONFIG_STATUS_OVERRIDE= # empty
|
|
|
|
########
|
|
#
|
|
# Platform
|
|
#
|
|
|
|
#
|
|
# Darwin
|
|
#
|
|
# Don't like Apple's builtin OpenSSL.
|
|
#
|
|
.if ${OPSYS} == "Darwin"
|
|
USE_BUILTIN.openssl= no
|
|
.endif
|
|
|
|
#
|
|
# DragonFly
|
|
#
|
|
#
|
|
# Work around for getucontext(3)
|
|
#
|
|
.if ${OPSYS} == "DragonFly" && ${OS_VERSION} == "1.8.0"
|
|
CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
|
|
.endif
|
|
|
|
#
|
|
# Linux
|
|
#
|
|
# /usr/bin/dtrace is not DTrace.
|
|
#
|
|
.if ${OPSYS} == "Linux" && exists(/usr/bin/dtrace)
|
|
CONFIGURE_ARGS+= --disable-dtrace
|
|
.endif
|
|
|
|
#
|
|
# NetBSD
|
|
#
|
|
# dtrace support has problem on i386. (No official NetBSD release is
|
|
# built with dtrace enabled yet, so this problem is on 7.99.* only.)
|
|
#
|
|
.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386"
|
|
CONFIGURE_ARGS+= --disable-dtrace
|
|
.endif
|
|
|
|
#
|
|
# Solaris
|
|
#
|
|
# fix build with sunpro.
|
|
#
|
|
.if !empty(PKGSRC_COMPILER:Msunpro)
|
|
LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
|
|
LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib
|
|
CONFIGURE_ENV+= LDSHARED="${CC} -G"
|
|
.else
|
|
LIBS.SunOS+= -lm
|
|
.endif
|
|
|
|
CONFIGURE_ENV.SunOS+= OBJCOPY=:
|
|
|
|
#
|
|
# MirBSD
|
|
#
|
|
# if present, an unsupported sysconf call is used
|
|
#
|
|
CONFIGURE_ENV.MirBSD+= ac_cv_func_getgrnam_r=no
|
|
|
|
# On platforms where DTrace is available, we need to invoke dtrace(1)
|
|
# with the original PATH. Otherwise it gets confused in the presence
|
|
# of our cc wrapper because it tries to invoke the system-default gcc
|
|
# with argv[0] set to "gcc", not the absolute path to gcc.
|
|
.if exists(/usr/sbin/dtrace)
|
|
post-wrapper:
|
|
${RUN}(${ECHO} '#!${SH}'; \
|
|
${ECHO} 'PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH'; \
|
|
${ECHO} '/usr/sbin/dtrace $$@') \
|
|
> "${WRAPPER_BINDIR}/dtrace"
|
|
${RUN}${CHMOD} +x "${WRAPPER_BINDIR}/dtrace"
|
|
.endif
|
|
#
|
|
# bmake doesn't like the codesign/POSTLINK constructs for Darwin.
|
|
#
|
|
.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin"
|
|
USE_TOOLS+= gmake
|
|
MAKE_FILE= GNUmakefile
|
|
.endif
|
|
|
|
########
|
|
#
|
|
# PLIST
|
|
#
|
|
|
|
# Win32 support (for Cygwin)
|
|
#
|
|
PLIST_VARS+= win32
|
|
.if ${OPSYS} == "Cygwin"
|
|
PLIST.win32= yes
|
|
.endif
|
|
|
|
#
|
|
# IRIX work around which should be fixed.
|
|
#
|
|
PLIST_VARS+= io
|
|
.if ${OPSYS} != "IRIX"
|
|
PLIST.io= yes
|
|
.endif
|
|
|
|
.endif # _RUBY_REPLACE_MK
|