Date: Fri, 5 Aug 2022 07:22:51 GMT From: Kirill Ponomarev <krion@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org Subject: git: fc62245938b7 - 2022Q3 - lang/sbcl: Add core compression and sb-simd module Message-ID: <202208050722.2757MpiH083058@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch 2022Q3 has been updated by krion: URL: https://cgit.FreeBSD.org/ports/commit/?id=fc62245938b730b0e37e1039ee10c4ebd6447fc4 commit fc62245938b730b0e37e1039ee10c4ebd6447fc4 Author: Kirill Ponomarev <krion@FreeBSD.org> AuthorDate: 2022-08-05 07:20:36 +0000 Commit: Kirill Ponomarev <krion@FreeBSD.org> CommitDate: 2022-08-05 07:22:44 +0000 lang/sbcl: Add core compression and sb-simd module PR: 265576 Reported by: dmgk and jinxiaoyong@gmail.com (cherry picked from commit 70419d445f16ec33270498abeb346318e3045bf1) --- lang/sbcl/Makefile | 32 ++++++++++++++++++++++++++------ lang/sbcl/pkg-plist | 31 +++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index 64d80a8a554c..e1da9ebeef86 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -5,6 +5,7 @@ PORTNAME= sbcl DISTVERSION= 2.2.5 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: diff --git a/lang/sbcl/pkg-plist b/lang/sbcl/pkg-plist index 1f3ea906ccff..6f2b095df01c 100644 --- a/lang/sbcl/pkg-plist +++ b/lang/sbcl/pkg-plist @@ -79,6 +79,8 @@ lib/sbcl/contrib/sb-rotate-byte.asd lib/sbcl/contrib/sb-rotate-byte.fasl lib/sbcl/contrib/sb-rt.asd lib/sbcl/contrib/sb-rt.fasl +%%SIMD%%lib/sbcl/contrib/sb-simd.asd +%%SIMD%%lib/sbcl/contrib/sb-simd.fasl lib/sbcl/contrib/sb-simple-streams.asd lib/sbcl/contrib/sb-simple-streams.fasl lib/sbcl/contrib/sb-sprof.asd @@ -181,6 +183,35 @@ lib/sbcl/sb-rotate-byte/x86-64-vm.lisp lib/sbcl/sb-rotate-byte/x86-vm.lisp lib/sbcl/sb-rt/rt.lisp lib/sbcl/sb-rt/sb-rt.asd +%%SIMD%%lib/sbcl/sb-simd/constants.lisp +%%SIMD%%lib/sbcl/sb-simd/cpu-identification.lisp +%%SIMD%%lib/sbcl/sb-simd/define-arefs.lisp +%%SIMD%%lib/sbcl/sb-simd/define-associatives.lisp +%%SIMD%%lib/sbcl/sb-simd/define-comparisons.lisp +%%SIMD%%lib/sbcl/sb-simd/define-custom-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-fake-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-ifs.lisp +%%SIMD%%lib/sbcl/sb-simd/define-instruction-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-instructions.lisp +%%SIMD%%lib/sbcl/sb-simd/define-modify-macros.lisp +%%SIMD%%lib/sbcl/sb-simd/define-reducers.lisp +%%SIMD%%lib/sbcl/sb-simd/define-reffers.lisp +%%SIMD%%lib/sbcl/sb-simd/define-rounders.lisp +%%SIMD%%lib/sbcl/sb-simd/define-scalar-casts.lisp +%%SIMD%%lib/sbcl/sb-simd/define-simd-casts.lisp +%%SIMD%%lib/sbcl/sb-simd/define-types.lisp +%%SIMD%%lib/sbcl/sb-simd/define-unequals.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vop-functions.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vref-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vrefs.lisp +%%SIMD%%lib/sbcl/sb-simd/instruction-set-case.lisp +%%SIMD%%lib/sbcl/sb-simd/instruction-set.lisp +%%SIMD%%lib/sbcl/sb-simd/missing-instruction.lisp +%%SIMD%%lib/sbcl/sb-simd/packages.lisp +%%SIMD%%lib/sbcl/sb-simd/printable.lisp +%%SIMD%%lib/sbcl/sb-simd/record.lisp +%%SIMD%%lib/sbcl/sb-simd/sb-simd.asd +%%SIMD%%lib/sbcl/sb-simd/utilities.lisp lib/sbcl/sb-simple-streams/classes.lisp lib/sbcl/sb-simple-streams/direct.lisp lib/sbcl/sb-simple-streams/file.lisp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202208050722.2757MpiH083058>