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 revisionPrevious revision
Last revisionBoth sides next revision
build:bindings [2014/07/08 11:24] – [Workflow] Yann Pouillonbuild:bindings [2014/11/04 22:47] – [Workflow] Yann Pouillon
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.