summaryrefslogtreecommitdiff
path: root/configure.ac
blob: d4c7838723ae106af68d6d224b8787aa9e93a1d9 (plain)
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
122
123
## Copyright (C) 1998 Jim Hall <jhall1@isd.net>
## Copyright (C) 2008 Bradley Smith <brad@brad-smith.co.uk>
##
## configure.ac for GNU Robots
##
## GNU Robots is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## GNU Robots is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with GNU Robots.  If not, see <http://www.gnu.org/licenses/>.

dnl Process this file with autoconf to produce a configure script.
AC_INIT([GNU Robots], [1.1.1], [brad@brad-smith.co.uk], [gnurobots])
AC_PREREQ([2.59])
AM_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR([build])
AC_CONFIG_SRCDIR([include/api.h])
AM_INIT_AUTOMAKE

dnl Checks for programs.
AC_PROG_CC

dnl libtool stuff
AC_LIBTOOL_DLOPEN
dnl AC_LIBLTDL_CONVENIENCE
AC_DISABLE_STATIC
AC_PROG_LIBTOOL

AC_SUBST(INCLTDL)
AC_SUBST(LIBLTDL)

dnl Locate X Windows
dnl We need AC_PATH_XTRA to also locate extra libaries X depends on.
dnl It will ``export'' X_CFLAGS, X_PRE_LIBS, X_EXTRA_LIBS and X_LIBS,
dnl but for some reason we need to add -lX11 ourselves.
AC_PATH_XTRA

dnl Check for math library
AC_CHECK_LIB(m, pow)

dnl Check for guile
GUILE_FLAGS

dnl Some sytems need -ldl for dynamic library support.
dnl AC_CHECK_LIB(dl, dlopen)

PKG_CHECK_MODULES(X,x11 xpm, HAVE_X=yes,HAVE_X=no)
AC_SUBST(X_LIBS)
AC_SUBST(X_CFLAGS)

dnl Check for glib2
PKG_CHECK_MODULES(GLIB2,glib-2.0 >= 2.4 gobject-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
AC_SUBST(GLIB2_LIBS)
AC_SUBST(GLIB2_CFLAGS)

PKG_CHECK_MODULES(GTK,gtk+-2.0 >= 2.4, HAVE_GTK=yes,HAVE_GTK=no)
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)

schemedir="\$(pkgdatadir)/scheme"
AC_SUBST(schemedir)

mapsdir="\$(pkgdatadir)/maps"
AC_SUBST(mapsdir)

if test "x$HAVE_GLIB2" = "xno"; then
  AC_MSG_ERROR([GNU Robots requires GLib2 to compile.])
fi

for termlib in ncurses curses termcap terminfo termlib ; do
	AC_CHECK_LIB(${termlib}, tgoto,
		[READLINE_EXTRA="-l${termlib}"; break])
done

AC_CHECK_LIB(readline,readline,[READLINE_LIBS=-lreadline],
	AC_MSG_ERROR([

You need the GNU Readline library to build this program.

]),[$READLINE_EXTRA])

AC_CHECK_HEADER(readline/readline.h,[READLINE_CFLAGS=-I/usr/include/readline/],
	AC_MSG_ERROR([

You need the GNU Readline headers to build this program.

]))

READLINE_LIBS="$READLINE_LIBS $READLINE_EXTRA"

AC_SUBST(READLINE_LIBS)
AC_SUBST(READLINE_CFLAGS)

dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(getopt.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

CFLAGS="-pedantic-errors -Werror -Wall -g"

dnl Done.
AC_CONFIG_FILES([Makefile
 contrib/Makefile
 doc/Makefile
 include/Makefile
 xpm/Makefile
 maps/Makefile
 scheme/Makefile
 src/Makefile
 ui/Makefile
 ])
AC_OUTPUT