pkgsrc/lang/gforth/Makefile

58 lines
1.6 KiB
Makefile
Raw Normal View History

2011-03-29 23:19:19 +02:00
# $NetBSD: Makefile,v 1.28 2011/03/29 21:19:19 asau Exp $
Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha).
2009-08-15 00:52:20 +02:00
DISTNAME= gforth-0.7.0
2011-03-29 23:19:19 +02:00
PKGREVISION= 2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gforth/}
Update from 0.5.0 to 0.6.2. From Jorge Ramon Acereda Macia <al004046 at anubis dot uji dot es> in PR 23635. User-visible changes between 0.6.1 and 0.6.2: Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3) New words: LATEST, LATESTXT (LASTXT deprecated) Operating environment: Added optional support for a C interface built on the ffcall libraries (more portable and powerful than the old one, but still not documented). To use it, the ffcall libraries have to be installed before building Gforth (see INSTALL). Miscellaneous: Gforth-fast now uses static superinstructions (some speedup on some platforms); generally this is transparent (apart from the speedup), but there are lots of command-line options for controlling the static superinstruction generation. User-visible changes between 0.6.0 and 0.6.1: Bug fixes (installation on big-endian machines sometimes did not work) User-visible changes between 0.5.0 and 0.6.0: Changes in behaviour: S": interpreted use now ALLOCATEs the string (they live until BYE). Long word names (512MB on 32-bit systems) are now supported (change to the header format). New threaded code execution method: primitive-centric (allows the following), hybrid direct/indirect threaded (easier portability), with dynamic superinstructions (typical speedup on Athlon: factor 2). New engine gforth-itc for dealing with some potential backwards-compatibility problems (see "Direct or Indirect Threaded?" in the manual). Operating environment: Default dictionary size is now 4MB. Large file support on OSs that support them (i.e., files with more than 2GB on 32-bit machines). Gforth can now deal well with broken pipes in most situations. vi tags files can be built with tags.fs (usage like etags.fs). gforth.el mostly rewritten. New image file format. New words: Keyboard input: EDIT-LINE K-PRIOR K-NEXT K-DELETE File input: SLURP-FILE SLURP-FID Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE Conditional execution: [DEFINED] [UNDEFINED] Defining Words: CONST-DOES> ]] Input stream: PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE String comparison: STR= STR< STRING-PREFIX? String literals: S\" .\" \"-PARSE Floating point output: F.RDP F>STR-RDP F>BUF-RDP Miscellaneous: Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the new capabilities in prims (e.g., automatic handling of the return stack and instruction stream).
2003-12-05 01:26:38 +01:00
MASTER_SITES+= http://www.complang.tuwien.ac.at/forth/gforth/
2003-07-17 23:41:05 +02:00
MAINTAINER= simonb@NetBSD.org
HOMEPAGE= http://www.complang.tuwien.ac.at/forth/gforth/
COMMENT= Fast interpreter for the Forth language
2009-08-15 00:54:49 +02:00
LICENSE= gnu-gpl-v3
ONLY_FOR_PLATFORM= *-*-alpha *-*-i386 *-*-m68k *-*-powerpc *-*-sparc
Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha).
2009-08-15 00:52:20 +02:00
PKG_DESTDIR_SUPPORT= user-destdir
INFO_FILES= yes
GNU_CONFIGURE= YES
Update from 0.5.0 to 0.6.2. From Jorge Ramon Acereda Macia <al004046 at anubis dot uji dot es> in PR 23635. User-visible changes between 0.6.1 and 0.6.2: Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3) New words: LATEST, LATESTXT (LASTXT deprecated) Operating environment: Added optional support for a C interface built on the ffcall libraries (more portable and powerful than the old one, but still not documented). To use it, the ffcall libraries have to be installed before building Gforth (see INSTALL). Miscellaneous: Gforth-fast now uses static superinstructions (some speedup on some platforms); generally this is transparent (apart from the speedup), but there are lots of command-line options for controlling the static superinstruction generation. User-visible changes between 0.6.0 and 0.6.1: Bug fixes (installation on big-endian machines sometimes did not work) User-visible changes between 0.5.0 and 0.6.0: Changes in behaviour: S": interpreted use now ALLOCATEs the string (they live until BYE). Long word names (512MB on 32-bit systems) are now supported (change to the header format). New threaded code execution method: primitive-centric (allows the following), hybrid direct/indirect threaded (easier portability), with dynamic superinstructions (typical speedup on Athlon: factor 2). New engine gforth-itc for dealing with some potential backwards-compatibility problems (see "Direct or Indirect Threaded?" in the manual). Operating environment: Default dictionary size is now 4MB. Large file support on OSs that support them (i.e., files with more than 2GB on 32-bit machines). Gforth can now deal well with broken pipes in most situations. vi tags files can be built with tags.fs (usage like etags.fs). gforth.el mostly rewritten. New image file format. New words: Keyboard input: EDIT-LINE K-PRIOR K-NEXT K-DELETE File input: SLURP-FILE SLURP-FID Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE Conditional execution: [DEFINED] [UNDEFINED] Defining Words: CONST-DOES> ]] Input stream: PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE String comparison: STR= STR< STRING-PREFIX? String literals: S\" .\" \"-PARSE Floating point output: F.RDP F>STR-RDP F>BUF-RDP Miscellaneous: Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the new capabilities in prims (e.g., automatic handling of the return stack and instruction stream).
2003-12-05 01:26:38 +01:00
Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha).
2009-08-15 00:52:20 +02:00
USE_LIBTOOL= yes
USE_TOOLS+= autoconf automake aclocal
USE_TOOLS+= makeinfo gzip
USE_TOOLS+= perl:build
MAKE_JOBS_SAFE= no # fresh Gforth is required to build doc
BUILD_TARGET= all info # doc
TEST_TARGET= check
# Make sure elisp will be installed even if no emacs installed.
CONFIGURE_ENV+= EMACS=${PREFIX}/bin/emacs
CFLAGS+= -Dunix
INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} \
infodir=${PREFIX:Q}/${PKGINFODIR:Q} \
mandir=${PREFIX:Q}/${PKGMANDIR:Q}
Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha).
2009-08-15 00:52:20 +02:00
INSTALLATION_DIRS= share/emacs/site-lisp
Update from 0.5.0 to 0.6.2. From Jorge Ramon Acereda Macia <al004046 at anubis dot uji dot es> in PR 23635. User-visible changes between 0.6.1 and 0.6.2: Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3) New words: LATEST, LATESTXT (LASTXT deprecated) Operating environment: Added optional support for a C interface built on the ffcall libraries (more portable and powerful than the old one, but still not documented). To use it, the ffcall libraries have to be installed before building Gforth (see INSTALL). Miscellaneous: Gforth-fast now uses static superinstructions (some speedup on some platforms); generally this is transparent (apart from the speedup), but there are lots of command-line options for controlling the static superinstruction generation. User-visible changes between 0.6.0 and 0.6.1: Bug fixes (installation on big-endian machines sometimes did not work) User-visible changes between 0.5.0 and 0.6.0: Changes in behaviour: S": interpreted use now ALLOCATEs the string (they live until BYE). Long word names (512MB on 32-bit systems) are now supported (change to the header format). New threaded code execution method: primitive-centric (allows the following), hybrid direct/indirect threaded (easier portability), with dynamic superinstructions (typical speedup on Athlon: factor 2). New engine gforth-itc for dealing with some potential backwards-compatibility problems (see "Direct or Indirect Threaded?" in the manual). Operating environment: Default dictionary size is now 4MB. Large file support on OSs that support them (i.e., files with more than 2GB on 32-bit machines). Gforth can now deal well with broken pipes in most situations. vi tags files can be built with tags.fs (usage like etags.fs). gforth.el mostly rewritten. New image file format. New words: Keyboard input: EDIT-LINE K-PRIOR K-NEXT K-DELETE File input: SLURP-FILE SLURP-FID Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE Conditional execution: [DEFINED] [UNDEFINED] Defining Words: CONST-DOES> ]] Input stream: PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE String comparison: STR= STR< STRING-PREFIX? String literals: S\" .\" \"-PARSE Floating point output: F.RDP F>STR-RDP F>BUF-RDP Miscellaneous: Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the new capabilities in prims (e.g., automatic handling of the return stack and instruction stream).
2003-12-05 01:26:38 +01:00
# Kernel image filename is arch dependent
KERNEL_FI_cmd= \
if ${TEST} ! -f ${WRKSRC}/Makefile; then \
${ECHO} "__nonexistent__"; \
exit 0; \
fi; \
cd ${WRKSRC} && \
{ ${ECHO} 'prkern:'; \
${ECHO} ' @${ECHO} $$(kernel_fi)'; \
${ECHO} ; \
${CAT} Makefile; } | ${MAKE_PROGRAM} -f - prkern
PLIST_SUBST+= KERNEL_FI=${KERNEL_FI_cmd:sh:Q}
Update from 0.5.0 to 0.6.2. From Jorge Ramon Acereda Macia <al004046 at anubis dot uji dot es> in PR 23635. User-visible changes between 0.6.1 and 0.6.2: Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3) New words: LATEST, LATESTXT (LASTXT deprecated) Operating environment: Added optional support for a C interface built on the ffcall libraries (more portable and powerful than the old one, but still not documented). To use it, the ffcall libraries have to be installed before building Gforth (see INSTALL). Miscellaneous: Gforth-fast now uses static superinstructions (some speedup on some platforms); generally this is transparent (apart from the speedup), but there are lots of command-line options for controlling the static superinstruction generation. User-visible changes between 0.6.0 and 0.6.1: Bug fixes (installation on big-endian machines sometimes did not work) User-visible changes between 0.5.0 and 0.6.0: Changes in behaviour: S": interpreted use now ALLOCATEs the string (they live until BYE). Long word names (512MB on 32-bit systems) are now supported (change to the header format). New threaded code execution method: primitive-centric (allows the following), hybrid direct/indirect threaded (easier portability), with dynamic superinstructions (typical speedup on Athlon: factor 2). New engine gforth-itc for dealing with some potential backwards-compatibility problems (see "Direct or Indirect Threaded?" in the manual). Operating environment: Default dictionary size is now 4MB. Large file support on OSs that support them (i.e., files with more than 2GB on 32-bit machines). Gforth can now deal well with broken pipes in most situations. vi tags files can be built with tags.fs (usage like etags.fs). gforth.el mostly rewritten. New image file format. New words: Keyboard input: EDIT-LINE K-PRIOR K-NEXT K-DELETE File input: SLURP-FILE SLURP-FID Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE Conditional execution: [DEFINED] [UNDEFINED] Defining Words: CONST-DOES> ]] Input stream: PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE String comparison: STR= STR< STRING-PREFIX? String literals: S\" .\" \"-PARSE Floating point output: F.RDP F>STR-RDP F>BUF-RDP Miscellaneous: Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the new capabilities in prims (e.g., automatic handling of the return stack and instruction stream).
2003-12-05 01:26:38 +01:00
# XXX Need test.
#.include "../../mk/dlopen.buildlink3.mk"
Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha).
2009-08-15 00:52:20 +02:00
.include "../../devel/libltdl/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
.include "../../devel/ffcall/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"