Changeset 5362 in project


Ignore:
Timestamp:
08/09/07 08:33:12 (12 years ago)
Author:
felix winkelmann
Message:
  • regex: string-substitute signals an error on an empty match (reported by mario/zb)
  • another attempt at apply-hack support for cmake; failed, naturally
  • C_NO_APPLY_HACK disables apply hack
  • version is 2.635
Location:
chicken/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/CMakeLists.txt

    r5358 r5362  
    10001000SET(C_INSTALL_MORE_STATIC_LIBS \"${L_MORE_STATIC_LIBS_STRING}\")
    10011001
     1002# test for apply hack
     1003#
     1004# (does currently not work - cmake apparently ignores the .s file passed
     1005# to ADD_LIBRARY)
     1006
     1007SET(APPLY_HACK_SOURCE )
     1008
     1009# IF(UNIX)
     1010#   IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i.*86")
     1011#     SET(APPLY_HACK_SOURCE ${Chicken_SOURCE_DIR}/apply-hack.x86.s)
     1012#   ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "i.*86")
     1013#   IF(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc") # check this!
     1014#     SET(APPLY_HACK_SOURCE ${Chicken_SOURCE_DIR}/apply-hack.ppc.s)
     1015#   ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc")
     1016#   IF(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64") # x86-64 ?
     1017#     SET(APPLY_HACK_SOURCE ${Chicken_SOURCE_DIR}/apply-hack.x86-64.s)
     1018#   ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64")
     1019# ENDIF(UNIX)
     1020
     1021# IF(MINGW)
     1022#   SET(APPLY_HACK_SOURCE ${Chicken_SOURCE_DIR}/apply-hack.x86.s)
     1023# ENDIF(MINGW)
     1024
     1025# IF(APPLY_HACK_SOURCE)
     1026#   MESSAGE(STATUS "apply hack is available for this platform (${CMAKE_SYSTEM_PROCESSOR})")
     1027#   SET(C_HACKED_APPLY TRUE)
     1028#   # this one was suggested by Bill Hoffmann:
     1029#   SET_SOURCE_FILES_PROPERTIES(${APPLY_HACK_SOURCE} PROPERTIES LANGUAGE C)
     1030# ELSE(APPLY_HACK_SOURCE)
     1031#   MESSAGE(STATUS "apply hack is NOT available for this platform (${CMAKE_SYSTEM_PROCESSOR})")
     1032# ENDIF(APPLY_HACK_SOURCE)
     1033
     1034
    10021035
    10031036####################################################################
     
    14751508  # For now, the user has to install the 1 configuration she actually wants.
    14761509
    1477   ADD_LIBRARY(libchicken SHARED ${CHICKEN_LIB_SOURCES} ${PCRE_HEADER})
     1510  ADD_LIBRARY(libchicken SHARED ${CHICKEN_LIB_SOURCES} ${PCRE_HEADER} ${APPLY_HACK_SOURCE})
    14781511  SET_TARGET_PROPERTIES(libchicken PROPERTIES
    14791512    COMPILE_FLAGS "-DC_BUILDING_LIBCHICKEN ${SHARED_FLAGS}"
     
    14831516  ADD_DEPENDENCIES(libchicken libchicken-c)
    14841517
    1485   ADD_LIBRARY(libuchicken SHARED ${CHICKEN_UNSAFE_LIB_SOURCES} ${PCRE_HEADER})
     1518  ADD_LIBRARY(libuchicken SHARED ${CHICKEN_UNSAFE_LIB_SOURCES} ${PCRE_HEADER} ${APPLY_HACK_SOURCE})
    14861519  SET_TARGET_PROPERTIES(libuchicken PROPERTIES
    14871520    COMPILE_FLAGS "-DC_BUILDING_LIBCHICKEN -DC_UNSAFE_RUNTIME ${SHARED_FLAGS}"
     
    14911524  ADD_DEPENDENCIES(libuchicken libuchicken-c)
    14921525
    1493   ADD_LIBRARY(libchickengui SHARED ${CHICKEN_LIB_SOURCES} ${PCRE_HEADER})
     1526  ADD_LIBRARY(libchickengui SHARED ${CHICKEN_LIB_SOURCES} ${PCRE_HEADER} ${APPLY_HACK_SOURCE})
    14941527  SET_TARGET_PROPERTIES(libchickengui PROPERTIES
    14951528    COMPILE_FLAGS "-DC_BUILDING_LIBCHICKEN -DC_WINDOWS_GUI ${SHARED_FLAGS}"
  • chicken/trunk/README

    r5358 r5362  
    33  (c)2000-2007 Felix L. Winkelmann
    44
    5   Version 2.634
     5  Version 2.635
    66
    77
  • chicken/trunk/boot/CMakeLists.txt

    r4232 r5362  
    4444
    4545INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
     46ADD_DEFINITIONS(-DC_NO_HACKED_APPLY)
    4647
    4748# Do not use LIBRARY_SCM_TO_C_EXPORTS to build the bootstrap compiler.
  • chicken/trunk/buildversion

    r5358 r5362  
    1 2.634
     12.635
  • chicken/trunk/chicken-config-cmake.h.in

    r5358 r5362  
    4747
    4848#cmakedefine HAVE_STRERROR @HAVE_STRERROR@
     49
     50#cmakedefine C_HACKED_APPLY @C_HACKED_APPLY@
  • chicken/trunk/regex.scm

    r3839 r5362  
    316316                   (let* ([range (car matches)]
    317317                          [upto (cadr range)] )
    318                      (cond [(or (not (fixnum? which)) (fx= count which))
     318                     (cond ((zero? (fx- (cadr range) (car range)))
     319                            (##sys#error
     320                             'string-substitute "empty substitution match"
     321                             regex) )
     322                           ((or (not (fixnum? which)) (fx= count which))
    319323                            (push (substring string index (car range)))
    320324                            (substitute matches)
    321                             (loop upto #f) ]
    322                            [else
     325                            (loop upto #f) )
     326                           (else
    323327                            (push (substring string index upto))
    324                             (loop upto (fx+ count 1)) ] ) ) ]
     328                            (loop upto (fx+ count 1)) ) ) ) ]
    325329                  [else
    326330                   (push (substring string index (##sys#size string)))
  • chicken/trunk/runtime.c

    r5358 r5362  
    146146extern void C_do_apply_hack(void *proc, C_word *args, int count) C_noret;
    147147# endif
     148#endif
     149
     150#if defined(C_NO_HACKED_APPLY) && !defined(C_HACKED_APPLY)
     151# undef C_HACKED_APPLY
    148152#endif
    149153
  • chicken/trunk/site/index.html

    r5358 r5362  
    179179<a href="http://subversion.tigris.org">Subversion</a> revision control system, like this:<br>
    180180<pre>
    181 $ svn co <a href="https://galinha.ucpel.tche.br/svn/chicken-eggs/chicken">https://galinha.ucpel.tche.br/svn/chicken-eggs/chicken</a>
     181$ svn co <a href="https://galinha.ucpel.tche.br/svn/chicken-eggs/chicken/trunk">https://galinha.ucpel.tche.br/svn/chicken-eggs/chicken/trunk</a>
    182182</pre>
    183183(username: <tt>anonymous</tt>, password: &lt;none&gt;)
  • chicken/trunk/version.scm

    r5358 r5362  
    1 (define-constant +build-version+ "2.634")
     1(define-constant +build-version+ "2.635")
Note: See TracChangeset for help on using the changeset viewer.