1 dnl Process with autoconf to generate configure script -*- sh -*-
4 AC_PREREQ(2.13) dnl We want to use autoconf 2.13
5 AM_CONFIG_HEADER(src/config.h)
6 dnl This is a trick to make autoheader do the right thing
7 dnl AM_CONFIG_HEADER(src/config.h)
8 AC_CONFIG_AUX_DIR(config)
9 LYX_GET_VERSION(${srcdir}/src/version.h)
12 AC_VALIDATE_CACHE_SYSTEM_TYPE
14 AM_INIT_AUTOMAKE(lyx, $VERSION)
16 # The list of languages known to LyX
17 # This is needed by GNU gettext
18 ALL_LINGUAS="ca cs da de es fi fr hu it nl no pl pt ru sl sv tr wa"
20 AC_PREFIX_PROGRAM(lyx)
22 # fix the value of the prefixes.
23 test "x$prefix" = xNONE && prefix=$ac_default_prefix
24 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
26 ### Set the execute permissions of the various scripts correctly
27 for file in config/install-sh config/mkinstalldirs lib/configure ; do
28 chmod 755 ${srcdir}/${file}
31 ### Check for programs
35 AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
36 if test "x$KPSEWHICH" = xkpsewhich ; then
37 AC_DEFINE(HAVE_KPSEWHICH, 1,
38 [Define this if you have the kpsewhich program working on your system.])
41 ### we will also need a C compiler to compile GNU gettext
44 ### check for special systems
51 ### Check for program extensions (.exe or nothing)
54 ### Check for a C++ compiler
62 ### check the size of pointers and ints
63 # the defaults are given for cross compilation.
67 dnl we do not use stl stack, or at least not on gcc 2.7, which was the
68 dnl cause for this test.
74 dnl we disable rtti for now
76 AC_CHECK_HEADERS(ostream istream)
77 LYX_CXX_STL_MODERN_STREAMS
81 dnl by testing these we check if it is ok to have
82 dnl -lc and -lm as args to the compiler
84 AC_CHECK_LIB(c, fopen)
86 ### Add extra directories to check for libraries.
87 LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
88 LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
89 test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
91 ### Add extra directories to check for include files.
92 LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
93 LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
94 test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
96 ### Add both includes and libraries
97 LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
98 LYX_LOOP_DIR($lyx_cv_extra_prefix,[
99 LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
100 LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
102 ### Check for the -liberty library
103 test "x$GXX" = xyes && lyx_use_liberty=yes
105 [ --without-liberty do not try to link against libiberty.a],
106 [lyx_use_liberty=$withval])
107 if test x$lyx_use_liberty = xyes; then
108 # AC_CHECK_LIB(iberty,main,LIBS="-liberty $LIBS")
109 AC_CHECK_LIB(iberty,main)
112 ### Check for X libraries
113 # Check for the pt library (for SCO, needed for X)
114 AC_CHECK_LIB(pt,ptsname,X_EXTRA_LIBS="-lpt $X_EXTRA_LIBS")
117 LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
118 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
120 ## Check whether X is new enough to handle the input method stuff
121 AC_CHECK_FUNCS(XOpenIM)
123 ### Check for xforms and xpm (only if X has been found).
124 if test "$have_x" = yes ; then
125 # We surely need these two libraries and want to check carefully the
132 [Cannot find X window libraries and/or headers. Check your installation.
133 If you use a Linux system, check that you have installed
134 the development tools.])
137 ### Setup GNU gettext
138 dnl GNUÂ gettext is written in C
140 # Some tests that may be useful for gettext
143 # Do the real setup now
145 # a hack for those who try to change LyX, but do not have gettext installed
146 case "${XGETTEXT}" in
147 *:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
154 # some standard header files
157 AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h)
159 # some annoying header files
160 #LYX_PATH_HEADER(stl_string_fwd.h)
163 # some standard structures
170 # some standard types
178 # some functions we'd like to have
179 AC_ARG_WITH(broken-headers,
180 [ --with-broken-headers define some functions on SunOS4 and SCO],
181 [lyx_broken_headers=$withval])
182 if test "x$lyx_broken_headers" = "xyes"; then
183 lyx_flags="$lyx_flags broken-headers"
184 AC_DEFINE(BROKEN_HEADERS, 1,
185 [Define on SunOS 4 and SCO, were some functions are missing from the headers])
187 AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo)
189 dnl Until this is fixed in autoconf we provide our own version
190 LYX_FUNC_SELECT_ARGTYPES
192 dnl check whether we have to work around solaris broken putenv()
193 LYX_FUNC_PUTENV_ARGTYPE
195 # SunOS 4.1.3 does not have strerror and atexit
196 AC_REPLACE_FUNCS(strerror atexit)
198 ### and now some special lyx flags.
199 AC_ARG_WITH(two-colors,[ --with-two-colors use two color pixmaps],
200 [AC_DEFINE(TWO_COLOR_ICONS,1,
201 [You might want to define TWO_COLOR_ICONS if you want to spare
202 your colormap. This will use monochrome icons instead of colored ones.])
203 lyx_flags="$lyx_flags two-colors"])
204 AC_ARG_ENABLE(assertions,
205 [ --enable-assertions add runtime sanity checks in the program],,
206 [if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
207 enable_assertions=yes;
209 enable_assertions=no;
211 if test "x$enable_assertions" = xyes ; then
212 lyx_flags="$lyx_flags assertions"
213 AC_DEFINE(ENABLE_ASSERTIONS,1,
214 [Define if you want assertions to be enabled in the code])
218 AC_CONFIG_SUBDIRS(lib lib/reLyX)
219 AC_OUTPUT([Makefile \
220 development/lyx.spec \
225 src/mathed/Makefile \
226 src/insets/Makefile \
227 src/support/Makefile \
228 ], [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
234 Source code location: ${srcdir}
236 C++ Compiler flags: ${CXXFLAGS}
238 C Compiler flags: ${CFLAGS}
239 LyX binary dir: `eval "echo \`eval \"echo ${bindir}\"\`"`
240 LyX files dir: `eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
241 Special flags: ${lyx_flags}
245 # Display a final warning if there has been a LYX_ERROR