Update of /project/cells-gtk/cvsroot/root In directory common-lisp.net:/tmp/cvs-serv30140
Modified Files: INSTALL.TXT load.lisp Log Message: Adjust INSTALL.TXT and Load.lisp in UFFI version to conform with UFFI version Date: Thu Dec 16 17:36:26 2004 Author: ktilton
Index: root/INSTALL.TXT diff -u root/INSTALL.TXT:1.1 root/INSTALL.TXT:1.2 --- root/INSTALL.TXT:1.1 Fri Nov 19 00:39:51 2004 +++ root/INSTALL.TXT Thu Dec 16 17:36:25 2004 @@ -1,36 +1,39 @@ +############################################################################################################# +The notes below apply to the UFFI port of Cells-gtk done by Ken Tilton. (Actually I have forked UFFI and +call it Hello-C, but the idea is the same: portable FFI.) + +For the original version by Vasilis Margioulas, which uses native CLisp FFI to +good advantage, grab this: + + http://common-lisp.net/cgi-bin/viewcvs.cgi/cells-gtk/clisp-cgtk/clisp-cgtk.t... + +...and follow the INSTALL.TXT in that. + +############################################################################################################## + Dependencies: Utils-kt: http://common-lisp.net/cgi-bin/viewcvs.cgi/cell-cultures/utils-kt/utils-kt.t... +Hello-C: http://common-lisp.net/cgi-bin/viewcvs.cgi/cell-cultures/hello-c/hello-c.tar... Cells: http://common-lisp.net/cgi-bin/viewcvs.cgi/cell-cultures/cells/cells.tar.gz?...
On windows install Gtk: http://prdownloads.sourceforge.net/gimp-win/gtk%2B-2.4.10-20041001-setup.zip...
-[kenny says: I had to add the gtk libs to my path variable: +Add the gtk libs to your PATH variable:
Start>Settings>Control Panel>System>Advanced>Environment Variables>
Then select PATH and hit "Edit". Append to existing value:
"C:\Program Files\Common Files\GTK\2.0\bin"; ..prior values... -// eokenny] - -Edit load.lisp and adjust the paths. - -CL> (load "load.lisp") - -For a sample application - -CL> (cells-gtk:start-app 'test-gtk::test-gtk)
-[kenny says: I added to load.lisp a defun of GTK-DEMO which does the above -//eokenny] +Edit load.lisp and follow the instructions there. No, you cannot just load it.
-Note: On windows under emacs with slime, gtk window dont popups. You must start the application from a dos prompt.
+Note: On windows under emacs with slime, the gtk window does not popup. You must start the application from a dos prompt.
Tested on: - Windows xp with gtk 2.4.10 and clisp 2.33 - Linux (fedora 2) with clisp 2.33 + Windows xp with gtk 2.4.10 and clisp 2.33, using AllegroCL 6.2 Enterprise and Lispworks 4.3 Personal
Known bugs: On Windows: Clisp crash if
Index: root/load.lisp diff -u root/load.lisp:1.3 root/load.lisp:1.4 --- root/load.lisp:1.3 Tue Dec 14 05:02:12 2004 +++ root/load.lisp Thu Dec 16 17:36:25 2004 @@ -1,14 +1,29 @@ (in-package :cl-user)
+#| Step One: Get ASDF into the game. + + Obviously not necessary if you always have that + loaded. Note that you will have to adjust the pathname to point to where you + have ASDF.lisp. + +|# + #-asdf -(eval-when (compile load eval) - #+lispworks - (setq *HANDLE-EXISTING-DEFPACKAGE* '(:modify))
+(eval-when (compile load eval) (load (make-pathname :directory '(:absolute "00" "root") :name "asdf" :type "lisp")))
-(progn ;; setup +#| Step Two: Tell ASDF where to find stuff + + Again, adjust pathnames to match the locations of the various bits of source + +|# + +(progn + #+lispworks + (setq *HANDLE-EXISTING-DEFPACKAGE* '(:modify)) + (push (make-pathname :directory '(:absolute "cell-cultures" "utils-kt")) asdf:*central-registry*)
@@ -36,13 +51,22 @@ *cells-gtk-root*) asdf:*central-registry*))
-(Asdf:operate 'asdf:load-op :utils-kt :force nil) -(Asdf:operate 'asdf:load-op :cells :force nil) -(Asdf:operate 'asdf:load-op :hello-c :force nil) -(Asdf:operate 'asdf:load-op :gtk-ffi :force t) -(Asdf:operate 'asdf:load-op :cells-gtk :force nil) +#| Step 3: Compile and load via ASDF + +; these are handy when one is first working up to getting things to build at all +; but the "test-gtk" ASDF has dependencies which will load everything else, so +; you can just execute that. +; +;(Asdf:operate 'asdf:load-op :utils-kt :force nil) +;(Asdf:operate 'asdf:load-op :cells :force nil) +;(Asdf:operate 'asdf:load-op :hello-c :force nil) +;(Asdf:operate 'asdf:load-op :gtk-ffi :force t) +;(Asdf:operate 'asdf:load-op :cells-gtk :force nil) +|# + (Asdf:operate 'asdf:load-op :test-gtk :force nil)
-#+test +#+Step-4: + (test-gtk::gtk-demo)