diff options
author | Neel Chauhan <nc@FreeBSD.org> | 2021-03-16 18:26:31 +0000 |
---|---|---|
committer | Neel Chauhan <nc@FreeBSD.org> | 2021-03-16 18:26:31 +0000 |
commit | 28c528249da853ee166d2d62478f25f93fbdd509 (patch) | |
tree | 60d3976729e251d0901732e98ecfb9c843af6366 /lang/mecrisp-stellaris | |
parent | eb8b4c11f9f9d16e496a2d7b0b17ae0f9d18a0fc (diff) | |
download | ports-28c528249da853ee166d2d62478f25f93fbdd509.tar.gz ports-28c528249da853ee166d2d62478f25f93fbdd509.zip |
New port: lang/mecrisp-stellaris: native code Forth for ARM
Mecrisp Stellaris is an implementation of a standalone native code Forth for
ARM. It fits into 16 kb of flash and runs with at least 1 kb of RAM. You can choose to compile to flash or to RAM, and it generates native code with
folding, inlining of short words and it opcodes common instructions. Note that it doesn't need to save any pointers, so it compiles directly into flash memory
without the need for erase cycles. Although it is in spirit of ANS, there are a few differences: Be careful!
PR: 253938
Submitted by: Robert Clausecker <fuz AT fuz DOT su>
Notes
Notes:
svn path=/head/; revision=568598
Diffstat (limited to 'lang/mecrisp-stellaris')
-rw-r--r-- | lang/mecrisp-stellaris/Makefile | 47 | ||||
-rw-r--r-- | lang/mecrisp-stellaris/distinfo | 3 | ||||
-rw-r--r-- | lang/mecrisp-stellaris/pkg-descr | 10 | ||||
-rw-r--r-- | lang/mecrisp-stellaris/pkg-plist | 168 |
4 files changed, 228 insertions, 0 deletions
diff --git a/lang/mecrisp-stellaris/Makefile b/lang/mecrisp-stellaris/Makefile new file mode 100644 index 000000000000..85ff9b8cb471 --- /dev/null +++ b/lang/mecrisp-stellaris/Makefile @@ -0,0 +1,47 @@ +# $FreeBSD$ + +PORTNAME= mecrisp-stellaris +DISTVERSION= 2.5.6 +CATEGORIES= lang +MASTER_SITES= SF/mecrisp + +MAINTAINER= fuz@fuz.su +COMMENT= Native code Forth system for ARM + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= armv7 +ONLY_FOR_ARCHS_REASON= written in ARM Thumb2 assembly + +# stripping eats our hand-crafted ELF binaries, so don't do that +# the binaries are free of symbols or stuff like that anyway +STRIP= +# definitions assuming we build on ARM +BINARY_ALIAS= arm-none-eabi-as=${AS} \ + arm-none-eabi-ld=${LD} \ + arm-none-eabi-objcopy=${OBJCOPY} + +OPTIONS_DEFINE= EXTRAS +OPTIONS_DEFAULT= EXTRAS +EXTRAS_DESC= Add disassembler and math library to Forth core +EXTRAS_VARS= PROGRAM=mecrisp-stellaris-freebsd-with-disassembler-and-math +EXTRAS_VARS_OFF= PROGRAM=mecrisp-stellaris-freebsd + +.include <bsd.port.options.mk> + +# Can't use the release script as it tries to build a bunch of stuff +# that won't build correctly. This does the relevant parts manually. +do-build: + cd ${WRKSRC}/mecrisp-stellaris-source/freebsd-ra && ${SETENV} ${MAKE_ENV} ${SH} assemble + ${CP} ${WRKSRC}/mecrisp-stellaris-source/freebsd-ra/mecrisp-stellaris-freebsd ${WRKSRC}/freebsd-ra/ + cd ${WRKSRC}/freebsd-ra && ${SETENV} ${MAKE_ENV} ${SH} buildcore-freebsd + +do-install: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/KNOWN-ISSUES ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/common; ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} + ${INSTALL_PROGRAM} ${WRKSRC}/freebsd-ra/${PROGRAM} ${STAGEDIR}${PREFIX}/bin/mecrisp-stellaris + +.include <bsd.port.mk> diff --git a/lang/mecrisp-stellaris/distinfo b/lang/mecrisp-stellaris/distinfo new file mode 100644 index 000000000000..f3ff71faee6b --- /dev/null +++ b/lang/mecrisp-stellaris/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1614603481 +SHA256 (mecrisp-stellaris-2.5.6.tar.gz) = 59459eb6d9b3a6bb02d6c9c09e48bafb6ba633938ff419c0bdc447315cae6e86 +SIZE (mecrisp-stellaris-2.5.6.tar.gz) = 5628263 diff --git a/lang/mecrisp-stellaris/pkg-descr b/lang/mecrisp-stellaris/pkg-descr new file mode 100644 index 000000000000..7751211208d1 --- /dev/null +++ b/lang/mecrisp-stellaris/pkg-descr @@ -0,0 +1,10 @@ +Mecrisp Stellaris is an implementation of a standalone native code Forth +for ARM. It fits into 16 kb of flash and runs with at least 1 kb of +RAM. You can choose to compile to flash or to RAM, and it generates +native code with folding, inlining of short words and it opcodes common +instructions. Note that it doesn't need to save any pointers, so it +compiles directly into flash memory without the need for erase cycles. +Although it is in spirit of ANS, there are a few differences: Be +careful! + +WWW: http://mecrisp.sourceforge.net diff --git a/lang/mecrisp-stellaris/pkg-plist b/lang/mecrisp-stellaris/pkg-plist new file mode 100644 index 000000000000..e0204bfc700e --- /dev/null +++ b/lang/mecrisp-stellaris/pkg-plist @@ -0,0 +1,168 @@ +bin/mecrisp-stellaris +%%DOCSDIR%%/KNOWN-ISSUES +%%DOCSDIR%%/README +%%DATADIR%%/VIS/VIS-README +%%DATADIR%%/VIS/vis-0.8.4-disassembler-m3.fs +%%DATADIR%%/VIS/vis-0.8.4-mecrisp-stellaris.fs +%%DATADIR%%/VIS/vis-conditional-200x.txt +%%DATADIR%%/accept-replacement.txt +%%DATADIR%%/ansification-tester.txt +%%DATADIR%%/ansification.txt +%%DATADIR%%/assembler-m0-examples.txt +%%DATADIR%%/assembler-m0.txt +%%DATADIR%%/bitflip.txt +%%DATADIR%%/bitlog.txt +%%DATADIR%%/blocks.txt +%%DATADIR%%/calltrace.txt +%%DATADIR%%/catchthrow.txt +%%DATADIR%%/charcomma.txt +%%DATADIR%%/circles.txt +%%DATADIR%%/conditional-200x.txt +%%DATADIR%%/conditional.txt +%%DATADIR%%/cordic-tests.txt +%%DATADIR%%/cordic.txt +%%DATADIR%%/cycles.txt +%%DATADIR%%/date-time-tests.fs +%%DATADIR%%/date-time.fs +%%DATADIR%%/defcount.txt +%%DATADIR%%/disassembler-m0.txt +%%DATADIR%%/disassembler-m3.txt +%%DATADIR%%/dump.txt +%%DATADIR%%/editor.txt +%%DATADIR%%/examples.txt +%%DATADIR%%/experimental/bignum.txt +%%DATADIR%%/experimental/definitioncount.txt +%%DATADIR%%/experimental/float.txt +%%DATADIR%%/experimental/forget-stellaris.txt +%%DATADIR%%/experimental/vocs-0.7.0/README +%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Classes-1.log +%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Classes-2.log +%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-DataTypes.log. +%%DATADIR%%/experimental/vocs-0.7.0/VOC-HOWTO-Registers.log +%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/GPIO.txt +%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/Pendulum +%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/RGB-LED.txt +%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/SysTick +%%DATADIR%%/experimental/vocs-0.7.0/examples/lm4f120/das.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Classes-1.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Classes-2.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-DataTypes.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/VOC-HOWTO-Registers.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/abort +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/classes.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/search-order.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/struct.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/vocs.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FR/wordlists.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FRV/classes.txt +%%DATADIR%%/experimental/vocs-0.7.0/vocs-0.7.0-FRV/vocs.txt +%%DATADIR%%/fixpt-math-lib-tests.fs +%%DATADIR%%/fixpt-math-lib.fs +%%DATADIR%%/floored-divide.txt +%%DATADIR%%/fonts/8859-1.TXT +%%DATADIR%%/fonts/8859-15.TXT +%%DATADIR%%/fonts/AWARD_ATARI_PC_BIOS_3.08.img +%%DATADIR%%/fonts/Atari-Font.txt +%%DATADIR%%/fonts/CP437.TXT +%%DATADIR%%/fonts/Commodore-C64-Chargen.img +%%DATADIR%%/fonts/Commodore-C64-Chargen.txt +%%DATADIR%%/fonts/Commodore-Font.txt +%%DATADIR%%/fonts/convertfonts +%%DATADIR%%/fonts/forthfont-8x16-drawing.pas +%%DATADIR%%/fonts/forthfont-8x16.pas +%%DATADIR%%/fonts/forthfont-8x8-drawing.pas +%%DATADIR%%/fonts/forthfont-8x8.pas +%%DATADIR%%/fonts/iso-8x16 +%%DATADIR%%/fonts/iso-8x16.fs +%%DATADIR%%/fonts/iso-8x16.txt +%%DATADIR%%/fonts/iso-8x8 +%%DATADIR%%/fonts/iso-8x8.fs +%%DATADIR%%/fonts/iso-8x8.txt +%%DATADIR%%/fonts/iso15-8x16 +%%DATADIR%%/fonts/iso15-8x16.fs +%%DATADIR%%/fonts/iso15-8x16.txt +%%DATADIR%%/fonts/iso15-8x8 +%%DATADIR%%/fonts/iso15-8x8.fs +%%DATADIR%%/fonts/iso15-8x8.txt +%%DATADIR%%/fonts/scanbinary.pas +%%DATADIR%%/fonts/tiny/bdf2forth.pas +%%DATADIR%%/fonts/tiny/tom-thumb-b.txt +%%DATADIR%%/fonts/tiny/tom-thumb.bdf +%%DATADIR%%/forget-stellaris.txt +%%DATADIR%%/graphics-unicode-3x3.txt +%%DATADIR%%/graphics-unicode-4x6.txt +%%DATADIR%%/graphics-unicode-8x16.txt +%%DATADIR%%/graphics-unicode-8x8.txt +%%DATADIR%%/graphics.txt +%%DATADIR%%/graycode.txt +%%DATADIR%%/longcomment.txt +%%DATADIR%%/multitask-debug.txt +%%DATADIR%%/multitask-examples.txt +%%DATADIR%%/multitask.txt +%%DATADIR%%/nvic.txt +%%DATADIR%%/profiler.txt +%%DATADIR%%/prompt.txt +%%DATADIR%%/pseudorandom.txt +%%DATADIR%%/quotations.txt +%%DATADIR%%/romans.txt +%%DATADIR%%/router.txt +%%DATADIR%%/sine.txt +%%DATADIR%%/sqrt.txt +%%DATADIR%%/sunrise-sunset.fs +%%DATADIR%%/svd2forth-v1/COPYING +%%DATADIR%%/svd2forth-v1/Makefile +%%DATADIR%%/svd2forth-v1/README.txt +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/COPYING +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/README.txt +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_make.sh +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_memmap.xsl +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_print.xsl +%%DATADIR%%/svd2forth-v1/ancient/mecrisp-registergenerator/mecrisp-stellaris-reg_set.xsl +%%DATADIR%%/svd2forth-v1/ancient/registergenerator/README +%%DATADIR%%/svd2forth-v1/ancient/registergenerator/convert-with-bitfields.sh +%%DATADIR%%/svd2forth-v1/ancient/registergenerator/convert.sh +%%DATADIR%%/svd2forth-v1/ancient/registergenerator/extract-mecrisp.xsl +%%DATADIR%%/svd2forth-v1/ancient/registergenerator/extract-with-bitfields.xsl +%%DATADIR%%/svd2forth-v1/mk.template.xsl +%%DATADIR%%/svd2forth-v1/process.sh +%%DATADIR%%/svd2forth-v1/register-reference.xsl +%%DATADIR%%/svd2forth-v1/svdcutter.xsl +%%DATADIR%%/svd2forth-v1/svduf.xsl +%%DATADIR%%/svd2forth-v2/Makefile +%%DATADIR%%/svd2forth-v2/README.txt +%%DATADIR%%/svd2forth-v2/ancient/Makefile +%%DATADIR%%/svd2forth-v2/ancient/README.txt +%%DATADIR%%/svd2forth-v2/ancient/STM32F0xx.svd +%%DATADIR%%/svd2forth-v2/ancient/mk.template.xsl +%%DATADIR%%/svd2forth-v2/ancient/registers.xsl +%%DATADIR%%/svd2forth-v2/ancient/svdcutter.xsl +%%DATADIR%%/svd2forth-v2/ancient/svduf.xsl +%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB0.sh +%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB1.sh +%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB2.sh +%%DATADIR%%/svd2forth-v2/e4thcom-ttyUSB3.sh +%%DATADIR%%/svd2forth-v2/mk.template.xsl +%%DATADIR%%/svd2forth-v2/registers.xsl +%%DATADIR%%/svd2forth-v2/svdcutter.xsl +%%DATADIR%%/svd2forth-v2/svduf.xsl +%%DATADIR%%/svd2forth-v3/1b.fs +%%DATADIR%%/svd2forth-v3/Makefile +%%DATADIR%%/svd2forth-v3/README.txt +%%DATADIR%%/svd2forth-v3/STM32L07x.svd +%%DATADIR%%/svd2forth-v3/bitfields-rcc-screenshot.txt +%%DATADIR%%/svd2forth-v3/bitfields.xsl +%%DATADIR%%/svd2forth-v3/equates-rcc-sample.txt +%%DATADIR%%/svd2forth-v3/mk.template.xsl +%%DATADIR%%/svd2forth-v3/raw-svd-clean.sh +%%DATADIR%%/svd2forth-v3/register-print-screenshot.txt +%%DATADIR%%/svd2forth-v3/svd2gas-equates.xsl +%%DATADIR%%/svd2forth-v3/svdcutter.xsl +%%DATADIR%%/svd2forth-v3/svduf.xsl +%%DATADIR%%/svd2gas/Makefile +%%DATADIR%%/svd2gas/README.txt +%%DATADIR%%/svd2gas/mk.template.xsl +%%DATADIR%%/svd2gas/svd2gas.xsl +%%DATADIR%%/svd2gas/svduf.xsl +%%DATADIR%%/trace.txt +%%DATADIR%%/value-classic.txt +%%DATADIR%%/value-ra.txt |