Thread: [Clg-devel] Hello
Brought to you by:
espen
From: Marco A. <ma...@cs...> - 2000-11-06 22:14:56
|
Hi, just testing. Anybody here? Cheers -- Marco Antoniotti ============================================================= NYU Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://galt.mrl.nyu.edu/valis Like DNA, such a language [Lisp] does not go out of style. Paul Graham, ANSI Common Lisp |
From: Espen S J. <esp...@on...> - 2000-11-06 23:50:09
|
Marco Antoniotti <ma...@cs...> writes: > Hi, > > just testing. > > Anybody here? Oh, yes This list hasn't excatly been overcrowded, but it has gotten a few subscribers, so welcome everybody. Have anyone succeeded or tried to build clg? (I doubt it because it requiers a patched mk:defsystem) -- Espen |
From: Marco A. <ma...@cs...> - 2000-11-07 14:49:32
|
> Cc: clg...@li... > From: Espen S Johnsen <esp...@on...> > Date: 07 Nov 2000 00:46:40 +0100 > Content-Length: 316 > > Marco Antoniotti <ma...@cs...> writes: > > > Hi, > > > > just testing. > > > > Anybody here? > > Oh, yes > > This list hasn't excatly been overcrowded, but it has gotten a few > subscribers, so welcome everybody. > > Have anyone succeeded or tried to build clg? (I doubt it because it > requiers a patched mk:defsystem) Well. First of all I have not been able to download the CVS tree. Maybe because I am not in the developers' list? As per MK:DEFSYSTEM, talk to me! :) Cheers -- Marco Antoniotti ============================================================= NYU Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://galt.mrl.nyu.edu/valis Like DNA, such a language [Lisp] does not go out of style. Paul Graham, ANSI Common Lisp |
From: Espen S J. <esp...@on...> - 2000-11-08 14:01:19
|
Marco Antoniotti <ma...@cs...> writes: > First of all I have not been able to download the CVS tree. Maybe > because I am not in the developers' list? If you by download mean "Download Nightly CVS Tree Tarball", try this link <URL:http://cvs.sourceforge.net/cvstarballs/clg-cvsroot.tar.gz>. Anonymous CVS access should also work. Due to some pretty large internal changes in gtk/glib recently, you would probably not be able to get clg working at the moment, but I am working on it. > As per MK:DEFSYSTEM, talk to me! :) Well, I did post a patch to the clocc-list a few months ago, which fixed a couple of bugs and extended the mechanism for building C files. -- Espen |
From: Marco A. <ma...@cs...> - 2000-11-08 21:07:10
|
> Cc: clg...@li... > From: Espen S Johnsen <esp...@on...> > Date: 08 Nov 2000 14:58:40 +0100 > Sender: clg...@li... > X-BeenThere: clg...@li... > X-Mailman-Version: 2.0beta5 > Precedence: bulk > List-Id: <clg-devel.lists.sourceforge.net> > Content-Length: 844 > > Marco Antoniotti <ma...@cs...> writes: > > > First of all I have not been able to download the CVS tree. Maybe > > because I am not in the developers' list? > > If you by download mean "Download Nightly CVS Tree Tarball", try this > link <URL:http://cvs.sourceforge.net/cvstarballs/clg-cvsroot.tar.gz>. > Anonymous CVS access should also work. Ok. This worked. > Due to some pretty large internal changes in gtk/glib recently, you > would probably not be able to get clg working at the moment, but I am > working on it. > > > As per MK:DEFSYSTEM, talk to me! :) > > Well, I did post a patch to the clocc-list a few months ago, which fixed > a couple of bugs and extended the mechanism for building C files. Yep. I remember. I also believe they made it in the latest distribution. Can you double check this? MK-DEFSYSTEM is available as a tarball from the CLOCC main page. Cheers -- Marco Antoniotti ============================================================= NYU Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://galt.mrl.nyu.edu/valis Like DNA, such a language [Lisp] does not go out of style. Paul Graham, ANSI Common Lisp |
From: Espen S J. <esp...@on...> - 2000-11-09 12:29:06
|
Marco Antoniotti <ma...@cs...> writes: > > > As per MK:DEFSYSTEM, talk to me! :) > > > > Well, I did post a patch to the clocc-list a few months ago, which fixed > > a couple of bugs and extended the mechanism for building C files. > > Yep. I remember. I also believe they made it in the latest > distribution. Can you double check this? MK-DEFSYSTEM is available > as a tarball from the CLOCC main page. Double checking... No, your latest release is identical to CVS version 1.21 which I made my patch against. I have included a slightly modified verson with better error handling, see my original post for comments. One of the bugs it should fix is then one number #108380 at SourceForge. --- defsystem.lisp-1.21 Sun Aug 6 01:55:09 2000 +++ defsystem.lisp Thu Nov 9 12:56:55 2000 @@ -2061,8 +2061,8 @@ ;; #'load. Unlike fdmm's SET-LANGUAGE macro, this allows a defsystem to ;; mix languages. (language nil :type (or null symbol)) - (compiler nil :type (or null function)) - (loader nil :type (or null function)) + (compiler nil :type (or null symbol function)) + (loader nil :type (or null symbol function)) (compiler-options nil :type list) ; A list of compiler options to ; use for compiling this ; component. These must be @@ -2292,7 +2292,7 @@ (file-write-date path)))) system) system))) - (:LOAD + (:LOAD (or (unless *reload-systems-from-disk* (get-system system-name)) (or (find-system system-name :load-or-nil definition-pname) (error "Can't find system named ~s." system-name)))))) @@ -2607,11 +2607,11 @@ ;; Set up extension defaults (setf (component-extension component :source) - (or (component-extension component :source :local t) ; local default + (or (component-extension component :source :local nil) ; local default (when parent ; parent's default (component-extension parent :source)))) (setf (component-extension component :binary) - (or (component-extension component :binary :local t) ; local default + (or (component-extension component :binary :local nil) ; local default (when parent ; parent's default (component-extension parent :binary)))) @@ -3692,12 +3692,101 @@ output-file))) ||# -(defun c-compile-file (filename &rest args &key output-file error-file) +(defun default-output-pathname (path1 path2 type) + (if (eq path1 t) + (merge-pathnames + (make-pathname :type type) + (translate-logical-pathname (pathname path2))) + (translate-logical-pathname (pathname path1)))) + + +(defun run-compiler (program arguments output-file error-file error-output + verbose) + #-cmu(declare (ignore error-file error-output)) + (flet ((make-useable-stream (&rest streams) + (apply #'make-broadcast-stream (delete nil streams)))) + (let* (#+cmu + (error-file + (when error-file + (default-output-pathname + error-file output-file *compile-error-file-type*))) + #+cmu + (error-file-stream + (and + error-file + (open error-file :direction :output :if-exists :supersede))) + (verbose-stream + (make-useable-stream + #+cmu error-file-stream (and verbose *standard-input*))) + (old-timestamp (file-write-date output-file))) + + (format verbose-stream "Running ~A~@[ ~{~A~^ ~}~]~%" program arguments) + (let* ((fatal-error + #-cmu(and (run-unix-program program arguments) nil) ; can't tell + #+cmu + (let* ((error-output + (make-useable-stream + error-file-stream + (if (eq error-output t) *error-output* error-output))) + (process + (ext:run-program program arguments :error error-output))) + (not (zerop (ext:process-exit-code process))))) + (output-file-written + (and + (probe-file output-file) + (not (eql old-timestamp (file-write-date output-file)))))) + + (when output-file-written + (format verbose-stream "~A written~%" output-file)) + (format verbose-stream "Running of ~A finished~%" program) + + #+cmu + (when error-file + (close error-file-stream) + (unless (or fatal-error (not output-file-written)) + (delete-file error-file))) + (values + (and output-file-written output-file) fatal-error fatal-error))))) + + + +(defun c-compile-file (filename &rest args &key (output-file t) (error-file t) + (error-output t) (verbose *compile-verbose*) + debug link optimize cflags definitions include-paths + library-paths libraries (error t)) ;; gcc -c foo.c -o foo.o - (declare (ignore args error-file)) - (run-unix-program *c-compiler* - `("-c" ,filename ,@(if output-file `("-o" ,output-file))))) - + (declare (ignore args)) + (flet ((map-options (flag options &optional (func #'identity)) + (map + 'list + #'(lambda (option) + (format nil "~A~A" flag (funcall func option))) + options))) + (let* ((output-file (default-output-pathname output-file filename "o")) + (arguments + `(,@(if (not link) '("-c")) + ,@(if debug '("-g")) + ,@(if optimize (list (format nil "-O~D" optimize))) + ,@cflags + ,@(map-options + "-D" definitions + #'(lambda (definition) + (if (atom definition) + definition + (apply #'format nil "~A=~A" definition)))) + ,@(map-options "-I" include-paths #'truename) + ,(namestring (truename filename)) + "-o" ,(namestring (translate-logical-pathname output-file)) + ,@(map-options "-L" library-paths #'truename) + ,@(map-options "-l" libraries)))) + + (multiple-value-bind (output-file warnings fatal-errors) + (run-compiler *c-compiler* arguments output-file error-file + error-output verbose) + (if (and error (or (not output-file) fatal-errors)) + (error "Compilation failed") + (values output-file warnings fatal-errors)))))) + @@ -3705,7 +3794,8 @@ :compiler #'c-compile-file :loader #+:lucid #'load-foreign-files #+:allegro #'load - #-(or :lucid :allegro) #'load + #+:cmu #'alien:load-foreign + #-(or :lucid :allegro :cmu) #'load :source-extension "c" :binary-extension "o") -- Espen |
From: Marco A. <ma...@cs...> - 2000-11-09 14:52:32
|
Thanks. I will apply the pathces. Are you sure they don't break other things? Cheers -- Marco Antoniotti ============================================================= NYU Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://galt.mrl.nyu.edu/valis Like DNA, such a language [Lisp] does not go out of style. Paul Graham, ANSI Common Lisp |
From: Espen S J. <esp...@on...> - 2000-11-09 20:21:56
|
Marco Antoniotti <ma...@cs...> writes: > I will apply the pathces. Are you sure they don't break other things? Thanks, I can't give any guarantees, but so far I haven't experienced any problems. -- Espen |