Ok, so the current Felix builder is progressing.

At present the layout is:


        ROOT/share/src # repository source
        ROOT/share/lib # reorganised as library
        ROOT/share/lib/rtl # shared C++ headers

        ROOT/target/config # some config
        ROOT/target/lib # platform dependent Felix
        ROOT/target/lib/rtl # platform dependent C++ headers,
                object files, libraries, binary plugins, etc.
        ROOT/target/bin # executables

The standard target is "host". There should be three options I'm working
towards:

        (0) Build a new image using current directory as repository
                This is a bootstrapping step.

        (1) Build a new image, which means a new ROOT
                This copies the whole "share" directory and
                builds some target, usually target=host

        (2) Add a new target to given image.

Note step 0 is basically due to a combination of a repository
pollution problem (naught me: I work in the repository directory,
which adds a lot of crap, sometimes not at the top level, eg
"flx src/tools/webserver" makes an executable file in the src/tools).
The Python build doesn't copy the repository (it can be done if
I can figure out Erick's slighly weird file copying function).


Technically, the image ROOT is used to tied multiple targets
to a given share. The PROBLEM with this design is that if you have
an enterprise level share, you may not have permission to add
targets to its parent directory. And you may not want to, you might
want personal development or sandboxing targets.

The "right" way to do this is for each target to contain a "link"
to the share from which it was derived. Such targets can be moved
about. However for building prior to initial Felix installation this
is a pain because the share can NOT be moved as it will break
all the links from the target. however when building the target binaries
the link must be current (so it cannot be preset to the install location).

Another way to do this is make the user provide TWO names:
the whole path to the share and another path to the target.
The problem with that is that there's no assurance they target
will be derived from that share.

Yet another method is to create a file containing BOTH these
path names. That gets back to a single point install concept,
although moving directories around requires editing or creating
a new one of these files.



--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to