From f337229ee8383aa05093a99b845b7db79616c67d Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Sat, 31 Jul 2021 22:58:19 +0300 Subject: [PATCH 2/2] lang/ruby27: add DTRACE option Detecting DTRACE support with hardcoded absolute path is fragile, add DTRACE option for user to decide. This allows to build ruby27 with non-default toolchain, e.g. devel/llvm12 instead of base one: compiling dmyenc.c linking miniruby ld: error: undefined symbol: __dtraceenabled_ruby___array__create >>> referenced by array.c >>> array.o:(ary_new) >>> referenced by array.c >>> array.o:(rb_ary_new) >>> referenced by array.c >>> array.o:(rb_assoc_new) >>> referenced 27 more times --- lang/ruby27/Makefile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lang/ruby27/Makefile b/lang/ruby27/Makefile index 958018f91f7..a504a1f23f3 100644 --- a/lang/ruby27/Makefile +++ b/lang/ruby27/Makefile @@ -46,12 +46,18 @@ USE_RUBY= yes RUBY_NO_BUILD_DEPENDS= yes RUBY_NO_RUN_DEPENDS= yes -OPTIONS_DEFINE= CAPIDOCS DEBUG DOCS EXAMPLES GMP RDOC +OPTIONS_DEFINE= CAPIDOCS DEBUG DOCS DTRACE EXAMPLES GMP RDOC OPTIONS_DEFAULT= RDOC LIBEDIT +OPTIONS_DEFAULT_amd64= DTRACE +OPTIONS_DEFAULT_i386= DTRACE +.if !exists(/usr/sbin/dtrace) +OPTIONS_EXCLUDE+= DTRACE +.endif OPTIONS_SINGLE= EDIT OPTIONS_SINGLE_EDIT= LIBEDIT READLINE OPTIONS_SUB= yes CAPIDOCS_DESC= Build and install C API documents +DTRACE_DESC?= Build with DTrace probes (amd64 and i386) GMP_DESC= Use GMP to accelerate Bignum operations RDOC_DESC= Build and install Rdoc indexes EDIT_DESC= Which line editing lib to use @@ -60,6 +66,7 @@ READLINE_DESC= Use libreadline CAPIDOCS_BUILD_DEPENDS= doxygen>=1.8.13,2:devel/doxygen \ dot:graphics/graphviz CAPIDOCS_CONFIGURE_ENABLE= install-capi +DTRACE_CONFIGURE_ENABLE= dtrace GMP_CONFIGURE_WITH= gmp GMP_LIB_DEPENDS= libgmp.so:math/gmp LIBEDIT_CONFIGURE_ON= --enable-libedit --with-libedit-dir=${LOCALBASE} @@ -84,14 +91,6 @@ _SUF1= _${PORTREVISION} _SUF2= ,${PORTEPOCH} .endif -.if ${OPSYS} == "FreeBSD" -.if exists(/usr/sbin/dtrace) && (${ARCH} == amd64 || ${ARCH} == i386) -CONFIGURE_ARGS+=--enable-dtrace -.else -CONFIGURE_ARGS+=--disable-dtrace -.endif -.endif - # keep in sync with all platforms where libunwind is available .if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le LIB_DEPENDS+= libunwind.so:devel/libunwind -- 2.32.0