On 24/04/2013, at 8:47 AM, john skaller wrote:
> Just a quick note on the new system. to make both C++ and Felix compiles work
> we now need TWO pointers to directories:
>
> (1) A pointer to the platform independent library interfaces: share
>
> (2) A pointer to the platform dependent library interfaces: host
> [The name "host" will vary later if cross compiling]
Phase 1 of the restructure now appears to build. This does NOT mean all
the tools work! However "flx" works.
There is some hackery in the Python fbuild script that isn't quite right
but it works well enough to provide a host build.
The new layout is:
$FLX_INSTALL_DIR/share/
lib # felix library
lib/rtl # C++ headers
src/ # the sources (yet to be done)
$FLX_INSTALL_DIR/host/
config/*.fpc # config files
lib # felix platform dependent files
lib/rtl # C++ config headers, objects, archives, shared libs,
and plugins
bin # executables
I think I will move the library binaries and headers to "rtl" (instead of
lib/rtl)
or perhaps put them in lib and move the felix to "felix".
The effect of this is that to C++ compile you have to provide TWO -I switches,
one for host, and one for share. Similarly for Felix compilation.
flx --test=build/release
will do this for you.
Conceptually, we wil add
flx --target=dirname
The default is --target=-host, which is the name of the configuration/platform
dependent directory. A non-default value could be used with a debugging
build, or cross compilation target.
A new tool will be needed to configure such a target. I already have most
of the tool written to build Felix given such a config:
src/tools/flx_build_rtl_demo.flx
already builds a new RTL given a config. However it builds from the repository.
Instead it should build from the installed source:
$FLX_INSTALL_DIR/share/src
and it should also build the plugins and other stuff. An extension would build
the tools as well and in particular it should be capable of building
--target=host
which effectively means once the Python build is done and installed it
can be used to bootstrap a rebuild using only Felix code (no Python).
In turn this means a tarball can be made for developers and they can
build and upgrade Felix without needing Python. Provided flxg doesn't
change Ocaml won't be needed either.
--
john skaller
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language