source: tags/release-1.0.5/configure.ac

Last change on this file was 170, checked in by Matthew Whiting, 18 years ago

Three changes:

  • Change Duchamp to ./Duchamp in the verification script, to be robust against the current directory not in the user's path
  • add #include <math.h> to param.hh
  • remove repeated -lm -lg2c checks in configure script
File size: 6.9 KB
Line 
1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.57)
5AC_INIT([Duchamp], [1.0.5], [Matthew.Whiting@csiro.au])
6AC_CONFIG_SRCDIR([src/duchamp.hh])
7AC_CONFIG_HEADER([src/config.h])
8
9# Checks for programs.
10AC_PROG_CXX
11AC_PROG_CC
12AC_PROG_CPP
13
14# Checks for libraries.
15AC_CHECK_LIB([g2c], [gerror_])
16AC_CHECK_LIB([m], [log])
17
18# Checks for header files.
19AC_HEADER_STDC
20AC_CHECK_HEADERS([stdlib.h string.h unistd.h time.h math.h])
21if test "x$ac_cv_header_stdc" = xno; then
22  AC_MSG_ERROR([
23    -------------------------------------------------------------------
24    An ANSI standard C library is required to build Duchamp. 
25    One of the ANSI C header files it requires is missing or unusable.
26
27    ERROR: Duchamp configuration failure.
28    -------------------------------------------------------------------], [1])
29fi
30
31# Checks for typedefs, structures, and compiler characteristics.
32AC_HEADER_STDBOOL
33AC_C_CONST
34AC_C_INLINE
35
36# Utilities.
37AC_PROG_RANLIB
38
39# Checks for library functions.
40AC_FUNC_STRTOD
41AC_CHECK_FUNCS([floor pow sqrt strtol log atan fabs])
42
43# Extra places to look for third-party include files and libraries.
44INCDIRS="$INCDIRS           \
45         /usr/include       \
46         /usr/local/include \
47         /usr/local/pgplot  \
48         /usr/local/cfitsio \
49         /usr/local/wcslib  \
50         /local/pgplot      \
51         /local/cfitsio     \
52         /opt/local/include"
53
54LIBDIRS="$LIBDIRS           \
55         /usr/lib           \
56         /usr/local/lib     \
57         /usr/local/pgplot  \
58         /usr/local/cfitsio \
59         /usr/local/wcslib  \
60         /local/lib         \
61         /local/pgplot      \
62         /local/cfitsio     \
63         /opt/SUNWspro/lib  \
64         /opt/local/lib"
65
66AC_MSG_NOTICE(LIBDIRS)
67
68for LIBDIR in $LIBDIRS ; do
69  AC_CHECK_FILE([$LIBDIR], [LDFLAGS="$LDFLAGS -L$LIBDIR"], [continue])
70done
71
72##########################################################################
73# Search for PGPLOT
74
75for INCDIR in $INCDIRS ; do
76  AC_CHECK_FILE([$INCDIR/cpgplot.h], [PGPLOTINC=-I$INCDIR; break])
77  INCDIR=$INCDIR/pgplot
78  AC_CHECK_FILE([$INCDIR/cpgplot.h], [PGPLOTINC=-I$INCDIR; break])
79done
80
81# PGPLOT compiled with a SUN compiler but linked with something else.
82AC_CHECK_LIB([sunmath], [cosd],      [PGPLOTLIB="-lsunmath $PGPLOTLIB"],
83             [], [$PGPLOTLIB $LIBS])
84AC_CHECK_LIB([M77],     [iand_],     [PGPLOTLIB="-lM77 $PGPLOTLIB"],
85             [], [$PGPLOTLIB $LIBS])
86AC_CHECK_LIB([F77],     [f77_init],  [PGPLOTLIB="-lF77 $PGPLOTLIB"],
87             [], [$PGPLOTLIB $LIBS])
88# PGPLOT compiled with a GNU compiler but linked with something else.
89#AC_CHECK_LIB([m],       [log],       [PGPLOTLIB="-lm $PGPLOTLIB"])
90#AC_CHECK_LIB([g2c],     [gerror_],   [PGPLOTLIB="-lg2c $PGPLOTLIB"],
91#             [], [$PGPLOTLIB $LIBS])
92
93# Search for X11 includes and libraries.
94AC_PATH_X
95if test "x$ac_x_libraries" != x; then
96  LDFLAGS="$LDFLAGS -L$ac_x_libraries"
97  PGPLOTLIB="-lX11 $PGPLOTLIB"
98fi
99
100# It is possible that other libraries may be required depending on what
101# graphics drivers were installed with PGPLOT.
102AC_CHECK_LIB([z],       [deflate],   [PGPLOTLIB="-lz $PGPLOTLIB"],
103             [], [$PGPLOTLIB $LIBS])
104AC_CHECK_LIB([png],     [png_error], [PGPLOTLIB="-lpng $PGPLOTLIB"],
105             [], [$PGPLOTLIB $LIBS])
106AC_CHECK_LIB([pgplot],  [pgbeg_],    [PGPLOTLIB="-lpgplot $PGPLOTLIB"],
107             [], [$PGPLOTLIB $LIBS])
108AC_CHECK_LIB([cpgplot], [cpgopen],   [PGPLOTLIB="-lcpgplot $PGPLOTLIB"],
109             [PGPLOTLIB=], [$PGPLOTLIB $LIBS])
110
111if test "x$PGPLOTLIB" = x; then
112  AC_MSG_ERROR([
113    -------------------------------------------------------
114    Could not find the PGPLOT library.
115
116    ERROR: Duchamp configuration failure.
117    -------------------------------------------------------], [1])
118else
119  AC_MSG_NOTICE([PGPLOT appears to be available.])
120  AC_DEFINE([HAVE_PGPLOT], [1], [Define to 1 if PGPLOT is available.])
121fi
122
123AC_SUBST([PGPLOTINC])
124AC_SUBST([PGPLOTLIB])
125##########################################################################
126
127##########################################################################
128# Search for CFITSIO.
129for INCDIR in $INCDIRS ; do
130  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
131  INCDIR=$INCDIR/cfitsio
132  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
133done
134
135AC_CHECK_LIB([socket],  [recv],   [CFITSIOLIB="-lsocket"], [], [$LIBS])
136AC_CHECK_LIB([cfitsio], [ffopen], [CFITSIOLIB="-lcfitsio $CFITSIOLIB"], [],
137             [$CFITSIOLIB $LIBS])
138
139if test "x$CFITSIOINC" = x -o "x$CFITSIOLIB" = x; then
140  AC_MSG_ERROR([
141    -------------------------------------------------------
142    Could not find the CFITSIO library.
143
144    ERROR: Duchamp configuration failure.
145    -------------------------------------------------------], [1])
146else
147  for LIBDIR in $LIBDIRS ; do
148    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
149    LIBDIR=$LIBDIR/cfitsio
150    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
151  done
152  AC_MSG_NOTICE([CFITSIO appears to be available.])
153  AC_DEFINE([HAVE_CFITSIO], [1], [Define to 1 if CFITSIO is available.])
154fi
155
156AC_SUBST([CFITSIOINC])
157AC_SUBST([CFITSIOLIB])
158##########################################################################
159
160##########################################################################
161# Search for WCSLIB.
162for INCDIR in $INCDIRS ; do
163  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
164  INCDIR=$INCDIR/wcslib
165  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
166done
167for INCDIR in $INCDIRS ; do
168  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
169  INCDIR=$INCDIR/wcslib
170  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
171done
172
173AC_CHECK_LIB([wcs], [wcss2p], [WCSLIB="-lwcs $WCSLIB"], [],
174             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
175AC_CHECK_LIB([pgsbox], [cpgsbox], [WCSLIB="-lpgsbox $WCSLIB"], [],
176             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
177
178if test "x$WCSINC" = x -o "x$WCSLIB" = x; then
179  AC_MSG_ERROR([
180    -------------------------------------------------------
181    Could not find the WCSLIB library.
182
183    ERROR: Duchamp configuration failure.
184    -------------------------------------------------------], [1])
185else
186  for LIBDIR in $LIBDIRS ; do
187    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
188    LIBDIR=$LIBDIR/wcs
189    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
190  done
191  for LIBDIR in $LIBDIRS ; do
192    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
193    LIBDIR=$LIBDIR/wcs
194    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
195  done
196  AC_MSG_NOTICE([WCSLIB appears to be available.])
197  AC_DEFINE([HAVE_WCSLIB], [1], [Define to 1 if WCSLIB is available.])
198fi
199
200AC_SUBST([WCSINC])
201AC_SUBST([WCSLIB])
202##########################################################################
203
204AC_SUBST([LDFLAGS])
205
206AC_CONFIG_FILES([Makefile])
207AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.