Ok, I am adding a new switch to flx_build_prep to aid
configuration. The switch

        --setup=filename

causes filename to be loaded and files copied according to the
instructions therein.

The files are copied from the shared source directory into the
target directory. Note: NOT from the repository. Therefore to
copy from the repository you also need to use the --copy-repo 
switch.

The format of the setup file is a list of lines of the form

        src > dst

where src is a regular expression and dest is a replacement string.
This format is already used in flx_build_rtl.

For example if the repository contains

        src/config/iOS/stuff.fpc

and you copied the repository then you can say this:

        share/src/config/iOS/(.*) > config/${1}


and all the packages in the iOS subdirectory get copied into your
new target config directory.

The LHS of the copy is a Perl (Google RE2) regexp. 
The RHS target accepts matched subgroup subsititutions,
using the format ${999} where 999 is the subgroup number.

Note again: you can ONLY copy from the source directory.
And you can ONLY copy into the new target sub directory.
For example

        flx_build_prep \
                --source_dir=build/release \
                --target_dir=build/release \
                --target_bin=iOS \
                --setup=iOS-setup.txt

can copy anything in build/release into build/release/iOS.

The setup file can be anywhere. The idea is to put it in the repository
for each setup. The setup operation is done LAST, after any other copying
by the program. So it can be use to overwrite incorrectly setup files.
It can't be used to delete them though.

The mechanism is theoretically complete, that is, this is always enough
to configure any target, provided all the files needed are prepared
in advanced by some kind porter and committed to the repository.

The mechanism is not entirely closed. Closure would mean that
anyone can use this command and get the same results.
Closure would be nice, but at the moment manually preparing
a target may require a sequence of steps and put stuff in 
build/release that isn't yet in the repository. If you do this
experimentally make sure to finally put it in the repository
and adjust the setup file!

I may change it a bit, closure would be nice.
The setup file is strong enough to replace most of flx_build_prep,
[It can't replace the --clean options .. but i have never used those :]

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




------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to