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 skal...@users.sourceforge.net 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 Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language