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}
19 AM_INIT_AUTOMAKE($lyxname, $VERSION)
21 # The list of languages known to LyX
22 # This is needed by GNU gettext
23 ALL_LINGUAS="bg ca cs da de es eu fi fr he hu it nl nn no pl pt ro ru sk sl sv tr wa"
25 # fix the value of the prefixes.
26 test "x$prefix" = xNONE && prefix=$ac_default_prefix
27 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
29 ### Set the execute permissions of the various scripts correctly
30 for file in config/install-sh config/mkinstalldirs lib/configure ; do
31 chmod 755 ${srcdir}/${file}
34 ### Check for programs
38 AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
39 if test "x$KPSEWHICH" = xkpsewhich ; then
40 AC_DEFINE(HAVE_KPSEWHICH, 1,
41 [Define this if you have the kpsewhich program working on your system.])
43 AC_CHECK_PROGS(M4, gm4 gnum4 m4, m4)
45 # Work around a problem in automake 1.4: when invoking install-strip,
46 # INSTALL_PROGRAM is changed to 'install -s', and since
47 # INSTALL_SCRIPT==INSTALL_PROGRAM, we get errors with fileutils-4.0
48 # which returns an error condition when stripping fails.
49 INSTALL_SCRIPT='${INSTALL}'
51 ### we will also need a C compiler to compile GNU gettext
54 ### check for special systems
58 ### check which frontend we want to use
61 ### Check for a C++ compiler
63 ### Some checks on what the C++ compiler can(not) do
65 dnl we do not need that currently (and probably all our supported
66 dnl compiler allow that)
70 LYX_CXX_GOOD_STD_STRING
74 dnl we disable rtti for now
76 AC_CHECK_HEADERS(ostream istream sstream locale limits)
77 LYX_CXX_STL_MODERN_STREAMS
79 ### and now some special lyx flags.
80 AC_ARG_ENABLE(assertions,
81 [ --enable-assertions add runtime sanity checks in the program],,
82 [if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
83 enable_assertions=yes;
87 if test "x$enable_assertions" = xyes ; then
88 lyx_flags="$lyx_flags assertions"
89 AC_DEFINE(ENABLE_ASSERTIONS,1,
90 [Define if you want assertions to be enabled in the code])
94 dnl by testing these we check if it is ok to have
95 dnl -lc and -lm as args to the compiler
97 AC_CHECK_LIB(c, fopen)
99 ### Add extra directories to check for libraries.
100 LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
101 LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
102 test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
104 ### Add extra directories to check for include files.
105 LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
106 LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
107 test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
109 ### Add both includes and libraries
110 LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
111 LYX_LOOP_DIR($lyx_cv_extra_prefix,[
112 LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
113 LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
115 AC_ARG_WITH(aiksaurus,
116 [ --without-aiksaurus do not use the Aiksaurus library],
117 [lyx_use_aiksaurus=$withval])
118 if test x$lyx_use_aiksaurus != xno; then
119 AC_CHECK_LIB(Aiksaurus, main,
120 [AC_DEFINE(HAVE_LIBAIKSAURUS,1,[Define this if you have the AikSaurus library])
121 AIKSAURUS_LIBS="-lAiksaurus -lbz2"
124 AC_SUBST(AIKSAURUS_LIBS)
126 LYX_USE_INCLUDED_BOOST
134 ### Check if we want spell libraries, prefer new aspell
136 if test "$USING_ASPELL" != "yes"; then
140 ### Check for some Cygwin-specific details.
143 ### Check for X libraries
146 LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
147 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
149 ### check which frontend we want to use
154 LYX_CHECK_XFORMS_IMAGE_LOADER
159 dnl The code below is not in a macro, because this would cause big
160 dnl problems with the AC_REQUIRE contained in KDE_DO_IT_ALL.
161 case "$lyx_use_frontend" in
164 RPM_FRONTEND="xforms"
165 RPM_FRONTEND_DEPS='libforms >= 1.0'
166 FRONTEND_GUILIB="frontends/xforms/libxforms.la"
167 FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
168 FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\
169 libforms version: ${XFORMS_VERSION}\n"
174 dnl LYX_CHECK_XFORMS_IMAGE_LOADER
175 dnl PKG_CHECK_MODULES(GNOME_FRONTEND, gtkmm-2.0 libglademm-2.0)
176 dnl AC_SUBST(GNOME_FRONTEND_CFLAGS)
177 dnl AC_SUBST(GNOME_FRONTEND_LIBS)
179 dnl FRONTEND="xforms gnome"
180 dnl FRONTEND_GUILIB="gnome/*.lo"
181 dnl FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}"
182 dnl FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
183 dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}"
187 RPM_FRONTEND_DEPS='qt >= 2.2.1'
189 FRONTEND_GUILIB="frontends/qt2/libqt2.la"
190 FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT_INCLUDES)"
191 FRONTEND_INFO=" Qt version: ${QT_VERSION}\n"
194 LYX_ERROR(Unknown frontend $lyx_use_frontend);;
197 ### Check for xforms and xpm (only if X has been found).
198 if test "$have_x" = no ; then
200 [Cannot find X window libraries and/or headers. Check your installation.
201 If you use a Linux system, check that you have installed
202 the development tools.])
205 ### Setup GNU gettext
206 dnl GNUÂ gettext is written in C
208 # Some tests that may be useful for gettext
211 # Do the real setup now
213 # a hack for those who try to change LyX, but do not have gettext installed
214 case "${XGETTEXT}" in
215 *:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
222 # some standard header files
225 AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h)
227 # some standard structures
231 # some standard types
239 AC_CHECK_FUNCS(snprintf vsnprintf strerror)
240 LYX_CHECK_DECL(snprintf, stdio.h)
241 LYX_CHECK_DECL(vsnprintf, stdio.h)
242 LYX_CHECK_DECL(istreambuf_iterator, iterator)
243 LYX_CHECK_DECL(mkstemp,[unistd.h stdlib.h])
245 dnl This is a slight hack: the tests generated by autoconf 2.52 do not
246 dnl work correctly because of some conflict with stdlib.h with g++ 2.96
247 dnl We aim to remove this eventually, since we should test as much as
248 dnl possible with the compiler which will use the functions (JMarc)
250 AC_CHECK_FUNCS(memmove memset strchr mkfifo mkstemp mktemp)
253 AC_FUNC_SELECT_ARGTYPES
255 ### Some information on what just happened
256 real_bindir=`eval "echo \`eval \"echo ${bindir}\"\`"`
257 real_datadir=`eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
258 VERSION_INFO="Configuration\n\
259 Host type: ${host}\n\
260 Special build flags: ${lyx_flags}\n\
262 C Compiler flags: ${CFLAGS}\n\
263 C++ Compiler: ${CXX} ${CXX_VERSION}\n\
264 C++ Compiler flags: ${CXXFLAGS}\n\
265 Linker flags: ${LDFLAGS}\n\
266 Frontend: ${lyx_use_frontend}\n\
268 LyX binary dir: ${real_bindir}\n\
269 LyX files dir: ${real_datadir}\n"
272 AC_SUBST(VERSION_INFO)
273 AC_SUBST(RPM_FRONTEND)
274 AC_SUBST(RPM_FRONTEND_DEPS)
276 ## Some config.h stuff
280 /* This is the compilation configuration file for LyX. It was generated by
281 autoconfs configure. You might want to change some of the defaults if
282 something goes wrong during the compilation
284 * This file is part of
285 * ======================================================
287 * LyX, the High Level Word Processor
289 * Copyright 1995 Matthias Ettrich
290 * Copyright 1995-2001 The LyX Team.
292 *======================================================*/
299 /************************************************************
300 ** You should not need to change anything beyond this point */
303 # define strchr(a,b) index(a,b)
307 # define memmove(a,b,c) bcopy(b,a,c)
310 #ifndef HAVE_STRERROR
311 #if defined(__cplusplus)
314 char * strerror(int n);
317 #ifdef BROKEN_HEADERS
318 #include "broken_headers.h"
322 #ifndef HAVE_DECL_MKSTEMP
323 #if defined(__cplusplus)
331 #include "support/os2_defines.h"
334 #if defined(__CYGWIN__) || defined(__CYGWIN32__)
335 #include "support/nt_defines.h"
338 #if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM)
339 #define USE_BOOST_FORMAT 1
341 #define USE_BOOST_FORMAT 0
344 #define BOOST_DISABLE_THREADS 1
345 #define BOOST_NO_EXCEPTIONS 1
346 #define BOOST_NO_WREGEX 1
347 #define BOOST_NO_WSTRING 1
353 AC_CONFIG_SUBDIRS(lib lib/reLyX)
354 AC_CONFIG_FILES([Makefile \
356 boost/libs/Makefile \
357 boost/libs/regex/Makefile \
358 boost/libs/regex/src/Makefile \
359 boost/libs/signals/Makefile \
360 boost/libs/signals/src/Makefile \
362 development/Makefile \
363 development/lyx.spec \
371 src/tex2lyx/Makefile \
372 src/mathed/Makefile \
373 src/graphics/Makefile \
374 src/insets/Makefile \
375 src/support/Makefile \
376 src/frontends/Makefile \
377 src/frontends/controllers/Makefile \
378 src/frontends/xforms/Makefile \
379 src/frontends/xforms/lyx_forms.h \
380 src/frontends/xforms/lyx_xpm.h \
381 src/frontends/xforms/forms/Makefile \
382 src/frontends/qt2/Makefile \
383 src/frontends/qt2/moc/Makefile \
384 src/frontends/qt2/ui/Makefile \
385 src/frontends/qt2/ui/moc/Makefile \
386 src/frontends/gnome/Makefile \
390 # show version information
392 printf "$VERSION_INFO"
395 # Display a final warning if there has been a LYX_ERROR