User Tools

Site Tools


build:bindings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
build:bindings [2014/07/08 11:24]
Yann Pouillon [Workflow]
build:bindings [2014/11/04 22:47] (current)
Yann Pouillon [Workflow]
Line 1: Line 1:
 +====== 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 [[http://​www-drfmc.cea.fr/​L_Sim/​V_Sim/​|the home page of V_Sim]], and more specifically its [[http://​www-drfmc.cea.fr/​L_Sim/​V_Sim/​install.html|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):
 +
 +<code bash>
 +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
 +</​code>​
 +
 +To build an individual bindings item, just type ''​make <​name_of_the_binding>​-bindings''​ from the top //​bindings//​ build directory.
build/bindings.txt ยท Last modified: 2014/11/04 22:47 by Yann Pouillon