in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Provided in PR pkg/26832 by Peter dot Bex at student dot kun dot nl
with minor additions (info file handling and resource limit specification
so test target runs on my test platforms).
Many changes since last packaged version, too many to list here.
See installed file PREFIX/share/doc/chicken/ChangeLog for a complete
list.
2003-08-25 flw <flw@gurke>
* /cvsroot/chicken/chicken/csc.in, /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/runtime.c:
- csc.in: `-embedded' wasn't recognized
- library.scm: `get-keyword' accepts any object as keys
- runtime.c: `C_callback' doesn't do a minor GC at entry [Thanks to Bruce Hoult]
- `(. ...)' segfaulted instead of giving an error message [Thanks to Category 5]
- `(receive X)' is allowed and returns the list of the result-values
2003-08-17 flw <flw@gurke>
* /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/runtime.c:
- fixed big performance leak in minor GC handling: GC-timing stuff for `time'
macro caused way too many kernel calls [Thanks to Bruce Hoult]
- `dump_trace()' didn't initialize output buffer properly
2003-08-07 flw <flw@gurke>
* /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/csc.bat, /cvsroot/chicken/chicken/csc.in, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/Makefile, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/manual.t2p, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/lolevel.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken-setup.scm:
- eval.scm: `extension-path'
- lolevel.scm: `global-ref', `global-set!' and `global-bound?'
- csc: static libs are reordered to link libchicken last [thanks to Sven Hartrumpf]
- posix.scm: `group-information'
- added index to the manual [thanks to Peter Wang]
- 'loevel was declared as provided by csi (which was wrong)
- removed `define-id-macro' and `let-id-macro'
- setup-specification attributes `test', `test-command' and `test-chicken-version'
- `C_alloc_in_heap()' is called with number of words (not bytes)
2003-07-30 flw <flw@gurke>
* /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/extras.scm, /cvsroot/chicken/chicken/optimizer.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/c-backend.scm, /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/configure.in, /cvsroot/chicken/chicken/csc.in:
- `csc' added `-s' option to linker, when linking with optimization (won't
work when building shared object)
- fixed countless typos in manual.tex [Thanks to Bruce Mitchener]
- `csc' uses `-bundle' instead of `-shared' under Mac OS X
- runtime.c: dload_2 prefixes dlsym'd name with "_"
- posix.scm: under Mac OS X, `environ' is not used (and `current-environment'
always returns '())
- removed `C_collectibles' and added `C_gc_protect()' and `C_gc_unprotect()'
- fixed compiler bug that caused repeated explicit rest-argument list consing
[Thanks to Sven Hartrumpf]
- added `string-compare3[-ci]'
- reduced C_STACK_RESERVE to 4096; the previous setting could overflow the
stack-check on machines with a stack in very high memory
2003-07-25 flw <flw@gurke>
* /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken-setup.scm, /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/csc.bat, /cvsroot/chicken/chicken/csc.in, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.CVS, /cvsroot/chicken/chicken/doc/manual.t2p, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c:
- added `C_end_of_main' macro to chicken.h
- `location' now accepts callback-names
- bumped version to 1.15
- `csc' accepts '-windows' under Cygwin
- chicken-setup.scm/eval.scm: ##sys#load-library-extension is exported (and used)
- the STACKTRACE is printed directly (and not saved in a file)
- `,d' in csi stops after 40 elements when printing sequences
- chicken-setup.scm: fixed hardcoded ".so"
- posix.scm: fixed some routines that weren't updated to the new I/O system
2003-07-17 flw <flw@gurke>
* /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/scheduler.scm:
- scheduler.scm: fixed bug in `##sys#all-threads'
- scheduler.scm: fixed invalid timeout computation in `##sys#fdset-select-timeout'
[thanks to Peter Wang]
2003-07-15 flw <flw@gurke>
* /cvsroot/chicken/chicken/csc.bat, /cvsroot/chicken/chicken/csi.1, /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/manual.t2p, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/script-utils.scm:
- library.scm: vector-resize
- script-utils: for-each-line
- uses newest autotools (libtool 1.5, autoconf 2.57, automake 1.7.6)
- posix.scm: fixed bug in `process-execute' [Thanks to Peter Wang]
2003-06-14 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/batch-driver.scm, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/c-platform.scm, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.CVS, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/extras.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/lolevel.scm, /cvsroot/chicken/chicken/Makefile.am, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c:
- extras.scm: the first argument to `read-string' is now optional
- runtime.c: interning of empty string referenced uninitialized memory
- posix.scm: I/O on ports returned by `process' is now fully nonblocking
- posix.scm: `errno/wouldblock'
- files loaded via the `-extend' compiler option are also searched in the
current include-path
- `##sys#call-with-direct-continuation' and `##sys#direct-return' (they
might turn out useful)
- lolevel.scm: `unbound-variable-value'
- posix.scm: `file-read' didn't check the buffer argument early enough
- extras.scm: `write-string'
- csi doesn't use the lolevel unit anymore
- `chicken-setup.c' was not up to date
- added BOOTSTRAP_PATH to Makefile.am, this simplifies the invocation
of make when bootstrapping the system from CVS sources
[Thanks to Peter Keller]
2003-06-06 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/tcp.scm:
- tcp.scm: tcp-listener-port
- fixed bug in runtime.c that resulted in fopen() being called with invalid file-mode
- tcp.scm: EWOULDBLOCK wasn't defined under Win32 with MSVC
- the printer mixed up "input" and "output" when printing port objects
- fixed bug in read-char handler of pipe-ports
- fixed two unbound variable bugs in library.scm and posix.scm
- commit updates ChangeLog at website and send message to mailing list.
In other words: SMTP and FTP extensions are imminent ;-)
2003-06-02 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/extras.scm, /cvsroot/chicken/chicken/format.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/lolevel.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/scheduler.scm, /cvsroot/chicken/chicken/support.scm, /cvsroot/chicken/chicken/tcp.scm, /cvsroot/chicken/chicken/batch-driver.scm, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken.h:
- fixed problem with scheduler.scm (C_msleep) under Windows
- overhauled I/O subsystem
- lolevel.scm: invalid-procedure-call-handler
- declaration `safe-globals'
- internal compiler for `##core#app'
- eval/visit uses `##core#app'
- debug-option `D'
- (hopefully) settled all thread-safety issues in `format.scm'
- nonblocking I/O for tcp-ports
- made `##sys#errno' an int, instead of an integer (library.scm)
- fixed bug in tcp.scm: partial writes to tcp-port didn't remove sent part
- `##sys#thread-block-for-i/o!' for output (or mixed?) mode doesn't work properly (deactived,
does simple polling)
2003-05-21 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/chicken-setup.scm, /cvsroot/chicken/chicken/doc/FAQ.html, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/scheduler.scm:
- scheduler.scm: timeout-values in nanoseconds where calculated incorrectly
- chicken-setup.scm: -wrap doesn't create registry, if not existing
- ##sys#special-read-syntax-table
- updated FAQ a little
2003-05-19 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/scheduler.scm:
- `define-foreign-variable' isn't seen by `visit' anymore
- `C_flonum()' advanced allocation pointer wrongly on 64-bit platforms
- `parameterize' accepts arbitrary expressions in the parameter position of the binding-list
- applied patches by Sven Hartrumpf that remove unneeded special casing for ICC
- constants defined via `define-constant' are visible inside constant-expressions for
that form
- the scheduler doesn't waste CPU cycles when waiting for thread- or I/O-timeout, unless
other threads are ready [Thanks to Chris Double]
2003-05-08 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/support.scm, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/parameters.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c:
- fixed bug in `process-execute', pointers to potentially gc-moved strings where retained
[thanks to Joerg Wittenberger]
- `define-constant' evaluates 2nd argument at compile time
- fixed bug with mutable constants in `define-constant' forms
- visiting handles `define-foreign-type' and `define-foreign-variable'
- fixed compiler bug in support.scm: `estimate-foreign-result-size' allocated one word too little if flonum result
has to be aligned
- `##core#inline[_allocate]' expanded incorrectly with the hygienic macro system
[Thanks to Panagiotis Vossos]
- fixed 32-bit dependencies: C_FLONUM_TAG was wrong on 64-bit platforms; C_equalp() used `int' where a `C_word'
was needed
- 8-byte alignment was incorrectly handled for 64-bit platforms
2003-05-04 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/library.scm:
- `output-port?' returned 0 on closed port [Thanks to Burton Samograd]
* /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/chicken-setup.scm, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/extras.scm, /cvsroot/chicken/chicken/format.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/parameters.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/srfi-13.scm, /cvsroot/chicken/chicken/support.scm, /cvsroot/chicken/chicken/batch-driver.scm, /cvsroot/chicken/chicken/build.scm:
- `substring' signals (exn bounds)
- replaced several occurences of `substring' with `##sys#substring'
- moved the description of `process' into the proper manual section
- `process' should read non-blocking, now
- buffer grows by doubling it's size in `read-line'
- chicken-setup: defaults options are "-O2 -d0"
- format is thread-safe
- the transcript port wasn't properly recognized as a tty-port
- vector-copy! signals (exn bounds)
- several small optimizations in library.scm
- non-exported globals where still exported, if ref'd before definition
- non-blocking `process' seems to work
- `csi -setup-help' and -uninstall
- `string-null?' is expanded inline
- visit handling constant- and inline-definitions
- `define-constant' wasn't consistently handled in hygienic and non-hygienic mode
- removed procedure-definition syntax for `define-constant'
2003-04-23 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/c-backend.scm, /cvsroot/chicken/chicken/chicken.h, /cvsroot/chicken/chicken/chicken-setup.scm, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/configure.in, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/extras.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/lolevel.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/regex.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/support.scm:
- hidden globals where not properly checked for boundedness
- the foreign return types `c-pointer' and `pointer' did not return `#f' on NULL results
[thanks to Peter Wang]
- `##sys#void' is handled better by `canonicalize-begin-body' (support.scm)
- fixed space leaks in `regex.scm'
- `read-line' accepts optional limit
- `-setup' gives useful error-message on non-UNIX platforms
- there where two conflicting versions of `provided?'
- chicken-setup handles single-file case
- some warning-options are passed to CFLAGS
- fixed typo in posix.scm [Thanks to Joerg Wittenberger]
2003-04-19 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/runtime.c:
- fixed a couple of 32-bit dependencies [Thanks to Panagiotis Vossos]
- fixed bug in syntax-case version of condition-case
* /cvsroot/chicken/chicken/psyntax-chicken.pp:
removed psyntax-chicken.pp
* /cvsroot/chicken/chicken/examples/ctclsh.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/support.scm, /cvsroot/chicken/chicken/tcp.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/srfi-25.scm, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/optimizer.scm, /cvsroot/chicken/chicken/psyntax.scm, /cvsroot/chicken/chicken/batch-driver.scm, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/c-backend.scm, /cvsroot/chicken/chicken/chicken.1, /cvsroot/chicken/chicken/chicken.scm, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/c-platform.scm, /cvsroot/chicken/chicken/Makefile.am:
- fixed bug in c-backend.scm: heap-limit settings [Thanks to Sven Hartrumpf]
- fixed bug in runtime.c: handling of -:t... was bogus [Thanks to Sven]
- the default output-file for `chicken' is now the original-filename (+ ".c") [Thanks to Panagiotis Vossos]
- syntax-case uses `##sys#void' in expansions
- removed `error-handler'
- diversified exceptions a little
- srfi-25: signals more sensible exn types
- added `condition-case'
2003-04-08 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/examples/prolog.scm, /cvsroot/chicken/chicken/examples/schelog-support.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/match-support.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/regex.scm, /cvsroot/chicken/chicken/runtime.c, /cvsroot/chicken/chicken/scheduler.scm, /cvsroot/chicken/chicken/script-utils.scm, /cvsroot/chicken/chicken/srfi-13.scm, /cvsroot/chicken/chicken/srfi-14.scm, /cvsroot/chicken/chicken/srfi-18.scm, /cvsroot/chicken/chicken/srfi-1.scm, /cvsroot/chicken/chicken/srfi-37.scm, /cvsroot/chicken/chicken/srfi-4.scm, /cvsroot/chicken/chicken/syntax-case.scm, /cvsroot/chicken/chicken/tcp.scm:
- eval.scm: `##sys#environment-is-mutable' isn't hidden anymore.
- scheduler.scm: ##sys#fetch-and-clear.
- simplified some code in tcp.scm.
- `(build-platform)' returns 'intel for ICC.
- removed `interrupts-disabled' declaration.
2003-04-03 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/configure.in, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/runtime.c:
- Changed calls to AC_INIT and AM_INIT_AUTOMAKE in configure.in to new syntax.
- Recreated autotool files using newest versions.
2003-03-31 flw <flw@ultra.callcc.org>
* /cvsroot/chicken/chicken/batch-driver.scm, /cvsroot/chicken/chicken/build.scm, /cvsroot/chicken/chicken/chicken.1, /cvsroot/chicken/chicken/chicken-setup.scm, /cvsroot/chicken/chicken/compiler.scm, /cvsroot/chicken/chicken/c-platform.scm, /cvsroot/chicken/chicken/csc.bat, /cvsroot/chicken/chicken/csc.in, /cvsroot/chicken/chicken/csi.scm, /cvsroot/chicken/chicken/doc/manual.tex, /cvsroot/chicken/chicken/doc/README, /cvsroot/chicken/chicken/doc/README.txt, /cvsroot/chicken/chicken/eval.scm, /cvsroot/chicken/chicken/highlevel-macros.scm, /cvsroot/chicken/chicken/library.scm, /cvsroot/chicken/chicken/moremacros.scm, /cvsroot/chicken/chicken/posix.scm, /cvsroot/chicken/chicken/support.scm:
- Removed syntax checks from internal `##core#...' forms.
- `require-at-runtime' setup-specification.
- `csi -setup -init' did not install core extensions.
- `seconds->string' (posix.scm) couldn't handle large (but valid) non-fixnum integers
[Thanks to Anthony Carrico]
- `visit' and `-visit' options to csi and chicken.
- `(gc #t)' didn't return number of free bytes.
- `pathname-directory-separator' was #\\ under Cygwin (is now #\/).
- Removed fixnum->flonum coercion warning in reader.
2003-03-23 njbeckford <njbeckford@ultra.callcc.org>
* /cvsroot/chicken/chicken/runtime.c:
Got rid of buffer overflow in C_get_environment_variable.
2003-03-22 njbeckford <njbeckford@ultra.callcc.org>
* /cvsroot/chicken/chicken/Makefile.am:
Undid change that made both MORE_LIBS and MORE_STATIC_LIBS be the same thing.
* /cvsroot/chicken/chicken/Makefile.am:
Made both MORE_LIBS and MORE_STATIC_LIBS be the same thing.
* /cvsroot/chicken/chicken/Makefile.am:
-all-static replaced by -static. On Solaris, need libdl.so and
libnsl.so since no libdl.a nor libnsl.a.
* /cvsroot/chicken/chicken/Makefile.am:
"make doc" and "make testsuites" now use CHICKEN=../chicken
* /cvsroot/chicken/chicken/Makefile.am:
Uses MORE_STATIC_LIBS instead of MORE_LIBS for
lib[xxx_]chicken_la_LDFLAGS so that libtool does not add "-ldl"
whenever something links with lib[xxx-]chicken.la.
* /cvsroot/chicken/chicken/chicken-config.in, /cvsroot/chicken/chicken/configure.in, /cvsroot/chicken/chicken/csc.in, /cvsroot/chicken/chicken/Makefile.am, /cvsroot/chicken/chicken/runtime.c:
configure.in: Made new variable SHLIBS which has -ldl or -ldld, which will only be used in non -all-static code.
Makefile.am: Use SHLIBS to differentiate MORE_LIBS from MORE_STATIC_LIBS.
runtime.c: Do not even try to use dl.h/dlfcn.h/dlopen/shlopen when in all-static mode.
chicken-config.in, csc.in: Use MORE_STATIC_LIBS (%morestaticlibs%) in static mode.
Package changes:
Put documentation in the canonical pkgsrc directories.
Add test target support.
Gmake is not needed anymore.
Things changed in release 1.0:
- Many bugfixes
- Declaration specifier `compress-literals' and compiler-option
`-compress-literals N'
- Chicken now compiles on OpenBSD [Thanks to Steve Elkins]
- `library' unit:
(chicken-version)
- A new version of the portable syntax-case macro system is now used, which
provides `identifier-syntax', `fluid-let-syntax' and `datum->syntax-object',
allows low-level macros (`define-macro') in combination with hygienic
macros and supports the module system used in Chez Scheme (but does not
handle separate compilation)
- The syntax `(define-syntax (name var) ...)' is allowed
- Chicken supports now SRFI-37 officially (A new library unit named `srfi-37'
has been added)
- The old module system has been removed. It was rather hackishly implemented
and didn't integrate well with the highlevel macro system
- The scheduler and the threading system have been massively overhauled
and scale a little better
- The pattern-matcher is now available in combination with the highlevel
macro system, enter `(include "match")' or `(require-for-syntax 'match)'
to make it available
- SRFI-22 script interpreters `scheme-chicken' and `scheme-chicken-hygienic'
have been added
- Compiled `#!' scheme scripts with an invocation line of `csi -script' or
`scheme-chicken'/`scheme-chicken-hygienic' automagically link with all
libraries which would normally be available under the interpreter.
- Type-checks of fixed size objects are slightly more efficient
- Extension-libraries can now be stored alternatively in a directory given
by the CHICKEN_REGISTRY environment variable or in `$HOME/.chicken-registry'
- The new library unit `tcp' provides a PLTish socket interface,
`tcp-accept' and I/O from socket ports do not block other running threads
- The new compiler/interpreter option `-strict-letrec' enables a fully R5RS
compliant expansion of `letrec'
- Chicken should now pass all tests of Scott G. Millers `r5rs_pitfalls.scm'
- Jonah Beckford ported SWIG (<http://www.swig.org>) to Chicken!
Check out a preliminary version at
<http://beckford.netfirms.com/hobbies/swig/>
- On Windows (Cygwin, Mingw32 and MSVC), CHICKEN now supports shared libraries
and dynamic loading. Many thanks to Jonah Beckford for his tremendous work!
Things changed in release 0.1082:
- Bugfixes.
- Support for SRFI's 26 (cut) and 30 (block comments).
- Peter Keller translated the manual into LaTeX. Pdf and html
documentation is available.
- Peter Keller has contributed a comprehensive testing framework
(fully R5RS compliant).
- Declaration specifiers:
export
compile-time-macros-only
- Library unit `extras':
hash-table-remove!
->string
- Library unit `posix':
sleep
- Library unit `lolevel':
pointer-offset
pointer-u8-ref pointer-u8-set!
pointer-s8-ref pointer-s8-set!
pointer-u16-ref pointer-u16-set!
pointer-s16-ref pointer-s16-set!
pointer-u32-ref pointer-u32-set!
pointer-s32-ref pointer-s32-set!
pointer-f32-ref pointer-f32-set!
pointer-f64-ref pointer-f64-set!
- Dynamic loading is now supported on older HP-UX systems that
provide `shl_load()' instead of `dlopen()'
(Thanks to Tony Garnock-Jones)
- Error messages have been (slightly) improved.
- A system for simplified packaging, building and installation
of extension-libraries (based on shared libraries) is now provided.
- New data type `locatives' allow to create pointers into arbitrary
sections of various kinds of Scheme data objects.
- So called `locations' simplify passing pointers to local or global
Scheme variables to foreign procedures.
- FFI-generated code is a little bit more compact and efficient.
- Chicken supports alternative keyword syntaxes (CL/DSSSL) via the
compiler/interpreter option `-keyword-style' and the parameter
`keyword-style'
- `define-record-printer' now handles SRFI-9 record types.
- The regex-libraries now allow the creation of precompiled regular
expressions (new procedures `regexp' and `regexp?').
CHICKEN is a Scheme-to-C compiler supporting most of the language
features as defined in the Revised^5 Report on Scheme. CHICKEN
generates quite portable C code, and files compiled by it (including
itself) should work without any changes on most platforms.
The whole package is distributed under a BSD license and as such free
to use and modify as long as you adhere to its terms (see the manual).
Linkage to C modules and C-library functions is straightforward, so
it's easy to access C from Scheme. Compiled code can be embedded into
existing C programs without problems. The generated code supports
full tail-recursion, first-class continuations, multiple values and
dynamic-wind.