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 config/hack-gcc \
29 chmod 755 ${srcdir}/${file}
32 ### Check for programs
36 AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
37 if test "x$KPSEWHICH" = xkpsewhich ; then
38 AC_DEFINE(HAVE_KPSEWHICH, 1,
39 [Define this if you have the kpsewhich program working on your system.])
42 ### we will also need a C compiler to compile GNU gettext
45 ### check for special systems
52 ### Check for program extensions (.exe or nothing)
55 ### Check for a C++ compiler
63 ### check the size of pointers and ints
64 # the defaults are given for cross compilation.
73 AC_CHECK_HEADERS(ostream istream)
74 LYX_CXX_STL_MODERN_STREAMS
77 dnl by testing these we check if it is ok to have
78 dnl -lc and -lm as args to the compiler
80 AC_CHECK_LIB(c, fopen)
82 # A hack to work around gcc compiler errors
83 AC_ARG_WITH(gcc-hack,[ --with-gcc-hack add a wrapper around gcc])
84 if test "x$with_gcc_hack" = xyes ; then
85 CXX_COMMAND='${top_srcdir}/config/hack-gcc ${CXX}'
86 lyx_flags="$lyx_flags gcc-hack"
92 ### Add extra directories to check for libraries.
93 LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
94 LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
95 test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
97 ### Add extra directories to check for include files.
98 LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
99 LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
100 test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
102 ### Add both includes and libraries
103 LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
104 LYX_LOOP_DIR($lyx_cv_extra_prefix,[
105 LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
106 LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
108 ### Check for the -liberty library
109 test "x$GXX" = xyes && lyx_use_liberty=yes
111 [ --without-liberty do not try to link against libiberty.a],
112 [lyx_use_liberty=$withval])
113 if test x$lyx_use_liberty = xyes; then
114 # AC_CHECK_LIB(iberty,main,LIBS="-liberty $LIBS")
115 AC_CHECK_LIB(iberty,main)
118 ### Check for X libraries
119 # Check for the pt library (for SCO, needed for X)
120 AC_CHECK_LIB(pt,ptsname,X_EXTRA_LIBS="-lpt $X_EXTRA_LIBS")
123 LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
124 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
126 ## Check whether X is new enough to handle the input method stuff
127 AC_CHECK_FUNCS(XOpenIM)
129 ### Check for xforms and xpm (only if X has been found).
130 if test "$have_x" = yes ; then
131 # We surely need these two libraries and want to check carefully the
138 [Cannot find X window libraries and/or headers. Check your installation.
139 If you use a Linux system, check that you have installed
140 the development tools.])
144 ### Setup GNU gettext
145 dnl GNUÂ gettext is written in C
147 # Some tests that may be useful for gettext
150 # Do the real setup now
152 # a hack for those who try to change LyX, but do not have gettext installed
153 case "${XGETTEXT}" in
154 *:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
161 # some standard header files
164 AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h)
166 # some standard structures
173 # some standard types
181 # some functions we'd like to have
182 AC_ARG_WITH(broken-headers,
183 [ --with-broken-headers define some functions on SunOS4 and SCO],
184 [lyx_broken_headers=$withval])
185 if test "x$lyx_broken_headers" = "xyes"; then
186 lyx_flags="$lyx_flags broken-headers"
187 AC_DEFINE(BROKEN_HEADERS, 1,
188 [Define on SunOS 4 and SCO, were some functions are missing from the headers])
190 AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo)
192 dnl Until this is fixed in autoconf we provide our own version
193 LYX_FUNC_SELECT_ARGTYPES
195 # SunOS 4.1.3 does not have strerror and atexit
196 AC_REPLACE_FUNCS(strerror atexit)
198 dnl This check should be removed. If the compiler does not understand
199 dnl bool it is so broken that we should not support it. (Lgb)
200 dnl AC_CACHE_CHECK([for bool type],lyx_cv_have_bool,[
201 dnl AC_TRY_LINK(, [bool foo = true;], lyx_cv_have_bool=yes,lyx_cv_have_bool=no)])
202 dnl if test $lyx_cv_have_bool = 'yes' ; then
203 dnl AC_DEFINE(HAVE_bool,1,
204 dnl [Define if the bool type is known to your compiler])
207 ### and now some special lyx flags.
208 AC_ARG_WITH(two-colors,[ --with-two-colors use two color pixmaps],
209 [AC_DEFINE(TWO_COLOR_ICONS)
210 lyx_flags="$lyx_flags two-colors"])
211 AC_ARG_WITH(debug,[ --with-debug output debug information by default],
212 [AC_DEFINE(DEBUG_AS_DEFAULT,1,
213 [Define if you want debugging turned on as default.])
214 lyx_flags="$lyx_flags debug"])
217 AC_CONFIG_SUBDIRS(lib lib/reLyX)
218 AC_OUTPUT([Makefile \
219 development/lyx.spec \
224 src/mathed/Makefile \
225 src/insets/Makefile \
226 src/support/Makefile \
227 ], [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
233 Source code location: ${srcdir}
235 C++ Compiler flags: ${CXXFLAGS}
237 C Compiler flags: ${CFLAGS}
238 LyX binary dir: `eval "echo \`eval \"echo ${bindir}\"\`"`
239 LyX files dir: `eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
240 Special flags: ${lyx_flags}
244 # Display a final warning if there has been a LYX_ERROR