- Timestamp:
- 01/03/09 02:53:14 (11 years ago)
- Location:
- chicken/trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
chicken/trunk/Makefile.mingw
r12021 r12932 26 26 27 27 28 SRCDIR = .\\ 28 SEP = \\ 29 SRCDIR =.$(SEP) 29 30 30 31 # platform configuration … … 34 35 HACKED_APPLY = 1 35 36 WINDOWS = 1 36 NO_UNIX_SHELL = 137 WINDOWS_SHELL = 1 37 38 38 39 # file extensions … … 80 81 all: libchicken$(A) libuchicken$(A) chicken$(EXE) csi$(EXE) chicken-profile$(EXE) \ 81 82 csc$(EXE) libchicken$(SO) \ 82 libuchicken$(SO) libchickengui$(SO) libchickengui$(A) chicken- setup$(EXE) \83 chicken .info83 libuchicken$(SO) libchickengui$(SO) libchickengui$(A) chicken-install$(EXE) \ 84 chicken-status$(EXE) chicken-uninstall$(EXE) chicken.info 84 85 85 86 chicken-config.h: chicken-defaults.h … … 140 141 echo #endif >>$@ 141 142 echo #ifndef C_INSTALL_SHARE_HOME >>$@ 142 echo # define C_INSTALL_SHARE_HOME "$( IDATADIR)" >>$@143 echo # define C_INSTALL_SHARE_HOME "$(DATADIR)" >>$@ 143 144 echo #endif >>$@ 144 145 echo #ifndef C_INSTALL_BIN_HOME >>$@ 145 echo # define C_INSTALL_BIN_HOME "$( IBINDIR)" >>$@146 echo # define C_INSTALL_BIN_HOME "$(BINDIR)" >>$@ 146 147 echo #endif >>$@ 147 148 echo #ifndef C_INSTALL_EGG_HOME >>$@ 148 echo # define C_INSTALL_EGG_HOME "$( IEGGDIR)" >>$@149 echo # define C_INSTALL_EGG_HOME "$(EGGDIR)" >>$@ 149 150 echo #endif >>$@ 150 151 echo #ifndef C_INSTALL_LIB_HOME >>$@ 151 echo # define C_INSTALL_LIB_HOME "$( ILIBDIR)" >>$@152 echo # define C_INSTALL_LIB_HOME "$(LIBDIR)" >>$@ 152 153 echo #endif >>$@ 153 154 echo #ifndef C_INSTALL_STATIC_LIB_HOME >>$@ 154 echo # define C_INSTALL_STATIC_LIB_HOME "$( ILIBDIR)" >>$@155 echo # define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)" >>$@ 155 156 echo #endif >>$@ 156 157 echo #ifndef C_INSTALL_INCLUDE_HOME >>$@ 157 echo # define C_INSTALL_INCLUDE_HOME "$(I INCDIR)" >>$@158 echo # define C_INSTALL_INCLUDE_HOME "$(INCDIR)" >>$@ 158 159 echo #endif >>$@ 159 160 echo #ifndef C_INSTALL_MORE_LIBS >>$@ … … 191 192 echo #endif >>$@ 192 193 echo #ifndef C_TARGET_LIB_HOME >>$@ 193 echo # define C_TARGET_LIB_HOME "$(TARGET_PREFIX) \\lib" >>$@194 echo # define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ 194 195 echo #endif >>$@ 195 196 echo #ifndef C_TARGET_RUN_LIB_HOME >>$@ 196 echo # define C_TARGET_RUN_LIB_HOME "$(TARGET_PREFIX) \\lib" >>$@197 echo # define C_TARGET_RUN_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ 197 198 echo #endif >>$@ 198 199 echo #ifndef C_TARGET_SHARE_HOME >>$@ 199 echo # define C_TARGET_SHARE_HOME "$(TARGET_PREFIX) \\share" >>$@200 echo # define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share" >>$@ 200 201 echo #endif >>$@ 201 202 echo #ifndef C_TARGET_INCLUDE_HOME >>$@ 202 echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX) \\include" >>$@203 echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include" >>$@ 203 204 echo #endif >>$@ 204 205 echo #ifndef C_TARGET_STATIC_LIB_HOME >>$@ 205 echo # define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX) \\lib" >>$@206 echo # define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ 206 207 echo #endif >>$@ 207 208 echo #ifndef C_BINARY_VERSION >>$@ -
chicken/trunk/Makefile.mingw-msys
r12021 r12932 1 # Makefile.mingw - configuration for MinGW ( noMSYS) -*- Makefile -*-1 # Makefile.mingw - configuration for MinGW (MSYS) -*- Makefile -*- 2 2 # 3 3 # Copyright (c) 2007, Felix L. Winkelmann 4 # Copyright (c) 2008 , The Chicken Team4 # Copyright (c) 2008-2009, The Chicken Team 5 5 # All rights reserved. 6 6 # -
chicken/trunk/Makefile.msvc
r12819 r12932 2 2 # 3 3 # Copyright (c) 2007, Felix L. Winkelmann 4 # Copyright (c) 2008-2009 The Chicken Team 4 5 # All rights reserved. 5 6 # … … 33 34 # Germany 34 35 35 PREFIX = c:\\msvc-devtools 36 SRCDIR = . \\36 SEP = \\ 37 SRCDIR = .$(SEP) 37 38 38 39 # platform configuration … … 42 43 HACKED_APPLY = 43 44 WINDOWS = 1 45 WINDOWS_SHELL = 1 44 46 45 47 # file extensions -
chicken/trunk/TODO
r12929 r12932 29 29 compile-/expansion-time), when import is #t and o import lib 30 30 exists. 31 32 ** setup/install33 *** qs: automatically quote with #\" and replace #\/ with #\\ on windows?34 31 35 32 ** build … … 99 96 .SECONDARY help? 100 97 98 ** documentation 99 *** document qs, normalize-pathname 100 101 101 ** "weak" gc roots (as suggested by Alejo) 102 102 -
chicken/trunk/chicken-install.scm
r12922 r12932 171 171 (define *eggs+dirs* '()) 172 172 (define *checked* '()) 173 (define *csi* (shellpath (make-pathname *program-path* "csi"))) 173 174 174 175 (define (try name version) … … 273 274 (parameterize ((current-directory (cdr e+d))) 274 275 (let ((cmd (sprintf 275 "~a /csi-bnq -e \"(require-library setup-api)\" -e \"(import setup-api)\" ~a ~a ~a ~a ~a ~a"276 * program-path*276 "~a -bnq -e \"(require-library setup-api)\" -e \"(import setup-api)\" ~a ~a ~a ~a ~a ~a" 277 *csi* 277 278 (if (sudo-install) "-e \"(sudo-install #t)\"" "") 278 279 (if *keep* "-e \"(keep-intermediates #t)\"" "") … … 283 284 "") 284 285 (make-pathname (cdr e+d) (car e+d) "setup")))) 285 (system* cmd)) 286 (print cmd) 287 (system* (sprintf "~a" cmd))) 286 288 (when (and *run-tests* 287 289 (file-exists? "tests") … … 289 291 (file-exists? "tests/run.scm") ) 290 292 (current-directory "tests") 291 (let ((cmd (sprintf "~a /csi -s run.scm ~a" *program-path* (car e+d))))293 (let ((cmd (sprintf "~a -s run.scm ~a" *csi* (car e+d)))) 292 294 (print cmd) 293 (system* cmd)))))295 (system* (sprintf "~a" cmd)))))) 294 296 *eggs+dirs*))) 295 297 -
chicken/trunk/csc.scm
r12896 r12932 28 28 (declare 29 29 (block) 30 (uses data-structures ports srfi-1 srfi-13 utils files extras 30 (uses data-structures ports srfi-1 srfi-13 utils files extras)) 31 31 32 32 #> … … 125 125 126 126 (define (quotewrap str) 127 (if (string-any char-whitespace? str) 128 (string-append "\"" str "\"") 129 str) ) 127 (qs (normalize-pathname str))) 130 128 131 129 (define home … … 536 534 (printf "Warning: output file will overwrite source file `~A' - renaming source to `~A.old'~%" 537 535 target-filename target-filename) 538 (unless (zero? ($system (sprintf "mv ~A ~A.old" target-filename target-filename))) 536 (unless (zero? ($system (sprintf "~A ~A ~A" 537 (if (or msvc mingw) "move" "mv") 538 (quotewrap target-filename) 539 (quotewrap (string-append target-filename ".old"))))) 539 540 (exit last-exit-code) ) ) 540 541 (run-linking)) ) ] -
chicken/trunk/defaults.make
r12920 r12932 40 40 # directories 41 41 42 S RCDIR ?= ./43 42 SEP ?= / 43 SRCDIR ?= .$(SEP) 44 44 DESTDIR ?= 45 46 ifeq ($(PLATFORM),mingw-msys)47 PREFIX ?= c:/devtools48 else49 ifeq ($(PLATFORM),mingw)50 PREFIX ?= c:\\devtools51 else52 45 PREFIX ?= /usr/local 53 endif54 endif55 46 56 47 BINDIR = $(PREFIX)/bin … … 66 57 EGGDIR = $(CHICKENLIBDIR)/$(BINARYVERSION) 67 58 68 ifeq ($(PLATFORM),mingw) 69 IBINDIR = $(PREFIX)\\bin 70 ILIBDIR = $(PREFIX)\\lib 71 ISHAREDIR = $(PREFIX)\\share 72 IDATADIR = $(ISHAREDIR)\\chicken 73 ITOPMANDIR = $(ISHAREDIR)\\man 74 IMANDIR = $(ITOPMANDIR)\\man1 75 IINFODIR = $(ISHAREDIR)\\info 76 IINCDIR = $(PREFIX)\\include 77 IDOCDIR = $(IDATADIR)\\doc 78 ICHICKENLIBDIR = $(ILIBDIR)\\chicken 79 IEGGDIR = $(ICHICKENLIBDIR)\\$(BINARYVERSION) 80 else 59 ifdef WINDOWS_SHELL 60 SPREFIX = $(subst /,\\,$(PREFIX)) 61 IBINDIR = $(SPREFIX)$(SEP)bin 62 ILIBDIR = $(SPREFIX)$(SEP)lib 63 ISHAREDIR = $(SPREFIX)$(SEP)share 64 IDATADIR = $(ISHAREDIR)$(SEP)chicken 65 ITOPMANDIR = $(ISHAREDIR)$(SEP)man 66 IMANDIR = $(ITOPMANDIR)$(SEP)man1 67 IINFODIR = $(ISHAREDIR)$(SEP)info 68 IINCDIR = $(SPREFIX)$(SEP)include 69 IDOCDIR = $(IDATADIR)$(SEP)doc 70 ICHICKENLIBDIR = $(ILIBDIR)$(SEP)chicken 71 IEGGDIR = $(ICHICKENLIBDIR)$(SEP)$(BINARYVERSION) 72 else 73 SPREFIX = $(PREFIX) 81 74 IBINDIR = $(BINDIR) 82 75 ILIBDIR = $(LIBDIR) … … 106 99 endif 107 100 LINKER ?= $(C_COMPILER) 108 if eq ($(PLATFORM),mingw)101 ifdef WINDOWS_SHELL 109 102 REMOVE_COMMAND ?= del 110 103 else … … 113 106 ASSEMBLER ?= $(C_COMPILER) 114 107 MAKEINFO_PROGRAM ?= -makeinfo 115 if eq ($(PLATFORM),mingw)108 ifdef WINDOWS_SHELL 116 109 INSTALL_PROGRAM ?= copy 117 110 MAKEDIR_COMMAND ?= -mkdir … … 188 181 LIBRARIAN_OUTPUT ?= $(LIBRARIAN_OUTPUT_OPTION) $@ 189 182 LIBRARIES ?= -lm 190 if eq ($(PLATFORM),mingw)183 ifdef WINDOWS_SHELL 191 184 REMOVE_COMMAND_OPTIONS ?= /f /q 192 185 REMOVE_COMMAND_RECURSIVE_OPTIONS ?= /f /s /q … … 198 191 endif 199 192 MAKEINFO_PROGRAM_OPTIONS ?= --no-split 200 ifn eq ($(PLATFORM),mingw)193 ifndef WINDOWS_SHELL 201 194 INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= -m755 202 195 INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= -m644 … … 250 243 251 244 HOSTNAME ?= $(shell hostname) 252 if eq ($(PLATFORM),mingw)245 ifdef WINDOWS_SHELL 253 246 BUILD_TIME ?= $(shell date /t) 254 247 UNAME_SYS ?= MinGW … … 258 251 endif 259 252 BUILD_TAG ?= compiled $(BUILD_TIME) on $(HOSTNAME) ($(UNAME_SYS)) 260 261 ifdef LOCKTOSPACE 262 C_COMPILER_BUILD_RUNTIME_OPTIONS += -DC_LOCK_TOSPACE 263 endif 253 COPYMANY = 264 254 265 255 … … 349 339 .PHONY: all 350 340 351 ifdef NO_UNIX_SHELL341 ifdef WINDOWS_SHELL 352 342 all: $(TARGETS) 353 343 else … … 378 368 echo "#endif" >>$@ 379 369 echo "#ifndef C_INSTALL_SHARE_HOME" >>$@ 380 echo "# define C_INSTALL_SHARE_HOME \"$( IDATADIR)\"" >>$@370 echo "# define C_INSTALL_SHARE_HOME \"$(DATADIR)\"" >>$@ 381 371 echo "#endif" >>$@ 382 372 echo "#ifndef C_INSTALL_BIN_HOME" >>$@ 383 echo "# define C_INSTALL_BIN_HOME \"$( IBINDIR)\"" >>$@373 echo "# define C_INSTALL_BIN_HOME \"$(BINDIR)\"" >>$@ 384 374 echo "#endif" >>$@ 385 375 echo "#ifndef C_INSTALL_EGG_HOME" >>$@ 386 echo "# define C_INSTALL_EGG_HOME \"$( IEGGDIR)\"" >>$@376 echo "# define C_INSTALL_EGG_HOME \"$(EGGDIR)\"" >>$@ 387 377 echo "#endif" >>$@ 388 378 echo "#ifndef C_INSTALL_LIB_HOME" >>$@ 389 echo "# define C_INSTALL_LIB_HOME \"$( ILIBDIR)\"" >>$@379 echo "# define C_INSTALL_LIB_HOME \"$(LIBDIR)\"" >>$@ 390 380 echo "#endif" >>$@ 391 381 echo "#ifndef C_INSTALL_STATIC_LIB_HOME" >>$@ 392 echo "# define C_INSTALL_STATIC_LIB_HOME \"$( ILIBDIR)\"" >>$@382 echo "# define C_INSTALL_STATIC_LIB_HOME \"$(LIBDIR)\"" >>$@ 393 383 echo "#endif" >>$@ 394 384 echo "#ifndef C_INSTALL_INCLUDE_HOME" >>$@ 395 echo "# define C_INSTALL_INCLUDE_HOME \"$(I INCDIR)\"" >>$@385 echo "# define C_INSTALL_INCLUDE_HOME \"$(INCDIR)\"" >>$@ 396 386 echo "#endif" >>$@ 397 387 echo "#ifndef C_INSTALL_MORE_LIBS" >>$@ … … 428 418 echo "# define C_CROSS_CHICKEN $(CROSS_CHICKEN)" >>$@ 429 419 echo "#endif" >>$@ 430 ifdef WINDOWS431 echo "#ifndef C_TARGET_LIB_HOME" >>$@432 echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)\\lib\"" >>$@433 echo "#endif" >>$@434 echo "#ifndef C_TARGET_RUN_LIB_HOME" >>$@435 echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)\\lib\"" >>$@436 echo "#endif" >>$@437 echo "#ifndef C_TARGET_SHARE_HOME" >>$@438 echo "# define C_TARGET_SHARE_HOME \"$(TARGET_PREFIX)\\share\"" >>$@439 echo "#endif" >>$@440 echo "#ifndef C_TARGET_INCLUDE_HOME" >>$@441 echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)\\include\"" >>$@442 echo "#endif" >>$@443 echo "#ifndef C_TARGET_STATIC_LIB_HOME" >>$@444 echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)\\lib\"" >>$@445 echo "#endif" >>$@446 else447 420 echo "#ifndef C_TARGET_LIB_HOME" >>$@ 448 421 echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ … … 460 433 echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ 461 434 echo "#endif" >>$@ 462 endif463 435 echo "#ifndef C_CHICKEN_PROGRAM" >>$@ 464 436 echo "# define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)\"" >>$@ -
chicken/trunk/files.import.scm
r11680 r12932 43 43 pathname-replace-file 44 44 pathname-strip-directory 45 pathname-strip-extension)) 45 pathname-strip-extension 46 normalize-pathname)) -
chicken/trunk/files.scm
r12920 r12932 37 37 (declare 38 38 (unit files) 39 (uses regex )39 (uses regex data-structures) 40 40 (usual-integrations) 41 41 (fixnum) … … 342 342 (call-with-output-file pn (lambda (p) pn)) ) ) ) ) ) ) ) 343 343 344 345 ;;; normalize pathname for a particular platform 346 347 (define (normalize-pathname path #!optional (platform (build-platform))) 348 (case platform 349 ((mingw32 msvc) 350 (string-translate path "/" "\\")) 351 (else path))) 352 353 344 354 ;; Directory string or list only contains path-separators 345 355 ;; and/or current-directory names. -
chicken/trunk/rules.make
r12920 r12932 774 774 775 775 chicken.info: chicken.texi 776 $(MAKEINFO_PROGRAM) $(MAKEINFO_PROGRAM_OPTIONS) $<776 -$(MAKEINFO_PROGRAM) $(MAKEINFO_PROGRAM_OPTIONS) $< 777 777 778 778 # installation … … 920 920 ifneq ($(CROSS_CHICKEN),1) 921 921 ifeq ($(DESTDIR),) 922 -$(DESTDIR)$(IBINDIR) /$(CHICKEN_INSTALL_PROGRAM) -update-db922 -$(DESTDIR)$(IBINDIR)$(SEP)$(CHICKEN_INSTALL_PROGRAM) -update-db 923 923 else 924 924 @echo … … 936 936 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-profile.1 $(DESTDIR)$(IMANDIR) 937 937 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-bug.1 $(DESTDIR)$(IMANDIR) 938 $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IDOCDIR) /html939 -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)html /* $(DESTDIR)$(IDOCDIR)/html938 $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IDOCDIR)$(SEP)html 939 -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)html$(SEP)* $(DESTDIR)$(IDOCDIR)$(SEP)html 940 940 -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken.pdf $(DESTDIR)$(IDOCDIR) 941 941 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)README $(DESTDIR)$(IDOCDIR) 942 942 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)LICENSE $(DESTDIR)$(IDOCDIR) 943 943 -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) chicken.info $(DESTDIR)$(IINFODIR) 944 $(INSTALLINFO_PROGRAM) $(INSTALLINFO_PROGRAM_OPTIONS) --infodir=$(DESTDIR)$(IINFODIR) chicken.info945 ifdef WINDOWS 944 -$(INSTALLINFO_PROGRAM) $(INSTALLINFO_PROGRAM_OPTIONS) --infodir=$(DESTDIR)$(IINFODIR) chicken.info 945 ifdef WINDOWS_SHELL 946 946 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(SRCDIR)csibatch.bat $(DESTDIR)$(IBINDIR) 947 947 endif … … 949 949 950 950 ifdef STATICBUILD 951 # copy/xcopy is too dumb on Windows 951 952 install-import-libs: 952 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(IMPORT_LIBRARIES:=.import.scm) $(DESTDIR)$(IEGGDIR) 953 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) scheme.import.scm $(DESTDIR)$(IEGGDIR) 954 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) chicken.import.scm $(DESTDIR)$(IEGGDIR) 955 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) lolevel.import.scm $(DESTDIR)$(IEGGDIR) 956 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-1.import.scm $(DESTDIR)$(IEGGDIR) 957 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-4.import.scm $(DESTDIR)$(IEGGDIR) 958 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) data-structures.import.scm $(DESTDIR)$(IEGGDIR) 959 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) ports.import.scm $(DESTDIR)$(IEGGDIR) 960 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) files.import.scm $(DESTDIR)$(IEGGDIR) 961 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) posix.import.scm $(DESTDIR)$(IEGGDIR) 962 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-13.import.scm $(DESTDIR)$(IEGGDIR) 963 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-69.import.scm $(DESTDIR)$(IEGGDIR) 964 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) extras.import.scm $(DESTDIR)$(IEGGDIR) 965 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) regex.import.scm $(DESTDIR)$(IEGGDIR) 966 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-14.import.scm $(DESTDIR)$(IEGGDIR) 967 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) tcp.import.scm $(DESTDIR)$(IEGGDIR) 968 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) foreign.import.scm $(DESTDIR)$(IEGGDIR) 969 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) compiler.import.scm $(DESTDIR)$(IEGGDIR) 970 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-18.import.scm $(DESTDIR)$(IEGGDIR) 971 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) utils.import.scm $(DESTDIR)$(IEGGDIR) 972 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) csi.import.scm $(DESTDIR)$(IEGGDIR) 973 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) irregex.import.scm $(DESTDIR)$(IEGGDIR) 974 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) setup-api.import.scm $(DESTDIR)$(IEGGDIR) 975 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) setup-download.import.scm $(DESTDIR)$(IEGGDIR) 953 976 else 954 977 install-import-libs: 955 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(IMPORT_LIBRARIES:=.import.so) $(DESTDIR)$(IEGGDIR) 978 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) scheme.import.so $(DESTDIR)$(IEGGDIR) 979 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) chicken.import.so $(DESTDIR)$(IEGGDIR) 980 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) lolevel.import.so $(DESTDIR)$(IEGGDIR) 981 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-1.import.so $(DESTDIR)$(IEGGDIR) 982 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-4.import.so $(DESTDIR)$(IEGGDIR) 983 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) data-structures.import.so $(DESTDIR)$(IEGGDIR) 984 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) ports.import.so $(DESTDIR)$(IEGGDIR) 985 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) files.import.so $(DESTDIR)$(IEGGDIR) 986 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) posix.import.so $(DESTDIR)$(IEGGDIR) 987 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-13.import.so $(DESTDIR)$(IEGGDIR) 988 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-69.import.so $(DESTDIR)$(IEGGDIR) 989 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) extras.import.so $(DESTDIR)$(IEGGDIR) 990 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) regex.import.so $(DESTDIR)$(IEGGDIR) 991 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-14.import.so $(DESTDIR)$(IEGGDIR) 992 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) tcp.import.so $(DESTDIR)$(IEGGDIR) 993 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) foreign.import.so $(DESTDIR)$(IEGGDIR) 994 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) compiler.import.so $(DESTDIR)$(IEGGDIR) 995 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) srfi-18.import.so $(DESTDIR)$(IEGGDIR) 996 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) utils.import.so $(DESTDIR)$(IEGGDIR) 997 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) csi.import.so $(DESTDIR)$(IEGGDIR) 998 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) irregex.import.so $(DESTDIR)$(IEGGDIR) 999 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) setup-api.import.so $(DESTDIR)$(IEGGDIR) 1000 $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) setup-download.import.so $(DESTDIR)$(IEGGDIR) 956 1001 endif 957 1002 … … 989 1034 $(REMOVE_COMMAND) $(REMOVE_COMMAND_RECURSIVE_OPTIONS) $(DESTDIR)$(IDATADIR) 990 1035 $(UNINSTALLINFO_PROGRAM) $(UNINSTALLINFO_PROGRAM_OPTIONS) --infodir=$(DESTDIR)$(IINFODIR) chicken.info 991 $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IINFODIR) /chicken.info992 ifdef WINDOWS 993 $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR) /csibatch.bat1036 $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IINFODIR)$(SEP)chicken.info 1037 ifdef WINDOWS_SHELL 1038 $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)$(SEP)csibatch.bat 994 1039 endif 995 1040 -
chicken/trunk/setup-api.scm
r12838 r12932 44 44 find-library find-header 45 45 program-path remove-file* 46 patch yes-or-no? abort-setup qs46 patch yes-or-no? abort-setup 47 47 setup-root-directory create-directory/parents 48 48 test-compile try-compile copy-file run-verbose … … 53 53 remove-directory 54 54 remove-extension 55 read-info) 55 read-info 56 shellpath) 56 57 57 58 (import scheme chicken foreign … … 165 166 "/usr/local") ) ) ) 166 167 168 (define (shellpath str) 169 (qs (normalize-pathname str))) 170 167 171 (define (cross-chicken) (##sys#fudge 39)) 168 172 … … 230 234 231 235 232 (define create-directory-0233 (let ([create-directory create-directory])234 (lambda (dir)235 (let loop ([dir dir])236 (when (and dir (not (directory? dir)))237 (loop (pathname-directory dir))238 (create-directory dir))) ) ) )239 240 236 (define create-directory/parents 241 237 (let () 238 (define create-directory-0 239 (let ([create-directory create-directory]) 240 (lambda (dir) 241 (let loop ([dir dir]) 242 (when (and dir (not (directory? dir))) 243 (loop (pathname-directory dir)) 244 (create-directory dir))) ) ) ) 242 245 (define (verb dir) 243 246 (when (setup-verbose-flag) (printf " creating directory `~a'~%~!" dir)) ) … … 248 251 (lambda (dir) 249 252 (verb dir) 250 (system* "mkdir -p ~a" (qs dir) ) ) ) ) ) 251 252 (define (qs str) 253 (string-concatenate 254 (map (lambda (c) 255 (if (or (char-whitespace? c) 256 (memq c '(#\# #\" #\' #\` #\Ž #\~ #\& #\% #\$ #\! #\* #\; #\< #\> #\\ 257 #\( #\) #\[ #\] #\{ #\}))) 258 (string #\\ c) 259 (string c))) 260 (string->list str)))) 253 (system* "mkdir -p ~a" (shellpath dir) ) ) ) ) ) 261 254 262 255 (define abort-setup … … 292 285 (let ((tmp (create-temporary-file))) 293 286 (patch (list tmp tmp) rx subst) 294 (system* "~A ~A ~A" *move-command* ( qstmp)295 ( qswhich)))))287 (system* "~A ~A ~A" *move-command* (shellpath tmp) 288 (shellpath which))))) 296 289 297 290 (define run-verbose (make-parameter #t)) … … 300 293 (cond ((string=? prg "csc") 301 294 (string-intersperse 302 (cons* ( qs295 (cons* (shellpath 303 296 (make-pathname 304 297 *chicken-bin-path* … … 309 302 " ") ) 310 303 ((assoc prg *installed-executables*) => 311 (lambda (a) ( qs(make-pathname *chicken-bin-path* (cdr a)))))304 (lambda (a) (shellpath (make-pathname *chicken-bin-path* (cdr a))))) 312 305 (else prg) ) ) 313 306 … … 508 501 (let ((tmp (create-temporary-file))) 509 502 (with-output-to-file tmp (cut pp info)) 510 (run (,*move-command* ,( qs tmp) ,(qssetup-file)))))503 (run (,*move-command* ,(shellpath tmp) ,(shellpath setup-file))))) 511 504 (else (with-output-to-file setup-file (cut pp info)))) 512 (unless *windows-shell* (run (,*chmod-command* a+r ,( qssetup-file)))))))505 (unless *windows-shell* (run (,*chmod-command* a+r ,(shellpath setup-file))))))) 513 506 514 507 (define (copy-file from to #!optional (err #t) (prefix (installation-prefix))) … … 520 513 (cond ((or (glob? from) (file-exists? from)) 521 514 (begin 522 (run (,*copy-command* ,( qs from) ,(qsto)))515 (run (,*copy-command* ,(shellpath from) ,(shellpath to))) 523 516 to)) 524 517 (err (error "file does not exist" from)) … … 529 522 (to (if (pair? from) (make-pathname to (cadr from)) to))) 530 523 (ensure-directory to) 531 (run (,*move-command* ,( qs from) ,(qsto)) ) ) )524 (run (,*move-command* ,(shellpath from) ,(shellpath to)) ) ) ) 532 525 533 526 (define (remove-file* dir) 534 (run (,*remove-command* ,( qsdir)) ) )527 (run (,*remove-command* ,(shellpath dir)) ) ) 535 528 536 529 (define (make-dest-pathname path file) … … 570 563 (when (and (not *windows*) 571 564 (equal? "so" (pathname-extension to))) 572 (run (,*remove-command* ,( qsto)) ))565 (run (,*remove-command* ,(shellpath to)) )) 573 566 (copy-file from to) 574 567 (unless *windows-shell* 575 (run (,*chmod-command* a+r ,( qsto))))568 (run (,*chmod-command* a+r ,(shellpath to)))) 576 569 (and-let* ((static (assq 'static info))) 577 570 (when (and (eq? (software-version) 'macosx) 578 571 (equal? (cadr static) from) 579 572 (equal? (pathname-extension to) "a")) 580 (run (,*ranlib-command* ,( qsto)) ) ))573 (run (,*ranlib-command* ,(shellpath to)) ) )) 581 574 (make-dest-pathname rpath f))) 582 575 files) ) ) … … 621 614 (copy-file from to) 622 615 (unless *windows-shell* 623 (run (,*chmod-command* a+r ,( qsto))))616 (run (,*chmod-command* a+r ,(shellpath to)))) 624 617 to) ) 625 618 files) ) ) … … 636 629 (copy-file from to) 637 630 (unless *windows-shell* 638 (run (,*chmod-command* a+r ,( qsto))))631 (run (,*chmod-command* a+r ,(shellpath to)))) 639 632 to) ) 640 633 files) ) ) … … 661 654 (create-directory dir) 662 655 (unless *windows-shell* 663 (run (,*chmod-command* a+x ,( qsdir))))))))656 (run (,*chmod-command* a+x ,(shellpath dir)))))))) 664 657 665 658 (define (try-compile code #!key c++ (cc (if c++ *cxx* *cc*)) (cflags "") (ldflags "") … … 683 676 cmd) ) ) ) ) 684 677 (when verb (print (if (zero? r) "succeeded." "failed."))) 685 (system (sprintf "~A ~A" *remove-command* ( qsfname)))678 (system (sprintf "~A ~A" *remove-command* (shellpath fname))) 686 679 (zero? r) ) ) 687 680 -
chicken/trunk/utils.import.scm
r11646 r12932 32 32 for-each-line 33 33 read-all 34 system*)) 34 system* 35 qs)) -
chicken/trunk/utils.scm
r11646 r12932 28 28 (declare 29 29 (unit utils) 30 (uses regex data-structures extras files )30 (uses regex data-structures extras files srfi-13) 31 31 (usual-integrations) 32 32 (fixnum) … … 210 210 (read-string #f file) 211 211 (with-input-from-file file (cut read-string #f)) ) ) ) 212 213 214 ;;; Quote string for shell 215 216 (define (qs str #!optional (platform (build-platform))) 217 (case platform 218 ((mingw32 msvc) 219 (string-append "\"" str "\"")) 220 (else 221 (if (zero? (string-length str)) 222 "''" 223 (string-concatenate 224 (map (lambda (c) 225 (if (or (char-whitespace? c) 226 (memq c '(#\# #\" #\' #\` #\Ž #\~ #\& #\% #\$ #\! #\* #\; #\< #\> #\\ 227 #\( #\) #\[ #\] #\{ #\}))) 228 (string #\\ c) 229 (string c))) 230 (string->list str)))))))
Note: See TracChangeset
for help on using the changeset viewer.