#+TITLE: Common #+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup This directory contains many utility functions used by all the other directories. * Dune files :noexport: :PROPERTIES: :dune: lib/dune :dune-test: test/dune :header-args: :noweb yes :END: ** Headers #+begin_src elisp :tangle (org-entry-get nil "dune" t) (library #+end_src #+begin_src elisp :tangle (org-entry-get nil "dune-test" t) (library #+end_src ** Library *** General information #+begin_src elisp :tangle (org-entry-get nil "dune" t) (name common) (public_name qcaml.common) (synopsis "General utilities used in all QCaml libraries.") #+end_src #+begin_src elisp :tangle (org-entry-get nil "dune-test" t) (name test_common) (synopsis "Test for common library") #+end_src *** Dependencies #+begin_src elisp :tangle (org-entry-get nil "dune" t) (libraries str zarith getopt ) #+end_src #+begin_src elisp :tangle (org-entry-get nil "dune-test" t) (libraries alcotest qcaml.common ) #+end_src *** Extra C files The ~util.c~ file contains small C snippets to add missing functionalities to OCaml, such as support for the ~popcnt~ instruction. #+begin_src elisp :tangle (org-entry-get nil "dune" t) (c_names util ) (c_flags (:standard) -Ofast -march=native -fPIC ) #+end_src ** Footers #+begin_src elisp :tangle (org-entry-get nil "dune" t) ) #+end_src #+begin_src elisp :tangle (org-entry-get nil "dune-test" t) ) #+end_src