X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=configure.ac;h=e010c8175dad6ef12f291a54d19436c84c2983e8;hb=e456b5e91942f1e39affd36d6f0376cdc64fd7da;hp=f8eec65fd8b98fc3e1d8951d3b5ea28a57ecfdee;hpb=6977164d68e697c3ff3decc36e3f7e4821685d55;p=lyx.git diff --git a/configure.ac b/configure.ac index f8eec65fd8..e010c8175d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ dnl Process with autoconf to generate configure script -*- sh -*- -AC_INIT(LyX,1.5.0svn,[lyx-devel@lists.lyx.org],[lyx]) -AC_SUBST(LYX_DATE, ["Sat, April 21, 2007"]) +AC_INIT(LyX,1.6.0svn,[lyx-devel@lists.lyx.org],[lyx]) +AC_SUBST(LYX_DATE, ["Wed, Jun 27, 2007"]) AC_PREREQ(2.52) -AC_CONFIG_SRCDIR(src/main.C) +AC_CONFIG_SRCDIR(src/main.cpp) AC_CONFIG_HEADERS([src/config.h]) AC_CONFIG_AUX_DIR(config) @@ -25,7 +25,7 @@ fi AM_MAINTAINER_MODE save_PACKAGE=$PACKAGE -AM_INIT_AUTOMAKE([foreign dist-bzip2 tar-ustar no-define 1.9]) +AM_INIT_AUTOMAKE([foreign dist-bzip2 no-define 1.5]) PACKAGE=$save_PACKAGE ### Set the execute permissions of the various scripts correctly @@ -33,6 +33,9 @@ for file in config/install-sh config/mkinstalldirs ; do chmod 755 ${srcdir}/${file} done +### Provide a dummy POTFILES.in in po in order to mark it as a PO directory +test -f ${srcdir}/po/POTFILES.in || touch ${srcdir}/po/POTFILES.in + ### Check for programs AC_PROG_MAKE_SET AC_PROG_INSTALL @@ -77,13 +80,13 @@ 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 +dnl LYX_CXX_EXPLICIT LYX_CXX_GLOBAL_CSTD -LYX_STD_COUNT +dnl LYX_STD_COUNT dnl we disable rtti for now dnl LYX_CXX_RTTI -AC_CHECK_HEADERS(ostream istream sstream locale limits ios) -LYX_CXX_STL_MODERN_STREAMS +dnl AC_CHECK_HEADERS(ostream istream sstream locale limits ios) +dnl LYX_CXX_STL_MODERN_STREAMS ### and now some special lyx flags. AC_ARG_ENABLE(assertions, @@ -100,10 +103,7 @@ if test "x$enable_assertions" = xyes ; then 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) +dnl AC_CHECK_LIB(m, sin) ### Add extra directories to check for libraries. LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE) @@ -156,11 +156,27 @@ dnl see http://permalink.gmane.org/gmane.comp.gnu.libtool.general/6699 dnl Note that this will reportedly not be needed with libtool 2.0 m4_undefine([AC_PROG_F77]) m4_defun([AC_PROG_F77],[]) + AC_DISABLE_SHARED +#AC_DISABLE_STATIC AC_LIBTOOL_WIN32_DLL #AM_PROG_LIBTOOL LYX_PROG_LIBTOOL +### We need iconv for unicode support (Qt4 frontend requires it too) +AM_ICONV +if test "$am_cv_func_iconv" = no; then + LYX_ERROR([Cannot find required library iconv]) +else + LIBS="$LIBS $LIBICONV" +fi + +### check for compression support +AC_CHECK_HEADERS(zlib.h, + [AC_CHECK_LIB(z, gzopen, [LIBS="$LIBS -lz"], LYX_LIB_ERROR(libz,zlib))], + [LYX_LIB_ERROR(zlib.h,zlib)]) + + ### Check for X libraries AC_PATH_XTRA case $have_x in @@ -214,14 +230,8 @@ if echo $prefix |grep ' ' >/dev/null 2>/dev/null ; then prefix=`pwd`/installprefix fi -### We need iconv for unicode support -AM_ICONV -if test "$am_cv_func_iconv" = no; then - LYX_ERROR([Cannot find required library iconv]) -fi - ### Setup GNU gettext -dnl GNU gettext is written in C +dnl GNU gettext is written in C AC_LANG_PUSH(C) AM_GNU_GETTEXT AC_LANG_POP(C) @@ -229,7 +239,7 @@ 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 utime.h sys/utime.h io.h process.h NewAPIs.h) +AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h io.h process.h NewAPIs.h utime.h sys/utime.h) # some standard structures AC_HEADER_STAT @@ -250,11 +260,6 @@ LYX_CHECK_DECL(mkstemp,[unistd.h stdlib.h]) # Check the form of mkdir() AC_FUNC_MKDIR -# check for compression support -AC_CHECK_HEADERS(zlib.h, - [AC_CHECK_LIB(z, gzopen, [LIBS="$LIBS -lz"], LYX_LIB_ERROR(libz,zlib))], - [LYX_LIB_ERROR(zlib.h,zlib)]) - 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 @@ -281,6 +286,13 @@ LIBS="$save_LIBS" AM_CONDITIONAL(BUILD_CLIENT_SUBDIR, $lyx_client_subdir) AC_LANG_POP(C) +lyx_win_res=false; +case ${host} in + *mingw*|*cygwin*) lyx_win_res=true;; +esac +AM_CONDITIONAL(LYX_WIN_RESOURCE, $lyx_win_res) +LYX_SET_VERSION_INFO + AC_FUNC_SELECT_ARGTYPES ### Some information on what just happened @@ -288,24 +300,20 @@ real_bindir=`eval "echo \`eval \"echo ${bindir}\"\`"` real_pkgdatadir=`eval "echo \`eval \"echo \\\`eval \\\"echo ${pkgdatadir}\\\"\\\`\"\`"` real_localedir=`eval "echo \`eval \"echo ${datadir}/locale\"\`"` VERSION_INFO="Configuration\n\ - Host type: ${host}\n\ - Special build flags: ${lyx_flags}\n\ - C Compiler: ${CC} ${CC_VERSION}\n\ - C Compiler LyX flags: ${AM_CPPFLAGS} ${AM_CFLAGS}\n\ - C Compiler flags: ${CPPFLAGS} ${CFLAGS}\n\ - C++ Compiler: ${CXX} ${CXX_VERSION}\n\ - C++ Compiler LyX flags: ${AM_CPPFLAGS} ${AM_CXXFLAGS}\n\ - C++ Compiler flags: ${CPPFLAGS} ${CXXFLAGS}\n\ - Linker flags: ${AM_LDFLAGS}\n\ - Linker user flags: ${LDFLAGS}\n\ + Host type: ${host}\n\ + Special build flags: ${lyx_flags}\n\ + C Compiler: ${CC} ${CC_VERSION}\n\ + C Compiler LyX flags: ${AM_CPPFLAGS} ${AM_CFLAGS}\n\ + C Compiler flags: ${CPPFLAGS} ${CFLAGS}\n\ + C++ Compiler: ${CXX} ${CXX_VERSION}\n\ + C++ Compiler LyX flags: ${AM_CPPFLAGS} ${AM_CXXFLAGS}\n\ + C++ Compiler flags: ${CPPFLAGS} ${CXXFLAGS}\n\ + Linker flags: ${AM_LDFLAGS}\n\ + Linker user flags: ${LDFLAGS}\n\ ${FRONTEND_INFO}\ - Packaging: ${lyx_use_packaging}\n\ - LyX binary dir: ${real_bindir}\n\ - LyX files dir: ${real_pkgdatadir}\n" - -MSYS_AC_CANONICAL_PATH(LYX_ABS_TOP_SRCDIR, ${srcdir}) -MSYS_AC_CANONICAL_PATH(LYX_ABS_INSTALLED_LOCALEDIR, ${real_localedir}) -MSYS_AC_CANONICAL_PATH(LYX_ABS_INSTALLED_DATADIR, ${real_pkgdatadir}) + Packaging: ${lyx_use_packaging}\n\ + LyX binary dir: ${real_bindir}\n\ + LyX files dir: ${real_pkgdatadir}\n" AC_SUBST(VERSION_INFO) AC_SUBST(RPM_FRONTEND) @@ -313,9 +321,6 @@ AC_SUBST(AM_CPPFLAGS) AC_SUBST(AM_CXXFLAGS) AC_SUBST(AM_CFLAGS) AC_SUBST(AM_LDFLAGS) -AC_SUBST(LYX_ABS_TOP_SRCDIR) -AC_SUBST(LYX_ABS_INSTALLED_LOCALEDIR) -AC_SUBST(LYX_ABS_INSTALLED_DATADIR) ## Some config.h stuff @@ -347,15 +352,6 @@ extern "C" char * strerror(int n); #endif -#ifdef HAVE_MKSTEMP -#ifndef HAVE_DECL_MKSTEMP -#if defined(__cplusplus) -extern "C" -#endif -int mkstemp(char*); -#endif -#endif - #if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM) # define USE_BOOST_FORMAT 1 #else @@ -383,55 +379,153 @@ int mkstemp(char*); # define WANT_GETFILEATTRIBUTESEX_WRAPPER 1 #endif -#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 -# define LIBC_WCTYPE_USES_UCS4 +/* + * the FreeBSD libc uses UCS4, but libstdc++ has no proper wchar_t + * support compiled in: + * http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#3_9 + * And we are not interested at all what libc + * does: What we need is a 32bit wide wchar_t, and a libstdc++ that + * has the needed wchar_t support and uses UCS4. Whether it + * implements this with the help of libc, or whether it has own code + * does not matter for us, because we do not use libc directly (Georg) +*/ +#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) +# define USE_WCHAR_T #endif #endif ]) -### Finish the work. -AC_CONFIG_FILES([Makefile m4/Makefile \ - boost/Makefile \ - boost/libs/Makefile \ - boost/libs/filesystem/Makefile \ - boost/libs/filesystem/src/Makefile \ - boost/libs/iostreams/Makefile \ - boost/libs/iostreams/src/Makefile \ - boost/libs/regex/Makefile \ - boost/libs/regex/src/Makefile \ - boost/libs/signals/Makefile \ - boost/libs/signals/src/Makefile \ - config/Makefile \ - development/Makefile \ - development/MacOSX/Makefile \ - development/MacOSX/spotlight/Makefile \ - development/lyx.spec \ - lib/Makefile \ - lib/doc/Makefile \ - lib/lyx2lyx/lyx2lyx_version.py \ - lib/lyx2lyx/Makefile \ - intl/Makefile \ - po/Makefile.in \ - sourcedoc/Doxyfile \ - sourcedoc/Makefile \ - src/client/Makefile \ - src/Makefile \ - src/version.C-tmp:src/version.C.in \ - src/tex2lyx/Makefile \ - src/mathed/Makefile \ - src/graphics/Makefile \ - src/insets/Makefile \ - src/support/Makefile \ - src/support/tests/Makefile \ - src/frontends/Makefile \ - src/frontends/controllers/Makefile \ - src/frontends/controllers/tests/Makefile \ - src/frontends/qt4/Makefile \ - src/frontends/qt4/ui/Makefile \ + +AC_ARG_WITH(qmake, + AC_HELP_STRING([--with-qmake], + [Use qmake instead of automake to generate Makefiles]),, + [with_qmake=no]) + +AC_ARG_ENABLE(monolithic-boost, + AC_HELP_STRING([--enable-monolithic-boost], + [Use monolithic boost compilations]),, + [enable_monolithic_boost=no]) +AM_CONDITIONAL(MONOLITHIC_BOOST, test "$enable_monolithic_boost" = "yes") + +AC_ARG_ENABLE(monolithic-client, + AC_HELP_STRING([--enable-monolithic-client], + [Use monolithic client compilations]),, + [enable_monolithic_client=no]) +AM_CONDITIONAL(MONOLITHIC_CLIENT, test "$enable_monolithic_client" = "yes") + +AC_ARG_ENABLE(monolithic-controllers, + AC_HELP_STRING([--enable-monolithic-controllers], + [Use monolithic controllers compilations]),, + [enable_monolithic_controllers=no]) +AM_CONDITIONAL(MONOLITHIC_CONTROLLERS, test "$enable_monolithic_controllers" = "yes") + +AC_ARG_ENABLE(monolithic-insets, + AC_HELP_STRING([--enable-monolithic-insets], + [Use monolithic insets compilations]),, + [enable_monolithic_insets=no]) +AM_CONDITIONAL(MONOLITHIC_INSETS, test "$enable_monolithic_insets" = "yes") + +AC_ARG_ENABLE(monolithic-mathed, + AC_HELP_STRING([--enable-monolithic-mathed], + [Use monolithic mathed compilations]),, + [enable_monolithic_mathed=no]) +AM_CONDITIONAL(MONOLITHIC_MATHED, test "$enable_monolithic_mathed" = "yes") + +AC_ARG_ENABLE(monolithic-core, + AC_HELP_STRING([--enable-monolithic-core], + [Use monolithic core files compilations]),, + [enable_monolithic_core=no]) +AM_CONDITIONAL(MONOLITHIC_CORE, test "$enable_monolithic_core" = "yes") + +AC_ARG_ENABLE(monolithic-tex2lyx, + AC_HELP_STRING([--enable-monolithic-tex2lyx], + [Use monolithic tex2lyx compilations]),, + [enable_monolithic_tex2lyx=no]) +AM_CONDITIONAL(MONOLITHIC_TEX2LYX, test "$enable_monolithic_tex2lyx" = "yes") + +AC_ARG_ENABLE(monolithic-frontend-qt4, + AC_HELP_STRING([--enable-monolithic-frontend-qt4], + [Use monolithic compilation of the Qt 4 frontend. Only recommended with > 512 MB of RAM]),, + [enable_monolithic_frontend_qt4=no]) +AM_CONDITIONAL(MONOLITHIC_FRONTEND_QT4, test "$enable_monolithic_frontend_qt4" = "yes") + +MSYS_AC_CANONICAL_PATH(lyx_abs_top_srcdir, ${srcdir}) +MSYS_AC_CANONICAL_PATH(lyx_abs_installed_localedir, ${real_localedir}) +MSYS_AC_CANONICAL_PATH(lyx_abs_installed_datadir, ${real_pkgdatadir}) + +AC_DEFINE_UNQUOTED([LYX_ABS_TOP_SRCDIR], + "${lyx_abs_top_srcdir}", [Top source directory]) +AC_DEFINE_UNQUOTED([LYX_ABS_INSTALLED_LOCALEDIR], + "${lyx_abs_installed_localedir}",[Hard coded locale directory]) +AC_DEFINE_UNQUOTED([LYX_ABS_INSTALLED_DATADIR], + "${lyx_abs_installed_datadir}",[Hard system support directory]) +AC_DEFINE_UNQUOTED([PROGRAM_SUFFIX], + "${version_suffix}",[Program version suffix]) + +AC_DEFINE_UNQUOTED([LYX_DATE],"$LYX_DATE",[Date of release]) +AC_DEFINE_UNQUOTED([VERSION_INFO],"$VERSION_INFO",[Full version info]) +AC_DEFINE_UNQUOTED([LYX_MAJOR_VERSION],$lyx_major,[Major version number]) +AC_DEFINE_UNQUOTED([LYX_MINOR_VERSION],$lyx_minor,[Minor version number]) +AC_DEFINE_UNQUOTED([LYX_RELEASE_LEVEL],$lyx_release,[Release version number]) +AC_DEFINE_UNQUOTED([LYX_RELEASE_PATCH],$lyx_patch,[Patch version number]) + +AC_CONFIG_FILES([Makefile + boost/Makefile \ + config/Makefile \ + development/Makefile \ + development/MacOSX/Makefile \ + development/MacOSX/Info.plist \ + development/MacOSX/lyxrc.dist \ + development/MacOSX/spotlight/Makefile \ + development/lyx.spec \ + intl/Makefile \ + lib/Makefile \ + lib/doc/Makefile \ + lib/lyx2lyx/lyx2lyx_version.py \ + lib/lyx2lyx/Makefile \ + m4/Makefile \ + po/Makefile.in \ + sourcedoc/Doxyfile \ + sourcedoc/Makefile \ + src/client/Makefile \ + src/Makefile \ + src/tex2lyx/Makefile \ + src/support/Makefile \ + src/frontends/Makefile \ + src/frontends/controllers/Makefile \ + src/frontends/qt4/Makefile ]) + AC_OUTPUT + +if test x$with_qmake = xyes ; then + echo "CONFIGURE WITH QMAKE ONLY" + if test x$srcdir = x ; then + echo "ONLY FOR OUT-OF-TREE-BUILDS POSSIBLE" + else + rm boost/Makefile + rm src/client/Makefile + rm src/Makefile + rm src/tex2lyx/Makefile + rm src/support/Makefile + rm src/frontends/Makefile + rm src/frontends/controllers/Makefile + rm src/frontends/qt4/Makefile + rm -rf boost/.deps + rm -rf src/client/.deps + rm -rf src/.deps + rm -rf src/tex2lyx/.deps + rm -rf src/support/.deps + rm -rf src/frontends/.deps + rm -rf src/frontends/controllers/.deps + rm -rf src/frontends/qt4/.deps + ${srcdir}/development/qmake/doit + fi +fi + + # show version information echo printf "$VERSION_INFO"