Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] build split trial, and other stuff

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Andrew <afrayedknot AT thefrayedknot.armory.com>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] build split trial, and other stuff
  • Date: Tue, 13 Apr 2004 00:04:12 -0700

Im attaching a preliminary version of sorcery with build split modifications.
They are fairly significant since Im nearly incapable or doing 'small'
changes to the codebase for a significant feature.

Please try out this version of sorcery, just unpack it then
cd devel
./install
as usual. I would like feedback as to whether or not it works right
under various circumstances. So by all means, play around and try to
break it. See if the compile log bug still shows up (it shouldn't)
and likewise for the false positive bug (where you cast something,
it fails but cast thinks it was successful).

<notes>
(skip to the end notes tag if you dont care to try this out yet)
The default behavior is that of the grimoire as we are used to. To turn
on the fancy new grimoire layout with BUILD split into BUILD, PRE_INSTALL
and INSTALL as discussed, along with POST_BUILD -> POST_INSTALL and
POST_INSTALL -> FINAL, do one or more of the following:
add "BUILD_API=2" to
1) a spells DETAILS file
2) a special file called API_VERSION at the section level
3) a special file called API_VERSION at the grimoire level
(set BUILD_API=1 for the old behavior)

Only one of these is necessary, and as you would imagine DETAILS overrides
the section level and the section level overrides the grimoire.

This means you can tell sorcery that an entire section uses the new
system by having just a single file in the section (chilling with the
MAINTAINER file).

Of course it goes without saying that you have to convert the spell to
the new layout :)

One last note, the libapi functions will change meaning based on the value of
BUILD_API. For example default_build will mean what it always has when
BUILD_API=1, and when BUILD_API=2, default_build will only be
./configure <options> &&
make

Likewise on layout 1, the function default_install isn't defined but is
on layout 2. Hopefully that makes sense. Everything should be transparent
except for the new BUILD_API variable.
</notes>

Glad you made it this far. My plan is to get this code solidified and
ensure that it works, then pull it, cleanse and other bug fixes we have
picked up into stable sorcery 1.10, after that we can go crazy moving spells
to the new layout. I dont have a date, nor do I want to set one right now.

But before we do that, I have one more proposal to make:
BUILD seems to require this
(
...
) 2>&1 >$C_FIFO
thing around it, which if I understand correctly, spawns a subshell and
redirects the output back to our compile log. The problem is, default_build
does this too, so if a BUILD file calls default_build its ambigious as to
what BUILD should look like. Dufflebunk correct me if I am wrong
but we can simply enclose the call to BUILD inside sorcery in
(
) 2>&1 $C_FIFO
and remove the restriction on BUILD (and friends) to do the same.

I think the would make life easier for everyone and since we are touching
all the BUILD files anyway, its pretty easy to sneak in.

Comments/questions/flames?

-Andrew

--
__________________________________________________________________________
|Andrew D. Stitt | astitt at sourcemage.org |
|irc: afrayedknot | afrayedknot at t.armory.com |
|aim: thefrayedknot or iteratorplusplus | |
|Sorcery Team Lead, Porting Team Lead | |
|Grimoire Guru ham/smgl | ftp://t.armory.com |
|Author and Maintainer of Prometheus | |
--------------------------------------------------------------------------

Attachment: sorcery-bs.tar.bz2
Description: Binary data




Archive powered by MHonArc 2.6.24.

Top of Page