The build system is missing important features
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libGridXC |
New
|
High
|
Yann Pouillon |
Bug Description
Up to version 0.7.3, the build system of LibGridXC is non-standard and only generates a static library.
In versions < 0.7.1, the build system installs a gridxc.mk file in the top directory of the install prefix, which makes it incompatible with the Filesystem Hierarchy Standard of Unix systems.
In versions >= 0.7.1, one cannot issue "make install" anymore to install the library, which makes it nearly impossible to enable automatic deployment procedures for the library.
While the library can be built with different sets of parameters (single-precision or double-precision grids, serial or MPI-parallel), the concurrent installation of different versions of the library have to be done entirely manually, which is a highly error-prone process.
Preprocessing options have to be adjusted manually and directly, which forces the user to know their exact names to tune the behaviour of the library (DEBUG_XC, GRID_SP, LIBXC, MPI, OLD_CRAY, __TEST_
All these issues can be solved by upgrading the current build system to an Autotools-based build system, with configure options to control the use of preprocessing options and tune the name of the installed library when performing concurrent installations.
Changed in libgridxc: | |
importance: | Undecided → High |
assignee: | nobody → Yann Pouillon (pouillon) |
milestone: | none → 0.9 |
I completely agree on the shortcomings.
Let's hope that the Autotools framework is easy to understand and modify...