This is an old revision of the document!
Table of Contents
Building bindings
Introduction
The bindings available in Abinit allow external packages to access some Abinit components and remain synchronized with the latest developments in a semi-automatic manner.
For a typical example using the Abinit parser bindings, please see the home page of V_Sim, and more specifically its installation howto.
Important note: since the bindings are still relatively experimental and might cause unexpected issues, we recommend you to build Abinit without the –enable-exports option for all production calculations.
Workflow
Abinit bindings are built independently of the core source code. They only require the core build to be configured with the –enable-exports option. The following diagram shows the typical workflow used to obtain the bindings at build time.
<ditaa> +————————+ +—————————-+ +———————+
Normal build of Abinit | Go to the bindings/ subdir | Configure and build | ||
configured with +—>+ of the build directory +—>+ bindings | ||||
enable_exports set | and edit config.sh |
+————————+ +—————————-+ +———————+ </ditaa>
The typical command sequence for such a build would read as follows (replacing the ${…} variables by the names you chose for your build):
cd ${abinit_srcdir} mkdir ${abinit_builddir} && cd ${abinit_builddir} ${abinit_srcdir}/configure --enable-exports make -j8 cd bindings edit config.sh ${abinit_srcdir}/bindings/configure make
To build an individual bindings item, just type make <name_of_the_binding>-bindings
from the top bindings build directory.