1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-12-22 12:23:56 +01: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"] [submodule "munit"]
path = munit path = munit
url = https://github.com/nemequ/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 The =qmckl.h= header file has to be included in <<<C>>> codes when
QMCkl functions are used: QMCkl functions are used:
#+BEGIN_SRC C :tangle none #+BEGIN_SRC C :tangle none
#include "qmckl.h" #include "qmckl.h"
#+END_SRC f90 #+END_SRC f90
@ -11,6 +12,7 @@
In <<<Fortran>>> programs, the =qmckl_f.f90= interface file should be In <<<Fortran>>> programs, the =qmckl_f.f90= interface file should be
included in the source code using the library, and the Fortran codes included in the source code using the library, and the Fortran codes
should use the ~qmckl~ module as should use the ~qmckl~ module as
#+BEGIN_SRC f90 :tangle none #+BEGIN_SRC f90 :tangle none
use qmckl use qmckl
#+END_SRC f90 #+END_SRC f90