1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-13 16:55:35 +02:00

Working on configure.org

This commit is contained in:
Anthony Scemama 2021-03-07 00:58:17 +01:00
parent 5f2da3e9fa
commit 8153b84c7b
5 changed files with 154 additions and 0 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
docs/index.html
docs/htmlize.el
autom4te.cache/
config.log
config.status
src/auto/
src/ltximg/
src/qmckl.mod
*.swp

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "munit"]
path = munit
url = https://github.com/nemequ/munit/
[submodule "docs/org-html-themes"]
path = docs/org-html-themes
url = https://github.com/fniessen/org-html-themes.git

137
configure.org Normal file
View File

@ -0,0 +1,137 @@
#+TITLE: QMCkl configuration
This files contains al the information to generate the files required
by Autotools to build the =configure= script for the library.
* Scripts analyzing source code
** Version of the library
#+NAME: version
#+BEGIN_SRC sh
echo 1.0
#+END_SRC
#+RESULTS: version
: 1.0
#+NAME: issues
#+BEGIN_SRC sh
echo "https://github.com/TREX-CoE/qmckl/issues"
#+END_SRC
#+RESULTS: issues
: https://github.com/TREX-CoE/qmckl/issues
#+NAME: website
#+BEGIN_SRC sh
echo "https://trex-coe.github.io/qmckl/index.html"
#+END_SRC
#+RESULTS: website
: https://trex-coe.github.io/qmckl/index.html
#+NAME: revision
#+BEGIN_SRC sh
git log --oneline | head -1
#+END_SRC
#+RESULTS: revision
: 5f2da3e Fixed website
** C Header files
#+NAME: headers
#+BEGIN_SRC sh :tangle no
#grep --regexp="\#include\\s+<.*>" --no-filename src/*.org \
grep --regexp="\#include\\s*<.*>" --no-filename src/*.org \
| sort \
| uniq \
| cut -d '<' -f 2 \
| cut -d '>' -f 1 \
| tr '\n' ' '
#+END_SRC
#+RESULTS: headers
: assert.h errno.h math.h stdint.h stdlib.h string.h
* configure.ac
** Initialization
#+BEGIN_SRC sh :noweb yes :tangle configure.ac
# This file was generated from the org-mode file configure.org
VERSION=[<<version()>>]
AC_SUBST([VERSION])
AC_REVISION([<<revision()>>])
AC_INIT([QMCkl],[<<version()>>],
[<<issues()>>], [],
[<<website()>>])
#+END_SRC
** Source files
#+BEGIN_SRC sh :noweb yes :tangle configure.ac
AC_CONFIG_SRCDIR([src/README.org])
#+END_SRC
** C Compiler
#+BEGIN_SRC sh :noweb yes :tangle configure.ac
AC_LANG_PUSH([C])
AC_PROG_CC
AC_CHECK_HEADERS([<<headers()>>])
#+END_SRC
** Fortran Compiler
#+BEGIN_SRC sh :noweb yes :tangle configure.ac
AC_PROG_FC([ifort gfortran flang],[Fortran])
AC_PROG_FC_C_O
AC_FC_SRCEXT([f90])
AC_FC_FREEFORM
#+END_SRC
** External libraries
#+BEGIN_SRC sh :tangle configure.ac
AC_CHECK_HEADER([munit/munit.h], [echo found], [echo not found] )
AC_CHECK_LIB([pthread], [pthread_create])
AC_SEARCH_LIBS([dgemm], [blas mkl],
[],
AC_MSG_ERROR([Unable to find a BLAS library])
])
#+END_SRC
** Makefile
#+BEGIN_SRC sh :tangle configure.ac
AC_CONFIG_FILES(Makefile)
#+END_SRC
** Library
#+BEGIN_SRC sh :tangle configure.ac
#+END_SRC
** Documentation
#+BEGIN_SRC sh :noweb yes :tangle configure.ac
AC_CHECK_PROGS([HAS_EMACS],[emacs],[])
#+END_SRC
** Finalization
#+BEGIN_SRC sh :tangle configure.ac
AC_OUTPUT
#+END_SRC
* Makefile.am

1
docs/org-html-themes Submodule

@ -0,0 +1 @@
Subproject commit f7224a489462abc2c2174edbf7d4e82c0e276183

View File

@ -3,6 +3,7 @@
The =qmckl.h= header file has to be included in <<<C>>> codes when
QMCkl functions are used:
#+BEGIN_SRC C :tangle none
#include "qmckl.h"
#+END_SRC f90
@ -11,6 +12,7 @@
In <<<Fortran>>> programs, the =qmckl_f.f90= interface file should be
included in the source code using the library, and the Fortran codes
should use the ~qmckl~ module as
#+BEGIN_SRC f90 :tangle none
use qmckl
#+END_SRC f90