[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Fwd: Re: Lost Labyrinth]



As promised some info from Richard on elice.
--- Begin Message ---
Hi there. Thank you for taking an interest in packaging this!
I like to see my work be useful :)

However, I want to give some warnings about elice's capabilities.
I think of it as a compiler for Lost Labyrinth, not as a purebasic
compiler. In fact I want to avoid the phrase "a purebasic compiler"
entirely because I'm worried about trademark disputes. I might settle
on "a free compiler for programs written in PureBasic" eventually.

In any case, I think it is unlikely that elice can compile any other
program than Lost Labyrinth. It only supports the language features
that laby actually uses. It leaves out some significant features
(such as array parameters) and only includes a small subset of the
library functions that PureBasic programmers expect. It even takes
some shortcuts that rely on laby's logic (it assumes that the
argument to CatchSprite is always the latest result from NextPackFile,
in order to avoid passing a 64-bit pointer through the 32-bit
purebasic model).

I have looked for other free software written in PureBasic, in
order to try it with elice, but I have not found any yet.
Lost Labyrinth might be the only relevant program :)

Considering all that, I think elice could reasonably be viewed
as part of laby's build system. This would be an option 3:
Markus releases a version 2.9.2 that includes the sources,
build tools (including elice) and resource files in a way that is
convenient for packaging. What would you think of that?

I can go either way on this, and it should be up to you as the
packager. I originally planned to release elice separately,
before Markus offered to include it in his svn, and I have
space for it at
  http://clueonic.org/elice/archive/
I have just now put the current release there. 

I also had parts of an index.html that I wrote a month ago,
but I'm really not good at those, so if the directory-index
is good enough for you then I'd prefer to leave it that way :)

Note that elice contains some patches for laby 2.9.1 and a
makefile target ("make laby") that builds it if you provide
the necessary tarfiles. This will probably need updating for
future releases, but future releases should also need no patches.
(The patches fix some bugs exposed by elice, and remove some
ambiguities where it wasn't clear how the code should be compiled.)

> Which is why I've taken the liberty to add Richard to the CC of this 
> mail. What needs to happen is to add some docs (atleast a simple README) 
> and a make install target to the current elice svn code, so that elice 
> can be installed under /usr/bin and any files it needs to generate code 
> under /usr/share/elice or (if arch dependent) under /usr/lib/elice, and 
> elice needs to be thought to search for the needed files there.

I guess elice could also use some improvement in its command-line
interface. Currently it just sends the C++ code to standard output
and relies on the makefile to take care of the rest.
It would be nice if it invokes g++ on its own, and keeps track of
which libraries need to be linked in. It's a fairly long list of
SDL-related libs.

The current version needs very little installation.
The 'elice' script just needs a ruby interpreter, and all the
support files it uses are inlined into the script. So just copying
elice to wherever you want it would work.

Maybe I can use parts of this mail to make a README file :) But
for now it is late and I'm going to bed.

-- 
Richard Braakman

We can achieve more by promoting generosity, awareness, and freedom
than we can by vainly kicking at a buttless foe. -- VHEMT


--- End Message ---

Reply to: