1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.59)
5AC_INIT(rarian, 0.8.1)
6AC_CONFIG_SRCDIR([util/rarian-example.c])
7AC_CONFIG_HEADER([config.h])
8AM_INIT_AUTOMAKE ([foreign dist-bzip2 dist-gzip])
9
10AM_MAINTAINER_MODE
11
12# Checks for programs.
13AC_PROG_CC
14AC_PROG_INSTALL
15AC_PROG_LIBTOOL
16AC_PROG_CXX
17
18# All the fun stuff that is used for installing
19AC_ARG_ENABLE([installed],
20	[AC_HELP_STRING([--enable-installed],
21			[Make rarian run in install mode [default=yes]])],,
22	enable_installed=yes)
23AC_ARG_ENABLE([scrollkeeper-compat],
24	[AC_HELP_STRING([--enable-scrollkeeper-compat],
25			[Build and install scrollkeeper compatibility gunk [default=yes]])],,
26	enable_scrollkeeper_compat=yes)
27AC_ARG_ENABLE([omf-read],
28	[AC_HELP_STRING([--enable-omf-read],
29			[Allow librarian to read omf files [default=yes]])],,
30	enable_omf_read=yes)
31AC_ARG_ENABLE([skdb-update],
32	[AC_HELP_STRING([--enable-skdb-update],
33			[Update the Scrollkeeper database [default=yes]])],,
34	enable_skdb_update=yes)
35AC_ARG_WITH([convert-dir],
36	[AC_HELP_STRING([--with-convert-dir=<path/to/omfs>],
37			[Choose a specific path to convert when installed [default=<prefix>/share/omf]])], ,
38	with_convert_dir="$prefix/share/omf")
39AC_ARG_WITH([localstate-subdir],
40	[AC_HELP_STRING([--with-localstate-subdir=<path/to/sub/dir/under/localstatedir>],
41			[Choose a specific sub directory path for localstatedir [default=lib/rarian]])], ,
42	with_localstate_subdir="lib/rarian")
43AC_ARG_WITH([metadata-dir],
44	[AC_HELP_STRING([--with-metadata-dir=<path/to/metadata>],
45			[Choose a specific path for metadata [default=<datadir>/help]])], ,
46	with_metadata_dir="$datadir/help")
47AC_ARG_WITH([gnu-getopt],
48	[AC_HELP_STRING([--with-gnu-getopt=<path/getopt>],
49			[Choose a GNU getopt implementation to use [default=getopt]])], ,
50	with_gnu_getopt="getopt")
51AC_ARG_WITH([default-data-dirs],
52	[AC_HELP_STRING([--with-default-data-dirs=<path/to/default/data/dirs>],
53			[Set the default list of data directories [default=/usr/local/share:/usr/share]])], ,
54	with_default_data_dirs="/usr/local/share:/usr/share")
55AC_ARG_WITH([default-manpath],
56	[AC_HELP_STRING([--with-default-manpath=<default/manpath>],
57			[Set the default of MANPATH [default=/usr/share/man:/usr/man:/usr/local/share/man:/usr/local/man]])], ,
58	with_default_manpath="/usr/share/man:/usr/man:/usr/local/share/man:/usr/local/man")
59AC_ARG_WITH([default-infopath],
60	[AC_HELP_STRING([--with-default-infopath=<default/infopath>],
61			[Set the default INFOPATH [default=/usr/info:/usr/share/info:/usr/local/info:/usr/local/share/info]])], ,
62	with_default_infopath="/usr/info:/usr/share/info:/usr/local/info:/usr/local/share/info")
63
64DISTCHECK_CONFIGURE_FLAGS="--disable-skdb-update"
65AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
66
67# If we try and install without setting the prefix, the convert dir will turn into NONE/omf
68# Reset it here properly
69if test "x$with_convert_dir" = "xNONE/share/omf"; then
70echo Resetting conv dir
71with_convert_dir="/usr/local/share/omf"
72fi
73
74echo conv dir is $with_convert_dir
75
76if test "x$enable_installed" = "xyes"; then
77    AC_DEFINE(ENABLE_INSTALL, 1, [turn on Installed Mode])
78    AM_CONDITIONAL(ENABLE_INSTALL, true)
79	ENABLE_INSTALL=1
80	AC_SUBST([ENABLE_INSTALL])
81else
82	AC_DEFINE(ENABLE_INSTALL, 0, [turn on Installed Mode])
83    AM_CONDITIONAL(ENABLE_INSTALL, false)
84	ENABLE_INSTALL=0
85   	AC_SUBST([ENABLE_INSTALL])
86fi
87
88if test "x$enable_scrollkeeper_compat" = "xyes"; then
89    AC_DEFINE(ENABLE_SK_COMPAT, 1, [Scrollkeeper compatibility stuff])
90    AM_CONDITIONAL(ENABLE_SK_COMPAT, true)
91	ENABLE_SK_COMPAT=1
92	AC_SUBST([ENABLE_SK_COMPAT])
93else
94	AC_DEFINE(ENABLE_SK_COMPAT, 0, [scrollkeeper compatibility stuff])
95    AM_CONDITIONAL(ENABLE_SK_COMPAT, false)
96	ENABLE_SK_COMPAT=0
97   	AC_SUBST([ENABLE_SK_COMPAT])
98fi
99
100if test "x$enable_omf_read" = "xyes"; then
101    AC_DEFINE(ENABLE_OMF_READ, 1, [Scrollkeeper compatibility stuff])
102    AM_CONDITIONAL(ENABLE_OMF_READ, true)
103	ENABLE_OMF_READ=1
104	AC_SUBST([ENABLE_OMF_READ])
105else
106	AC_DEFINE(ENABLE_OMF_READ, 0, [scrollkeeper compatibility stuff])
107    AM_CONDITIONAL(ENABLE_OMF_READ, false)
108	ENABLE_OMF_READ=0
109   	AC_SUBST([ENABLE_OMF_READ])
110fi
111
112if test "x$enable_skdb_update" = "xyes"; then
113    AC_DEFINE(ENABLE_SKDB_UPDATE, 1, [Update the Scrollkeeper database])
114    AM_CONDITIONAL(ENABLE_SKDB_UPDATE, true)
115	ENABLE_SKDB_UPDATE=1
116	AC_SUBST([ENABLE_SKDB_UPDATE])
117else
118	AC_DEFINE(ENABLE_SKDB_UPDATE, 0, [Update the Scrollkeeper database])
119    AM_CONDITIONAL(ENABLE_SKDB_UPDATE, false)
120	ENABLE_SKDB_UPDATE=0
121   	AC_SUBST([ENABLE_SKDB_UPDATE])
122fi
123
124#AC_DEFINE_UNQUOTED(CONVERT_DIR, "$convert_dir", [Choose a directory to convert])
125CONVERT_DIR="$with_convert_dir"
126AC_SUBST([CONVERT_DIR])
127
128LOCALSTATE_SUBDIR="$with_localstate_subdir"
129AC_SUBST([LOCALSTATE_SUBDIR])
130
131METADATA_DIR="$with_metadata_dir"
132AC_SUBST([METADATA_DIR])
133
134GNU_GETOPT="$with_gnu_getopt"
135AC_SUBST([GNU_GETOPT])
136
137DEFAULT_DATA_DIRS="$with_default_data_dirs"
138AC_SUBST([DEFAULT_DATA_DIRS])
139
140DEFAULT_MANPATH="$with_default_manpath"
141AC_SUBST([DEFAULT_MANPATH])
142
143DEFAULT_INFOPATH="$with_default_infopath"
144AC_SUBST([DEFAULT_INFOPATH])
145
146# Check for existing scrollkeeper install.  If so, we're moving the
147# files and symlinking
148#AC_CHECK_PROG (SK_PRESENT, scrollkeeper-update, 1, 0, $bindir)
149#echo $SK_PRESENT
150
151if test "x$prefix" = xNONE ; then
152   REAL_PREFIX=/usr/local
153else
154   REAL_PREFIX=$prefix
155fi
156old_prefix=$prefix
157prefix=$REAL_PREFIX
158
159if test "x$exec_prefix" = xNONE ; then
160   REAL_EXEC_PREFIX=$prefix
161else
162   REAL_EXEC_PREFIX=$exec_prefix
163fi
164old_exec_prefix=$exec_prefix
165exec_prefix=$REAL_EXEC_PREFIX
166
167BINDIR_TMP="$bindir"
168EXPANDED_BINDIR=`eval echo $BINDIR_TMP`
169bindir=$EXPANDED_BINDIR
170
171DATAROOTDIR_TMP="$datarootdir"
172EXPANDED_DATAROOTDIR=`eval echo $DATAROOTDIR_TMP`
173datarootdir=$EXPANDED_DATAROOTDIR
174
175DATADIR_TMP="$datadir"
176EXPANDED_DATADIR=`eval echo $DATADIR_TMP`
177datadir=$EXPANDED_DATADIR
178
179STATEDIR_TMP="$localstatedir"
180EXPANDED_STATEDIR=`eval echo $STATEDIR_TMP`
181localstatedir=$EXPANDED_STATEDIR
182
183prefix=$old_prefix
184
185#AC_SUBST(EXPANDED_BINDIR)
186#echo $bindir
187
188#exec_prefix=${prefix}
189#echo ${exec_prefix} ...
190#ENABLE_SK_COMPAT=0
191
192# Ensure the sysconfdir exists
193
194# Checks for libraries.
195AC_CHECK_PROG(have_xslt, xsltproc, yes, no)
196
197AM_CONDITIONAL(ENABLE_EXTRACT, test x"$have_xslt" = xyes)
198
199AC_PATH_PROG(have_bash, bash)
200
201AC_SUBST(BASH, $have_bash)
202
203# Checks for header files.
204AC_CHECK_HEADERS(malloc.h)
205
206# Check for databases supported for man page support
207# Adapted from man-db sources
208## Check for Berkeley db
209#AC_CHECK_HEADER(db4/db_185.h,
210#		AC_CHECK_LIB(db, dbopen, ,AC_CHECK_LIB(db-4, dbopen)))
211#AC_CHECK_HEADER(db_185.h,
212#		AC_CHECK_LIB(db, dbopen, ,AC_CHECK_LIB(db-4, dbopen)))
213
214dnl Check for GNU dbm routines
215dnl
216#AC_CHECK_HEADER(gdbm.h,[
217#      AC_CHECK_LIB(gdbm, gdbm_open)])
218dnl
219dnl Check for UNIX ndbm routines
220dnl
221#AC_CHECK_HEADER(ndbm.h,[
222#      AC_CHECK_LIB(ndbm, dbm_open)])
223
224# Checks for typedefs, structures, and compiler characteristics.
225
226# Checks for library functions.
227
228AC_CONFIG_FILES([Makefile
229		 rarian.pc
230                 data/Makefile
231		 docs/Makefile
232                 librarian/Makefile
233                 librarian/rarian-info.c
234                 librarian/rarian-main.c
235                 librarian/rarian-man.c
236                 util/Makefile
237 		 util/rarian-sk-update
238		 util/rarian-sk-install
239		 util/rarian-sk-rebuild
240		 util/rarian-sk-config
241		 util/rarian-sk-get-scripts
242		 util/rarian-sk-extract
243		 util/rarian-sk-get-content-list
244		 util/rarian-sk-get-extended-content-list
245		 docs/rarian.document])
246AC_OUTPUT
247
248echo "
249Rarian-$VERSION:
250This is not API-stable yet."
251if test "x$enable_installed" = "xyes"; then
252	echo Prefix......... $prefix
253else
254	echo "Running in uninstalled (i.e. testing and broken) mode"
255fi
256