mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-25 10:20:18 -06:00
e6e07fdc1a
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15491 57a11ea4-9604-0410-9ed3-97b8803252fd
2276 lines
73 KiB
Plaintext
2276 lines
73 KiB
Plaintext
## -*-m4-*-
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
# FILE:
|
|
# configure.in
|
|
#
|
|
# FUNCTION:
|
|
# implements checks for a variety of system-specific functions
|
|
#
|
|
# Contents:
|
|
# Headers - Autoconf header stuff
|
|
# Variables - Hardcoded variables
|
|
# Programs - Check for programs binaries
|
|
# Functions - Check for functions
|
|
# With - Check for --with/without options
|
|
# Enable - Check for --enable/disable options
|
|
# Libraries - Check for libraries
|
|
# Footer - Autoconf footer stuff
|
|
|
|
# Autoconf initialization
|
|
AC_PREREQ(2.59)
|
|
AC_INIT([gnucash], [2.0.99], [gnucash-devel@gnucash.org])
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_CONFIG_SRCDIR(src/engine/Transaction.h)
|
|
|
|
AC_CONFIG_HEADERS(gsf-config.h)
|
|
AC_CONFIG_HEADERS(goffice-config.h)
|
|
AC_CONFIG_HEADERS(goffice-features.h)
|
|
|
|
# Initialize automake -- make sure we have at least version 1.9
|
|
AM_INIT_AUTOMAKE(1.9)
|
|
|
|
# Parse out the version number
|
|
GNUCASH_VERSION_STRING=AC_PACKAGE_VERSION
|
|
GNUCASH_MAJOR_VERSION=`echo $GNUCASH_VERSION_STRING | [ sed -e 's/^\([^\.]*\)\.\([^.]*\)\.\(.*\)$/\1/' ]`
|
|
GNUCASH_MINOR_VERSION=`echo $GNUCASH_VERSION_STRING | [ sed -e 's/^\([^\.]*\)\.\([^.]*\)\.\(.*\)$/\2/' ]`
|
|
GNUCASH_MICRO_VERSION=`echo $GNUCASH_VERSION_STRING | [ sed -e 's/^\([^\.]*\)\.\([^.]*\)\.\(.*\)$/\3/' ]`
|
|
|
|
# save any user/environment optimization flags before we muck with them in
|
|
# --enable-debug:
|
|
USER_OPTIMIZATION=""
|
|
for flag in $CFLAGS; do
|
|
if test -z $(echo $flag | sed -e 's,-O.,,'); then
|
|
USER_OPTIMIZATION="$USER_OPTIMIZATION ${flag}"
|
|
fi
|
|
done
|
|
|
|
## Do this first, because the other tests depend on it:
|
|
|
|
# Check for gcc and intltool (somehow breaks the suggested content
|
|
# order, doesn't it? Whatever.)
|
|
AC_PROG_CC
|
|
AC_GNU_SOURCE
|
|
AC_PROG_INTLTOOL
|
|
|
|
AM_GCONF_SOURCE_2
|
|
|
|
# Override gconf default install locations. The default is to always
|
|
# put them into /etc. This change puts them into $(prefix)/etc.
|
|
if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
|
|
GCONF_SCHEMA_CONFIG_SOURCE="xml::${sysconfdir}/gconf/gconf.xml.defaults"
|
|
fi
|
|
GCONF_SCHEMA_CONFIG_SOURCE_DIRONLY=`echo $GCONF_SCHEMA_CONFIG_SOURCE | cut -d ':' -f 3`
|
|
AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE_DIRONLY)
|
|
|
|
|
|
AC_SUBST(GNUCASH_MAJOR_VERSION)
|
|
AC_SUBST(GNUCASH_MINOR_VERSION)
|
|
AC_SUBST(GNUCASH_MICRO_VERSION)
|
|
|
|
AC_DEFINE_UNQUOTED(GNUCASH_MAJOR_VERSION, $GNUCASH_MAJOR_VERSION,
|
|
[GnuCash Major version number])
|
|
AC_DEFINE_UNQUOTED(GNUCASH_MINOR_VERSION, $GNUCASH_MINOR_VERSION,
|
|
[GnuCash Minor version number])
|
|
AC_DEFINE_UNQUOTED(GNUCASH_MICRO_VERSION, $GNUCASH_MICRO_VERSION,
|
|
[GnuCash Micro version number])
|
|
|
|
dnl Set of available languages.
|
|
ALL_LINGUAS="ca cs da de el en_GB es_NI es eu fr hu it ja nb ne nl pl pt_BR pt ro ru rw sk sv ta tr uk zh_CN zh_TW"
|
|
|
|
GETTEXT_PACKAGE=gnucash
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
[GetText version number])
|
|
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
|
|
# Enable only when we have autoconf --version >= 2.59
|
|
# on all platforms. Note that AC_PREREQ(2.59) may be
|
|
# insufficient to actually use v2.59 on OSX
|
|
#AC_CONFIG_MACRO_DIR(macros)
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_LIBTOOL_DLOPEN
|
|
AM_DISABLE_STATIC
|
|
AM_PROG_LIBTOOL
|
|
|
|
AC_SUBST(LIBTOOL_DEPS)
|
|
|
|
AC_ISC_POSIX
|
|
AC_C_BIGENDIAN
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_LN_S
|
|
AC_HEADER_STDC
|
|
|
|
AC_CHECK_HEADERS(limits.h sys/times.h sys/wait.h)
|
|
AC_CHECK_FUNCS(stpcpy memcpy timegm towupper)
|
|
AC_CHECK_FUNCS(setenv,,[
|
|
AC_CHECK_FUNCS(putenv,,[
|
|
AC_MSG_ERROR([Must have one of the setenv or putenv functions.])
|
|
])
|
|
])
|
|
|
|
##################################################
|
|
# Check for win32 platform
|
|
##################################################
|
|
AC_MSG_CHECKING([for native Win32])
|
|
case $host in
|
|
*-*-mingw*)
|
|
native_win32=yes
|
|
;;
|
|
*)
|
|
native_win32=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT([$native_win32])
|
|
AM_CONDITIONAL(OS_WIN32, test "x$native_win32" = "xyes")
|
|
|
|
AC_MSG_CHECKING([for Win32 platform in general])
|
|
case $host in
|
|
*-*-mingw*|*-*-cygwin*)
|
|
platform_win32=yes
|
|
;;
|
|
*)
|
|
platform_win32=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($platform_win32)
|
|
AM_CONDITIONAL(PLATFORM_WIN32, test "x$platform_win32" = "xyes")
|
|
##################################################
|
|
|
|
STRUCT_TM_GMTOFF_CHECK
|
|
SCANF_LLD_CHECK
|
|
if test x$am_cv_scanf_lld = "xno"; then
|
|
SCANF_QD_CHECK
|
|
|
|
if test x$am_cv_scanf_qd = "xno"; then
|
|
SCANF_I64D_CHECK
|
|
if test x$am_cv_scanf_i64d = "xno"; then
|
|
AC_MSG_ERROR([Cannot continue, no long long conversion support in scanf.])
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# test whether we are building directly from SVN/SVK
|
|
${srcdir}/util/gnc-svnversion ${srcdir} >/dev/null 2>&1
|
|
if test $? = 0 ; then
|
|
BUILDING_FROM_SVN=yes
|
|
|
|
# We need at least version 1.3.28 of SWIG because
|
|
# that's when SWIG added %delobject
|
|
AC_PROG_SWIG(1.3.28)
|
|
else
|
|
BUILDING_FROM_SVN=no
|
|
fi
|
|
AM_CONDITIONAL(BUILDING_FROM_SVN, test "x$BUILDING_FROM_SVN" = "xyes")
|
|
|
|
# These are unavailable on windows/mingw32
|
|
AC_CHECK_HEADERS(X11/Xlib.h glob.h)
|
|
AC_CHECK_FUNCS(chown gethostname getppid getuid gettimeofday gmtime_r)
|
|
AC_CHECK_FUNCS(gethostid link)
|
|
|
|
# Init binreloc
|
|
AM_BINRELOC
|
|
|
|
### --------------------------------------------------------------------------
|
|
### See if we have pkg-config
|
|
|
|
AC_PATH_PROG(PKG_CONFIG,pkg-config)
|
|
if test "x$PKG_CONFIG" = x; then
|
|
# @*%&$ Ximian programmers renamed this application
|
|
AC_PATH_PROG(PKG_CONFIG,pkgconfig)
|
|
if test "x$PKG_CONFIG" = x; then
|
|
AC_MSG_ERROR([Could not find the pkg-config (or pkgconfig) program.],)
|
|
fi
|
|
fi
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Glib checks..
|
|
|
|
AM_PATH_GLIB_2_0(2.6.0,,AC_MSG_ERROR([
|
|
*** GLIB >= 2.6 is required to build Gnucash; please make sure you have the
|
|
*** development headers installed. The latest version of GLIB is
|
|
*** always available at ftp://ftp.gnome.org/pub/gnome/sources/glib/.]),
|
|
gthread gobject gmodule)
|
|
|
|
if test ${no_glib}x = yesx
|
|
then
|
|
AC_MSG_ERROR([Cannot find glib. Check config.log])
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for GLIB - version >= 2.8.0)
|
|
if $PKG_CONFIG 'glib-2.0 >= 2.8.0'
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_GLIB_2_8,1,[System has glib 2.8.0 or better])
|
|
HAVE_GLIB_2_8=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
if test "x${native_win32}" = "xyes"; then
|
|
AC_MSG_ERROR([*** GLIB >= 2.8 is required to build Gnucash on Windows.])
|
|
else
|
|
GLIB26_LIBS="$GLIB_LIBS"
|
|
GLIB_LIBS="\${top_builddir}/lib/glib28/libgnc-glib.la $GLIB_LIBS"
|
|
GLIB_CFLAGS="-I\${top_srcdir}/lib/glib28 $GLIB_CFLAGS"
|
|
AC_SUBST(GLIB26_LIBS)
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_GLIB_2_8, test "x$HAVE_GLIB_2_8" = "xyes")
|
|
|
|
AC_MSG_CHECKING(for GLIB - version >= 2.9.0)
|
|
if $PKG_CONFIG 'glib-2.0 >= 2.9.0'
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_GLIB29,1,[System has glib 2.9.0 or better])
|
|
HAVE_GLIB29=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AC_MSG_CHECKING([for untested GLIB versions (glib >= 2.11.0)])
|
|
if $PKG_CONFIG 'glib-2.0 >= 2.11.0'
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
HAVE_UNTESTED_GLIB=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
AC_CHECK_HEADERS(dlfcn.h dl.h utmp.h locale.h mcheck.h unistd.h wctype.h)
|
|
|
|
# Gnucash replaced dlopen/dlsym by the g_module functions; dlsym
|
|
# is needed optionally in one place for BSD linkers, though.
|
|
DL_LIB=
|
|
AC_CHECK_FUNCS(dlsym,,[
|
|
AC_CHECK_LIB(dl, dlsym, DL_LIB="-ldl",[
|
|
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld",[
|
|
AC_CHECK_FUNCS(dlsym, DL_LIB="")
|
|
])
|
|
])
|
|
])
|
|
|
|
oLIBS="$LIBS"
|
|
LIBS="$LIBS $DL_LIB"
|
|
AC_CHECK_FUNCS(dlerror,,)
|
|
LIBS="$oLIBS"
|
|
AC_SUBST(DL_LIB)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### MacOS 10.x requires some special handling...
|
|
|
|
# Some systems (MacOS) require -lintl
|
|
# not true for darwin 10.3 - halts the build.
|
|
#AC_SEARCH_LIBS(gettext, intl, ,[
|
|
# AC_MSG_ERROR([Cannot find gettext -- do you need to build -lintl?])], )
|
|
|
|
AC_SUBST(SED)
|
|
|
|
AC_MSG_CHECKING(for darwin)
|
|
case $host_os in
|
|
rhapsody* | darwin1*)
|
|
AC_MSG_RESULT([yes, but too old])
|
|
AC_MSG_ERROR([This platform is not supported, please
|
|
update to latest darwin])
|
|
;;
|
|
darwin*)
|
|
AC_MSG_RESULT([yes, moving on...])
|
|
# AC_CHECK_HEADERS(popt.h)
|
|
# AC_MSG_RESULT([yes, patching libtool to always build dylibs])
|
|
# mv libtool libtool.old
|
|
# ${SED} -e 's/^deplibs_check_method.*/deplibs_check_method=pass_all/g' \
|
|
# -e 's|^library_names_spec.*|library_names_spec="\\$libname\\$release\\$versuffix.dylib \\$libname\\$release\\${major}.dylib \\$libname.dylib"|g' \
|
|
# -e 's|^soname_spec.*|soname_spec="\\$libname\\$release\\$major.dylib"|g' \
|
|
# < libtool.old > libtool
|
|
# rm libtool.old
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
esac
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Guile version checks (should this be something other than the Gnome check?)
|
|
|
|
# If the user has given these values, cache them to override the
|
|
# detected values.
|
|
if test "x$GUILE_LIBS" != x; then
|
|
saved_GUILE_LIBS="$GUILE_LIBS"
|
|
fi
|
|
if test "x$GUILE_INCS" != x; then
|
|
saved_GUILE_INCS="$GUILE_INCS"
|
|
fi
|
|
GUILE_LIBS=""
|
|
GNOME_CHECK_GUILE
|
|
|
|
if test "x$saved_GUILE_LIBS" != x; then
|
|
GUILE_LIBS="$saved_GUILE_LIBS"
|
|
fi
|
|
if test "x$saved_GUILE_INCS" != x; then
|
|
GUILE_INCS="$saved_GUILE_INCS"
|
|
fi
|
|
|
|
AS_SCRUB_INCLUDE(GUILE_INCS)
|
|
AC_SUBST(GUILE_LIBS)
|
|
|
|
AM_GUILE_VERSION_CHECK(1.6.0, , , [AC_MSG_ERROR([
|
|
|
|
guile does not appear to be installed correctly, or is not in the
|
|
correct version range. Perhaps you have not installed the guile
|
|
development packages? Gnucash requires at least version 1.6 to build.
|
|
])])
|
|
|
|
AC_SUBST(GUILE)
|
|
AC_DEFINE_UNQUOTED(GNC_GUILE_MAJOR_VERSION, ${guile_major_version},
|
|
[Guile Major version number])
|
|
AC_DEFINE_UNQUOTED(GNC_GUILE_MINOR_VERSION, ${guile_minor_version},
|
|
[Guile Minor version number])
|
|
AC_DEFINE_UNQUOTED(GNC_GUILE_MICRO_VERSION, ${guile_micro_version},
|
|
[Guile Micro version number])
|
|
|
|
AM_GUILE_VERSION_CHECK(1.8.0, , [
|
|
AC_DEFINE(HAVE_GUILE18,1,[System has guile 1.8 or better])
|
|
], )
|
|
|
|
AS_SCRUB_INCLUDE(CFLAGS)
|
|
|
|
AC_MSG_CHECKING([for SLIB support])
|
|
if ${GUILE} -c "(use-modules (ice-9 slib)) (require 'printf)" > /dev/null 2>&1
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_ERROR([
|
|
|
|
Cannot find SLIB. Are you sure you have it installed?
|
|
See http://bugzilla.gnome.org/show_bug.cgi?id=347922
|
|
|
|
])
|
|
fi
|
|
|
|
### Check size of long_long - some guile's are broken.
|
|
AC_MSG_CHECKING(if guile long_long is at least as big as gint64)
|
|
GNC_OLDCFLAGS="$CFLAGS"
|
|
CFLAGS="${GNOME_CFLAGS} ${GUILE_INCS} ${CFLAGS} ${GLIB_CFLAGS}"
|
|
AC_TRY_RUN([
|
|
#include <glib.h>
|
|
#include <libguile/__scm.h>
|
|
int main(int argc, char *argv[]) {
|
|
return(!(sizeof(long_long) >= sizeof(gint64)));
|
|
}
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
AC_CHECK_LIB(guile, scm_long_long2num,
|
|
AC_DEFINE(GUILE_LONG_LONG_OK,1,is sizeof(long_long) >=
|
|
sizeof(gint64)))
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
],[
|
|
AC_MSG_RESULT(assuming yes)
|
|
AC_CHECK_LIB(guile, scm_long_long2num,
|
|
AC_DEFINE(GUILE_LONG_LONG_OK,1,is sizeof(long_long) >=
|
|
sizeof(gint64)))
|
|
])
|
|
CFLAGS="$GNC_OLDCFLAGS"
|
|
|
|
# One of the places this is critical is in gnc_scm_to_gint64 and inverse.
|
|
# However, I'm sure we require this elsewhere, so don't remove this test
|
|
# unless you've done sufficient code review/testing.
|
|
AC_MSG_CHECKING(if unsigned long is at least as big as guint32)
|
|
GNC_OLDCFLAGS="$CFLAGS"
|
|
CFLAGS="${GNOME_CFLAGS} ${GUILE_INCS} ${CFLAGS} ${GLIB_CFLAGS}"
|
|
AC_TRY_RUN([
|
|
#include <glib.h>
|
|
int main(int argc, char *argv[]) {
|
|
return(!(sizeof(unsigned long) >= sizeof(guint32)));
|
|
}
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR(cannot continue, size of unsigned long too small.)
|
|
],[
|
|
AC_MSG_RESULT(assuming yes)
|
|
])
|
|
CFLAGS="$GNC_OLDCFLAGS"
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Check which SRFIs we need.
|
|
|
|
GNC_ADD_ON_SRFIS=""
|
|
|
|
for f in ${srcdir}/lib/srfi/srfi-*.scm
|
|
do
|
|
srfi=`echo $f | sed 's%.*/%%' | sed 's/.scm//'`
|
|
AC_MSG_CHECKING(if guile needs our copy of ${srfi})
|
|
if ${GUILE} -c "(use-modules (srfi ${srfi}))" > /dev/null 2>&1
|
|
then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
GNC_ADD_ON_SRFIS="${GNC_ADD_ON_SRFIS} ${srfi}.scm"
|
|
AC_MSG_RESULT(yes)
|
|
fi
|
|
done
|
|
|
|
AC_SUBST(GNC_ADD_ON_SRFIS)
|
|
if test "x${GNC_ADD_ON_SRFIS}" != "x"
|
|
then
|
|
GNC_SRFI_LOAD_PATH="\${top_srcdir}/lib/"
|
|
GNC_TEST_SRFI_LOAD_CMD="--guile-load-dir \${top_srcdir}/lib/"
|
|
else
|
|
GNC_SRFI_LOAD_PATH=""
|
|
GNC_TEST_SRFI_LOAD_CMD=""
|
|
fi
|
|
AC_SUBST(GNC_SRFI_LOAD_PATH)
|
|
AC_SUBST(GNC_TEST_SRFI_LOAD_CMD)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### See if we need guile-www
|
|
|
|
gnc_have_guile_www=no
|
|
|
|
AC_MSG_CHECKING([if guile needs our copy of (guile www)])
|
|
GUILE_MODULE_AVAILABLE(gnc_have_guile_www,[(www main)])
|
|
|
|
AM_CONDITIONAL(GNC_HAVE_GUILE_WWW, test "${gnc_have_guile_www}" = yes)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### look for gconf
|
|
|
|
PKG_CHECK_MODULES(GCONF, gconf-2.0 >= "2.0")
|
|
# Look up gconftool-2
|
|
AC_PATH_PROG(GCONFTOOL, gconftool-2)
|
|
AC_SUBST(GCONFTOOL)
|
|
AC_SUBST(GCONF_CFLAGS)
|
|
AC_SUBST(GCONF_LIBS)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### LIBXML -- GNOME_XML_LIB is defined by GNOME_XML_CHECK
|
|
|
|
LIBXML2_REQUIRED=2.5.10
|
|
PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= $LIBXML2_REQUIRED)
|
|
LIBXML_VERSION=`$PKG_CONFIG --version xml`
|
|
AS_SCRUB_INCLUDE(LIBXML2_CFLAGS)
|
|
AC_SUBST(LIBXML2_CFLAGS)
|
|
AC_SUBST(LIBXML2_LIBS)
|
|
AC_SUBST(LIBXML_VERSION)
|
|
|
|
oLIBS="$LIBS"
|
|
LIBS="$LIBS $LIBXML2_LIBS"
|
|
|
|
# Compile a test program to verify that the xml2 library works.
|
|
AC_CHECK_LIB(xml2, xmlElemDump, [:], [
|
|
AC_MSG_ERROR([libxml2 is required for GnuCash])
|
|
])
|
|
LIBS="$oLIBS"
|
|
|
|
### --------------------------------------------------------------------------
|
|
### QOF, the Query Object Framework. Check if there is a native version.
|
|
|
|
dnl XXX: FIXME: RELEASE HACK
|
|
dnl This makes sure that we default to using internal QOF for SVN.
|
|
dnl Make sure to enable this to be the default for stable releases!
|
|
|
|
AC_ARG_ENABLE(qof,
|
|
[ --enable-qof enable the search for an external QOF library (disabled)],
|
|
[AC_MSG_ERROR([GnuCash has disabled use of external QOF.])
|
|
case "${enableval}" in
|
|
yes) gnc_enable_qof=true ;;
|
|
no) gnc_enable_qof=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-qof) ;;
|
|
esac],
|
|
[gnc_enable_qof=false])
|
|
|
|
AC_ARG_WITH(qof, [ --with-qof=path prefix for Query Object Framework - QOF (auto)],
|
|
[gnc_with_qof=$withval], [gnc_with_qof=yes])
|
|
|
|
# GnuCash builds without deprecated QOF code so needs latest version.
|
|
QOF_REQUIRED=0.6.4
|
|
# Can't use external qof until it supports "alternate dirty mode"
|
|
QOF_REQUIRED=99.99.99
|
|
if test "$gnc_enable_qof" = true ; then
|
|
AC_MSG_CHECKING([for QOF, version >= $QOF_REQUIRED])
|
|
if test "$gnc_with_qof" != "yes"; then
|
|
QOF=`$PKG_CONFIG --silence-errors --exists '$gnc_with_qof/lib/pkgconfig/qof-1.pc >= $QOF_REQUIRED'`
|
|
QOF_LIBS=`$PKG_CONFIG --silence-errors --libs $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
QOF_CFLAGS=`$PKG_CONFIG --silence-errors --cflags $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
QOF_VERSION=`$PKG_CONFIG --silence-errors --modversion $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
QOF_PREFIX=`$PKG_CONFIG --silence-errors --variable=prefix $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
QOF_LIB_DIR=`$PKG_CONFIG --silence-errors --variable=libdir $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
QOF_XML_DIR=`$PKG_CONFIG --silence-errors --variable=xmldir $gnc_with_qof/lib/pkgconfig/qof-1.pc`
|
|
else
|
|
QOF=`$PKG_CONFIG --silence-errors --exists 'qof-1 >= $QOF_REQUIRED'`
|
|
QOF_LIBS=`$PKG_CONFIG --silence-errors --libs qof-1`
|
|
QOF_CFLAGS=`$PKG_CONFIG --silence-errors --cflags qof-1`
|
|
QOF_VERSION=`$PKG_CONFIG --silence-errors --modversion qof-1`
|
|
QOF_PREFIX=`$PKG_CONFIG --silence-errors --variable=prefix qof-1`
|
|
QOF_LIB_DIR=`$PKG_CONFIG --silence-errors --variable=libdir qof-1`
|
|
QOF_XML_DIR=`$PKG_CONFIG --silence-errors --variable=xmldir qof-1`
|
|
fi
|
|
if test x$QOF_XML_DIR = x; then
|
|
AC_MSG_RESULT([no, will use internal QOF code])
|
|
else
|
|
AC_MSG_RESULT([yes])
|
|
fi
|
|
else
|
|
AC_MSG_NOTICE([External QOF Disabled. Using Internal QOF Code.])
|
|
fi
|
|
if test x$QOF_XML_DIR = x; then
|
|
QOF_LIB_DIR='${pkglibdir}'
|
|
QOF_CFLAGS='-I${top_builddir}/lib/libqof/qof -I${top_srcdir}/lib/libqof/qof'
|
|
QOF_LIBS='${top_builddir}/lib/libqof/qof/libgnc-qof.la'
|
|
QOF_VERSION="internal"
|
|
QOF_PREFIX="internal"
|
|
QOF_XML_DIR='${pkgdatadir}/xml/qsf'
|
|
LIBQOF_LIBRARY_VERSION=1:4:0
|
|
LIBQOF_BACKEND_QSF_LIBRARY_VERSION=0:3:0
|
|
AC_SUBST(LIBQOF_LIBRARY_VERSION)
|
|
AC_SUBST(LIBQOF_BACKEND_QSF_LIBRARY_VERSION)
|
|
AC_DEFINE(HAVE_LIBQOF,,[We will use the internal QOF code])
|
|
HAVE_LIBQOF="use_internal"
|
|
fi
|
|
AM_CONDITIONAL(USE_LIBQOF, [test x$HAVE_LIBQOF != x])
|
|
AM_CONDITIONAL(USE_LIBQOF, [test "$HAVE_LIBQOF" = "use_internal"])
|
|
AC_SUBST(USE_LIBQOF)
|
|
AC_SUBST(QOF_CFLAGS)
|
|
AC_SUBST(QOF_LIBS)
|
|
AS_SCRUB_INCLUDE(QOF_PREFIX)
|
|
AC_SUBST(QOF_PREFIX)
|
|
AC_SUBST(QOF_LIB_DIR)
|
|
AC_SUBST(QOF_XML_DIR)
|
|
|
|
AC_DEFINE(QOF_DISABLE_DEPRECATED,1, [Don't use deprecated qof functions])
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Variables
|
|
### Set up all the initial variable values...
|
|
GNC_CONFIGDIR='${sysconfdir}/gnucash'
|
|
GNC_DOC_INSTALL_DIR='${pkgdatadir}/doc'
|
|
GNC_INCLUDE_DIR='${includedir}/gnucash'
|
|
GNC_SCM_INSTALL_DIR='${pkgdatadir}/scm'
|
|
GNC_SHAREDIR='${pkgdatadir}'
|
|
GNC_LIBEXECDIR='${libexecdir}/gnucash'
|
|
|
|
GNC_ACCOUNTS_DIR='${GNC_SHAREDIR}/accounts'
|
|
GNC_GLADE_DIR='${GNC_SHAREDIR}/glade'
|
|
GNC_UI_DIR='${GNC_SHAREDIR}/ui'
|
|
GNC_PIXMAP_DIR='${GNC_SHAREDIR}/pixmaps'
|
|
|
|
AC_SUBST(GNC_ACCOUNTS_DIR)
|
|
AC_SUBST(GNC_CONFIGDIR)
|
|
AC_SUBST(GNC_DOC_INSTALL_DIR)
|
|
AC_SUBST(GNC_GLADE_DIR)
|
|
AC_SUBST(GNC_UI_DIR)
|
|
AC_SUBST(GNC_INCLUDE_DIR)
|
|
AC_SUBST(GNC_PIXMAP_DIR)
|
|
AC_SUBST(GNC_SCM_INSTALL_DIR)
|
|
AC_SUBST(GNC_SHAREDIR)
|
|
AC_SUBST(GNC_LIBEXECDIR)
|
|
|
|
AC_ARG_ENABLE( debug,
|
|
[ --enable-debug compile with debugging flags set],
|
|
# remove any optimization flags...
|
|
CFLAGS=$(echo $CFLAGS | sed -e 's,-O.,,g')
|
|
# ...except for those the user wants.
|
|
CFLAGS="${CFLAGS} -g ${USER_OPTIMIZATION}"
|
|
LDFLAGS="${LDFLAGS} -g"
|
|
AC_DEFINE(DEBUG_MEMORY,1,Enable debug memory),
|
|
AC_DEFINE(DEBUG_MEMORY,0,Enable debug memory) )
|
|
|
|
AC_ARG_ENABLE( profile,
|
|
[ --enable-profile compile with profiling set],
|
|
CFLAGS="${CFLAGS} -pg"
|
|
LDFLAGS="${LDFLAGS} -pg")
|
|
|
|
AC_ARG_ENABLE( ref-counts-dumps,
|
|
[ --enable-ref-counts-dumps compile with ref count dumps],
|
|
AC_DEFINE(DEBUG_REFERENCE_COUNTING,1,Enable reference count dumps),
|
|
AC_DEFINE(DEBUG_REFERENCE_COUNTING,0,Enable reference count dumps) )
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### SQL
|
|
# Check to see if the user wants to have Postgres support
|
|
#
|
|
# hack alert ... we should use 'pg_config --includedir' and
|
|
# 'pg_config --libdir' to find paths; unfortunately pg_config itself
|
|
# is hard to find :-(
|
|
|
|
AC_ARG_ENABLE( sql,
|
|
[ --enable-sql compile with sql support],
|
|
[
|
|
PG_CONFIG=`which pg_config`
|
|
|
|
if test "x$PG_CONFIG" = "x" ; then
|
|
PG_CONFIG="/usr/lib/postgresql/bin/pg_config"
|
|
fi
|
|
|
|
if test "x$enableval" != "xno" ; then
|
|
|
|
PGSQL_CFLAGS=`${PG_CONFIG} --includedir`
|
|
if test "x$PGSQL_CFLAGS" != x; then
|
|
PGSQL_CFLAGS="-I${PGSQL_CFLAGS}"
|
|
fi
|
|
|
|
AS_SCRUB_INCLUDE(PGSQL_CFLAGS)
|
|
# XXX Fixme: CPPFLAGS are saved but CFLAGS are altered later on and not restored.
|
|
saved_CPPFLAGS="${CPPFLAGS}"
|
|
saved_CFLAGS="${CFLAGS}"
|
|
CPPFLAGS="${CPPFLAGS} ${PGSQL_CFLAGS}"
|
|
AC_CHECK_HEADERS(pgsql/libpq-fe.h postgresql/libpq-fe.h libpq-fe.h)
|
|
if test "x$ac_cv_header_pgsql_libpq_fe_h$ac_cv_header_postgresql_libpq_fe_h$ac_cv_header_libpq_fe_h" = xnonono; then
|
|
AC_MSG_ERROR([Cannot find PostgreSQL headers; won't build sql backend])
|
|
else
|
|
master_dirs="/usr/include /usr/local/include"
|
|
if test "x$ac_cv_header_pgsql_libpq_fe_h" != xno; then
|
|
for dir in $master_dirs; do
|
|
if test -f "$dir/pgsql/libpq-fe.h"; then
|
|
CFLAGS="${CFLAGS} -I$dir/pgsql"
|
|
break
|
|
fi
|
|
done
|
|
elif test "x$ac_cv_header_postgresql_libpq_fe_h" != xno; then
|
|
for dir in $master_dirs; do
|
|
if test -f "$dir/postgresql/libpq-fe.h"; then
|
|
CFLAGS="${CFLAGS} -I$dir/postgresql"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
AS_SCRUB_INCLUDE(CFLAGS)
|
|
|
|
PGSQL_LIBS=`${PG_CONFIG} --libdir`
|
|
if test "x$PGSQL_LIBS" != x; then
|
|
PGSQL_LIBS="-L${PGSQL_LIBS}"
|
|
fi
|
|
|
|
saved_LIBS="$LIBS"
|
|
LIBS="${PGSQL_LIBS} -lpq $LIBS"
|
|
AC_MSG_CHECKING(for libpq)
|
|
AC_TRY_LINK(
|
|
[
|
|
#include <libpq-fe.h>
|
|
],
|
|
[
|
|
PQconnectdb("asdf");
|
|
],
|
|
[
|
|
AC_MSG_RESULT(yes)
|
|
SQL_DIR=postgres
|
|
],
|
|
[
|
|
AC_MSG_ERROR([Cannot find PostgreSQL libraries; will not build sql backend])
|
|
]
|
|
)
|
|
LIBS="$saved_LIBS"
|
|
fi
|
|
CPPFLAGS="$saved_CPPFLAGS"
|
|
CFLAGS="$saved_CFLAGS"
|
|
fi
|
|
]
|
|
)
|
|
|
|
AC_SUBST(PGSQL_CFLAGS)
|
|
AC_SUBST(PGSQL_LIBS)
|
|
AC_SUBST(SQL_DIR)
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### RPC has been removed in gnucash 1.9.0
|
|
|
|
### --------------------------------------------------------------------------
|
|
### OFX
|
|
want_ofx=auto
|
|
AC_ARG_ENABLE( ofx,
|
|
[ --enable-ofx compile with ofx support (needs LibOFX)],
|
|
[ case "$enableval" in
|
|
yes) want_ofx=yes ;;
|
|
no) want_ofx=no ;;
|
|
esac[]dnl
|
|
] )
|
|
AC_MSG_CHECKING(whether to use OFX)
|
|
case "${want_ofx}" in
|
|
yes) AC_MSG_RESULT(yes -- failure is fatal) ;;
|
|
no) AC_MSG_RESULT(no) ;;
|
|
auto) AC_MSG_RESULT(yes -- automatic test) ;;
|
|
esac
|
|
if test x${want_ofx} != xno ;
|
|
then
|
|
AC_ARG_WITH( ofx-prefix,
|
|
[ --with-ofx-prefix=DIR specify where to look for libOFX],
|
|
OFXPREFIX="$with_ofx_prefix" )
|
|
|
|
if test x${OFXPREFIX} != x ; then
|
|
LIBOFX_LIBS="-L${OFXPREFIX}/lib"
|
|
LIBOFX_CFLAGS="-I${OFXPREFIX}/include"
|
|
fi
|
|
|
|
### Check libofx version
|
|
# Obtain version string
|
|
AC_MSG_CHECKING(for libofx version >= 0.7.0)
|
|
if test x${OFXPREFIX} = x ; then
|
|
ofx_version_output=`ofxdump --version`
|
|
else
|
|
ofx_version_output=`${OFXPREFIX}/bin/ofxdump --version`
|
|
fi
|
|
# Extract version number; output format changed from 0.6.x to 0.7.x
|
|
LIBOFX_VERSION=`echo ${ofx_version_output} | sed 's/\([[^0-9]]*\)\([[0-9]]*\.\)/\2/' `
|
|
LIBOFX_VERSION_MAJOR=`echo ${LIBOFX_VERSION} | cut -d. -f1`
|
|
LIBOFX_VERSION_MINOR=`echo ${LIBOFX_VERSION} | cut -d. -f2`
|
|
# Make sure the numbers are not empty
|
|
if test x${LIBOFX_VERSION_MAJOR} = x ; then
|
|
LIBOFX_VERSION_MAJOR=0
|
|
fi
|
|
if test x${LIBOFX_VERSION_MINOR} = x ; then
|
|
LIBOFX_VERSION_MINOR=0
|
|
fi
|
|
# Now check for >= 0.7.x or >= 1.x.x
|
|
if test "${LIBOFX_VERSION_MAJOR}" -ge 1 -o \
|
|
"${LIBOFX_VERSION_MINOR}" -ge 7; then
|
|
# This is libofx >= 0.7.x
|
|
AC_MSG_RESULT([found ${LIBOFX_VERSION}])
|
|
else
|
|
if test x${want_ofx} = xyes ; then
|
|
AC_MSG_ERROR([found ${LIBOFX_VERSION}; Libofx 0.7.0 or newer needed for ofx support])
|
|
else
|
|
AC_MSG_RESULT([found ${LIBOFX_VERSION}; Libofx 0.7.0 or newer needed for ofx support])
|
|
want_ofx=no
|
|
fi
|
|
fi
|
|
|
|
if test "x${want_ofx}" != xno ; then
|
|
# Version number verified. Now check header files.
|
|
AC_MSG_CHECKING(for libofx/libofx.h)
|
|
AS_SCRUB_INCLUDE(LIBOFX_CFLAGS)
|
|
save_CPPFLAGS="${CPPFLAGS}"
|
|
CPPFLAGS="${CPPFLAGS} ${LIBOFX_CFLAGS}"
|
|
AC_TRY_CPP( [#include <libofx/libofx.h>], AC_MSG_RESULT(yes),
|
|
OFXfound=no )
|
|
|
|
if test x${OFXPREFIX} = x -a x${OFXfound} = no ; then
|
|
LIBOFX_LIBS="-L$/usr/local/lib"
|
|
LIBOFX_CFLAGS="-I$/usr/local/include"
|
|
AS_SCRUB_INCLUDE(LIBOFX_CFLAGS)
|
|
CPPFLAGS="${CPPFLAGS} ${LIBOFX_CFLAGS}"
|
|
|
|
AC_TRY_CPP( [#include <libofx/libofx.h>],
|
|
AC_MSG_RESULT([yes (in /usr/local)]),
|
|
[ if test "x${want_ofx}" = xyes ; then
|
|
AC_MSG_ERROR([cannot find libofx header, needed for OFX support.])
|
|
else
|
|
AC_MSG_RESULT([cannot find libofx header, needed for OFX support.])
|
|
want_ofx=no
|
|
fi
|
|
] )
|
|
fi
|
|
|
|
if test "x${want_ofx}" != xno ; then
|
|
LIBOFX_LIBS="${LIBOFX_LIBS} -lofx"
|
|
AC_MSG_CHECKING(for libofx)
|
|
save_LIBS="${LIBS}"
|
|
LIBS="${LIBS} ${LIBOFX_LIBS}"
|
|
AC_TRY_LINK( [
|
|
#include <libofx/libofx.h>
|
|
], [
|
|
LibofxContextPtr libofx_context = libofx_get_new_context();
|
|
libofx_free_context(libofx_context);
|
|
], AC_MSG_RESULT(yes),
|
|
[ if test "x${want_ofx}" = xyes ; then
|
|
AC_MSG_ERROR([*** Cannot compile test program for libofx library. Please check config.log for the exact error.])
|
|
else
|
|
AC_MSG_RESULT([*** Cannot compile test program for libofx library. Please check config.log for the exact error.])
|
|
want_ofx=no
|
|
fi
|
|
] )
|
|
|
|
LIBS="${save_LIBS}"
|
|
CPPFLAGS="${save_CPPFLAGS}"
|
|
AC_SUBST(LIBOFX_CFLAGS)
|
|
AC_SUBST(LIBOFX_LIBS)
|
|
fi
|
|
fi
|
|
fi
|
|
if test "x${want_ofx}" != xno ; then
|
|
OFX_DIR=ofx
|
|
fi
|
|
AC_SUBST(OFX_DIR)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### MT940
|
|
AC_ARG_ENABLE( mt940,
|
|
[ --enable-mt940 Obsolete, included in --enable-hbci],
|
|
if test "x$enableval" != "xno" ; then
|
|
AC_MSG_ERROR([--enable-mt940 is obsolete -- all functionality is already included in --enable-hbci])
|
|
fi)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### HBCI
|
|
AC_ARG_ENABLE( hbci,
|
|
[ --enable-hbci compile with HBCI support (needs AqBanking)],
|
|
if test "x$enableval" != "xno" ; then
|
|
HBCI_DIR=hbci
|
|
fi)
|
|
if test x${HBCI_DIR} = xhbci ;
|
|
then
|
|
# Check for Aqbanking library
|
|
# aqbanking-1.6.0 was released on 2005-09-22
|
|
PKG_CHECK_MODULES(HBCI, aqbanking >= "1.6.0" gwenhywfar, [], [
|
|
AC_AQBANKING(1,6,0)
|
|
if test x${have_aqbanking} != xyes;
|
|
then
|
|
AC_MSG_ERROR([Could not find aqbanking. If you use --enable-hbci, you *have* to enable aqbanking.])
|
|
fi
|
|
HBCI_LIBS="${aqbanking_libs}"
|
|
HBCI_CFLAGS="${aqbanking_includes}"
|
|
])
|
|
|
|
# also check for ktoblzcheck
|
|
AC_CHECK_HEADERS(ktoblzcheck.h)
|
|
if test "x$ac_cv_header_ktoblzcheck_h" != xno; then
|
|
HBCI_LIBS="${HBCI_LIBS} -lktoblzcheck"
|
|
fi
|
|
|
|
AS_SCRUB_INCLUDE(HBCI_CFLAGS)
|
|
AC_SUBST(HBCI_LIBS)
|
|
AC_SUBST(HBCI_CFLAGS)
|
|
fi
|
|
AC_SUBST(HBCI_DIR)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### i18n
|
|
|
|
# This variable is set by GLIB_WITH_NLS, called through
|
|
# AM_GLIB_GNU_GETTEXT above. Usually it is "share", but on some
|
|
# platforms it is "lib". Make sure it is set.
|
|
if test "x$DATADIRNAME" = "x"; then
|
|
DATADIRNAME="share"
|
|
AC_SUBST(DATADIRNAME)
|
|
fi
|
|
|
|
dnl check for nl_langinfo(D_FMT) which is missing on FreeBSD
|
|
LANGINFO_D_FMT_CHECK
|
|
|
|
dnl Enable locale-specific tax-related information in the accounts
|
|
AC_ARG_ENABLE( locale-specific-tax,
|
|
[ --enable-locale-specific-tax enable localized tax categories (experimental)],
|
|
AC_DEFINE(LOCALE_SPECIFIC_TAX,1,Enable the experimental locale-specific tax categories) )
|
|
|
|
### --------------------------------------------------------------------------
|
|
### help files
|
|
|
|
# Used to initialize doc-path.
|
|
AC_ARG_WITH( help-prefix,
|
|
[ --with-help-prefix=PATH specify where to store the help files],
|
|
GNC_HELPDIR="$with_help_prefix",
|
|
GNC_HELPDIR="\${datadir}")
|
|
|
|
AC_SUBST(GNC_HELPDIR)
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Check for etags
|
|
|
|
AC_ARG_ENABLE( etags,
|
|
[ --enable-etags enable automatic create of TAGS file],
|
|
if test x$enableval = xyes; then
|
|
USE_ETAGS=1
|
|
fi,
|
|
USE_ETAGS=0)
|
|
|
|
if test x${USE_ETAGS} = x1; then
|
|
AC_CHECK_PROG(GNC_ETAGS_FILE, etags, TAGS)
|
|
fi
|
|
|
|
AM_CONDITIONAL(GNC_ETAGS_FILE, test x${GNC_ETAGS_FILE} = xTAGS)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Check for ctags
|
|
|
|
AC_ARG_ENABLE( ctags,
|
|
[ --enable-ctags enable automatic create of tags file],
|
|
if test x$enableval = xyes; then
|
|
USE_CTAGS=1
|
|
fi,
|
|
USE_CTAGS=0)
|
|
|
|
if test x${USE_CTAGS} = x1; then
|
|
AC_CHECK_PROG(GNC_CTAGS_FILE, ctags, tags)
|
|
fi
|
|
|
|
AM_CONDITIONAL(GNC_CTAGS_FILE, test x${GNC_CTAGS_FILE} = xtags)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Check for perl
|
|
|
|
# Check for perl, force version 5
|
|
AC_ARG_WITH(perl,
|
|
[ --with-perl=FILE which perl executable to use ],
|
|
PERL="${with_perl}")
|
|
|
|
# If the user didn't specify a perl, then go fetch.
|
|
if test x"$PERL" = x;
|
|
then
|
|
AC_PATH_PROG(PERL, perl)
|
|
fi
|
|
|
|
# Make sure Perl was found
|
|
if test x"$PERL" = x; then
|
|
AC_MSG_ERROR([Cannot find Perl. Try using the --with-perl flag.])
|
|
fi
|
|
|
|
# Make sure it's version 5 or later
|
|
if "$PERL" -e 'exit 1 if $] < 5.0'; then
|
|
:
|
|
else
|
|
AC_MSG_ERROR([Found ${PERL} reports version ]
|
|
[`${PERL} -e 'print $]'`, need version 5.*])
|
|
fi
|
|
AC_SUBST(PERL)
|
|
|
|
# Now check for perl headers
|
|
# This appears to be what Perl's ExtUtils::MakeMaker module does, so
|
|
# I'm reasonably sure it's correct.
|
|
# PERLINCL="/usr/lib/perl5/i386-linux/5.00404"
|
|
#
|
|
PERLINCL=`$PERL -MConfig -e 'print $Config{"archlibexp"}'`
|
|
AC_ARG_WITH( perl-includes,
|
|
[ --with-perl-includes=DIR specify where to look for perl includes],
|
|
PERLINCL="$with_perl_includes" )
|
|
AC_SUBST(PERLINCL)
|
|
|
|
# check for doxygen, mostly stolen from http://log4cpp.sourceforge.net/
|
|
# ----------------------------------------------------------------------------
|
|
AC_DEFUN([BB_ENABLE_DOXYGEN],
|
|
[
|
|
AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)])
|
|
AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)])
|
|
AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes])
|
|
AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no])
|
|
if test "x$enable_doxygen" = xno; then
|
|
enable_doc=no
|
|
else
|
|
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
|
|
if test x$DOXYGEN = x; then
|
|
if test "x$enable_doxygen" = xyes; then
|
|
AC_MSG_ERROR([could not find doxygen])
|
|
fi
|
|
enable_doc=no
|
|
else
|
|
enable_doc=yes
|
|
AC_PATH_PROG(DOT, dot, , $PATH)
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(DOC, test x$enable_doc = xyes)
|
|
|
|
if test x$DOT = x; then
|
|
if test "x$enable_dot" = xyes; then
|
|
AC_MSG_ERROR([could not find dot])
|
|
fi
|
|
enable_dot=no
|
|
else
|
|
enable_dot=yes
|
|
fi
|
|
AM_CONDITIONAL(ENABLE_DOXYGEN, test x$enable_doc = xtrue)
|
|
AC_SUBST(enable_dot)
|
|
AC_SUBST(enable_html_docs)
|
|
AC_SUBST(enable_latex_docs)
|
|
])
|
|
|
|
# check for doxygen
|
|
# ----------------------------------------------------------------------------
|
|
BB_ENABLE_DOXYGEN
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Libraries
|
|
LIBS="$LIBS -lm"
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### popt
|
|
AC_CHECK_HEADERS(popt.h)
|
|
AC_CHECK_LIB(popt, poptStrippedArgv,, [AC_MSG_ERROR([
|
|
|
|
popt 1.5 or newer is required to build gnucash. You can download
|
|
the latest version from ftp://people.redhat.com/sopwith/popt/, or if
|
|
you're running Debian, install the libpopt-dev package.
|
|
])])
|
|
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Whether or not to build the GTK GUI components.
|
|
### When disabled, we don't even need to check for them!
|
|
### --------------------------------------------------------------------------
|
|
|
|
AC_ARG_ENABLE(gui,
|
|
[ --disable-gui build without the GNOME GUI components of Gnucash],
|
|
[case "${enableval}" in
|
|
yes) gnc_build_gui=true ;;
|
|
no) gnc_build_gui=false ;;
|
|
*) gnc_build_gui=true ;;
|
|
esac],
|
|
[gnc_build_gui=true])
|
|
|
|
AM_CONDITIONAL(GNUCASH_ENABLE_GUI, test x${gnc_build_gui} = xtrue)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### GNOME gui components -- built by default, but not if --enable-gui=no
|
|
### or --disable-gui is passed to autogen
|
|
### --------------------------------------------------------------------------
|
|
|
|
if test x${gnc_build_gui} = xtrue ;
|
|
then
|
|
if test x${enable_compile_warnings} = x ;
|
|
then
|
|
enable_compile_warnings="yes"
|
|
fi
|
|
GNOME_COMPILE_WARNINGS
|
|
|
|
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6)
|
|
AS_SCRUB_INCLUDE(GTK_CFLAGS)
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
HAVE_UNTESTED_GDK=yes
|
|
HAVE_UNTESTED_GTK=yes
|
|
|
|
PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 >= 2.4)
|
|
AS_SCRUB_INCLUDE(GNOME_CFLAGS)
|
|
AC_SUBST(GNOME_CFLAGS)
|
|
AC_SUBST(GNOME_LIBS)
|
|
|
|
AC_MSG_CHECKING([for untested GNOME versions (libgnome >= 2.15.0)])
|
|
if $PKG_CONFIG 'libgnome-2.0 >= 2.15.0'
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
HAVE_UNTESTED_GNOME=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0)
|
|
AS_SCRUB_INCLUDE(GDK_PIXBUF_CFLAGS)
|
|
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
|
AC_SUBST(GDK_PIXBUF_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GNOME_PRINT, libgnomeprint-2.2 libgnomeprintui-2.2)
|
|
AS_SCRUB_INCLUDE(GNOME_PRINT_CFLAGS)
|
|
AC_SUBST(GNOME_PRINT_CFLAGS)
|
|
AC_SUBST(GNOME_PRINT_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GLADE, libglade-2.0 >= 2.4)
|
|
AS_SCRUB_INCLUDE(GLADE_CFLAGS)
|
|
AC_SUBST(GLADE_CFLAGS)
|
|
AC_SUBST(GLADE_LIBS)
|
|
|
|
# check for gtkhtml 3.x versions.
|
|
gtkhtml=0
|
|
PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.8 , [gtkhtml=1] , [gtkhtml=0])
|
|
if test x$gtkhtml = x0
|
|
then
|
|
PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.6 , [gtkhtml=1] , [gtkhtml=0])
|
|
if test x$gtkhtml = x0
|
|
then
|
|
PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.2 , [gtkhtml=1] , [gtkhtml=0])
|
|
if test x$gtkhtml = x0
|
|
then
|
|
PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.1 , [gtkhtml=1],
|
|
AC_MSG_ERROR([Could not find a working gtkhtml version (need 3.1, 3.2, 3.6, or 3.8)]))
|
|
fi
|
|
fi
|
|
fi
|
|
AS_SCRUB_INCLUDE(GTKHTML_CFLAGS)
|
|
dnl if Mac OSX, also scrub /sw/include
|
|
dnl GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I/sw/include ;;" | sed -e "s;-I/sw/include$;;")
|
|
case $host_os in
|
|
darwin*)
|
|
GTKHTML_CFLAGS=$(echo $GTKHTML_CFLAGS | ${SED} -e "s;-I/sw/include ;;" | ${SED} -e "s;-I/sw/include$;;")
|
|
GTKHTML_CFLAGS=$(echo $GTKHTML_CFLAGS | ${SED} -e "s;-I/sw/include/gtkhtml ;;" | ${SED} -e "s;-I/sw/includ/gtkhtmle$;;")
|
|
;;
|
|
esac
|
|
AC_SUBST(GTKHTML_CFLAGS)
|
|
AC_SUBST(GTKHTML_LIBS)
|
|
|
|
|
|
### ----------------------------------------------------------------------
|
|
|
|
AC_ARG_ENABLE( efence,
|
|
[ --enable-efence link using efence],
|
|
if test x$enableval = xyes; then
|
|
EFENCE_LIBS="-lefence"
|
|
USE_EFENCE=1
|
|
AC_DEFINE(USE_EFENCE,,We are using EFence)
|
|
fi,
|
|
USE_EFENCE=0
|
|
EFENCE_LIBS="")
|
|
AC_SUBST(EFENCE_LIBS)
|
|
|
|
|
|
### ----------------------------------------------------------------------
|
|
## For now, we just presume you're using the GNOME version. The other
|
|
## UI's haven't been carried over during the automake transition. At
|
|
## some point, if it's deemed worthwhile, they can be resurrected...
|
|
|
|
GNOME=1
|
|
AC_DEFINE(GNOME,,using GNOME)
|
|
else
|
|
# GNOME_COMPILE_WARNINGS will add -Wall; no need to set it again.
|
|
# also, only add it for GCC.
|
|
if test ${GCC}x = yesx
|
|
then
|
|
# We should always see these errors...
|
|
CFLAGS="${CFLAGS} -Wall"
|
|
fi
|
|
fi
|
|
|
|
### ------------------------------------------------------------------------
|
|
### GOG/goffice, gsf, etc...
|
|
### Only test this if we're building the GUI
|
|
if test x${gnc_build_gui} = xtrue ;
|
|
then
|
|
AC_MSG_CHECKING(for GTK - version >= 2.10.0)
|
|
if $PKG_CONFIG 'gtk+-2.0 >= 2.10.0'
|
|
then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_GTK_2_10,1,[System has gtk 2.10.0 or better])
|
|
HAVE_GTK_2_10=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(HAVE_GTK_2_10, test "x$HAVE_GTK_2_10" = "xyes" )
|
|
|
|
|
|
dnl @@fixme
|
|
dnl use both PKG_CHECK_MODULES and `$PKG_CONFIG`; the first importantly sets
|
|
dnl MUMBLE_{LIBS,CFLAGS}...
|
|
dnl Q: What does PKG_CHECK_MODULES create?
|
|
dnl A: Just _CFLAGS and _LIBS, apparently [pkg.m4]
|
|
|
|
AC_MSG_CHECKING([for libgsf >= 1.12.2])
|
|
if $PKG_CONFIG --silence-errors 'libgsf-1 >= 1.12.2'
|
|
then
|
|
AC_MSG_RESULT(found)
|
|
PKG_CHECK_MODULES(GSF, libgsf-1 >= 1.12.2 libgsf-gnome-1 >= 1.12.2,,)
|
|
AC_DEFINE(HAVE_LIBGSF,1,[System has libgsf-1.12.2 or better])
|
|
HAVE_LIBGSF=yes
|
|
else
|
|
AC_MSG_RESULT(not found. using internally-packaged libgsf)
|
|
GSF_CFLAGS='-I${top_srcdir}/lib/libgsf-1.12.3'
|
|
GSF_LIBS='${top_builddir}/lib/libgsf-1.12.3/gsf/libgsf-1.la'
|
|
HAVE_LIBGSF=no
|
|
fi
|
|
AM_CONDITIONAL(HAVE_LIBGSF, test "x$HAVE_LIBGSF" = "xyes")
|
|
AC_SUBST(GSF_CFLAGS)
|
|
AC_SUBST(GSF_LIBS)
|
|
|
|
dnl $4=true => don't die if failure.
|
|
PKG_CHECK_MODULES(GOFFICE, libgoffice-0.3 >= 0.3.0,,true)
|
|
if $PKG_CONFIG --silence-errors 'libgoffice-0.3 >= 0.3.0'
|
|
then
|
|
AC_DEFINE(HAVE_GOFFICE,1,[System has goffice-0.0.4 or better])
|
|
HAVE_GOFFICE=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
PKG_CHECK_MODULES(GOFFICE, libgoffice-1 >= 0.0.4,,true)
|
|
if $PKG_CONFIG --silence-errors 'libgoffice-1 >= 0.0.4'
|
|
then
|
|
AC_DEFINE(HAVE_GOFFICE,1,[System has goffice-0.0.4 or better])
|
|
HAVE_GOFFICE=yes
|
|
else
|
|
AC_MSG_RESULT(using internally-packaged goffice)
|
|
GOFFICE_CFLAGS='-I${top_srcdir}/lib/goffice-0.0.4'
|
|
GOFFICE_LIBS='${top_builddir}/lib/goffice-0.0.4/goffice/libgoffice-1.la'
|
|
HAVE_GOFFICE=no
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_GOFFICE, test "x$HAVE_GOFFICE" = "xyes")
|
|
AC_SUBST(GOFFICE_CFLAGS)
|
|
AC_SUBST(GOFFICE_LIBS)
|
|
|
|
##################################################
|
|
# regex needs its own linker flag on win32 platform
|
|
##################################################
|
|
if test "$platform_win32" = yes; then
|
|
REGEX_LIBS="-lregex"
|
|
else
|
|
REGEX_LIBS=""
|
|
fi
|
|
AC_SUBST(REGEX_LIBS)
|
|
|
|
### ------------------------------------------------------------------------
|
|
### Checks when building internal LIBGSF
|
|
### +libgsf-1.12.3
|
|
if test "x$HAVE_LIBGSF" != xyes; then
|
|
AC_MSG_NOTICE('internal libgsf configuration...')
|
|
|
|
m4_define([libgsf_version_major], [1])
|
|
m4_define([libgsf_version_minor], [12])
|
|
m4_define([libgsf_version_micro], [3])
|
|
m4_define([libgsf_version_extra], [])
|
|
m4_define([libgsf_full_version],
|
|
[libgsf_version_major.libgsf_version_minor.libgsf_version_micro[]libgsf_version_extra])
|
|
|
|
dnl AC_CONFIG_SRCDIR(lib/libgsf-1.12.3/gsf/gsf.h)
|
|
|
|
AC_SUBST(LIBGSF_MAJOR_VERSION, libgsf_version_major)
|
|
AC_SUBST(LIBGSF_MINOR_VERSION, libgsf_version_minor)
|
|
AC_SUBST(LIBGSF_MICRO_VERSION, libgsf_version_micro)
|
|
|
|
dnl Version info for libraries = CURRENT:REVISION:AGE
|
|
AC_SUBST(VERSION_INFO,
|
|
m4_eval(libgsf_version_major + libgsf_version_minor)[]dnl
|
|
:libgsf_version_micro:libgsf_version_minor)
|
|
dnl NOTE: Above line needs no leading whitespace! --warlord
|
|
|
|
AC_FUNC_FSEEKO
|
|
AC_SYS_LARGEFILE
|
|
|
|
dnl Checks for libraries.
|
|
ifelse([
|
|
If we defined the module lists on the M4 level, we could have problems
|
|
with PKG_CHECK_MODULES from pkgconfig 0.16.0, which double quotes its
|
|
second argument (the module list).
|
|
As a handy workaround, we use shell variables.
|
|
])
|
|
dnl Modules common to libgsf and libgsf-gnome
|
|
libgsf_reqs="
|
|
gobject-2.0 >= 2.6.0
|
|
glib-2.0 >= 2.6.0
|
|
libxml-2.0 >= 2.4.16
|
|
"
|
|
dnl Modules required for libgsf-gnome
|
|
libgsf_gnome_reqs="
|
|
$libgsf_reqs
|
|
libbonobo-2.0 >= 2.0.0
|
|
gnome-vfs-2.0 >= 2.2.0
|
|
gnome-vfs-module-2.0 >= 2.2.0
|
|
"
|
|
PKG_CHECK_MODULES(LIBGSF, $libgsf_reqs)
|
|
|
|
AC_CHECK_DECL(fdopen, fdopen_works=yes, fdopen_works=no)
|
|
if test x$fdopen_works = xno ; then
|
|
unset ac_cv_have_decl_fdopen
|
|
CFLAGS="$CFLAGS -D_POSIX_SOURCE"
|
|
AC_MSG_NOTICE([adding -D_POSIX_SOURCE to CFLAGS])
|
|
AC_CHECK_DECL(fdopen, fdopen_works=yes, fdopen_works=no)
|
|
if test x$fdopen_works = xno ; then
|
|
AC_MSG_ERROR([fdopen is not available])
|
|
fi
|
|
fi
|
|
|
|
# Unfortunately, -D_POSIX_SOURCE turns off struct timeval on Solaris
|
|
AC_MSG_CHECKING([whether struct timeval is available])
|
|
for try in 1 2; do
|
|
AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[[#include <sys/time.h>]],
|
|
[[struct timeval tv;]])],
|
|
struct_timeval_works=yes,
|
|
struct_timeval_works=no)
|
|
test x$struct_timeval_works = xyes && break
|
|
# Try this for the second attempt:
|
|
test x$try = x1 && CFLAGS="$CFLAGS -D__EXTENSIONS__"
|
|
done
|
|
AC_MSG_RESULT($struct_timeval_works)
|
|
if test x$struct_timeval_works = xno ; then
|
|
AC_MSG_ERROR([struct timeval is not available])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether -D_BSD_SOURCE is needed for caddr_t])
|
|
AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([[#include <sys/types.h>]], [[caddr_t ca]])],
|
|
need_bsd1=no,
|
|
need_bsd1=yes)
|
|
AC_MSG_RESULT($need_bsd1)
|
|
|
|
AC_MSG_CHECKING([whether -D_BSD_SOURCE is needed for lstat])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
|
[[#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
#include <unistd.h>]],
|
|
[[void *ptr = &lstat]])],
|
|
need_bsd2=no, need_bsd2=yes)
|
|
AC_MSG_RESULT($need_bsd2)
|
|
if test x$need_bsd1 = xyes -o x$need_bsd2 = xyes; then
|
|
CFLAGS="$CFLAGS -D_BSD_SOURCE"
|
|
fi
|
|
|
|
AC_TYPE_MODE_T
|
|
AC_CHECK_HEADERS(fcntl.h malloc.h unistd.h io.h)
|
|
AC_FUNC_MMAP
|
|
|
|
SAVE_CFLAGS=$CFLAGS
|
|
SAVE_LIBS=$LIBS
|
|
CFLAGS="$CFLAGS $LIBGSF_CFLAGS"
|
|
LIBS="$LIBGSF_LIBS $LIBS"
|
|
AC_MSG_CHECKING([for g_chmod])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <glib/gstdio.h>]], [[(void)g_chmod("/xxx",0777);]])],
|
|
[AC_DEFINE(HAVE_G_CHMOD, 1, [Define if g_chmod is available as macro or function])
|
|
AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)])
|
|
AC_MSG_CHECKING([for g_access])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <glib/gstdio.h>]], [[(void)g_access("/xxx",0777);]])],
|
|
[AC_DEFINE(HAVE_G_ACCESS, 1, [Define if g_access is available as macro or function])
|
|
AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)])
|
|
CFLAGS=$SAVE_CFLAGS
|
|
LIBS=$SAVE_LIBS
|
|
|
|
AC_MSG_CHECKING([whether macro S_ISREG is available])
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
[[#include <sys/types.h>
|
|
#include <sys/stat.h>]],
|
|
[[S_ISREG(S_IFMT);]])],
|
|
[macro_s_isreg=yes],
|
|
[AH_TEMPLATE([S_ISREG], [Define S_ISREG if stat.h doesn't])
|
|
AC_DEFINE([S_ISREG(m)], [(((m) & S_IFMT) == S_IFREG)])
|
|
macro_s_isreg=no])
|
|
AC_MSG_RESULT($macro_s_isreg)
|
|
|
|
##################################################
|
|
# Checks for gtk-doc and docbook-tools
|
|
##################################################
|
|
# gtk_doc_installed=true
|
|
#ifdef([GTK_DOC_CHECK],[GTK_DOC_CHECK([1.0])],[gtk_doc_installed=false])
|
|
# I would have liked to conditionalize this, but
|
|
# that appears to break other things http://bugzilla.gnome.org/show_bug.cgi?id=156399
|
|
# dnl GTK_DOC_CHECK([1.0])
|
|
# dnl AM_CONDITIONAL(GTK_DOC_INSTALLED, $gtk_doc_installed)
|
|
|
|
dnl ************************************************************************
|
|
# Check for zlib.
|
|
_cppflags=$CPPFLAGS
|
|
_ldflags=$LDFLAGS
|
|
|
|
Z_DIR= Z_LIBS= Z_CPPFLAGS=
|
|
|
|
AC_ARG_WITH(zlib,
|
|
[[ --with-zlib=DIR use libz in DIR]],
|
|
[case $withval in
|
|
yes|no) ;;
|
|
*) Z_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
;;
|
|
esac])
|
|
|
|
if test "x$with_zlib" != xno; then
|
|
with_zlib=no
|
|
AC_CHECK_HEADER(zlib.h, [AC_CHECK_LIB(z, gzread, [with_zlib=yes])])
|
|
fi
|
|
if test "$with_zlib" = no; then
|
|
AC_MSG_ERROR([*** zlib is required])
|
|
fi
|
|
if test "x$Z_DIR" != "x"; then
|
|
Z_CPPFLAGS="-I$Z_DIR/include"
|
|
case $host in
|
|
*-*-solaris*) Z_LIBS="-L$Z_DIR/lib -R$Z_DIR/lib -lz" ;;
|
|
*) Z_LIBS="-L$Z_DIR/lib -lz" ;;
|
|
esac
|
|
else
|
|
Z_LIBS="-lz"
|
|
fi
|
|
AC_SUBST(Z_CPPFLAGS)
|
|
AC_SUBST(Z_LIBS)
|
|
|
|
CPPFLAGS=${_cppflags}
|
|
LDFLAGS=${_ldflags}
|
|
|
|
dnl bz2
|
|
dnl
|
|
BZ2_LIBS=
|
|
test_bz2=true
|
|
AC_ARG_WITH(bz2,
|
|
[ --without-bz2 Build additional libgsf wrappers for BZ2],
|
|
if test "x$withval" = xno; then
|
|
test_bz2=false
|
|
fi
|
|
)
|
|
|
|
with_bz2=false
|
|
if test "x$test_bz2" = xtrue ; then
|
|
AC_CHECK_LIB(bz2, BZ2_bzDecompressInit,
|
|
bz2_ok=yes,
|
|
bz2_ok=no
|
|
AC_MSG_WARN(*** BZ2 support disabled (BZ2 library not found) ***))
|
|
|
|
if test "$bz2_ok" = yes; then
|
|
AC_MSG_CHECKING([for bzlib.h])
|
|
AC_PREPROC_IFELSE(
|
|
[AC_LANG_SOURCE(
|
|
[[#include <stdio.h>
|
|
#undef PACKAGE
|
|
#undef VERSION
|
|
#undef HAVE_STDLIB_H
|
|
#include <bzlib.h>]])],
|
|
bz2_ok=yes,
|
|
bz2_ok=no)
|
|
AC_MSG_RESULT($bz2_ok)
|
|
fi
|
|
|
|
if test "$bz2_ok" = yes; then
|
|
AC_DEFINE(HAVE_BZ2, 1, [Is bzip2 available and enabled])
|
|
BZ2_LIBS="-lbz2"
|
|
else
|
|
AC_MSG_WARN(*** BZ2 support disabled (BZ2 header not found) ***)
|
|
fi
|
|
else
|
|
AC_MSG_WARN([BZ2 support disabled, as requested (Use --with-bz2 to enable)])
|
|
fi
|
|
|
|
AC_SUBST(BZ2_LIBS)
|
|
|
|
dnl *************************************************************************
|
|
|
|
dnl gnome
|
|
dnl
|
|
want_gnome=yes
|
|
#dnl AC_ARG_WITH(gnome,
|
|
#dnl [--{with,without}-gnome Build additional wrappers for GNOME-VFS and BONOBO],
|
|
#dnl [case $withval in
|
|
#dnl yes) want_gnome=yes;;
|
|
#dnl no) want_gnome=no;;
|
|
#dnl esac[]dnl
|
|
#dnl])
|
|
have_gnome=no
|
|
if test x$want_gnome = xno ; then
|
|
AC_MSG_WARN([GNOME support disabled, as requested (Use --with-gnome to enable)])
|
|
else
|
|
PKG_CHECK_MODULES(LIBGSF_GNOME, $libgsf_gnome_reqs,
|
|
[have_gnome=yes],
|
|
[if test x$want_gnome = xyes; then
|
|
AC_MSG_ERROR([GNOME support requested, but not available.])
|
|
else
|
|
AC_MSG_WARN([GNOME support disabled, unable to find required version of VFS and/or Bonobo])
|
|
fi])
|
|
fi
|
|
AM_CONDITIONAL(WITH_LIBGSF_GNOME, test x$have_gnome = xyes)
|
|
|
|
dnl # LDFLAGS="-no-undefined $LDFLAGS"
|
|
|
|
# turn off unneeded python support
|
|
AM_CONDITIONAL(WITH_PYTHON, false)
|
|
|
|
else
|
|
|
|
# dnl AM_CONDITIONAL(GTK_DOC_INSTALLED, false)
|
|
# dnl AM_CONDITIONAL(ENABLE_GTK_DOC, false)
|
|
# dnl AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, false)
|
|
AM_CONDITIONAL(WITH_LIBGSF_GNOME, false)
|
|
# dnl AM_CONDITIONAL(WITH_GCONF, false)
|
|
AM_CONDITIONAL(WITH_PYTHON, false)
|
|
|
|
fi
|
|
|
|
### -libgsf-1.12.3
|
|
###
|
|
### ------------------------------------------------------------------------
|
|
### Checks when building internal goffice
|
|
### +goffice-0.0.4
|
|
|
|
if test "x$HAVE_GOFFICE" != xyes; then
|
|
|
|
AC_MSG_NOTICE('internal goffice configuration...')
|
|
|
|
m4_define([goffice_version_epoch], [0])
|
|
m4_define([goffice_version_major], [0])
|
|
m4_define([goffice_version_minor], [4])
|
|
m4_define([goffice_version_extra], [])
|
|
m4_define([goffice_full_version],
|
|
[goffice_version_epoch.goffice_version_major.goffice_version_minor[]goffice_version_extra])
|
|
|
|
AC_CONFIG_SRCDIR(lib/goffice-0.0.4/goffice/goffice.h)
|
|
|
|
AC_SUBST(GOFFICE_LIB_VERSION,
|
|
m4_eval(goffice_version_epoch + goffice_version_major)[]dnl
|
|
:goffice_version_minor:goffice_version_major)
|
|
dnl NOTE: Above line needs no leading whitespace! --warlord
|
|
dnl
|
|
dnl Make sure these two won't clash. Put the following to goffice-config.h:
|
|
AH_BOTTOM([/* Don't include goffice-features.h, it's a subset of goffice-config.h. */
|
|
#define GOFFICE_FEATURES_H])
|
|
|
|
dnl We use $host_os:
|
|
dnl AC_CANONICAL_HOST
|
|
|
|
AC_ISC_POSIX
|
|
AC_PROG_YACC
|
|
AM_PROG_LEX
|
|
AM_PROG_LIBTOOL
|
|
AC_STDC_HEADERS
|
|
AC_SYS_LARGEFILE
|
|
|
|
dnl Propagate Gnome-specific variable ACLOCAL_FLAGS to Makefile.
|
|
AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
|
|
|
|
dnl The first call to PKG_CHECK_MODULES is inside an `if.'
|
|
dnl We have to call PKG_PROG_PKG_CONFIG explicitly; otherwise it would
|
|
dnl get expanded just before the first occurence of PKG_CHECK_MODULES
|
|
dnl and might escape execution.
|
|
dnl PKG_PROG_PKG_CONFIG
|
|
|
|
dnl *****************************
|
|
# libgsf-1 >= 1.12.2
|
|
goffice_reqs="
|
|
glib-2.0 >= 2.6.4
|
|
gobject-2.0 >= 2.6.4
|
|
gmodule-2.0 >= 2.6.4
|
|
libxml-2.0 >= 2.4.12
|
|
pango >= 1.8.1
|
|
pangoft2 >= 1.8.1
|
|
"
|
|
goffice_gtk_reqs="
|
|
gtk+-2.0 >= 2.6.0
|
|
libglade-2.0 >= 2.3.6
|
|
libgnomeprint-2.2 >= 2.8.0
|
|
libart-2.0 >= 2.3.11
|
|
"
|
|
goffice_gnome_reqs="
|
|
gconf-2.0
|
|
libgnomeui-2.0 >= 2.0.0
|
|
libgsf-gnome-1 >= 1.12.2
|
|
"
|
|
dnl Should we use cairo ? no
|
|
goffice_with_cairo=false
|
|
cairo_msg="Disabled"
|
|
|
|
dnl *******************
|
|
dnl Should we use gtk ?
|
|
dnl *******************
|
|
goffice_with_gtk=true
|
|
#dnl AC_ARG_WITH(gtk, [ --without-gtk Build without UI])
|
|
#dnl if test "x$with_gtk" = xno; then
|
|
#dnl ui_msg="None (Gtk disabled by request)"
|
|
#dnl goffice_with_gtk=false
|
|
#dnl else
|
|
dnl We shouldn't silently default to --without-gtk.
|
|
dnl If the requirements are not met, fail.
|
|
ui_msg="Gtk"
|
|
PKG_CHECK_MODULES(GOFFICE_GTK, [$goffice_gtk_reqs])
|
|
#dnl fi
|
|
|
|
goffice_with_gnome=$goffice_with_gtk
|
|
if test "x$goffice_with_gtk" = "xtrue" ; then
|
|
AC_DEFINE(WITH_GTK, 1, [Define if UI is built])
|
|
goffice_reqs="$goffice_reqs $goffice_gtk_reqs"
|
|
|
|
dnl ************************************
|
|
dnl Are the GNOME extensions available ?
|
|
dnl ************************************
|
|
|
|
goffice_with_gnome=true
|
|
#dnl AC_ARG_WITH(gnome,
|
|
#dnl [ --{with,without}-gnome Use GNOME extensions],
|
|
#dnl [if test "x$withval" = xno; then
|
|
#dnl goffice_with_gnome=false
|
|
#dnl ui_msg="Gtk+ (Gnome disabled by request)"
|
|
#dnl fi]
|
|
#dnl)
|
|
if test "x$goffice_with_gnome" = "xtrue"; then
|
|
PKG_CHECK_MODULES(GOFFICE_GNOME, [$goffice_gnome_reqs],
|
|
[ui_msg="Gnome"],
|
|
[ui_msg="Gtk (missing gnome dependencies)" ; goffice_with_gnome=false])
|
|
fi
|
|
|
|
if test "x$goffice_with_gnome" = "xtrue"; then
|
|
AC_DEFINE(WITH_GNOME, 1, [Define if GNOME extensions are available])
|
|
goffice_reqs="$goffice_reqs $goffice_gnome_reqs"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_CAIRO, $goffice_with_cairo)
|
|
AM_CONDITIONAL(WITH_GTK, $goffice_with_gtk)
|
|
AM_CONDITIONAL(WITH_GNOME, $goffice_with_gnome)
|
|
|
|
dnl ****************************
|
|
dnl now that we have selected out libraries the whole collection in one
|
|
dnl shot so that we can have a nice neat compile/link line
|
|
dnl ****************************
|
|
|
|
PKG_CHECK_MODULES(GOFFICE_DEPS, $goffice_reqs)
|
|
|
|
dnl Checks for Xft/XRender
|
|
AC_CHECK_LIB(Xrender, XRenderFindFormat,
|
|
[AC_SUBST(RENDER_LIBS, "-lXrender -lXext")
|
|
AC_DEFINE(HAVE_RENDER, 1, [Define if libXrender is available.])],
|
|
[AC_SUBST(RENDER_LIBS, "")],
|
|
[-lXext])
|
|
|
|
dnl *****************************
|
|
AC_MSG_CHECKING([for Win32 platform])
|
|
with_win32=no
|
|
case $host_os in
|
|
mingw* | pw32* | cygwin*)
|
|
with_win32=yes
|
|
GOFFICE_PLUGIN_LDFLAGS="-Wl,--enable-runtime-pseudo-relo,--export-all-symbols $GOFFICE_PLUGIN_LDFLAGS"
|
|
AC_ARG_VAR(WINDRES, [The windres executable (used by win32 builds only).])
|
|
AC_CHECK_TOOL(WINDRES, windres, :)
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($with_win32)
|
|
AM_CONDITIONAL(WITH_WIN32, test x$with_win32 = xyes)
|
|
|
|
dnl *****************************
|
|
dnl FIXME: perhaps declare with AC_ARG_VAR?
|
|
dnl If we use the initial value of a variable, we have to make it precious.
|
|
dnl
|
|
GOFFICE_PLUGIN_LDFLAGS="-avoid-version -no-undefined $GOFFICE_PLUGIN_LDFLAGS"
|
|
GOFFICE_PLUGIN_LIBADD="\$(top_builddir)/lib/goffice-0.0.4/goffice/libgoffice-1.la $GOFFICE_DEPS_LIBS $GOFFICE_PLUGIN_LIBADD"
|
|
AC_SUBST(GOFFICE_PLUGIN_LDFLAGS)
|
|
AC_SUBST(GOFFICE_PLUGIN_LIBADD)
|
|
|
|
dnl ****************************
|
|
dnl prep the pixmap generator
|
|
dnl ****************************
|
|
|
|
AC_ARG_VAR(GLIB_GENMARSHAL, [The glib-genmarshal executable.])
|
|
AC_CHECK_PROG(GLIB_GENMARSHAL, glib-genmarshal, glib-genmarshal)
|
|
|
|
AC_ARG_VAR(GDK_PIXBUF_CSOURCE, [The gdk-pixbuf-csource executable.])
|
|
AC_CHECK_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, gdk-pixbuf-csource)
|
|
|
|
dnl M_PI
|
|
AC_MSG_CHECKING([whether M_PI is available])
|
|
AC_TRY_COMPILE([#include <math.h>], [double f = M_PI], works_without_bsd_source=yes, works_without_bsd_source=no)
|
|
AC_MSG_RESULT($works_without_bsd_source)
|
|
|
|
if test x$works_without_bsd_source = xno ; then
|
|
CFLAGS="$CFLAGS -D_BSD_SOURCE"
|
|
AC_MSG_CHECKING([whether M_PI is available with -D_BSD_SOURCE])
|
|
AC_TRY_COMPILE([#include <math.h>], [double f = M_PI], m_pi_works=yes, m_pi_works=no)
|
|
AC_MSG_RESULT($m_pi_works)
|
|
if test x$m_pi_works = xno ; then
|
|
AC_MSG_ERROR([M_PI is not available])
|
|
fi
|
|
fi
|
|
|
|
dnl
|
|
dnl On Solaris finite() needs ieeefp.h
|
|
dnl Either of these seem to signal IEEE754 math, see mathfunc.c
|
|
dnl
|
|
AC_CHECK_HEADERS(ieeefp.h ieee754.h)
|
|
|
|
dnl Check for some functions
|
|
AC_CHECK_FUNCS(random drand48 finite memmove mkdtemp uname times sysconf)
|
|
|
|
dnl FIXME: Does this really belong here?
|
|
AC_CHECK_FUNC(bind_textdomain_codeset,,[AC_CHECK_LIB(intl,bind_textdomain_codeset)])
|
|
|
|
dnl isfinite is a macro on HPUX
|
|
AC_TRY_COMPILE([#include <math.h>], [int a = isfinite(0.0)],
|
|
[AC_DEFINE(HAVE_ISFINITE, 1,
|
|
[Define if the isfinite() macro is available]
|
|
)
|
|
], [])
|
|
|
|
dnl
|
|
dnl On BSD, we seem to need -lm for finite
|
|
dnl
|
|
if test x$ac_cv_func_finite = xno; then
|
|
AC_CHECK_LIB(m, finite,
|
|
[AC_DEFINE(HAVE_FINITE, 1,
|
|
[Define if the finite function is available]
|
|
)
|
|
LIBS="$LIBS -lm"])
|
|
fi
|
|
|
|
dnl check for complete locale implementation
|
|
AC_CHECK_HEADERS(langinfo.h)
|
|
|
|
dnl Handle systems that have stuff in -lm.
|
|
AC_CHECK_FUNCS(log)
|
|
if test x$ac_cv_func_log = xno; then
|
|
AC_CHECK_LIB(m, log,
|
|
[AC_DEFINE(HAVE_LOG, 1,
|
|
[Define if the log function is available]
|
|
)
|
|
LIBS="$LIBS -lm"])
|
|
fi
|
|
|
|
AC_DEFUN([GOFFICE_CHECK_FUNC],
|
|
[AC_CHECK_FUNC([$1],
|
|
[],
|
|
[AC_DEFINE([GOFFICE_SUPPLIED_]AS_TR_CPP([$1]),
|
|
1,
|
|
[Define if G Office supplies $1.])])dnl
|
|
])
|
|
GOFFICE_CHECK_FUNC(log1p)
|
|
GOFFICE_CHECK_FUNC(expm1)
|
|
GOFFICE_CHECK_FUNC(asinh)
|
|
GOFFICE_CHECK_FUNC(acosh)
|
|
GOFFICE_CHECK_FUNC(atanh)
|
|
|
|
float_msg=no
|
|
EXTRA_LIBS= EXTRA_INCLUDES=
|
|
AC_C_LONG_DOUBLE
|
|
if test x$ac_cv_c_long_double = xyes; then
|
|
have_mandatory_funcs=yes
|
|
need_sunmath=0
|
|
sunmathlinkstuff='-L/opt/SUNWspro/lib -R/opt/SUNWspro/lib -lsunmath'
|
|
for ldfunc in fabsl logl log10l ceill floorl powl isnanl finitel; do
|
|
AC_CHECK_FUNC($ldfunc,
|
|
,
|
|
[AC_CHECK_LIB(m,
|
|
$ldfunc,
|
|
,
|
|
[AC_CHECK_LIB(sunmath,
|
|
$ldfunc,
|
|
[ if test x$need_sunmath = x0; then
|
|
# FIXME: better idea?
|
|
LDFLAGS="$LDFLAGS $sunmathlinkstuff"
|
|
sunmathinclude=`ls -d /opt/SUNWspro/*/include/cc | sed '$!d'`
|
|
CPPFLAGS="$CPPFLAGS -I$sunmathinclude"
|
|
fi
|
|
need_sunmath=1 ],
|
|
[have_mandatory_funcs=no],
|
|
[-L/opt/SUNWspro/lib $GOFFICE_DEPS_LIBS])])])
|
|
done
|
|
if test x$need_sunmath = x1; then
|
|
EXTRA_LIBS="$EXTRA_LIBS $sunmathlinkstuff"
|
|
EXTRA_INCLUDES="$EXTRA_INCLUDES -I$sunmathinclude"
|
|
AC_CHECK_HEADERS([sunmath.h floatingpoint.h],
|
|
,
|
|
[AC_MSG_WARN([Long doubles require the $ac_header header.])
|
|
have_mandatory_funcs=no])
|
|
fi
|
|
unset need_sunmath
|
|
unset sunmathlinkstuff
|
|
unset sunmathinclude
|
|
|
|
GOFFICE_CHECK_FUNC(modfl)
|
|
GOFFICE_CHECK_FUNC(ldexpl)
|
|
GOFFICE_CHECK_FUNC(frexpl)
|
|
|
|
AC_CHECK_FUNCS(strtold)
|
|
if test "$ac_cv_func_strtold" = yes; then
|
|
AC_MSG_CHECKING([if we must prototype strtold ourselves])
|
|
AC_TRY_RUN([#include <stdlib.h>
|
|
int main ()
|
|
{
|
|
const char *s = "+3.1415e+0";
|
|
char *theend;
|
|
long double res = strtold (s, &theend);
|
|
return !(*theend == 0 && finitel (res) &&
|
|
res >= 3.14 && res <= 3.15);
|
|
}],
|
|
[AC_MSG_RESULT(no)],
|
|
[AC_MSG_RESULT(yes)
|
|
AC_DEFINE([GOFFICE_SUPPLIED_STRTOLD], 1,
|
|
[Define if G Office supplies strtold.])
|
|
],
|
|
[AC_MSG_RESULT(assuming not)])
|
|
else
|
|
AC_DEFINE([GOFFICE_SUPPLIED_STRTOLD], 1,
|
|
[Define if G Office supplies strtold.])
|
|
AC_CHECK_FUNCS(string_to_decimal decimal_to_quadruple)
|
|
if test "x$ac_cv_func_string_to_decimal" != "xyes" || \
|
|
test "x$ac_cv_func_decimal_to_quadruple" != "xyes" || \
|
|
test "x$ac_cv_header_floatingpoint_h" != "xyes"; then
|
|
AC_MSG_WARN([You lack the strtold function -- precision will be impaired])
|
|
fi
|
|
fi
|
|
if test "$have_mandatory_funcs" = yes; then
|
|
float_msg=yes
|
|
AC_DEFINE([GOFFICE_WITH_LONG_DOUBLE], 1,
|
|
[Define if G Office supports long double.])
|
|
else
|
|
AC_MSG_WARN([Long double support disabled because of library problems])
|
|
fi
|
|
unset have_mandatory_funcs
|
|
fi
|
|
AC_SUBST(EXTRA_LIBS)
|
|
AC_SUBST(EXTRA_INCLUDES)
|
|
|
|
dnl ******************
|
|
dnl * Config defaults
|
|
dnl ******************
|
|
dnl
|
|
dnl These are changed in goffice.c for WIN32 packages
|
|
AC_SUBST(goffice_datadir, '${datadir}/gnucash/goffice/${GOFFICE_VERSION}')
|
|
AC_SUBST(goffice_libdir, '${libdir}/gnucash/goffice/${GOFFICE_VERSION}')
|
|
AC_SUBST(goffice_icondir, '${datadir}/gnucash/pixmaps/goffice')
|
|
AC_SUBST(goffice_localedir, '${prefix}/${DATADIRNAME}/locale')
|
|
dnl
|
|
AC_SUBST(goffice_plugindir, '${goffice_libdir}/plugins')
|
|
AC_SUBST(goffice_gladedir, '${goffice_datadir}/glade')
|
|
|
|
dnl Export to goffice-config.h and goffice-features.h
|
|
AC_DEFINE(GOFFICE_VERSION, "goffice_full_version",
|
|
[The version number of this release, possibly with additional suffix])
|
|
AC_DEFINE(GO_VERSION_EPOCH, goffice_version_epoch,
|
|
[The Epoch of this release])
|
|
AC_DEFINE(GO_VERSION_MAJOR, goffice_version_major,
|
|
[The Major version number of this release])
|
|
AC_DEFINE(GO_VERSION_MINOR, goffice_version_minor,
|
|
[The Minor version number of this release])
|
|
AC_DEFINE(GO_VERSION_EXTRA, "goffice_version_extra",
|
|
[Extra, possibly empty tag for this release])
|
|
|
|
else
|
|
|
|
AM_CONDITIONAL(WITH_CAIRO, false)
|
|
AM_CONDITIONAL(WITH_GTK, false)
|
|
AM_CONDITIONAL(WITH_GNOME, false)
|
|
AM_CONDITIONAL(WITH_WIN32, false)
|
|
|
|
fi
|
|
|
|
### -goffice-0.0.4
|
|
### ------------------------------------------------------------------------
|
|
else
|
|
### A bunch of am conditionals that need to be set
|
|
AM_CONDITIONAL(HAVE_GTK_2_10, false)
|
|
AM_CONDITIONAL(HAVE_LIBGSF, false)
|
|
AM_CONDITIONAL(HAVE_GOFFICE, false)
|
|
AM_CONDITIONAL(WITH_LIBGSF_GNOME, false)
|
|
AM_CONDITIONAL(WITH_PYTHON, false)
|
|
|
|
AM_CONDITIONAL(WITH_CAIRO, false)
|
|
AM_CONDITIONAL(WITH_GTK, false)
|
|
AM_CONDITIONAL(WITH_GNOME, false)
|
|
AM_CONDITIONAL(WITH_WIN32, false)
|
|
fi
|
|
### End of gui-only checks
|
|
|
|
###-------------------------------------------------------------------------
|
|
### Selectively disable deprecated bits of glib/gdk/gtk/gnome
|
|
###-------------------------------------------------------------------------
|
|
if test x${HAVE_UNTESTED_GLIB} = "xyes"
|
|
then
|
|
allow_deprecated=true
|
|
else
|
|
allow_deprecated=false
|
|
fi
|
|
AC_ARG_ENABLE(deprecated-glib,
|
|
[ --disable-deprecated-glib don't use deprecated glib functions],
|
|
[case "${enableval}" in
|
|
no) allow_deprecated=false ;;
|
|
*) allow_deprecated=true ;;
|
|
esac]
|
|
)
|
|
if test x${allow_deprecated} != "xtrue"
|
|
then
|
|
AC_DEFINE(G_DISABLE_DEPRECATED,1, [Don't use deprecated glib functions])
|
|
fi
|
|
|
|
|
|
if test x${HAVE_UNTESTED_GDK} = "xyes"
|
|
then
|
|
allow_deprecated=true
|
|
else
|
|
allow_deprecated=false
|
|
fi
|
|
AC_ARG_ENABLE(deprecated-gdk,
|
|
[ --disable-deprecated-gdk don't use deprecated gdk functions],
|
|
[case "${enableval}" in
|
|
no) allow_deprecated=false ;;
|
|
*) allow_deprecated=true ;;
|
|
esac]
|
|
)
|
|
if test x${allow_deprecated} != "xtrue"
|
|
then
|
|
AC_DEFINE(GDK_DISABLE_DEPRECATED,1, [Don't use deprecated gdk functions])
|
|
AC_DEFINE(GDK_PIXBUF_DISABLE_DEPRECATED,1, [Don't use deprecated gdk-pixbuf functions])
|
|
fi
|
|
|
|
|
|
if test x${HAVE_UNTESTED_GTK} = "xyes"
|
|
then
|
|
allow_deprecated=true
|
|
else
|
|
allow_deprecated=false
|
|
fi
|
|
AC_ARG_ENABLE(deprecated-gtk,
|
|
[ --disable-deprecated-gtk don't use deprecated gtk functions],
|
|
[case "${enableval}" in
|
|
no) allow_deprecated=false ;;
|
|
*) allow_deprecated=true ;;
|
|
esac]
|
|
)
|
|
if test x${allow_deprecated} != "xtrue"
|
|
then
|
|
AC_DEFINE(GTK_DISABLE_DEPRECATED,1, [Don't use deprecated gtk functions])
|
|
fi
|
|
|
|
|
|
if test x${HAVE_UNTESTED_GNOME} = "xyes"
|
|
then
|
|
allow_deprecated=true
|
|
else
|
|
allow_deprecated=false
|
|
fi
|
|
AC_ARG_ENABLE(deprecated-gnome,
|
|
[ --disable-deprecated-gnome don't use deprecated gnome functions],
|
|
[case "${enableval}" in
|
|
no) allow_deprecated=false ;;
|
|
*) allow_deprecated=true ;;
|
|
esac]
|
|
)
|
|
if test x${allow_deprecated} != "xtrue"
|
|
then
|
|
AC_DEFINE(GNOME_DISABLE_DEPRECATED,1, [Don't use deprecated gnome functions])
|
|
fi
|
|
|
|
###-------------------------------------------------------------------------
|
|
### Stuff from Mac OS X Port
|
|
###-------------------------------------------------------------------------
|
|
|
|
AC_CHECK_FUNCS(pthread_mutex_init)
|
|
AC_REPLACE_FUNCS(strptime localtime_r)
|
|
#AC_REPLACE_FUNCS(scm_strptime)
|
|
|
|
if test x$am_cv_val_LC_MESSAGES = "xno"; then
|
|
LC_MESSAGES_ENUM="LC_ALL"
|
|
else
|
|
LC_MESSAGES_ENUM="LC_MESSAGES"
|
|
fi
|
|
AC_SUBST(LC_MESSAGES_ENUM)
|
|
|
|
### --------------------------------------------------------------------------
|
|
### GnuCash flags and libs configuration
|
|
|
|
GNUCASH_ENGINE_BASE_LIBS="${GLIB_LIBS}"
|
|
GNUCASH_ENGINE_LIBS="-L${pkglibdir} ${GNUCASH_ENGINE_BASE_LIBS} ${GUILE_LIBS} -lgncmod-engine -lgnc-module"
|
|
|
|
GNUCASH_ENGINE_BASE_CFLAGS="-DGNUCASH ${GLIB_CFLAGS} ${GUILE_INCS}"
|
|
GNUCASH_ENGINE_CFLAGS="${GNUCASH_ENGINE_BASE_CFLAGS}"
|
|
|
|
AC_SUBST(GNUCASH_ENGINE_BASE_LIBS)
|
|
AC_SUBST(GNUCASH_ENGINE_LIBS)
|
|
AC_SUBST(GNUCASH_ENGINE_BASE_CFLAGS)
|
|
AC_SUBST(GNUCASH_ENGINE_CFLAGS)
|
|
|
|
GNUCASH_APP_UTILS_CFLAGS="${GNUCASH_ENGINE_CFLAGS}"
|
|
GNUCASH_APP_UTILS_LIBS="${GNUCASH_ENGINE_LIBS} -lgncmod-calculation -lgncmod-app-utils"
|
|
|
|
AC_SUBST(GNUCASH_APP_UTILS_CFLAGS)
|
|
AC_SUBST(GNUCASH_APP_UTILS_LIBS)
|
|
|
|
GNUCASH_NETWORK_UTILS_CFLAGS="${GLIB_CFLAGS} ${GHTTP_CFLAGS} ${GNOME_INCLUDEDIR}"
|
|
GNUCASH_NETWORK_UTILS_LIBS="${GHTTP_LIBS} ${GNOME_LIBDIR} ${GNOME_LIBS} ${GNOMEUI_LIBS} -lgncmod-network-utils"
|
|
|
|
AC_SUBST(GNUCASH_NETWORK_UTILS_CFLAGS)
|
|
AC_SUBST(GNUCASH_NETWORK_UTILS_LIBS)
|
|
|
|
GNUCASH_GNOME_UTILS_CFLAGS="${GNUCASH_APP_UTILS_CFLAGS} ${GNUCASH_NETWORK_UTILS_CFLAGS} ${GNOME_PRINT_CFLAGS} ${GNOME_INCLUDEDIR} ${GDK_PIXBUF_CFLAGS}"
|
|
GNUCASH_GNOME_UTILS_LIBS="${GNUCASH_APP_UTILS_LIBS} ${GNUCASH_NETWORK_UTILS_LIBS} ${GNOME_LIBDIR} ${GNOMEUI_LIBS} ${GNOME_PRINT_LIBS} ${GTKHTML_LIBS} ${GLADE_LIBS} ${GDK_PIXBUF_LIBS} -lgncmod-gnome-utils"
|
|
|
|
AC_SUBST(GNUCASH_GNOME_UTILS_CFLAGS)
|
|
AC_SUBST(GNUCASH_GNOME_UTILS_LIBS)
|
|
|
|
GNUCASH_REGISTER_CORE_CFLAGS="${GNUCASH_GNOME_UTILS_CFLAGS}"
|
|
GNUCASH_REGISTER_CORE_LIBS="${GNUCASH_GNOME_UTILS_LIBS} -lgncmod-register-core"
|
|
|
|
AC_SUBST(GNUCASH_REGISTER_CORE_CFLAGS)
|
|
AC_SUBST(GNUCASH_REGISTER_CORE_LIBS)
|
|
|
|
AM_CONDITIONAL(GNUCASH_SEPARATE_BUILDDIR, test "x${srcdir}" != "x.")
|
|
AM_CONDITIONAL(GNC_FALSE, false)
|
|
|
|
###-------------------------------------------------------------------------
|
|
### Additional compiler warnings (or not) if we're running GCC
|
|
###-------------------------------------------------------------------------
|
|
|
|
# This has to come after AC_PROG_CC _AND_ GNOME_COMPILE_WARNINGS
|
|
AC_MSG_CHECKING(what extra warning flags to pass to the C compiler)
|
|
if test ${GCC}x = yesx
|
|
then
|
|
warnFLAGS=
|
|
CFLAGS="${CFLAGS} -Wno-unused"
|
|
# other flags...
|
|
# These next two are included in the GNOME_COMPILE_WARNINGS
|
|
#warnFLAGS="${warnFLAGS} -Wmissing-prototypes"
|
|
#warnFLAGS="${warnFLAGS} -Wmissing-declarations"
|
|
#warnFLAGS="${warnFLAGS} -Werror-implicit-function-declaration" # In -Wall
|
|
|
|
# error-on-warning should not be active in (stable) release tarballs
|
|
if test "x$BUILDING_FROM_SVN" = "xyes"
|
|
then
|
|
# This code is from SVN/SVK, so enable error-on-warning
|
|
error_on_warning_as_default="yes"
|
|
else
|
|
# This is from a tarball, so disable error-on-warning
|
|
error_on_warning_as_default="no"
|
|
fi
|
|
|
|
# Enable error-on-warning by default -- I'm tired of fixing other
|
|
# people's missing #includes, etc.
|
|
AC_ARG_ENABLE(error-on-warning,
|
|
[ --disable-error-on-warning disable treating compile warnings as errors],
|
|
[case "${enableval}" in
|
|
yes) warnFLAGS="${warnFLAGS} -Werror" ; gnc_error_on_warning=yes ;;
|
|
no) gnc_error_on_warning=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;;
|
|
esac],
|
|
[ if test "${error_on_warning_as_default}" = "yes"; then
|
|
warnFLAGS="${warnFLAGS} -Werror";
|
|
gnc_error_on_warning=auto
|
|
else
|
|
gnc_error_on_warning=no
|
|
fi
|
|
])
|
|
|
|
# For gcc >= 3.4.x, specifically enable the new warning switch
|
|
# -Wdeclaration-after-statement in order to preserve source code
|
|
# compatibility to gcc 2.95 and other compilers.
|
|
GCC_VERSION=`${CC} -dumpversion`
|
|
if test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 3; then
|
|
# This is gcc >= 3.x.x
|
|
if test "`echo ${GCC_VERSION} | cut -d. -f2`" -ge 4; then
|
|
# This is gcc >= 3.4.x
|
|
warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement"
|
|
else if test "`echo ${GCC_VERSION} | cut -d. -f1`" -ge 4; then
|
|
# This is gcc == 4.x.x
|
|
warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign"
|
|
# rpmbuild on FC4 forces this flag. Can't hurt to always compile with it.
|
|
warnFLAGS="${warnFLAGS} -D_FORTIFY_SOURCE=2"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
CFLAGS="${warnFLAGS} ${CFLAGS}"
|
|
|
|
else
|
|
warnFLAGS=none
|
|
fi
|
|
AC_MSG_RESULT($warnFLAGS)
|
|
|
|
# Extend LDFLAGS because libtool on Windows requires this argument
|
|
LDFLAGS="${LDFLAGS} -no-undefined"
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Adjustments -- especially executables that aren't generated via
|
|
### makefiles, so that we don't have an opportunity to adjust them
|
|
### there.
|
|
|
|
chmod u+x ${srcdir}/src/gnc-test-env
|
|
chmod u+x ${srcdir}/src/bin/generate-gnc-script
|
|
chmod u+x ${srcdir}/src/bin/overrides/gnucash-make-guids
|
|
|
|
### --------------------------------------------------------------------------
|
|
### Makefile creation
|
|
|
|
# This is necessary so that .o files in LIBOBJS are also built via
|
|
# the ANSI2KNR-filtering rules.
|
|
LIBOBJS_SEDSCRIPT="s,\.[[^.]]* ,$U&,g;s,\.[[^.]]*\$\$,$U&,"
|
|
AC_SUBST(LIBOBJS_SEDSCRIPT)
|
|
|
|
AC_CONFIG_FILES(po/Makefile.in
|
|
dnl # Makefiles
|
|
Makefile
|
|
accounts/Makefile
|
|
accounts/C/Makefile
|
|
accounts/da/Makefile
|
|
accounts/de_AT/Makefile
|
|
accounts/de_CH/Makefile
|
|
accounts/de_DE/Makefile
|
|
accounts/el_GR/Makefile
|
|
accounts/es_ES/Makefile
|
|
accounts/fr_CA/Makefile
|
|
accounts/fr_CH/Makefile
|
|
accounts/fr_FR/Makefile
|
|
accounts/hu_HU/Makefile
|
|
accounts/it/Makefile
|
|
accounts/nb/Makefile
|
|
accounts/pt_BR/Makefile
|
|
accounts/pt_PT/Makefile
|
|
accounts/sk/Makefile
|
|
accounts/tr_TR/Makefile
|
|
doc/Makefile
|
|
doc/examples/Makefile
|
|
intl-scm/Makefile
|
|
lib/Makefile
|
|
lib/glib28/Makefile
|
|
lib/guile-www/Makefile
|
|
lib/srfi/Makefile
|
|
lib/libc/Makefile
|
|
lib/libgsf-1.12.3/Makefile
|
|
lib/libgsf-1.12.3/gsf/Makefile
|
|
lib/libgsf-1.12.3/gsf-gnome/Makefile
|
|
lib/libgsf-1.12.3/gsf-win32/Makefile
|
|
lib/libgsf-1.12.3/tests/Makefile
|
|
lib/libgsf-1.12.3/python/Makefile
|
|
lib/libgsf-1.12.3/gsf/version.c
|
|
lib/libgsf-1.12.3/libgsf-1.pc
|
|
lib/libgsf-1.12.3/libgsf-1.spec
|
|
lib/libgsf-1.12.3/libgsf-gnome-1.pc
|
|
lib/libgsf-1.12.3/libgsf-gnome-1.spec
|
|
lib/libgsf-1.12.3/libgsf-win32-1.pc
|
|
lib/libgsf-1.12.3/libgsf-zip
|
|
lib/goffice-0.0.4/Makefile
|
|
lib/goffice-0.0.4/libgoffice-1.pc
|
|
lib/goffice-0.0.4/goffice/Makefile
|
|
lib/goffice-0.0.4/goffice/app/Makefile
|
|
lib/goffice-0.0.4/goffice/utils/Makefile
|
|
lib/goffice-0.0.4/goffice/data/Makefile
|
|
lib/goffice-0.0.4/goffice/gtk/Makefile
|
|
lib/goffice-0.0.4/goffice/graph/Makefile
|
|
lib/goffice-0.0.4/goffice/drawing/Makefile
|
|
lib/goffice-0.0.4/goffice/ms-compat/Makefile
|
|
lib/goffice-0.0.4/goffice/cut-n-paste/Makefile
|
|
lib/goffice-0.0.4/goffice/cut-n-paste/foocanvas/Makefile
|
|
lib/goffice-0.0.4/goffice/cut-n-paste/pcre/Makefile
|
|
lib/goffice-0.0.4/plugins/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_barcol/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_pie/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_radar/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_xy/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_surface/Makefile
|
|
lib/goffice-0.0.4/plugins/plot_boxes/Makefile
|
|
lib/goffice-0.0.4/plugins/reg_linear/Makefile
|
|
lib/goffice-0.0.4/pixmaps/Makefile
|
|
lib/goffice-0.0.4/tests/Makefile
|
|
lib/libqof/Makefile
|
|
lib/libqof/qof/Makefile
|
|
lib/libqof/backend/Makefile
|
|
lib/libqof/backend/file/Makefile
|
|
packaging/Makefile
|
|
packaging/win32/gnucash.iss
|
|
src/Makefile
|
|
src/app-utils/Makefile
|
|
src/app-utils/test/Makefile
|
|
src/backend/Makefile
|
|
src/backend/file/Makefile
|
|
src/backend/file/test/Makefile
|
|
src/backend/file/test/test-files/Makefile
|
|
src/backend/file/test/test-files/xml2/Makefile
|
|
src/backend/postgres/Makefile
|
|
src/backend/postgres/test/Makefile
|
|
src/bin/Makefile
|
|
src/bin/overrides/Makefile
|
|
src/bin/test/Makefile
|
|
src/core-utils/Makefile
|
|
src/calculation/Makefile
|
|
src/calculation/test/Makefile
|
|
src/doc/Makefile
|
|
src/doc/design/Makefile
|
|
src/doc/xml/Makefile
|
|
src/engine/Makefile
|
|
src/engine/test/Makefile
|
|
src/engine/test-core/Makefile
|
|
src/gnc-module/Makefile
|
|
src/gnc-module/test/Makefile
|
|
src/gnc-module/test/mod-foo/Makefile
|
|
src/gnc-module/test/mod-bar/Makefile
|
|
src/gnc-module/test/mod-baz/Makefile
|
|
src/gnc-module/test/misc-mods/Makefile
|
|
src/gnome/Makefile
|
|
src/gnome/gnucash.desktop.in
|
|
src/gnome/glade/Makefile
|
|
src/gnome/schemas/Makefile
|
|
src/gnome/ui/Makefile
|
|
src/gnome-utils/Makefile
|
|
src/gnome-utils/glade/Makefile
|
|
src/gnome-utils/schemas/Makefile
|
|
src/gnome-utils/test/Makefile
|
|
src/gnome-utils/ui/Makefile
|
|
src/gnome-search/Makefile
|
|
src/import-export/Makefile
|
|
src/import-export/test/Makefile
|
|
src/import-export/qif-import/Makefile
|
|
src/import-export/qif/Makefile
|
|
src/import-export/qif/test/Makefile
|
|
src/import-export/qif-import/test/Makefile
|
|
src/import-export/qif-io-core/Makefile
|
|
src/import-export/qif-io-core/test/Makefile
|
|
src/import-export/schemas/Makefile
|
|
src/import-export/ofx/Makefile
|
|
src/import-export/ofx/test/Makefile
|
|
src/import-export/log-replay/Makefile
|
|
src/import-export/hbci/Makefile
|
|
src/import-export/hbci/glade/Makefile
|
|
src/import-export/hbci/schemas/Makefile
|
|
src/import-export/hbci/test/Makefile
|
|
src/network-utils/Makefile
|
|
src/network-utils/test/Makefile
|
|
src/optional/Makefile
|
|
src/optional/xsl/Makefile
|
|
src/pixmaps/Makefile
|
|
src/quotes/Makefile
|
|
src/register/Makefile
|
|
src/register/ledger-core/Makefile
|
|
src/register/ledger-core/test/Makefile
|
|
src/register/register-core/Makefile
|
|
src/register/register-core/test/Makefile
|
|
src/register/register-gnome/Makefile
|
|
src/register/register-gnome/test/Makefile
|
|
src/report/Makefile
|
|
src/report/report-gnome/Makefile
|
|
src/report/report-gnome/test/Makefile
|
|
src/report/report-system/Makefile
|
|
src/report/report-system/test/Makefile
|
|
src/report/standard-reports/Makefile
|
|
src/report/standard-reports/test/Makefile
|
|
src/report/locale-specific/Makefile
|
|
src/report/locale-specific/us/Makefile
|
|
src/report/locale-specific/us/test/Makefile
|
|
src/report/stylesheets/Makefile
|
|
src/report/stylesheets/test/Makefile
|
|
src/report/utility-reports/Makefile
|
|
src/report/utility-reports/test/Makefile
|
|
src/scm/Makefile
|
|
src/scm/gnumeric/Makefile
|
|
src/scm/printing/Makefile
|
|
src/tax/Makefile
|
|
src/tax/us/Makefile
|
|
src/tax/us/test/Makefile
|
|
src/test-core/Makefile
|
|
src/business/Makefile
|
|
src/business/business-core/Makefile
|
|
src/business/business-core/test/Makefile
|
|
src/business/business-core/file/Makefile
|
|
src/business/business-utils/Makefile
|
|
src/business/dialog-tax-table/Makefile
|
|
src/business/business-gnome/Makefile
|
|
src/business/business-gnome/glade/Makefile
|
|
src/business/business-gnome/schemas/Makefile
|
|
src/business/business-gnome/ui/Makefile
|
|
src/business/business-ledger/Makefile
|
|
src/business/business-reports/Makefile
|
|
|
|
dnl # non-makefiles
|
|
dnl # Please read doc/build-system before adding *anything* here
|
|
|
|
,
|
|
dnl # commands go here, but we don't have any right now
|
|
)
|
|
AC_OUTPUT
|
|
|
|
pkgdatadir=${prefix}/${PACKAGE}
|
|
output_qof_prefix=`eval eval eval echo $QOF_PREFIX`
|
|
output_qof_lib_dir=`eval eval eval echo $QOF_LIB_DIR`
|
|
output_qof_xml_dir=`eval eval eval echo $QOF_XML_DIR`
|
|
|
|
if test x${SQL_DIR} != x; then
|
|
components="$components sql"
|
|
fi
|
|
if test x${OFX_DIR} != x; then
|
|
components="$components ofx"
|
|
fi
|
|
if test x${HBCI_DIR} != x; then
|
|
components="$components hbci"
|
|
fi
|
|
|
|
AC_MSG_RESULT([
|
|
Options detected/selected
|
|
-------------------------
|
|
gnucash version ...... : $VERSION
|
|
Build for host ....... : $host
|
|
Optional components....:$components
|
|
Extra Warnings ....... : $warnFLAGS
|
|
CPPFLAGS ............. : $CPPFLAGS
|
|
CFLAGS ............... : $CFLAGS
|
|
LDFLAGS .............. : $LDFLAGS
|
|
prefix.................: ${prefix}
|
|
Native libgsf..........: $HAVE_LIBGSF
|
|
Native goffice.........: $HAVE_GOFFICE
|
|
QOF support ...........: $QOF_VERSION
|
|
QOF location ..........: $output_qof_prefix
|
|
QOF library dir .......: $output_qof_lib_dir
|
|
QOF backend config ....: $output_qof_xml_dir
|
|
|
|
|
|
])
|