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, ["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)
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
AC_ISC_POSIX
AC_AIX
+### we need to know the byte order for unicode conversions
+AC_C_BIGENDIAN
+
### check which frontend we want to use
LYX_USE_FRONTENDS
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_USE_INCLUDED_BOOST
+# Needed for our char_type
+AC_CHECK_SIZEOF(wchar_t)
+
### Setup libtool
+dnl Dirty trick ahead: disable libtool checking for a fortran compiler
+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_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
dnl problems with the AC_REQUIRE contained in QT_DO_IT_ALL.
for frontend in $FRONTENDS ; do
case "$frontend" in
- gtk)
- PKG_CHECK_MODULES(GTK_FRONTEND, gtkmm-2.4 libglademm-2.4 xft)
- FRONTENDS_PROGS="$FRONTENDS_PROGS lyx-gtk\$(EXEEXT)"
- FRONTENDS_SUBDIRS="$FRONTENDS_SUBDIRS gtk"
- RPM_FRONTEND="gtk"
- GTKMM_VERSION=`pkg-config --modversion gtkmm-2.4`
- LIBGLADEMM_VERSION=`pkg-config --modversion libglademm-2.4`
- FRONTEND_INFO="${FRONTEND_INFO}\
- GTK Frontend:\n\
- libgtkmm version:\t\t${GTKMM_VERSION}\n\
- libglademm version:\t\t${LIBGLADEMM_VERSION}\n"
- ;;
-
- qt3)
- QT_DO_IT_ALL
- FRONTENDS_PROGS="$FRONTENDS_PROGS lyx-qt3\$(EXEEXT)"
- FRONTENDS_SUBDIRS="$FRONTENDS_SUBDIRS qt3"
- RPM_FRONTEND="qt3"
- FRONTEND_INFO="${FRONTEND_INFO}\
- Qt Frontend:\n\
- Qt version:\t\t${QT_VERSION}\n"
-dnl qt build will fail without moc or uic
- if test -z "$MOC"; then
- LYX_ERROR([moc binary not found !])
- fi
- if test -z "$UIC"; then
- LYX_ERROR([uic binary not found !])
- fi
- if test -z "$QT_LIB"; then
- LYX_ERROR([qt library not found !])
- fi
- ;;
qt4)
QT4_DO_IT_ALL
FRONTENDS_PROGS="$FRONTENDS_PROGS lyx-qt4\$(EXEEXT)"
AC_HEADER_TIME
# some standard types
-AC_TYPE_MODE_T
+AC_CHECK_TYPE(mode_t,[AC_DEFINE(HAVE_MODE_T, 1, [Define this to 1 if your compiler supports the mode_t type.])])
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
# 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
dnl possible with the compiler which will use the functions (JMarc)
AC_LANG_PUSH(C)
-AC_CHECK_FUNCS(close _close getpid _getpid lstat mkfifo mkstemp mktemp open _open pclose _pclose popen _popen readlink)
+AC_CHECK_FUNCS(chmod close _close getpid _getpid lstat mkfifo mkstemp mktemp open _open pclose _pclose popen _popen readlink)
AC_LANG_POP(C)
LYX_CHECK_SPELL_ENGINES
### Some information on what just happened
real_bindir=`eval "echo \`eval \"echo ${bindir}\"\`"`
-real_pkgdatadir=`eval "echo \`eval \"echo ${pkgdatadir}\"\`"`
+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\
#ifdef __CYGWIN__
# define BOOST_POSIX 1
+# define BOOST_POSIX_API 1
+# define BOOST_POSIX_PATH 1
#endif
#if defined(HAVE_NEWAPIS_H)
# define WANT_GETFILEATTRIBUTESEX_WRAPPER 1
#endif
+/*
+ * 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 don't use libc directly (Georg)
+*/
+#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 && ! defined(__FREEBSD__)
+# define USE_WCHAR_T
+#endif
+
#endif
])
### Finish the work.
-AC_CONFIG_FILES([Makefile m4/Makefile \
+AC_CONFIG_FILES([Makefile
boost/Makefile \
boost/libs/Makefile \
boost/libs/filesystem/Makefile \
boost/libs/signals/src/Makefile \
config/Makefile \
development/Makefile \
+ development/MacOSX/Makefile \
+ development/MacOSX/spotlight/Makefile \
development/lyx.spec \
+ intl/Makefile \
lib/Makefile \
lib/doc/Makefile \
lib/lyx2lyx/lyx2lyx_version.py \
lib/lyx2lyx/Makefile \
- intl/Makefile \
+ m4/Makefile \
po/Makefile.in \
sourcedoc/Doxyfile \
sourcedoc/Makefile \
src/client/Makefile \
src/Makefile \
- src/version.C-tmp:src/version.C.in \
+ src/version.cpp-tmp:src/version.cpp.in \
src/tex2lyx/Makefile \
src/mathed/Makefile \
src/graphics/Makefile \
src/frontends/Makefile \
src/frontends/controllers/Makefile \
src/frontends/controllers/tests/Makefile \
- src/frontends/gtk/Makefile \
- src/frontends/gtk/gimages/Makefile \
- src/frontends/gtk/glade/Makefile \
- src/frontends/qt3/Makefile \
- src/frontends/qt3/moc/Makefile \
- src/frontends/qt3/ui/Makefile \
- src/frontends/qt3/ui/moc/Makefile \
src/frontends/qt4/Makefile \
src/frontends/qt4/ui/Makefile \
])