lnav/configure.ac

198 lines
5.0 KiB
Plaintext
Raw Normal View History

2009-09-14 01:07:32 +00:00
2015-02-27 05:47:27 +00:00
AC_INIT(lnav, 0.7.2, lnav@googlegroups.com)
2009-09-14 01:07:32 +00:00
AC_CONFIG_SRCDIR([src/lnav.cc])
AC_CONFIG_MACRO_DIRS([m4])
2013-07-23 12:55:08 +00:00
AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_SILENT_RULES([yes])
2009-09-14 01:07:32 +00:00
AC_PREFIX_DEFAULT(/usr)
2009-09-14 01:07:32 +00:00
AC_CANONICAL_HOST
for defdir in /opt/local /usr/local /usr /; do
if test -d "$defdir/include"; then
2013-06-10 13:55:39 +00:00
CPPFLAGS="$CPPFLAGS -I$defdir/include"
fi
if test -d "$defdir/lib"; then
2013-06-10 13:55:39 +00:00
LDFLAGS="$LDFLAGS -L$defdir/lib"
fi
2011-07-21 03:16:47 +00:00
if test -d "$defdir/lib64"; then
2013-06-10 13:55:39 +00:00
LDFLAGS="$LDFLAGS -L$defdir/lib64"
2011-07-21 03:16:47 +00:00
fi
if test -d "$defdir/lib/x86_64-linux-gnu"; then
LDFLAGS="$LDFLAGS -L$defdir/lib/x86_64-linux-gnu"
fi
done
2009-12-24 18:36:01 +00:00
2009-09-14 01:07:32 +00:00
dnl abssrcdir is the absolute path to the source base (regardless of where
dnl you are building it)
case x$srcdir in
x/*)
abssrcdir=$srcdir
;;
2009-09-14 01:07:32 +00:00
*)
abssrcdir=`pwd`/$srcdir
;;
2009-09-14 01:07:32 +00:00
esac
AC_SUBST(abssrcdir)
AC_PROG_CXX
2014-03-16 22:21:42 +00:00
CPPFLAGS="$CPPFLAGS -D_ISOC99_SOURCE -D__STDC_LIMIT_MACROS"
2013-08-29 04:22:04 +00:00
2014-05-05 13:44:58 +00:00
# CFLAGS=`echo $CFLAGS | sed 's/-O2//g'`
# CXXFLAGS=`echo $CXXFLAGS | sed 's/-O2//g'`
2009-09-14 01:07:32 +00:00
AC_ARG_ENABLE([profiling],
AS_HELP_STRING([--enable-profiling],
[Compile with gprof(1) profiling support]))
AC_MSG_CHECKING(gprof(4) profiling support)
if test x"${enable_profiling}" = x"yes" ; then
CFLAGS="$CFLAGS -pg -gstabs"
CXXFLAGS="$CXXFLAGS -pg -gstabs"
LDFLAGS="$LDFLAGS -pg"
2009-09-14 01:07:32 +00:00
else
enable_profiling=no
2009-09-14 01:07:32 +00:00
fi
AC_MSG_RESULT($enable_profiling)
AC_SUBST(CFLAGS_PG)
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_PROG_LN_S
AC_PROG_MAKE_SET
AM_PATH_PYTHON([2.4])
AC_PATH_PROG(SQLITE3_CMD, [sqlite3])
2013-06-10 13:55:39 +00:00
if test x"$SQLITE3_CMD" = x""; then
AC_MSG_ERROR([The sqlite3 command is required])
fi
AC_PATH_PROG(BZIP2_CMD, [bzip2])
2009-09-14 01:07:32 +00:00
AC_CHECK_SIZEOF(off_t)
AC_CHECK_SIZEOF(size_t)
AC_STRUCT_TIMEZONE
2009-09-14 01:07:32 +00:00
AC_SEARCH_LIBS(openpty, util)
2009-12-24 18:36:01 +00:00
AC_SEARCH_LIBS(gzseek, z, [], [AC_MSG_ERROR([libz required to build])])
AC_SEARCH_LIBS(BZ2_bzopen, bz2)
2009-12-24 18:36:01 +00:00
AC_SEARCH_LIBS(dlopen, dl)
2014-03-18 10:59:27 +00:00
AC_SEARCH_LIBS(backtrace, execinfo)
# Sometimes, curses depends on these libraries being linked in...
AC_ARG_ENABLE([tinfo],
AS_HELP_STRING([--disable-tinfo],
[Disable linking with tinfo, enabled by default]),
[], [enable_tinfo="yes"]
)
AS_IF([test "x${enable_tinfo}" != "xno"],
[dnl
AC_MSG_NOTICE([Trying to link with tinfo])
AC_SEARCH_LIBS(cur_term, tinfo,
AC_MSG_NOTICE([Linking with tinfo]),
AC_MSG_WARN([libtinfo not found])
)
],
2015-03-23 22:57:43 +00:00
AC_MSG_NOTICE([Building with tinfo linking disabled])
)
dnl libgpm is required on some systems where there is a misconfigured ncurses
dnl and gpm libraries with interdependencies. This check is not required on OS X.
AS_CASE(["$host_os"],
[darwin*],
[],
AC_SEARCH_LIBS(Gpm_Open, gpm,
[],
[dnl
AC_MSG_WARN(m4_join([ ],
[libgpm not found. If build fails later],
[consider installing gpm dev package])dnl
)
]
)
)
2014-03-18 10:37:00 +00:00
AC_CHECK_HEADERS(execinfo.h pty.h util.h zlib.h bzlib.h libutil.h sys/ttydefaults.h)
2009-09-14 01:07:32 +00:00
LNAV_WITH_JEMALLOC
LNAV_WITH_LOCAL_YAJL
AX_WITH_CURSES
if test "x$ax_cv_curses" != xyes; then
AC_MSG_ERROR([requires an X/Open-compatible Curses library with color])
fi
2009-09-14 01:07:32 +00:00
AX_PATH_LIB_PCRE([], [AC_MSG_ERROR([pcre required to build])])
AX_PATH_LIB_READLINE
2009-09-14 01:07:32 +00:00
LNAV_WITH_SQLITE3("3.0.0")
2014-03-13 03:36:14 +00:00
case "$host_os" in
*)
# AC_DEFINE([_XOPEN_SOURCE], [500], [Need pread])
AC_DEFINE([_BSD_SOURCE], [1], [Need pread])
;;
esac
2013-08-28 14:28:31 +00:00
ALL_LDFLAGS="$LDFLAGS $SQLITE3_LDFLAGS"
static_lib_list="libncurses.a libreadline.a libsqlite3.a libz.a libtinfo.a"
2013-08-28 14:28:31 +00:00
static_lib_list="$static_lib_list libpcre.a libpcrecpp.a libncursesw.a libbz2.a"
static_lib_list="$static_lib_list libgpm.a"
2013-08-28 14:28:31 +00:00
AC_ARG_ENABLE([static],
AS_HELP_STRING([--disable-static],
[Disable static linking]))
if test x"${enable_static}" != x"no"; then
2013-08-28 14:57:21 +00:00
case "$host_os" in
darwin*)
STATIC_LDFLAGS="$STATIC_LDFLAGS -Wl,-search_paths_first"
;;
esac
STATIC_LDFLAGS="$STATIC_LDFLAGS -L`pwd`/src/static-libs"
2013-08-28 14:28:31 +00:00
# This is a hack to link against static libraries instead of shared
2013-08-28 14:57:21 +00:00
# so that we can build a mostly statically link exe that can
# be downloaded and used right away. This is required for OS X and
# will, hopefully, make a static binary that is compatible with
# many different versions of Linux.
2013-08-28 14:28:31 +00:00
mkdir -p src/static-libs
rm -f src/static-libs/*.a
2013-08-28 14:28:31 +00:00
for libflag in $ALL_LDFLAGS; do
2013-08-28 14:57:21 +00:00
case $libflag in
-Lstatic-libs)
;;
-L*)
2013-08-28 14:28:31 +00:00
libdir=`echo $libflag | sed -e 's/-L//'`
for slib in $static_lib_list; do
if test -e "$libdir/$slib"; then
ln -sf "$libdir/$slib" src/static-libs/.
fi
done
;;
2013-08-28 14:57:21 +00:00
esac
2013-08-28 14:28:31 +00:00
done
fi
AC_SUBST(STATIC_LDFLAGS)
AM_CONDITIONAL(USE_INCLUDED_YAJL, test $HAVE_LOCAL_YAJL -eq 0)
AC_CONFIG_HEADERS([src/config.h])
2009-09-14 01:07:32 +00:00
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([TESTS_ENVIRONMENT])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([test/Makefile])
AC_OUTPUT