1 dnl Process with autoconf to generate configure script -*- sh -*-
3 AC_INIT(lyx,1.4.0cvs,lyx-devel@lists.lyx.org)
5 AC_CONFIG_SRCDIR(src/main.C)
6 AM_CONFIG_HEADER([src/config.h])
8 AC_CONFIG_AUX_DIR(config)
10 PACKAGE=lyx${program_suffix}
18 AM_INIT_AUTOMAKE($lyxname, $VERSION)
20 # The list of languages known to LyX
21 # This is needed by GNU gettext
22 ALL_LINGUAS="bg ca cs da de es eu fi fr he hu it nl no pl pt ro ru sk sl sv tr wa"
24 # fix the value of the prefixes.
25 test "x$prefix" = xNONE && prefix=$ac_default_prefix
26 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
28 ### Set the execute permissions of the various scripts correctly
29 for file in config/install-sh config/mkinstalldirs lib/configure ; do
30 chmod 755 ${srcdir}/${file}
33 ### Check for programs
37 AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
38 if test "x$KPSEWHICH" = xkpsewhich ; then
39 AC_DEFINE(HAVE_KPSEWHICH, 1,
40 [Define this if you have the kpsewhich program working on your system.])
42 AC_CHECK_PROGS(M4, gm4 gnum4 m4, m4)
44 # Work around a problem in automake 1.4: when invoking install-strip,
45 # INSTALL_PROGRAM is changed to 'install -s', and since
46 # INSTALL_SCRIPT==INSTALL_PROGRAM, we get errors with fileutils-4.0
47 # which returns an error condition when stripping fails.
48 INSTALL_SCRIPT='${INSTALL}'
50 ### we will also need a C compiler to compile GNU gettext
53 ### check for special systems
57 ### check which frontend we want to use
60 ### Check for a C++ compiler
62 ### Some checks on what the C++ compiler can(not) do
64 dnl we do not need that currently (and probably all our supported
65 dnl compiler allow that)
69 LYX_CXX_GOOD_STD_STRING
73 dnl we disable rtti for now
75 AC_CHECK_HEADERS(ostream istream sstream locale limits)
76 LYX_CXX_STL_MODERN_STREAMS
78 ### and now some special lyx flags.
79 AC_ARG_ENABLE(assertions,
80 [ --enable-assertions add runtime sanity checks in the program],,
81 [if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
82 enable_assertions=yes;
86 if test "x$enable_assertions" = xyes ; then
87 lyx_flags="$lyx_flags assertions"
88 AC_DEFINE(ENABLE_ASSERTIONS,1,
89 [Define if you want assertions to be enabled in the code])
93 dnl by testing these we check if it is ok to have
94 dnl -lc and -lm as args to the compiler
96 AC_CHECK_LIB(c, fopen)
98 ### Add extra directories to check for libraries.
99 LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
100 LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
101 test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
103 ### Add extra directories to check for include files.
104 LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
105 LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
106 test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
108 ### Add both includes and libraries
109 LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
110 LYX_LOOP_DIR($lyx_cv_extra_prefix,[
111 LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
112 LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
114 AC_ARG_WITH(aiksaurus,
115 [ --without-aiksaurus do not use the Aiksaurus library],
116 [lyx_use_aiksaurus=$withval])
117 if test x$lyx_use_aiksaurus != xno; then
118 AC_CHECK_LIB(Aiksaurus, main,
119 [AC_DEFINE(HAVE_LIBAIKSAURUS,1,[Define this if you have the AikSaurus library])
120 AIKSAURUS_LIBS="-lAiksaurus -lbz2"
123 AC_SUBST(AIKSAURUS_LIBS)
131 ### Check if we want spell libraries, prefer new aspell
133 if test "$USING_ASPELL" != "yes"; then
137 ### Check for some Cygwin-specific details.
140 ### Check for X libraries
143 LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
144 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
146 ### check which frontend we want to use
149 dnl The code below is not in a macro, because this would cause big
150 dnl problems with the AC_REQUIRE contained in KDE_DO_IT_ALL.
151 case "$lyx_use_frontend" in
155 LYX_CHECK_XFORMS_IMAGE_LOADER
157 RPM_FRONTEND="xforms"
158 RPM_FRONTEND_DEPS='libforms >= 1.0'
159 FRONTEND_GUILIB="xforms/*.lo xforms/forms/*.lo"
160 FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
161 FRONTEND_LIBS="@XFORMS_IMAGE_LIB@ @XFORMS_LIB@ @XPM_LIB@"
162 FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\
163 libforms version: ${XFORMS_VERSION}\n"
168 dnl LYX_CHECK_XFORMS_IMAGE_LOADER
169 dnl PKG_CHECK_MODULES(GNOME_FRONTEND, gtkmm-2.0 libglademm-2.0)
170 dnl AC_SUBST(GNOME_FRONTEND_CFLAGS)
171 dnl AC_SUBST(GNOME_FRONTEND_LIBS)
173 dnl FRONTEND="xforms gnome"
174 dnl FRONTEND_GUILIB="gnome/*.lo"
175 dnl FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}"
176 dnl FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
177 dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}"
182 RPM_FRONTEND_DEPS='qt >= 2.2.1'
184 FRONTEND_GUILIB="qt2/*.lo qt2/ui/*.lo qt2/moc/*.lo qt2/ui/moc/*.lo"
185 FRONTEND_LDFLAGS="\$(QT_LDFLAGS)"
186 FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT_INCLUDES)"
187 FRONTEND_LIBS="\$(QT_LIB)"
188 FRONTEND_INFO=" Qt version: ${QT_VERSION}\n"
191 LYX_ERROR(Unknown frontend $lyx_use_frontend);;
194 ### Check for xforms and xpm (only if X has been found).
195 if test "$have_x" = no ; then
197 [Cannot find X window libraries and/or headers. Check your installation.
198 If you use a Linux system, check that you have installed
199 the development tools.])
202 ### Setup GNU gettext
203 dnl GNUÂ gettext is written in C
205 # Some tests that may be useful for gettext
208 # Do the real setup now
210 # a hack for those who try to change LyX, but do not have gettext installed
211 case "${XGETTEXT}" in
212 *:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
219 # some standard header files
222 AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h)
224 # some standard structures
228 # some standard types
236 AC_CHECK_FUNCS(snprintf vsnprintf strerror)
237 LYX_CHECK_DECL(snprintf, stdio.h)
238 LYX_CHECK_DECL(vsnprintf, stdio.h)
239 LYX_CHECK_DECL(istreambuf_iterator, iterator)
240 LYX_CHECK_DECL(mkstemp,[unistd.h stdlib.h])
242 dnl This is a slight hack: the tests generated by autoconf 2.52 do not
243 dnl work correctly because of some conflict with stdlib.h with g++ 2.96
244 dnl We aim to remove this eventually, since we should test as much as
245 dnl possible with the compiler which will use the functions (JMarc)
247 AC_CHECK_FUNCS(memmove memset strchr mkfifo mkstemp mktemp)
250 AC_FUNC_SELECT_ARGTYPES
252 ### Some information on what just happened
253 real_bindir=`eval "echo \`eval \"echo ${bindir}\"\`"`
254 real_datadir=`eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
255 VERSION_INFO="Configuration\n\
256 Host type: ${host}\n\
257 Special build flags: ${lyx_flags}\n\
259 C Compiler flags: ${CFLAGS}\n\
260 C++ Compiler: ${CXX} ${CXX_VERSION}\n\
261 C++ Compiler flags: ${CXXFLAGS}\n\
262 Linker flags: ${LDFLAGS}\n\
263 Frontend: ${lyx_use_frontend}\n\
265 LyX binary dir: ${real_bindir}\n\
266 LyX files dir: ${real_datadir}\n"
269 AC_SUBST(VERSION_INFO)
270 AC_SUBST(RPM_FRONTEND)
271 AC_SUBST(RPM_FRONTEND_DEPS)
273 ## Some config.h stuff
277 /* This is the compilation configuration file for LyX. It was generated by
278 autoconfs configure. You might want to change some of the defaults if
279 something goes wrong during the compilation
281 * This file is part of
282 * ======================================================
284 * LyX, the High Level Word Processor
286 * Copyright 1995 Matthias Ettrich
287 * Copyright 1995-2001 The LyX Team.
289 *======================================================*/
296 /************************************************************
297 ** You should not need to change anything beyond this point */
300 # define strchr(a,b) index(a,b)
304 # define memmove(a,b,c) bcopy(b,a,c)
307 #ifndef HAVE_STRERROR
308 #if defined(__cplusplus)
311 char * strerror(int n);
314 #ifdef BROKEN_HEADERS
315 #include "broken_headers.h"
319 #ifndef HAVE_DECL_MKSTEMP
320 #if defined(__cplusplus)
328 #include "support/os2_defines.h"
331 #if defined(__CYGWIN__) || defined(__CYGWIN32__)
332 #include "support/nt_defines.h"
335 #if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM)
336 #define USE_BOOST_FORMAT 1
338 #define USE_BOOST_FORMAT 0
345 AC_CONFIG_SUBDIRS(lib lib/reLyX)
346 AC_CONFIG_FILES([Makefile \
348 boost/libs/Makefile \
349 boost/libs/regex/Makefile \
350 boost/libs/regex/src/Makefile \
351 boost/libs/signals/Makefile \
352 boost/libs/signals/src/Makefile \
354 development/Makefile \
355 development/lyx.spec \
363 src/tex2lyx/Makefile \
364 src/mathed/Makefile \
365 src/graphics/Makefile \
366 src/insets/Makefile \
367 src/support/Makefile \
368 src/frontends/Makefile \
369 src/frontends/controllers/Makefile \
370 src/frontends/xforms/Makefile \
371 src/frontends/xforms/forms/Makefile \
372 src/frontends/qt2/Makefile \
373 src/frontends/qt2/moc/Makefile \
374 src/frontends/qt2/ui/Makefile \
375 src/frontends/qt2/ui/moc/Makefile \
376 src/frontends/gnome/Makefile \
380 # show version information
382 printf "$VERSION_INFO"
385 # Display a final warning if there has been a LYX_ERROR