source: trunk/configure.ac @ 119

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

Removed the line in configure.ac referring to libstdc++ -- this is not
needed as we are using g++ to do the linking as well as compilation.

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.1], [matthew.whiting@csiro.au])
6AC_CONFIG_SRCDIR([src/param.cc])
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])
21
22# Checks for typedefs, structures, and compiler characteristics.
23AC_HEADER_STDBOOL
24AC_C_CONST
25AC_C_INLINE
26
27# Checks for library functions.
28AC_FUNC_STRTOD
29AC_CHECK_FUNCS([floor pow sqrt strtol log atan fabs])
30
31# Look for a Fortran compiler.
32AC_PROG_F77
33if test "x$F77" = x; then
34  AC_MSG_WARN([Fortran compiler not found])
35else
36  if test "x$ac_cv_f77_compiler_gnu" = xyes ; then
37    FFLAGS="$FFLAGS -Wno-globals"
38  fi
39
40  AC_MSG_CHECKING(whether $F77 accepts -I)
41  AC_LANG_PUSH(Fortran 77)
42  FFLAGS_save=$FFLAGS
43  FFLAGS=-I.
44  AC_TRY_COMPILE([], [], [FFLAGS="$FFLAGS_save -I."; AC_MSG_RESULT(yes)],
45    [FFLAGS="$FFLAGS_save"; AC_MSG_RESULT(no)])
46  AC_LANG_POP(Fortran 77)
47fi
48
49# Extra places to look for third-party include files and libraries.
50INCDIRS="$INCDIRS           \
51         /usr/include       \
52         /usr/local/include \
53         /usr/local/pgplot  \
54         /usr/local/cfitsio \
55         /usr/local/wcslib  \
56         /local/pgplot      \
57         /local/cfitsio     \
58         /opt/local/include"
59
60LIBDIRS="$LIBDIRS           \
61         /usr/lib           \
62         /usr/local/lib     \
63         /usr/local/pgplot  \
64         /usr/local/cfitsio \
65         /usr/local/wcslib  \
66         /local/lib         \
67         /local/pgplot      \
68         /local/cfitsio     \
69         /opt/SUNWspro/lib  \
70         /opt/local/lib"
71
72AC_MSG_NOTICE(LIBDIRS)
73
74for LIBDIR in $LIBDIRS ; do
75  AC_CHECK_FILE([$LIBDIR], [LDFLAGS="$LDFLAGS -L$LIBDIR"], [continue])
76done
77
78##########################################################################
79# Search for PGPLOT
80
81for INCDIR in $INCDIRS ; do
82  AC_CHECK_FILE([$INCDIR/cpgplot.h], [PGPLOTINC=-I$INCDIR; break])
83  INCDIR=$INCDIR/pgplot
84  AC_CHECK_FILE([$INCDIR/cpgplot.h], [PGPLOTINC=-I$INCDIR; break])
85done
86
87# PGPLOT compiled with a SUN compiler but linked with something else.
88AC_CHECK_LIB([sunmath], [cosd],      [PGPLOTLIB="-lsunmath $PGPLOTLIB"],
89             [], [$PGPLOTLIB $LIBS])
90AC_CHECK_LIB([M77],     [iand_],     [PGPLOTLIB="-lM77 $PGPLOTLIB"],
91             [], [$PGPLOTLIB $LIBS])
92AC_CHECK_LIB([F77],     [f77_init],  [PGPLOTLIB="-lF77 $PGPLOTLIB"],
93             [], [$PGPLOTLIB $LIBS])
94# PGPLOT compiled with a GNU compiler but linked with something else.
95AC_CHECK_LIB([m],       [log],       [PGPLOTLIB="-lm $PGPLOTLIB"])
96AC_CHECK_LIB([g2c],     [gerror_],   [PGPLOTLIB="-lg2c $PGPLOTLIB"],
97             [], [$PGPLOTLIB $LIBS])
98
99# Search for X11 includes and libraries.
100AC_PATH_X
101if test "x$ac_x_libraries" != x; then
102  LDFLAGS="$LDFLAGS -L$ac_x_libraries"
103  PGPLOTLIB="-lX11 $PGPLOTLIB"
104fi
105
106# It is possible that other libraries may be required depending on what
107# graphics drivers were installed with PGPLOT.
108AC_CHECK_LIB([z],       [deflate],   [PGPLOTLIB="-lz $PGPLOTLIB"],
109             [], [$PGPLOTLIB $LIBS])
110AC_CHECK_LIB([png],     [png_error], [PGPLOTLIB="-lpng $PGPLOTLIB"],
111             [], [$PGPLOTLIB $LIBS])
112AC_CHECK_LIB([pgplot],  [pgbeg_],    [PGPLOTLIB="-lpgplot $PGPLOTLIB"],
113             [], [$PGPLOTLIB $LIBS])
114AC_CHECK_LIB([cpgplot], [cpgopen],   [PGPLOTLIB="-lcpgplot $PGPLOTLIB"],
115             [PGPLOTLIB=], [$PGPLOTLIB $LIBS])
116
117if test "x$PGPLOTLIB" = x; then
118  AC_MSG_ERROR([
119    -------------------------------------------------------
120    Could not find the PGPLOT library.
121
122    ERROR: Duchamp configuration failure.
123    -------------------------------------------------------], [1])
124else
125  AC_MSG_NOTICE([PGPLOT appears to be available.])
126  AC_DEFINE([HAVE_PGPLOT], [1], [Define to 1 if PGPLOT is available.])
127fi
128
129AC_SUBST([PGPLOTINC])
130AC_SUBST([PGPLOTLIB])
131##########################################################################
132
133##########################################################################
134# Search for CFITSIO.
135for INCDIR in $INCDIRS ; do
136  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
137  INCDIR=$INCDIR/cfitsio
138  AC_CHECK_FILE([$INCDIR/fitsio.h], [CFITSIOINC=-I$INCDIR; break])
139done
140
141AC_CHECK_LIB([socket],  [recv],   [CFITSIOLIB="-lsocket"], [], [$LIBS])
142AC_CHECK_LIB([cfitsio], [ffopen], [CFITSIOLIB="-lcfitsio $CFITSIOLIB"], [],
143             [$CFITSIOLIB $LIBS])
144
145if test "x$CFITSIOINC" = x -o "x$CFITSIOLIB" = x; then
146  AC_MSG_ERROR([
147    -------------------------------------------------------
148    Could not find the CFITSIO library.
149
150    ERROR: Duchamp configuration failure.
151    -------------------------------------------------------], [1])
152else
153  for LIBDIR in $LIBDIRS ; do
154    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
155    LIBDIR=$LIBDIR/cfitsio
156    AC_CHECK_FILE([$LIBDIR/libcfitsio.a], [CFITSIOLIB="-L$LIBDIR $CFITSIOLIB"; break])
157  done
158  AC_MSG_NOTICE([CFITSIO appears to be available.])
159  AC_DEFINE([HAVE_CFITSIO], [1], [Define to 1 if CFITSIO is available.])
160fi
161
162AC_SUBST([CFITSIOINC])
163AC_SUBST([CFITSIOLIB])
164##########################################################################
165
166##########################################################################
167# Search for WCSLIB.
168for INCDIR in $INCDIRS ; do
169  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
170  INCDIR=$INCDIR/wcslib
171  AC_CHECK_FILE([$INCDIR/wcs.h], [WCSINC="-I$INCDIR $WCSINC"; break])
172done
173for INCDIR in $INCDIRS ; do
174  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
175  INCDIR=$INCDIR/wcslib
176  AC_CHECK_FILE([$INCDIR/cpgsbox.h], [WCSINC="-I$INCDIR $WCSINC"; break])
177done
178
179AC_CHECK_LIB([wcs], [wcss2p], [WCSLIB="-lwcs $WCSLIB"], [],
180             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
181AC_CHECK_LIB([pgsbox], [cpgsbox], [WCSLIB="-lpgsbox $WCSLIB"], [],
182             [$WCSLIB $LIBS $CFITSIOLIB $PGPLOTLIB])
183
184if test "x$WCSINC" = x -o "x$WCSLIB" = x; then
185  AC_MSG_ERROR([
186    -------------------------------------------------------
187    Could not find the WCSLIB library.
188
189    ERROR: Duchamp configuration failure.
190    -------------------------------------------------------], [1])
191else
192  for LIBDIR in $LIBDIRS ; do
193    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
194    LIBDIR=$LIBDIR/wcs
195    AC_CHECK_FILE([$LIBDIR/libwcs.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
196  done
197  for LIBDIR in $LIBDIRS ; do
198    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
199    LIBDIR=$LIBDIR/wcs
200    AC_CHECK_FILE([$LIBDIR/libpgsbox.a], [WCSLIB="-L$LIBDIR $WCSLIB"; break])
201  done
202  AC_MSG_NOTICE([WCSLIB appears to be available.])
203  AC_DEFINE([HAVE_WCSLIB], [1], [Define to 1 if WCSLIB is available.])
204fi
205
206AC_SUBST([WCSINC])
207AC_SUBST([WCSLIB])
208##########################################################################
209
210AC_SUBST([LDFLAGS])
211
212AC_CONFIG_FILES([Makefile])
213AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.