Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!portc01.blue.aol.com!cliffs.rs.itd.umich.edu!howland.erols.net!EU.net!Austria.EU.net!01-newsfeed.univie.ac.at!swidir.switch.ch!news.grnet.gr!btnet-feed2!unlisys!cs.tu-berlin.de!news.uni-hamburg.de!news.Hanse.DE!wavehh.hanse.de!cracauer
From: cracauer@wavehh.hanse.de (Martin Cracauer)
Subject: Re: How can I make my lisp program executable?
Message-ID: <1996Dec20.212250.21617@wavehh.hanse.de>
Reply-To: cracauer@wavehh.hanse.de
Organization: Private site
References: <59e1es$3et@fermat.rutgers.edu>
Date: Fri, 20 Dec 96 21:22:50 GMT
Lines: 45

lukeh@fermat.rutgers.edu (Luke Higgins) writes:

>I have just VERY recently started my interest in lisp.  I downloaded
>and installed CMU CL on my Solaris (5.5) Sun 4 machine (where I am an
>end user).  I have been reading various code and much of the info
>found all over the web.  I see the option to byte compile code but how
>can I make an executable from my code?  I see that there are tools
>like CLiCC to convert to C compiled code but is there a different
>route to take to get an executable?  Thanks for any and all help you
>can give to one of the newest lisp enthusiasts.

To get executables under Lisp you have to use an implementation that
supports this, it is no normal functionality. CMUCL's executable is
just a little program that load the whole Common Lisp image which is
not an executable.

What is the exact reason you want an exectable for? Of course, in
CMUCL, you can write a Unix shell script for each "program". Some
variants of Scheme (and CLISP?) even allows you to use them directly
as a shell (#!/usr/local/schemename).

There are free Lisps that allow you to save a "real" executable, but
the drawback is of course that the executables may be very big. A
solution is WCL, which uses shared libraries for its Common Lisp
library. Don't know if CLiCC can use shared libs.

If the reason you want an executable is that you want one single
self-containing binary files that can be moved aross machines without
supporting files, that CMUCL is not an option.

P.S. CMUCL is a compiler towards real machine code. It has a bytecode
system, too, but your normal compilation process is producing native
code for the target platform, not bytecode.

Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin_Cracauer@wavehh.hanse.de http://cracauer.cons.org  Fax.: +4940 5228536
"As far as I'm concerned,  if something is so complicated that you can't ex-
 plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin_Cracauer@wavehh.hanse.de http://cracauer.cons.org  Fax.: +4940 5228536
"As far as I'm concerned,  if something is so complicated that you can't ex-
 plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin
