source: branches/FACT++_part_filenames/erfa/README.rst@ 19365

Last change on this file since 19365 was 18711, checked in by tbretz, 8 years ago
Updated to ERFA 1.3.0 (no relevant code change except the leap second at the beginning of 2017)
File size: 3.1 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.3.0) is based on SOFA version "20160503_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* ERFA 1.3.0 and SOFA "20160503_a"
38
39 + There are no differences between ERFA 1.3.0 and SOFA "20160503_a".
40
41* ERFA 1.2.0 and SOFA "20150209_a"
42
43 + Typos have been corrected in the documentation of atco13 and atio13 (see https://github.com/liberfa/erfa/issues/29).
44
45Note that issues identified in ERFA should generally also be reported upstream to SOFA at sofa@ukho.gov.uk.
46
47Building and installing ERFA
48----------------------------
49
50To build and install a released version of ERFA in your OS's standard
51location, simply do::
52
53 ./configure
54 make
55 make install
56
57If you want to run the tests to make sure ERFA built correctly, before
58installing do::
59
60 make check
61
62
63For developers
64^^^^^^^^^^^^^^
65
66If you are using a developer version from github, you will need to first do
67``./bootstrap.sh`` before the above commands. This requires ``autoconf`` and
68``libtool``.
69
70If you wish to build against the ERFA static library without installing, you
71will find it in ``$ERFAROOT/src/.libs/liberfa.a`` after running ``make``.
72
73Creating a single-file version of the source code
74^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75
76Alternatively, if you wish to bundle the ERFA source code with a separate
77package, you can use the ``source_flattener.py`` script from the
78`erfa-fetch repository`_ to combine
79the ERFA source code into just two files: a ``erfa.c`` source file, and an
80``erfa.h`` include file. You should run this script like this::
81
82 cd /path/to/erfa-source-code
83 python /path/to/erfa-fetch/source_flattener.py src -n erfa
84
85If possible, however, it is recommended that you provide an option to use any
86copy of the ERFA library that is already installed on the system.
87
88Travis build status
89-------------------
90.. image:: https://travis-ci.org/liberfa/erfa.png
91 :target: https://travis-ci.org/liberfa/erfa
92
93.. _erfa-fetch repository: https://github.com/liberfa/erfa-fetch
Note: See TracBrowser for help on using the repository browser.