source: trunk/configure.ac @ 316

Last change on this file since 316 was 316, checked in by Matthew Whiting, 17 years ago
  • Centralised the definitions of the various colours used in the graphical output.
  • Removed the function Cube::plotBlankEdges(), replacing it with direct calls to drawBlankEdges, using a defined colour.
File size: 7.2 KB
Line 
1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.57)
5AC_INIT([Duchamp], [1.1], [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([unistd.h time.h math.h iostream fstream sstream iomanip vector string algorithm functional])
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])
118  AC_MSG_NOTICE([
119     WARNING! PGPLOT could not be found.
120     Compiling Duchamp without graphics capabilities.])               
121#  AC_DEFINE([HAVE_PGPLOT], [0], [Define to 1 if PGPLOT is available.])
122else
123  AC_MSG_NOTICE([PGPLOT appears to be available.])
124  AC_DEFINE([HAVE_PGPLOT], [1], [Define to 1 if PGPLOT is available.])
125fi
126
127AC_SUBST([PGPLOTINC])
128AC_SUBST([PGPLOTLIB])
129##########################################################################
130
131##########################################################################
132# Search for CFITSIO.
133for INCDIR in $INCDIRS ; do
134  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
135  INCDIR=$INCDIR/cfitsio
136  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
137done
138
139AC_CHECK_LIB([socket],  [recv],   [CFITSIOLIB="-lsocket"], [], [$LIBS])
140AC_CHECK_LIB([cfitsio], [ffopen], [CFITSIOLIB="-lcfitsio $CFITSIOLIB"], [],
141             [$CFITSIOLIB $LIBS])
142
143if test "x$CFITSIOINC" = x -o "x$CFITSIOLIB" = x; then
144  AC_MSG_ERROR([
145    -------------------------------------------------------
146    Could not find the CFITSIO library.
147
148    ERROR: Duchamp configuration failure.
149    -------------------------------------------------------], [1])
150else
151  for LIBDIR in $LIBDIRS ; do
152    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
153    LIBDIR=$LIBDIR/cfitsio
154    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
155  done
156  AC_MSG_NOTICE([CFITSIO appears to be available.])
157  AC_DEFINE([HAVE_CFITSIO], [1], [Define to 1 if CFITSIO is available.])
158fi
159
160AC_SUBST([CFITSIOINC])
161AC_SUBST([CFITSIOLIB])
162##########################################################################
163
164##########################################################################
165# Search for WCSLIB.
166for INCDIR in $INCDIRS ; do
167  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
168  INCDIR=$INCDIR/wcslib
169  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
170done
171for INCDIR in $INCDIRS ; do
172  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
173  INCDIR=$INCDIR/wcslib
174  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
175done
176
177AC_CHECK_LIB([pgsbox], [cpgsbox], [WCSLIB="-lpgsbox $WCSLIB"], [],
178             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
179AC_CHECK_LIB([wcs], [wcss2p], [WCSLIB="-lwcs $WCSLIB"], [],
180             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
181
182if test "x$WCSINC" = x -o "x$WCSLIB" = x; then
183  AC_MSG_ERROR([
184    -------------------------------------------------------
185    Could not find the WCSLIB library.
186
187    ERROR: Duchamp configuration failure.
188    -------------------------------------------------------], [1])
189else
190  for LIBDIR in $LIBDIRS ; do
191    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
192    LIBDIR=$LIBDIR/wcs
193    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
194  done
195  for LIBDIR in $LIBDIRS ; do
196    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
197    LIBDIR=$LIBDIR/wcs
198    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
199  done
200  AC_MSG_NOTICE([WCSLIB appears to be available.])
201  AC_DEFINE([HAVE_WCSLIB], [1], [Define to 1 if WCSLIB is available.])
202fi
203
204AC_SUBST([WCSINC])
205AC_SUBST([WCSLIB])
206##########################################################################
207
208AC_SUBST([LDFLAGS])
209
210AC_CONFIG_FILES([Makefile])
211AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.