I am planning to reorganise the install layout roughly as follows: PREFIX = default /usr/local/lib INSTALL = PREFIX/felix/felix-version SHARE = INSTALL/.share PLATDEP = INSTALL/platname
Share gets almost all the Felix code and C++ code and documentation. platname gets the platform dependent Felix code, platform dependent C++ headers, config.fpc files, object files, shared libraries, archives, binaries. The initial platname is "host". Other platnames can be added and should identify the host tools and target, for example clang_osx_64_x86_64 : standard osx host setup linux_gcc_win32_x86_debug: a linux setup generating code for win32 using a gcc cross compiler and generating debugging code Etc. The user choses these names, and specifies the various stuff needed to set up the environment. The "share" directory can be on a networked server and shared in an enterprise by everyone. Each platform (host, toolchain, target, performance mode) requires a separate directory and can only be shared by people with the same host architecture (and of course the same target). There is an alternative: *completely* separate directories. That is, distinct PREFIX for shared and platform stuff. I think I favour this. For example, /usr/local/lib/felix/felix-latest/share/ contains the source code and $HOME/stuff/felix/felix-latest/myosxsetup/.. The idea here is that to install Felix you just copy the source code to the shared location (requires admin privilege). but then I can build the binaries and set up the config in my personal account. And no need to install anything! I think there will be two exceptions: flx and scoop will go in /usr/local/lib/bin for convenience. Default to "host", override with env var or cmd line switch. [--test= for flx, not sure what scoop uses but it should be the same, and --test is a bad name so flx should change...] Comments appreciated. BTW: one reason for this is that I want to use the Python built Felix to bootstrap a Felix built Felix. And also provide binary downloads. In this case the sources are updated and installed either directly from GitHub or using scoop. The source installs are shared by everyone. The build is separated, possibly using scoop, and may not require any privilege. Ultimately you'll setup the config and just run code (and flx will build the C++ libraries required as well as compiling the felix code). -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language