1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
|
dnl Process with autoconf to generate configure script -*- sh -*-
AC_INIT(lyx,1.3.4,lyx-devel@lists.lyx.org)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR(src/main.C)
AM_CONFIG_HEADER([src/config.h])
AC_CONFIG_AUX_DIR(config)
PACKAGE=lyx${program_suffix}
VERSION="1.3.4"
LYX_CHECK_VERSION
AM_MAINTAINER_MODE
AC_CANONICAL_TARGET
LYX_VERSION_SUFFIX
AM_INIT_AUTOMAKE($lyxname, $VERSION)
# The list of languages known to LyX (actually we only include the languages
# that are complete enough to be useful). This is needed by GNU gettext
ALL_LINGUAS="da de es eu fi fr it nl nn no pl ro ru sk sl"
# fix the value of the prefixes.
test "x$prefix" = xNONE && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
### Set the execute permissions of the various scripts correctly
for file in config/install-sh config/mkinstalldirs lib/configure ; do
chmod 755 ${srcdir}/${file}
done
### Check for programs
AC_PROG_MAKE_SET
AC_PROG_INSTALL
#AC_PROG_RANLIB
AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
if test "x$KPSEWHICH" = xkpsewhich ; then
AC_DEFINE(HAVE_KPSEWHICH, 1,
[Define this if you have the kpsewhich program working on your system.])
fi
AC_CHECK_PROGS(M4, gm4 gnum4 m4, m4)
# Work around a problem in automake 1.4: when invoking install-strip,
# INSTALL_PROGRAM is changed to 'install -s', and since
# INSTALL_SCRIPT==INSTALL_PROGRAM, we get errors with fileutils-4.0
# which returns an error condition when stripping fails.
INSTALL_SCRIPT='${INSTALL}'
### we will also need a C compiler to compile GNU gettext
AC_PROG_CC
### check for special systems
AC_ISC_POSIX
AC_AIX
### check which frontend we want to use
LYX_USE_FRONTEND
### Check for a C++ compiler
LYX_PROG_CXX
### Some checks on what the C++ compiler can(not) do
AC_LANG(C++)
dnl we do not need that currently (and probably all our supported
dnl compiler allow that)
dnl LYX_CXX_PARTIAL
LYX_CXX_EXPLICIT
LYX_CXX_STL_STRING
LYX_CXX_GOOD_STD_STRING
LYX_CXX_CHEADERS
LYX_CXX_GLOBAL_CSTD
LYX_STD_COUNT
dnl we disable rtti for now
dnl LYX_CXX_RTTI
AC_CHECK_HEADERS(ostream istream sstream locale limits)
LYX_CXX_STL_MODERN_STREAMS
### and now some special lyx flags.
AC_ARG_ENABLE(assertions,
[ --enable-assertions add runtime sanity checks in the program],,
[if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
enable_assertions=yes;
else
enable_assertions=no;
fi;])
if test "x$enable_assertions" = xyes ; then
lyx_flags="$lyx_flags assertions"
AC_DEFINE(ENABLE_ASSERTIONS,1,
[Define if you want assertions to be enabled in the code])
fi
### Library Files
dnl by testing these we check if it is ok to have
dnl -lc and -lm as args to the compiler
AC_CHECK_LIB(m, sin)
AC_CHECK_LIB(c, fopen)
### Add extra directories to check for libraries.
LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"
### Add extra directories to check for include files.
LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"
### Add both includes and libraries
LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
LYX_LOOP_DIR($lyx_cv_extra_prefix,[
LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
AC_ARG_WITH(aiksaurus,
[ --without-aiksaurus do not use the Aiksaurus library],
[lyx_use_aiksaurus=$withval])
if test x$lyx_use_aiksaurus != xno; then
AC_CHECK_LIB(Aiksaurus, main,
[AC_DEFINE(HAVE_LIBAIKSAURUS,1,[Define this if you have the AikSaurus library])
AIKSAURUS_LIBS="-lAiksaurus -lbz2"
],,"-lbz2")
AC_CHECK_HEADER(Aiksaurus.h,[
ac_cv_header_aiksaurus_h=yes
lyx_cv_aiksaurus_h_location="<Aiksaurus.h>"])
AC_CHECK_HEADER(Aiksaurus/Aiksaurus.h,[
ac_cv_header_aiksaurus_h=yes
lyx_cv_aiksaurus_h_location="<Aiksaurus/Aiksaurus.h>"])
AC_DEFINE_UNQUOTED(AIKSAURUS_H_LOCATION,$lyx_cv_aiksaurus_h_location,[Location of Aiksaurus.h])
fi
AC_SUBST(AIKSAURUS_LIBS)
### Setup libtool
AC_DISABLE_SHARED
AC_LIBTOOL_WIN32_DLL
#AM_PROG_LIBTOOL
LYX_PROG_LIBTOOL
### Check if we want pspell libraries
CHECK_WITH_PSPELL
### Check for some Cygwin-specific details.
CHECK_WITH_CYGWIN
### Check for X libraries
AC_PATH_XTRA
case $have_x in
yes) LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
# Since solaris X headers use int as implicit return type and modern
# gcc's do not like that, let's use -isystem instead of -I.
# We should test for gcc version and see whether it supports -isystem,
# but since at least gcc 2.6.x supports it and it is still too old for
# us, it seems we are safe.
if test -n "$GXX" ; then
X_CFLAGS=`echo ${X_CFLAGS} | sed -e 's/-I/-isystem /'`
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS";;
no) LYX_ERROR(dnl
[Cannot find X window libraries and/or headers. Check your installation.
If you use a Linux system, check that you have installed
the development tools.]);;
disable) ;;
esac
### check which frontend we want to use
#LYX_USE_FRONTEND
dnl The code below is not in a macro, because this would cause big
dnl problems with the AC_REQUIRE contained in KDE_DO_IT_ALL.
case "$lyx_use_frontend" in
xforms)
LYX_PATH_XPM
LYX_PATH_XFORMS
LYX_CHECK_XFORMS_IMAGE_LOADER
FRONTEND="xforms"
RPM_FRONTEND="xforms"
RPM_FRONTEND_DEPS='libforms >= 1.0'
FRONTEND_GUILIB="xforms/*.lo xforms/forms/*.lo"
FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
FRONTEND_LIBS="@XFORMS_IMAGE_LIB@ @XFORMS_LIB@ @XPM_LIB@"
FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\
libforms version: ${XFORMS_VERSION}\n"
;;
dnl gnome)
dnl LYX_PATH_XPM
dnl LYX_PATH_XFORMS
dnl LYX_CHECK_XFORMS_IMAGE_LOADER
dnl PKG_CHECK_MODULES(GNOME_FRONTEND, gtkmm-2.0 libglademm-2.0)
dnl AC_SUBST(GNOME_FRONTEND_CFLAGS)
dnl AC_SUBST(GNOME_FRONTEND_LIBS)
dnl FRONTEND="xforms gnome"
dnl FRONTEND_GUILIB="gnome/*.lo"
dnl FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}"
dnl FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}"
dnl ;;
qt)
QT_DO_IT_ALL
RPM_FRONTEND="qt"
RPM_FRONTEND_DEPS='qt >= 2.2.1'
FRONTEND="qt2"
FRONTEND_GUILIB="qt2/*.lo qt2/ui/*.lo qt2/moc/*.lo qt2/ui/moc/*.lo"
FRONTEND_LDFLAGS="\$(QT_LDFLAGS)"
FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT_INCLUDES)"
FRONTEND_LIBS="\$(QT_LIB)"
FRONTEND_INFO=" Qt version: ${QT_VERSION}\n"
;;
*)
LYX_ERROR(Unknown frontend $lyx_use_frontend);;
esac
### Setup GNU gettext
dnl GNUgettext is written in C
AC_LANG_PUSH(C)
# Some tests that may be useful for gettext
AC_C_CONST
AC_C_INLINE
# Do the real setup now
AM_GNU_GETTEXT
# a hack for those who try to change LyX, but do not have gettext installed
case "${XGETTEXT}" in
*:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
esac
AC_SUBST(LINGUAS)
AC_LANG_POP(C)
# some standard header files
AC_HEADER_DIRENT
AC_HEADER_MAJOR
AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h)
# some standard structures
AC_HEADER_STAT
AC_HEADER_TIME
# some standard types
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_UID_T
AC_CHECK_FUNCS(snprintf vsnprintf strerror)
LYX_CHECK_DECL(snprintf, stdio.h)
LYX_CHECK_DECL(vsnprintf, stdio.h)
LYX_CHECK_DECL(istreambuf_iterator, iterator)
LYX_CHECK_DECL(mkstemp,[unistd.h stdlib.h])
dnl This is a slight hack: the tests generated by autoconf 2.52 do not
dnl work correctly because of some conflict with stdlib.h with g++ 2.96
dnl We aim to remove this eventually, since we should test as much as
dnl possible with the compiler which will use the functions (JMarc)
AC_LANG_PUSH(C)
AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo mkstemp mktemp)
AC_LANG_POP(C)
dnl Until this is fixed in autoconf we provide our own version
AC_FUNC_SELECT_ARGTYPES
dnl check whether we have to work around solaris broken putenv()
LYX_FUNC_PUTENV_ARGTYPE
### Some information on what just happened
real_bindir=`eval "echo \`eval \"echo ${bindir}\"\`"`
real_datadir=`eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
VERSION_INFO="Configuration\n\
Host type: ${host}\n\
Special build flags: ${lyx_flags}\n\
C Compiler: ${CC}\n\
C Compiler flags: ${CFLAGS}\n\
C++ Compiler: ${CXX} ${CXX_VERSION}\n\
C++ Compiler flags: ${CXXFLAGS}\n\
Linker flags: ${LDFLAGS}\n\
Frontend: ${lyx_use_frontend}\n\
${FRONTEND_INFO}\
LyX binary dir: ${real_bindir}\n\
LyX files dir: ${real_datadir}\n"
AC_SUBST(VERSION_INFO)
AC_SUBST(RPM_FRONTEND)
AC_SUBST(RPM_FRONTEND_DEPS)
## Some config.h stuff
AH_TOP([
/* -*- C++ -*- */
/* This is the compilation configuration file for LyX. It was generated by
autoconfs configure. You might want to change some of the defaults if
something goes wrong during the compilation
* This file is part of
* ======================================================
*
* LyX, the High Level Word Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
*======================================================*/
#ifndef _CONFIG_H
#define _CONFIG_H
])
AH_BOTTOM([
/************************************************************
** You should not need to change anything beyond this point */
#ifndef HAVE_STRCHR
# define strchr(a,b) index(a,b)
#endif
#ifndef HAVE_MEMMOVE
# define memmove(a,b,c) bcopy(b,a,c)
#endif
#ifndef HAVE_STRERROR
#if defined(__cplusplus)
extern "C"
#endif
char * strerror(int n);
#endif
#ifdef BROKEN_HEADERS
#include "broken_headers.h"
#endif
#ifdef HAVE_MKSTEMP
#ifndef HAVE_DECL_MKSTEMP
#if defined(__cplusplus)
extern "C"
#endif
int mkstemp(char*);
#endif
#endif
#ifdef __EMX__
#include "support/os2_defines.h"
#endif
#if defined(__CYGWIN__) || defined(__CYGWIN32__)
#include "support/nt_defines.h"
#endif
#if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM)
#define USE_BOOST_FORMAT 1
#else
#define USE_BOOST_FORMAT 0
#endif
#endif
])
### Finish the work.
AC_CONFIG_SUBDIRS(lib lib/reLyX)
AC_CONFIG_FILES([Makefile \
boost/Makefile \
boost/libs/Makefile \
boost/libs/regex/Makefile \
boost/libs/regex/src/Makefile \
boost/libs/signals/Makefile \
boost/libs/signals/src/Makefile \
config/Makefile \
development/Makefile \
development/lyx.spec \
lib/Makefile \
intl/Makefile \
po/Makefile.in \
sourcedoc/Doxyfile \
sourcedoc/Makefile \
src/Makefile \
src/version.C \
src/mathed/Makefile \
src/graphics/Makefile \
src/insets/Makefile \
src/support/Makefile \
src/frontends/Makefile \
src/frontends/controllers/Makefile \
src/frontends/xforms/Makefile \
src/frontends/xforms/forms/Makefile \
src/frontends/qt2/Makefile \
src/frontends/qt2/moc/Makefile \
src/frontends/qt2/ui/Makefile \
src/frontends/qt2/ui/moc/Makefile \
src/frontends/gnome/Makefile \
])
AC_OUTPUT
# show version information
echo
printf "$VERSION_INFO"
echo
# Display a final warning if there has been a LYX_ERROR
LYX_CHECK_ERRORS
|