Changeset 12851 in project


Ignore:
Timestamp:
12/19/08 08:35:06 (11 years ago)
Author:
Ivan Raikov
Message:

Some fixes to mingw build.

Location:
release/3/cmk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • release/3/cmk/Makefile

    r12843 r12851  
    1010
    1111cmk:  runtime.c library.c eval.c data-structures.c ports.c extras.c cmk.c
    12         $(CC) $(CFLAGS) -o $@ $^ -lm -lutil
     12        $(CC) $(CFLAGS) -o $@ $^ -lm
    1313
    1414clean:
  • release/3/cmk/cmk-utils.scm

    r12843 r12851  
    165165
    166166
    167 (define (##sys#stat file link loc)
     167(define (##sys#stat file loc)
    168168  (let ([r (cond [(fixnum? file) (##core#inline "C_fstat" file)]
    169169                 [(string? file)
    170170                  (let ([path (##sys#make-c-string (##sys#expand-home-path file))])
    171                     (if link
    172                         (##core#inline "C_lstat" path)
    173                         (##core#inline "C_stat" path) ) ) ]
     171                        (##core#inline "C_stat" path) ) ]
    174172                 [else (##sys#signal-hook #:type-error "bad argument type - not a fixnum or string" file)] ) ] )
    175173    (when (fx< r 0)
     
    183181(define-foreign-variable _stat_st_ctime double "C_statbuf.st_ctime")
    184182
    185 (define (file-size f) (##sys#stat f #f 'file-size) _stat_st_size)
    186 (define (file-modification-time f) (##sys#stat f #f 'file-modification-time) _stat_st_mtime)
    187 (define (file-access-time f) (##sys#stat f #f 'file-access-time) _stat_st_atime)
    188 (define (file-change-time f) (##sys#stat f #f 'file-change-time) _stat_st_ctime)
     183(define (file-size f) (##sys#stat f 'file-size) _stat_st_size)
     184(define (file-modification-time f) (##sys#stat f 'file-modification-time) _stat_st_mtime)
     185(define (file-access-time f) (##sys#stat f 'file-access-time) _stat_st_atime)
     186(define (file-change-time f) (##sys#stat f 'file-change-time) _stat_st_ctime)
    189187
    190188
  • release/3/cmk/cmk.scm

    r12843 r12851  
    4444#include <errno.h>
    4545#include <stdio.h>
     46
     47#ifdef unix
    4648#include <unistd.h>
     49#endif
     50
     51#ifdef WIN32
     52#include <fcntl.h>
     53#endif
    4754
    4855#include <sys/types.h>
    4956#include <sys/stat.h>
    5057
     58#ifdef WIN32
     59#define open_binary_input_pipe(a, n, name)   C_mpointer(a, _popen(C_c_string(name), "r"))
     60#define open_binary_output_pipe(a, n, name)  C_mpointer(a, _popen(C_c_string(name), "w"))
     61#define close_pipe(p)                        C_fix(_pclose(C_port_file(p)))
     62#else
    5163#define open_binary_input_pipe(a, n, name)   C_mpointer(a, popen(C_c_string(name), "r"))
     64#define open_binary_output_pipe(a, n, name)  C_mpointer(a, popen(C_c_string(name), "w"))
     65#define close_pipe(p)                        C_fix(pclose(C_port_file(p)))
     66#endif
     67
    5268#define open_text_input_pipe(a, n, name)     open_binary_input_pipe(a, n, name)
    53 #define open_binary_output_pipe(a, n, name)  C_mpointer(a, popen(C_c_string(name), "w"))
    5469#define open_text_output_pipe(a, n, name)    open_binary_output_pipe(a, n, name)
    55 #define close_pipe(p)                        C_fix(pclose(C_port_file(p)))
     70
    5671
    5772#define C_set_file_ptr(port, ptr)  (C_set_block_item(port, 0, (C_block_item(ptr, 0))), C_SCHEME_UNDEFINED)
     
    5974
    6075#define C_stat(fn)          C_fix(stat((char *)C_data_pointer(fn), &C_statbuf))
    61 #define C_lstat(fn)         C_fix(lstat((char *)C_data_pointer(fn), &C_statbuf))
    6276#define C_fstat(f)          C_fix(fstat(C_unfix(f), &C_statbuf))
    6377
     
    644658                    (EXE  ".exe")
    645659                   
    646                    
     660                    (posix-file "posixwin")
     661
    647662                    (libraries (append (list "-lm" "-lws2_32") (pv libraries)))
    648663                   
     
    657672                             (pv c-compiler-optimization-options)))
    658673                   
    659                     (c-compiler-shared-options
    660                      (cons "-DPIC" (pv c-compiler-shared-options)))
    661                    
    662                     (c-compiler-gui-runtime-options
    663                      (cons "-DPIC" (pv c-compiler-gui-runtime-options)))
     674                    (c-compiler-shared-options  (list "-DPIC"))
    664675                   
    665676                    (linker-link-shared-library-options (list "-shared"))
     
    678689                     (EXE  ".exe")
    679690                     
    680                      
     691                     (posix-file "posixwin")
     692
    681693                     (libraries (append (list "-lm" "-lws2_32") (pv libraries)))
    682694                     
     
    691703                              (pv c-compiler-optimization-options)))
    692704                     
    693                      (c-compiler-shared-options
    694                       (cons "-DPIC" (pv c-compiler-shared-options)))
    695                      
    696                      (c-compiler-gui-runtime-options
    697                       (cons "-DPIC" (pv c-compiler-gui-runtime-options)))
     705                     (c-compiler-shared-options (list "-DPIC" ))
    698706                     
    699707                     (linker-link-shared-library-options (list "-shared"))
     
    884892        (set! libuchicken_so-file (s+ "libuchicken" (pv SO) (pv soname-version)))
    885893
     894        (case platform
     895          ((mingw mingw-msys)  (set! libchickengui_so-file (s+ "libchickengui"  (pv SO)))))
     896
    886897        (set! chicken-static-executable   (s+ chicken-program "-static" (pv EXE)))
    887898        (set! csi-static-executable       (s+ csi-program     "-static" (pv EXE)))
     
    919930                                targets))
    920931                       (else targets)))
    921            (targets  (if (pv no-unix-shell?) targets (cons "buildsvnrevision" targets))))
     932           (targets  (cons "buildsvnrevision" targets)))
    922933      `("all"  ,targets ,void)))
    923934
     
    926937    `("buildsvnrevision" ()
    927938      ,(lambda ()
    928          (begin
    929            (run (sh ,(source-path "svnrevision.sh")))))))
     939         (if (pv no-unix-shell?)
     940             (call-with-output-file "buildsvnrevision"
     941               (lambda (out) (display "0" out)))
     942             (run (sh ,(source-path "svnrevision.sh")))))))
     943             
    930944
    931945  (define (create-chicken-defaults_h out)
     
    934948     /* generated */
    935949     ##define C_BUILD_TAG "#{(pv build-tag)}"
    936      ##define C_SVN_REVISION #{(ipipe read-line (cat buildsvnrevision))}
     950     ##define C_SVN_REVISION #{(call-with-input-file "buildsvnrevision" read-line)}
    937951     ##ifndef C_INSTALL_CC
    938952     ## define C_INSTALL_CC "#{c-compiler}"
     
    12001214               out))
    12011215             ((cygwin)
    1202               (display (s+ "#define C_SVN_REVISION " (ipipe read-line (cat buildsvnrevision))) out)
     1216              (display (s+ "#define C_SVN_REVISION " (call-with-input-file "buildsvnrevision" read-line)) out)
    12031217              (display
    12041218#<<END
     
    13941408(define library-compiler-flags
    13951409  (cons (pv c-compiler-compile-option)
    1396         (append (pv c-compiler-options) (pv c-compiler-ptables-options)
     1410        (append (pv c-compiler-options)
     1411                (pv c-compiler-ptables-options)
    13971412                (pv c-compiler-optimization-options)
    1398                 (pv c-compiler-shared-options) (pv c-compiler-build-runtime-options)
     1413                (pv c-compiler-shared-options)
     1414                (pv c-compiler-build-runtime-options)
     1415                (pv pcre-c-compiler-options )
    13991416                (pv includes) )))
    14001417
    14011418(define library-objects-rules
    14021419  (map (lambda (x)
    1403          (let ((source (case x ((runtime) (source-path (s+ x ".c")))  (else (s+ x ".c"))))
     1420         (let ((source (case x
     1421                         ((runtime) (source-path (s+ x ".c"))) 
     1422                         ((gui-runtime) (source-path "runtime.c"))
     1423                         (else (s+ x ".c"))))
    14041424               (obj (s+ x (pv O))))
    14051425           `(,obj (,source "chicken.h" ,chicken_config_h-file)
     
    14421462  (map (lambda (x)
    14431463         (let ((obj (s+ x "-static" (pv O)))
    1444                (source (case x ((runtime) (source-path (s+ x ".c")))
    1445                              (else (s+ x ".c")))))
     1464               (source (case x
     1465                         ((runtime)     (source-path (s+ x ".c")))
     1466                         ((gui-runtime) (source-path "runtime.c"))
     1467                         (else (s+ x ".c")))))
    14461468           `(,obj (,source  "chicken.h" ,chicken_config_h-file)
    14471469                  ,(lambda () (run (,c-compiler ,@library-static-compiler-flags
     
    16111633;; rules for libchicken
    16121634
     1635
     1636
    16131637(define libchicken_so-rule
    16141638  `(,libchicken_so-file
     
    16161640    ,(lambda ()
    16171641       (run (,linker ,@(pv linker-options) ,@(pv linker-link-shared-library-options)
    1618                      ,@libchicken_so-linker-options ,@libchicken_so-libraries
     1642                     ,@libchicken_so-linker-options
    16191643                     ,(linker-output libchicken_so-file)
    16201644                     ,@libchicken-shared-objects ,@pcre-shared-objects ,(pv apply-hack-object)
     1645                     ,@libchicken_so-libraries
    16211646                     ))
    16221647       (if (pv soname-version)
     
    16291654    ,(lambda ()
    16301655       (run (,linker ,@(pv linker-options) ,@(pv linker-link-shared-library-options)
    1631                      ,@libuchicken_so-linker-options ,@libuchicken_so-libraries
     1656                     ,@libuchicken_so-linker-options
    16321657                     ,(linker-output libuchicken_so-file)
    16331658                     ,@libuchicken-shared-objects ,@pcre-shared-objects ,(pv apply-hack-object)
     1659                     ,@libuchicken_so-libraries
    16341660                     ))
    16351661       (if (pv soname-version)
     
    16671693                         "-Wl,--no-whole-archive" ,@(pv libuchicken_so-libraries))))))
    16681694
    1669 (define libchickengui-so-rule
     1695(define libchickengui_so-rule
    16701696  `(,libchickengui_so-file
    16711697    (,@libchickengui-shared-objects ,@pcre-shared-objects ,(pv apply-hack-object))
    16721698    ,(lambda ()
    16731699       (run  (,linker ,@(pv linker-options) ,@(pv linker-link-shared-library-options)
    1674                       ,libchickengui_so-linker-options ,@libchickengui-so-libraries
     1700                      ,@libchickengui_so-linker-options
    16751701                      ,(linker-output libchickengui_so-file)
    1676                       ,@libchickengui-shared-objects ,@pcre-shared-objects ,(pv apply-hack-object)
     1702                      ,@libchickengui-shared-objects ,@pcre-shared-objects 
     1703                      ,(pv apply-hack-object) ,@libchickengui_so-libraries
    16771704                      )))))
    16781705
     
    23392366     ,cygchicken-0.dll-rule   
    23402367     ,cyguchicken-0.dll-rule
    2341      ,libchickengui-so-rule
     2368     ,libchickengui_so-rule
    23422369     ,libchicken_a-rule
    23432370     ,libuchicken_a-rule
Note: See TracChangeset for help on using the changeset viewer.