From: Roland Butler
Subject: Allegro IDE question
Date: 
Message-ID: <3e3f06f7$0$9356$9b4e6d93@newsread2.arcor-online.net>
Hopefully this is the right NG for asking things not a lot to do with the
lisp language but with the IDE.
I'm new to Allegro CL for Windows, so this is probably a simple one:

Tried to build an EXE from my first little project. To keep things simple
for the moment, I use the BuildProjectExe tool (Ctrl+Alt+E) rather than
calling the functions build-lisp-image or generate-application explicitely.
Everything works ok, but when I transfer the EXE file to another Windows PC
(along with the necessary dll/dxl/pll files a.s.o.) the program runs only if
the file ansi-allegro.pll is in exactly the same directory as it is on the
development computer.
Obviously, the BuildProjectExe tool internally calls build-lisp-image with
an absolute path for the :pll-file key (absolute path is "C:/program
files/acl62/ansi-allegro.pll").
How can I change the BuildProjectExe to make it use a relative path for the
:pll-file? (relative path should be "ansi-allegro.pll")

Roland

From: Kenny Tilton
Subject: Re: Allegro IDE question
Date: 
Message-ID: <3E3F0B1A.4030406@nyc.rr.com>
Roland Butler wrote:
> Hopefully this is the right NG for asking things not a lot to do with the
> lisp language but with the IDE.
> I'm new to Allegro CL for Windows, so this is probably a simple one:
> 
> Tried to build an EXE from my first little project. To keep things simple
> for the moment, I use the BuildProjectExe tool (Ctrl+Alt+E) rather than
> calling the functions build-lisp-image or generate-application explicitely.
> Everything works ok, but when I transfer the EXE file to another Windows PC
> (along with the necessary dll/dxl/pll files a.s.o.) the program runs only if
> the file ansi-allegro.pll is in exactly the same directory as it is on the
> development computer.

Check your ACL install directory for this document:

    file:///D:/acl6/doc/building-images.htm


That eventually yaks about pll files. there you'll find a link to a 
document such as this

    file:///D:/acl6/doc/pages/operators/excl/pll-file.htm

There you will read:

pll-file

Arguments:

Returns the name and perhaps the location of the current .pll file, or 
nil if there is no .pll file associated with the running Lisp. The 
location information is only returned (along with the name) if the image 
was created with location information specified along with the name 
(that is, build-lisp-image was called with the value of the :pll-file 
argument being [directory]/[filename and type] rather than just 
[filename and type]).

On startup, Lisp looks for the pll file as follows:

     * If location information is supplied, look there only (relative to 
the current directory if the location information is relative).
     * If just the filename and type or just the filename is supplied, do:

    1. If there is no type, use the type pll. (Note that the type of the 
file supplied with the distribution is sometimes epll rather than pll.)
    2. Look in the current directory.
    3. Look in the Allegro directory.
    4. [Windows only] Look in the Windows `system' directory.



-- 

  kenny tilton
  clinisys, inc
  http://www.tilton-technology.com/
  ---------------------------------------------------------------
"Cells let us walk, talk, think, make love and realize
  the bath water is cold." -- Lorraine Lee Cudmore
From: Roland Butler
Subject: Re: Allegro IDE question
Date: 
Message-ID: <3e3f181d$0$9360$9b4e6d93@newsread2.arcor-online.net>
Kenny,
thanks for the quick response.

> ...
> There you will read:
>
> pll-file
>
> Arguments:
>
> Returns the name and perhaps the location of the current .pll file,
> ...
This is quite a problem, however. The function pll-file just returns the
name and location but cannot change them. So I typed in (pll-file) and
inspected the result. In the Inspector I changed the directory information
to NIL. After that, (pll-file) returns the expected relative path. BUT: now
the BuildProjectExe tool doesn't work anymore. It says "Cannot open lso file
ansi-allegro.pll". Then I copied the original file ansi-allegro.pll from the
acl62 directory to every place I thought it could be sensible (to
/windows/system, to the project directory, and to some other places) but
still "Cannot open lso file ansi-allegro.pll".
This is a stupid situation now. I can either
a) leave the result of (pll-file) unchanged:
 BuildProjectExe runs but builds EXE and DXL with absolute paths, or
b) change the result of (pll-file):
 BuildProjectExe could build the EXE/DXL with the desired relative path, if
it would start.

Seems that I am on the wrong track somehow. So what's the trick?

Roland
From: Kenny Tilton
Subject: Re: Allegro IDE question
Date: 
Message-ID: <3E3F284C.8080707@nyc.rr.com>
Roland Butler wrote:
> Seems that I am on the wrong track somehow. So what's the trick?

Have you tried franz tech support? they're great. this stuff is mad tricky.

for one thing, i believe the build mechanism runs in a fresh image, so 
not sure what your pll-file hacking did. and i should have said up front 
that i am no expert on this, just telling you what I know and what doc i 
know about. for one thing, you might be able to make the original 
mechanism work via commandline hijinx used to launch your DXL. our 
command-line actually kicks off our own function to set up logical 
pathnames which then get seen by the running image. cool, but no fun for 
newbies.

i've always hated building Lisp EXEs, try to have someone else do it if 
possible. :)


-- 

  kenny tilton
  clinisys, inc
  http://www.tilton-technology.com/
  ---------------------------------------------------------------
"Cells let us walk, talk, think, make love and realize
  the bath water is cold." -- Lorraine Lee Cudmore
From: Kevin Layer
Subject: Re: Allegro IDE question
Date: 
Message-ID: <mk7kcfyccy.fsf@--you-know-what-to-remove--.franz.com>
"Roland Butler" <······@mospam.com> writes:

> Hopefully this is the right NG for asking things not a lot to do with the
> lisp language but with the IDE.
> I'm new to Allegro CL for Windows, so this is probably a simple one:
> 
> Tried to build an EXE from my first little project. To keep things simple
> for the moment, I use the BuildProjectExe tool (Ctrl+Alt+E) rather than
> calling the functions build-lisp-image or generate-application explicitely.
> Everything works ok, but when I transfer the EXE file to another Windows PC
> (along with the necessary dll/dxl/pll files a.s.o.) the program runs only if
> the file ansi-allegro.pll is in exactly the same directory as it is on the
> development computer.
> Obviously, the BuildProjectExe tool internally calls build-lisp-image with
> an absolute path for the :pll-file key (absolute path is "C:/program
> files/acl62/ansi-allegro.pll").
> How can I change the BuildProjectExe to make it use a relative path for the
> :pll-file? (relative path should be "ansi-allegro.pll")
> 
> Roland

You don't want Build Project exe, you want Build Project
Distribution.  The former is for quickly building images that are used
on the same computer as the installed Allegro CL.  The latter is for
transporting your application to another environment, that does not
have Allegro CL installed.

See

http://www.franz.com/support/documentation/6.2/doc/cg/ide-user-guide/ide_user_guide_4.htm#sec-4-18

for more info.