Changeset 8133 in project


Ignore:
Timestamp:
02/04/08 07:16:37 (12 years ago)
Author:
felix winkelmann
Message:

svn revision is compiled into runtime

Location:
chicken/trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/Makefile.bsd

    r6569 r8133  
    5959
    6060chicken-config.h: chicken-defaults.h
    61         echo "#define HAVE_DIRENT_H 1" >>$@
     61        echo "#define HAVE_DIRENT_H 1" >$@
    6262        echo "#define HAVE_DLFCN_H 1" >>$@
    6363        echo "#define HAVE_INTTYPES_H 1" >>$@
  • chicken/trunk/Makefile.cross-linux-mingw

    r7331 r8133  
    9191
    9292chicken-config.h: chicken-defaults.h
    93         echo "#define HAVE_DIRENT_H 1" >>$@
     93        echo "#define HAVE_DIRENT_H 1" >$@
    9494        echo "#define HAVE_INTTYPES_H 1" >>$@
    9595        echo "#define HAVE_LIMITS_H 1" >>$@
  • chicken/trunk/Makefile.cygwin

    r7077 r8133  
    9191
    9292chicken-config.h: chicken-defaults.h
    93         echo "#define HAVE_DIRENT_H 1" >>$@
     93        echo "#define HAVE_DIRENT_H 1" >$@
    9494        echo "#define HAVE_INTTYPES_H 1" >>$@
    9595        echo "#define HAVE_LIMITS_H 1" >>$@
  • chicken/trunk/Makefile.linux

    r7325 r8133  
    6262
    6363chicken-config.h: chicken-defaults.h
    64         echo "#define HAVE_DIRENT_H 1" >>$@
     64        echo "#define HAVE_DIRENT_H 1" >$@
    6565        echo "#define HAVE_DLFCN_H 1" >>$@
    6666        echo "#define HAVE_INTTYPES_H 1" >>$@
  • chicken/trunk/Makefile.macosx

    r7773 r8133  
    6767
    6868chicken-config.h: chicken-defaults.h
    69         echo "#define HAVE_DIRENT_H 1" >>$@
     69        echo "#define HAVE_DIRENT_H 1" >$@
    7070        echo "#define HAVE_DLFCN_H 1" >>$@
    7171        echo "#define HAVE_INTTYPES_H 1" >>$@
  • chicken/trunk/Makefile.mingw

    r8027 r8133  
    4040HACKED_APPLY = 1
    4141WINDOWS = 1
     42NO_UNIX_SHELL = 1
    4243
    4344# file extensions
     
    8990
    9091chicken-config.h: chicken-defaults.h
    91         echo #define HAVE_DIRENT_H 1 >>$@
     92        echo #define HAVE_DIRENT_H 1 >$@
    9293        echo #define HAVE_INTTYPES_H 1 >>$@
    9394        echo #define HAVE_LIMITS_H 1 >>$@
  • chicken/trunk/Makefile.mingw-msys

    r7180 r8133  
    8686
    8787chicken-config.h: chicken-defaults.h
    88         echo "#define HAVE_DIRENT_H 1" >>$@
     88        echo "#define HAVE_DIRENT_H 1" >$@
    8989        echo "#define HAVE_INTTYPES_H 1" >>$@
    9090        echo "#define HAVE_LIMITS_H 1" >>$@
  • chicken/trunk/Makefile.solaris

    r6569 r8133  
    5959
    6060chicken-config.h: chicken-defaults.h
    61         echo "#define HAVE_DIRENT_H 1" >>$@
     61        echo "#define HAVE_DIRENT_H 1" >$@
    6262        echo "#define HAVE_DLFCN_H 1" >>$@
    6363        echo "#define HAVE_INTTYPES_H 1" >>$@
  • chicken/trunk/defaults.make

    r8027 r8133  
    291291# main rule
    292292
    293 .PHONY: all
    294 
     293.PHONY: all get-svn-revision
     294
     295ifdef NO_UNIX_SHELL
    295296all: $(TARGETS)
     297else
     298all: get-svn-revision $(TARGETS)
     299endif
     300
     301get-svn-revision:
     302        sh scripts/svnrevision.sh
    296303
    297304# generic part of chicken-config.h
    298305
    299306ifndef CUSTOM_CHICKEN_DEFAULTS
    300 chicken-defaults.h:
     307chicken-defaults.h: buildsvnrevision
    301308        echo "/* generated */" >$@
    302309        echo "#define C_BUILD_TAG \"$(BUILD_TAG)\"" >>$@
     310        echo "#define C_SVN_REVISION $(shell cat buildsvnrevision)" >>$@
    303311        echo "#ifndef C_INSTALL_CC" >>$@
    304312        echo "# define C_INSTALL_CC \"$(C_COMPILER)\"" >>$@
  • chicken/trunk/distribution/manifest

    r7934 r8133  
    259259misc/makedist.scm
    260260tests/port-tests.scm
     261scripts/svnrevision.sh
  • chicken/trunk/library.scm

    r8078 r8133  
    32623262      (string-append (str sv) (str st) (str bp) (##sys#symbol->string mt)) ) )
    32633263  (if full
    3264       (let ((spec (string-append
     3264      (let ((rev (##sys#fudge 38))
     3265            (spec (string-append
    32653266                   (if (##sys#fudge 3)  " 64bit" "")
    32663267                   (if (##sys#fudge 15) " symbolgc" "")
     
    32793280             ""
    32803281             (string-append "\t[" spec " ]") )
    3281          "\n" +copyright+ "\t" +build-tag+) )
     3282         "\n" +copyright+ "\t" +build-tag+
     3283         (if (not (zero? rev))
     3284             (##sys#string-append "\nSVN rev. " (number->string rev))
     3285             "")))
    32823286      +build-version+) )
    32833287
  • chicken/trunk/manual/Acknowledgements

    r7784 r8133  
    2222Brad Kind, Ron Kneusel, Matthias Koeppe, Krysztof Kowałczyk,
    2323Andre Kuehne, Todd R. Kueny Sr, Goran Krampe, David Krentzlin, Ben
    24 Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky, Jürgen
    25 Lorentz, Kon Lovett, Dennis Marti, Charles Martin, Bob McIsaac, Alain
     24Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky, Juergen
     25Lorenz, Kon Lovett, Dennis Marti, Charles Martin, Bob McIsaac, Alain
    2626Mellan, Eric Merrit, Perry Metzger, Scott G. Miller, Mikael, Bruce
    2727Mitchener, Chris Moline, Eric E. Moore, Julian Morrison, Dan Muresan,
     
    3636Sunnan, Zbigniew Szadkowski, Rick Taube, Mike Thomas, Minh Thu,
    3737Christian Tismer, Andre van Tonder, John Tobey, Henrik Tramberend,
    38 Vladimir Tsichevsky, Neil van Dyke, Sander Vesik, Panagiotis Vossos,
    39 Shawn Wagner, Peter Wang, Ed Watkeys, Brad Watson, Thomas Weidner,
    40 Goeran Weinholt, Matthew Welland, Joerg Wittenberger, Peter Wright,
    41 Mark Wutka, Richard Zidlicky and Houman Zolfaghari for bug-fixes, tips
    42 and suggestions.
     38Vladimir Tsichevsky, Neil van Dyke, Sander Vesik, Jaques Vidrine,
     39Panagiotis Vossos, Shawn Wagner, Peter Wang, Ed Watkeys, Brad Watson,
     40Thomas Weidner, Goeran Weinholt, Matthew Welland, Joerg Wittenberger,
     41Peter Wright, Mark Wutka, Richard Zidlicky and Houman Zolfaghari for
     42bug-fixes, tips and suggestions.
    4343
    4444CHICKEN uses the PCRE regular expression package ([[http://www.pcre.org]]),
  • chicken/trunk/manual/Pattern matching

    r5945 r8133  
    1212Miranda. These syntactic extensions internally use the {{match}}
    1313library unit.
     14
     15Note: this pattern matching package is not compatible with hygienic
     16macro-expanders like the {{syntax-case}} extension (available
     17separately).
    1418
    1519The basic form of pattern matching expression is:
  • chicken/trunk/manual/faq

    r6691 r8133  
    123123on the stack or on the heap or completely outside the GC-able data space) has to be checked - this would
    124124be rather complex and inefficient in a situation where multiple threads are involved.
     125
     126
     127==== Does CHICKEN support Unicode strings?
     128
     129Yes, as an extension.
     130
     131By default all string and character functions operate bytewise, so that characters with an iteger value greater than 255 don't make much sense and multibyte UTF-8 characters are seen and manipulated as separate bytes, analogous to what a C program would see.
     132
     133You can enable UTF-8 support by placing the following two lines at the beginning of your source file (or in your ~/.csirc for interactive sessions) before any other code, including other use directives:
     134
     135<enscript highlight=scheme>
     136(use iset syntax-case utf8)
     137(import utf8)
     138</enscript>
     139
     140This will replace all builtin string operators with UTF-8-aware versions, that will treat strings as sequences of multibyte UTF-8 characters, thus enabling you to represent and manipulate Unicode characters while remaining compatible with most C libraries and system interfaces.
     141
     142Most eggs should work correctly in utf8 mode, including the regex extension, but you still have the option of working around incompatibilities of specific eggs by loading them before the (import utf8) directive. Keep in mind that some operations, such as string-length, are much more expensive in utf8 (multibyte) mode, and should be used with care. See the [[http://www.call-with-current-continuation.org/eggs/utf8.html|utf8 egg documentation]] for details.
     143
     144
     145==== Why do I get an "Error: invalid syntax: ..." using 'match' and 'syntax-case'?
     146
     147The built-in 'match' macro is incompatible with 'syntax-case'. Use the  [[http://www.call-with-current-continuation.org/eggs/matchable.html|matchable egg]] instead.
    125148
    126149
  • chicken/trunk/runtime.c

    r8030 r8133  
    42584258#endif
    42594259
    4260     /* 38 */
     4260  case C_fix(38):
     4261#ifdef C_SVN_REVISION
     4262    return C_fix(C_SVN_REVISION);
     4263#else
     4264    return C_fix(0);
     4265#endif
    42614266
    42624267  case C_fix(39):
  • chicken/trunk/scripts/setversion

    r7916 r8133  
    11#!/bin/sh
    2 #| setversion - Bump version-number
     2#| setversion - Bump version-number -*- Scheme -*-
    33exec csi -s "$0" "$@"
    44|#
    55
    6 (use srfi-1 utils)
     6(use srfi-1 utils posix)
    77
    88(define buildversion (->string (car (read-file "buildversion"))))
Note: See TracChangeset for help on using the changeset viewer.