source: trunk/FACT++/erfa/README.rst@ 18367

Last change on this file since 18367 was 18348, checked in by tbretz, 9 years ago
File size: 2.8 KB
Line 
1This is the source code repository for ERFA (Essential Routines for
2Fundamental Astronomy). ERFA is a C library containing key algorithms for
3astronomy, and is based on the `SOFA library <http://www.iausofa.org/>`_ published by the International
4Astronomical Union (IAU).
5
6ERFA is intended to replicate the functionality of SOFA (aside from possible
7bugfixes in ERFA that have not yet been included in SOFA), but is licensed
8under a three-clause BSD license to enable its compatibility with a wide
9range of open source licenses. Permission for this release has been
10obtained from the SOFA board, and is avilable in the ``LICENSE`` file included
11in this source distribution.
12
13Differences from SOFA
14---------------------
15
16This version of ERFA (v1.2.0) is based on SOFA version "20150209_a", with the
17differences outlined below.
18
19ERFA branding
20^^^^^^^^^^^^^
21
22All references to "SOFA" in the source code have been changed to ERFA, and
23functions have the prefix ``era`` instead of ``iau``.
24
25C macro prefixes
26^^^^^^^^^^^^^^^^
27
28All C macros used in ERFA are the same as their SOFA equivalents, but with an
29``ERFA_`` prefix to prevent namespace collisions.
30
31Bugfixes
32^^^^^^^^
33
34ERFA includes smaller changes that may or may not eventually make it into SOFA,
35addressing localized bugs or similar smaller issues:
36
37* Currently no bugfixe changes relative to SOFA.
38
39Building and installing ERFA
40----------------------------
41
42To build and install a released version of ERFA in your OS's standard
43location, simply do::
44
45 ./configure
46 make
47 make install
48
49If you want to run the tests to make sure ERFA built correctly, before
50installing do::
51
52 make check
53
54
55For developers
56^^^^^^^^^^^^^^
57
58If you are using a developer version from github, you will need to first do
59``./bootstrap.sh`` before the above commands. This requires ``autoconf`` and
60``libtool``.
61
62If you wish to build against the ERFA static library without installing, you
63will find it in ``$ERFAROOT/src/.libs/liberfa.a`` after running ``make``.
64
65Creating a single-file version of the source code
66^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67
68Alternatively, if you wish to bundle the ERFA source code with a separate
69package, you can use the ``source_flattener.py`` script from the
70`erfa-fetch repository`_ to combine
71the ERFA source code into just two files: a ``erfa.c`` source file, and an
72``erfa.h`` include file. You should run this script like this::
73
74 cd /path/to/erfa-source-code
75 python /path/to/erfa-fetch/source_flattener.py src -n erfa
76
77If possible, however, it is recommended that you provide an option to use any
78copy of the ERFA library that is already installed on the system.
79
80Travis build status
81-------------------
82.. image:: https://travis-ci.org/liberfa/erfa.png
83 :target: https://travis-ci.org/liberfa/erfa
84
85.. _erfa-fetch repository: https://github.com/liberfa/erfa-fetch
Note: See TracBrowser for help on using the repository browser.