X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=configure.in;h=5a141386579fdb1dfa763dbfdd93c599b71a7b65;hb=28307966381dd022bfc2df3beb4a8cf0d8958f46;hp=85b37fa20d8013c47c4ffc65ef92bdc9e75bb1af;hpb=d467c47d318e04350eefc23711c97b089a0c7621;p=lyx.git diff --git a/configure.in b/configure.in index 85b37fa20d..5a14138657 100644 --- a/configure.in +++ b/configure.in @@ -1,29 +1,26 @@ dnl Process with autoconf to generate configure script -*- sh -*- -AC_INIT(src/lyx.C) +AC_INIT(src/main.C) AC_PREREQ(2.13) dnl We want to use autoconf 2.13 AM_CONFIG_HEADER(src/config.h) dnl This is a trick to make autoheader do the right thing dnl AM_CONFIG_HEADER(src/config.h) AC_CONFIG_AUX_DIR(config) -LYX_GET_VERSION(${srcdir}/src/version.h) + +PACKAGE=lyx${program_suffix} +VERSION="1.3.0cvs" +LYX_CHECK_VERSION AC_CANONICAL_SYSTEM AC_VALIDATE_CACHE_SYSTEM_TYPE -AC_ARG_WITH(lyx-suffix, - [ --with-lyx-suffix install lyx files as lyx-], - [lyxname="lyx-$withval" - program_suffix=-$withval], - [lyxname=lyx]) +LYX_VERSION_SUFFIX AM_INIT_AUTOMAKE($lyxname, $VERSION) # The list of languages known to LyX # This is needed by GNU gettext -ALL_LINGUAS="ca cs da de es eu fi fr he hu it nl no pl pt ro ru sl sv tr wa" - -AC_PREFIX_PROGRAM(lyx) +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" # fix the value of the prefixes. test "x$prefix" = xNONE && prefix=$ac_default_prefix @@ -43,6 +40,7 @@ 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 @@ -56,52 +54,46 @@ AC_PROG_CC ### check for special systems AC_ISC_POSIX AC_AIX -LYX_HPUX -LYX_SUNOS4 -LYX_SCO ### Check for program extensions (.exe or nothing) AC_EXEEXT ### 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 - gnome) - GNOME_INIT - GNOME_COMPILE_WARNINGS - GNOME_X_CHECKS -esac + +#old gnome stuff removed by Michael Koziarski 25-05-2002 ### Check for a C++ compiler -AC_LANG_CPLUSPLUS LYX_PROG_CXX -AC_PROG_CXXCPP -AC_DISABLE_SHARED -AC_LIBTOOL_WIN32_DLL -AM_PROG_LIBTOOL - ### Some checks on what the C++ compiler can(not) do -LYX_CXX_MUTABLE -LYX_CXX_PARTIAL +AC_LANG_CPLUSPLUS +dnl we do not need that currently (and probably all our supported +dnl compiler allow that) +dnl LYX_CXX_PARTIAL LYX_CXX_EXPLICIT -dnl we do not use stl stack, or at least not on gcc 2.7, which was the -dnl cause for this test. -dnl LYX_CXX_STL_STACK LYX_CXX_STL_STRING LYX_CXX_GOOD_STD_STRING -LYX_CXX_NAMESPACES 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) +AC_CHECK_HEADERS(ostream istream sstream locale limits) LYX_CXX_STL_MODERN_STREAMS -### We need a regex implementation, so we provide our own if none is found. -LYX_REGEX +### 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 @@ -124,26 +116,28 @@ LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${ LYX_LOOP_DIR($lyx_cv_extra_prefix,[ LYX_ADD_INC_DIR(CPPFLAGS,$dir/include) LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)]) - -### Check for the -liberty library -test "x$GXX" = xyes && lyx_use_liberty=yes -AC_ARG_WITH(liberty, - [ --without-liberty do not try to link against libiberty.a], - [lyx_use_liberty=$withval]) -if test x$lyx_use_liberty = xyes; then - # AC_CHECK_LIB(iberty,main,LIBS="-liberty $LIBS") - AC_CHECK_LIB(iberty,main) + +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,,[Define this if you have the AikSaurus library]) + AIKSAURUS_LIBS="-lAiksaurus -lbz2" + ],,"-lbz2") fi +AC_SUBST(AIKSAURUS_LIBS) -### Check which libsigc++ we're using -LYX_WITH_SIGC +### 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 X libraries -# Check for the pt library (for SCO, needed for X) -AC_CHECK_LIB(pt,ptsname,X_EXTRA_LIBS="-lpt $X_EXTRA_LIBS") # The real thing. AC_PATH_XTRA LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS" @@ -161,49 +155,64 @@ CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_CHECK_FUNCS(XOpenIM) ### check which frontend we want to use +# We have to check for xforms anyway +LYX_PATH_XPM +LYX_PATH_XFORMS + #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 - kde) - KDE_DO_IT_ALL - FRONTEND="kde" - FRONTEND_GUILIB="\${top_builddir}/src/frontends/kde/libkde.la" - FRONTEND_LDFLAGS="\$(QT_LDFLAGS) \$(KDE_LDFLAGS)" - FRONTEND_INCLUDES="-I\${srcdir}/kde \$(QT_INCLUDES) \$(KDE_INCLUDES)" - FRONTEND_LIBS="\$(KDE_LIBS)";; - xforms) +dnl problems with the AC_REQUIRE contained in KDE_DO_IT_ALL. +case "$lyx_use_frontend" in + xforms) # for now don't set it for xforms as this is always entered - FRONTEND="" - FRONTEND_GUILIB="\${top_builddir}/src/frontends/xforms/libxforms.la";; - gnome) - AM_PATH_GTKMM(1.2.1,, - AC_MSG_ERROR(Cannot find GTK--: Please install Version 1.2.1+)) - AM_PATH_GNOMEMM - - FRONTEND="gnome" - FRONTEND_GUILIB="\${top_builddir}/src/frontends/gnome/libgnome.la" - FRONTEND_LDFLAGS="\$(GNOMEMM_LIBDIR)" - FRONTEND_INCLUDES="-I\${srcdir}/gnome \$(GNOMEMM_INCLUDEDIR) \$(GTKMM_CFLAGS)" - FRONTEND_LIBS="\$(GNOMEMM_LIBS) \$(GTKMM_LIBS)";; + FRONTEND="xforms" + FRONTEND_GUILIB="xforms/*.lo xforms/forms/*.lo" + FRONTEND_INCLUDES="-I\$(srcdir)/xforms" + case "$host" in + *cygwin) + FRONTEND_LIBS="@XFORMS_LIB@ @XFORMS_IMAGE_LIB@ @XPM_LIB@" + ;; + *) + FRONTEND_LIBS="@XFORMS_IMAGE_LIB@ @XFORMS_LIB@ @XPM_LIB@" + ;; + esac + FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\ + libforms version: ${XFORMS_VERSION}\n" + ;; + gnome) + PKG_CHECK_MODULES(GNOME_FRONTEND, gtkmm-2.0 libglademm-2.0) + AC_SUBST(GNOME_FRONTEND_CFLAGS) + AC_SUBST(GNOME_FRONTEND_LIBS) + + FRONTEND="xforms gnome" + FRONTEND_GUILIB="gnome/*.lo" + FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}" + FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} " + FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}";; + qt2) + QT2_DO_IT_ALL + FRONTEND="qt2" + FRONTEND_GUILIB="qt2/*.lo qt2/ui/*.lo qt2/moc/*.lo qt2/ui/moc/*.lo" + FRONTEND_LDFLAGS="\$(QT2_LDFLAGS)" + FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT2_INCLUDES)" + FRONTEND_LIBS="\$(QT2_LIBS)";; *) LYX_ERROR(Unknown frontend $lyx_use_frontend);; esac ### Check for xforms and xpm (only if X has been found). -if test "$have_x" = yes ; then -# We surely need these two libraries and want to check carefully the -# version numbers... -LYX_PATH_XPM -LYX_PATH_XFORMS -AC_SUBST(LYX_LIBS) -else +if test "$have_x" = no ; then 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 +[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.]) fi +### Check whether the xforms library has a viable image loader +### For now, run this test always so config.h is unchanged by a change in +### frontend +LYX_USE_XFORMS_IMAGE_LOADER + ### Setup GNU gettext dnl GNU gettext is written in C AC_LANG_C @@ -212,8 +221,8 @@ 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 +# 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 @@ -224,18 +233,11 @@ AC_LANG_CPLUSPLUS # some standard header files AC_HEADER_DIRENT AC_HEADER_MAJOR -AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h) - -# some annoying header files -#LYX_PATH_HEADER(stl_string_fwd.h) -LYX_STL_STRING_FWD +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 -AC_STRUCT_ST_BLKSIZE -AC_STRUCT_ST_BLOCKS -AC_STRUCT_ST_RDEV # some standard types AC_TYPE_MODE_T @@ -245,17 +247,18 @@ AC_TYPE_SIGNAL AC_TYPE_SIZE_T AC_TYPE_UID_T -# some functions we'd like to have -AC_ARG_WITH(broken-headers, - [ --with-broken-headers define some functions on SunOS4 and SCO], - [lyx_broken_headers=$withval]) -if test "x$lyx_broken_headers" = "xyes"; then - lyx_flags="$lyx_flags broken-headers" - AC_DEFINE(BROKEN_HEADERS, 1, - [Define on SunOS 4 and SCO, were some functions are missing from the headers]) -fi -AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo snprintf vsnprintf) -AC_CHECK_FUNCS(mkstemp mktemp) +AC_CHECK_FUNCS(snprintf vsnprintf) +LYX_CHECK_DECL(snprintf, stdio.h) +LYX_CHECK_DECL(vsnprintf, stdio.h) +LYX_CHECK_DECL(istreambuf_iterator, iterator) + +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_C +AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo mkstemp mktemp) +AC_LANG_CPLUSPLUS dnl Until this is fixed in autoconf we provide our own version LYX_FUNC_SELECT_ARGTYPES @@ -263,62 +266,64 @@ LYX_FUNC_SELECT_ARGTYPES dnl check whether we have to work around solaris broken putenv() LYX_FUNC_PUTENV_ARGTYPE -# SunOS 4.1.3 does not have strerror and atexit -AC_REPLACE_FUNCS(strerror atexit) LYX_CHECK_DECL_HDRS(mkstemp,[unistd.h stdlib.h]) -### 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 +### 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) ### Finish the work. -AC_CONFIG_SUBDIRS(sigc++ lib lib/reLyX) +AC_CONFIG_SUBDIRS(lib lib/reLyX) AC_OUTPUT([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/lyx.spec \ lib/Makefile \ intl/Makefile \ po/Makefile.in \ - boost/Makefile \ + sourcedoc/Doxyfile \ src/Makefile \ + src/version.C \ src/mathed/Makefile \ src/graphics/Makefile \ src/insets/Makefile \ src/support/Makefile \ src/frontends/Makefile \ - src/frontends/support/Makefile \ + src/frontends/controllers/Makefile \ src/frontends/xforms/Makefile \ - src/frontends/kde/Makefile \ - src/frontends/kde/moc/Makefile \ - src/frontends/kde/dlg/Makefile \ - src/frontends/kde/dlg/moc/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 \ -], [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]) - - -cat <