acx_cfitsio.m4 3.48 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
dnl
dnl				acx_cfitsio.m4
dnl
dnl Figure out if the CFITSIO library and header files are installed.
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl	This file part of:	AstrOmatic software
dnl
dnl	Copyright:		(C) 2019 IAP/CNRS/UPMC
dnl
dnl	License:		GNU General Public License
dnl
dnl	AstrOmatic software is free software: you can redistribute it and/or
dnl	modify it under the terms of the GNU General Public License as
dnl	published by the Free Software Foundation, either version 3 of the
dnl	License, or (at your option) any later version.
dnl	AstrOmatic software is distributed in the hope that it will be useful,
dnl	but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dnl	GNU General Public License for more details.
dnl	You should have received a copy of the GNU General Public License
dnl	along with AstrOmatic software.
dnl	If not, see <http://www.gnu.org/licenses/>.
dnl
dnl	Last modified:		16/07/2019
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl @synopsis ACX_CFITSIO([CFITSIO_LIBSDIR, CFITSIO_INCDIR, CFITSIO_PFLAG,
dnl                  ILP64_FLAG, [ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
dnl
dnl You may wish to use these variables in your default LIBS:
dnl
dnl        LIBS="$CFITSIO_LIBS $LIBS"
dnl
dnl ACTION-IF-FOUND is a list of shell commands to run if CFITSIO
dnl is found (HAVE_CFITSIO is defined first), and ACTION-IF-NOT-FOUND
dnl is a list of commands to run it if it is not found.

AC_DEFUN([ACX_CFITSIO], [
AC_REQUIRE([AC_CANONICAL_HOST])

dnl --------------------
dnl Search include files
dnl --------------------

CFITSIO_ERROR=""
if test x$2 = x; then
  [acx_cfitsio_incdir="/"]
  AC_CHECK_HEADERS(
    [${acx_cfitsio_incdir}fitsio.h],,
    [
      [acx_cfitsio_incdir=""]
      AC_CHECK_HEADER(
        [fitsio.h],,
        [CFITSIO_ERROR="CFITSIO header files not found!"]
      )
    ]
  )
else
  acx_cfitsio_incdir="$2/"
  AC_CHECK_HEADER(
    [${acx_cfitsio_incdir}fitsio.h],,
    [
      [acx_cfitsio_incdir="$2/include/"]
      AC_CHECK_HEADERS(
        [${acx_cfitsio_incdir}fitsio.h],,
        [CFITSIO_ERROR="CFITSIO header files not found in "$2"!"]
    )]
  )
fi

if test "x$CFITSIO_ERROR" = "x"; then
  AC_DEFINE_UNQUOTED(FITSIO_H, "${acx_cfitsio_incdir}fitsio.h", [CFITSIO header filename.])

dnl ----------------------------
dnl Search CFITSIO library file
dnl ----------------------------

  OLIBS="$LIBS"
  LIBS=""
  if test x$4 = xyes; then
    acx_cfitsio_suffix="64"
    CFITSIO_CFLAGS="-DCFITSIO_USE64BITINT -DLAPACK_ILP64"
  else
    acx_cfitsio_suffix=""
    CFITSIO_CFLAGS=""
  fi
  if test x$1 = x; then
    acx_cfitsio_libopt=""
  else
    acx_cfitsio_libopt="-L$1"
  fi
  AC_SEARCH_LIBS(
      [ffmahd], ["cfitsio"$acx_cfitsio_suffix],,
      [CFITSIO_ERROR="CFITSIO"$acx_cfitsio_suffix" library file not found!"],
      $acx_cfitsio_libopt
    )
  LIBS="$OLIBS"
fi

dnl -------------------------------------------------------------------------
dnl Finally execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND
dnl -------------------------------------------------------------------------

if test "x$CFITSIO_ERROR" = "x"; then
  AC_DEFINE(HAVE_CFITSIO,1, [Define if you have the CFITSIO library and header files.])
  CFITSIO_LIBS="$acx_cfitsio_libopt $ac_cv_search_ffmahd"
  AC_SUBST(CFITSIO_CFLAGS)
  AC_SUBST(CFITSIO_LDFLAGS, "")
  AC_SUBST(CFITSIO_LIBS)
  AC_SUBST(CFITSIO_WARN)
  $5
else
  AC_SUBST(CFITSIO_ERROR)
  $6
fi

])dnl ACX_CFITSIO