aboutsummaryrefslogtreecommitdiff
path: root/lang/sbcl/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/sbcl/Makefile')
-rw-r--r--lang/sbcl/Makefile32
1 files changed, 26 insertions, 6 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
index 70d38dc84cc2..da80ec8b76a2 100644
--- a/lang/sbcl/Makefile
+++ b/lang/sbcl/Makefile
@@ -5,6 +5,7 @@
PORTNAME= sbcl
DISTVERSION= 2.2.7
DISTVERSIONSUFFIX= -source
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang lisp
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION} \
@@ -33,8 +34,8 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
PORTDOCS= *
# All options explained into file: ${WRKSRC}/base-target-features.lisp-expr
-OPTIONS_DEFINE= DOCS LINKABLE_RUNTIME QSHOW SAFEPOINT THREADS UNICODE \
- XREF ZLIB
+OPTIONS_DEFINE= COMPRESSION DOCS LINKABLE_RUNTIME QSHOW SAFEPOINT SIMD \
+ THREADS UNICODE XREF
OPTIONS_DEFAULT= SBCL THREADS UNICODE
OPTIONS_SINGLE= BOOTSTRAP
@@ -45,10 +46,12 @@ ABCL_DESC= Armed Bear Common Lisp
BOOTSTRAP_DESC= Supported languages of the build host
CCL_DESC= Clozure Common Lisp
CMUCL_DESC= Carnegie Mellon University Common Lisp
+COMPRESSION_DESC= Enable core compression
LINKABLE_RUNTIME_DESC= Enable SB-LINKABLE-RUNTIME feature (experimental)
QSHOW_DESC= C runtime with low-level debugging output
SAFEPOINT_DESC= Using safepoints instead of signals
SBCL_DESC= Steel Bank Common Lisp
+SIMD_DESC= Enable SB-SIMD (requires CPUs supporting AVX2)
XREF_DESC= XREF data for SBCL internals
ABCL_BUILD_DEPENDS= abcl:lang/abcl
@@ -60,6 +63,11 @@ CCL_VARS= XC_HOST="ccl --no-init --batch --quiet"
CMUCL_BUILD_DEPENDS= lisp:lang/cmucl
CMUCL_VARS= XC_HOST="lisp -nositeinit -noinit -batch -quiet"
+COMPRESSION_LIB_DEPENDS= libzstd.so:archivers/zstd
+COMPRESSION_USES= localbase:ldflags
+COMPRESSION_VARS= MAKE_SH_ARGS+="--with-sb-core-compression"
+COMPRESSION_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression"
+
DOCS_VARS= INFO="asdf sbcl"
LINKABLE_RUNTIME_VARS= MAKE_SH_ARGS+="--with-sb-linkable-runtime"
@@ -75,6 +83,9 @@ SAFEPOINT_VARS_OFF= MAKE_SH_ARGS+="--without-sb-safepoint --without-sb-thruption
SBCL_DISTFILES= ${PORTNAME}-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}-binary${EXTRACT_SUFX}:binaries
SBCL_VARS= XC_HOST="${BOOT_WRKSRC}/src/runtime/sbcl --core ${BOOT_WRKSRC}/output/sbcl.core --noinform --disable-debugger --no-sysinit --no-userinit"
+SIMD_VARS= MAKE_SH_ARGS+="--with-sb-simd"
+SIMD_VARS_OFF= MAKE_SH_ARGS+="--without-sb-simd"
+
THREADS_VARS= MAKE_SH_ARGS+="--with-sb-thread"
THREADS_VARS_OFF= MAKE_SH_ARGS+="--without-sb-thread"
@@ -84,9 +95,6 @@ UNICODE_VARS_OFF= MAKE_SH_ARGS+="--without-sb-unicode"
XREF_VARS= MAKE_SH_ARGS+="--with-sb-xref-for-internals"
XREF_VARS_OFF= MAKE_SH_ARGS+="--without-sb-xref-for-internals"
-ZLIB_VARS= MAKE_SH_ARGS+="--with-sb-core-compression"
-ZLIB_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression"
-
BOOTVERSION= 1.2.7
CONMODULES= asdf sb-aclrepl sb-bsd-sockets sb-cltl2 sb-concurrency sb-cover \
sb-executable sb-gmp sb-grovel sb-introspect sb-md5 sb-mpfr \
@@ -112,6 +120,12 @@ PLIST_SUB+= LINKABLE_RUNTIME=""
PLIST_SUB+= LINKABLE_RUNTIME="@comment "
.endif
+.if ${PORT_OPTIONS:MSIMD}
+PLIST_SUB+= SIMD=""
+.else
+PLIST_SUB+= SIMD="@comment "
+.endif
+
# for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1"
.if defined (PLUS_BOOTSTRAPS)
. for B in ${SBCL_BOOT_LIST}
@@ -129,7 +143,7 @@ post-patch:
${WRKSRC}/doc/manual/start-stop.texinfo
do-build:
- (cd ${WRKSRC} && ${SH} make.sh ${MAKE_SH_ARGS})
+ (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} LINKFLAGS="${LDFLAGS}" ${SH} make.sh ${MAKE_SH_ARGS})
post-build-DOCS-on:
${DO_MAKE_BUILD} -C ${WRKSRC}/doc/manual info html
@@ -147,6 +161,12 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/contrib/${M}/*.[la]* \
${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${M}/
.endfor
+.if ${PORT_OPTIONS:MSIMD}
+# sb-simd has its code in './code'
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/sb-simd
+ ${INSTALL_DATA} ${WRKSRC}/contrib/sb-simd/code/*.[la]* \
+ ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/sb-simd/
+.endif
${INSTALL_DATA} ${WRKDIR}/sbclrc ${STAGEDIR}${PREFIX}/etc/sbclrc.sample
post-install: