mirror of
https://github.com/tstack/lnav
synced 2024-11-03 23:15:38 +00:00
3445ee5dc6
* On some misconfigured systems, libgpm is required along with ncurses. I haven't been able to figure out the correct way to figure out these dependencies without resorting to using external tools like 'nm'. So for the moment, if libgpm is not found, at least warn the user that the build might fail later. * Ncurses on OS X does not require libgpm, so there is no need to test for it. * There seems to be an 'AC_DEFINE' _BSD_SOURCE which does not seem to be used anywhere. Removing this for now. * Remove some artifacts left behind by Emacs.
191 lines
4.8 KiB
Plaintext
191 lines
4.8 KiB
Plaintext
|
|
AC_INIT(lnav, 0.7.2, lnav@googlegroups.com)
|
|
AC_CONFIG_SRCDIR([src/lnav.cc])
|
|
AC_CONFIG_MACRO_DIRS([m4])
|
|
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
|
AM_SILENT_RULES([yes])
|
|
|
|
AC_PREFIX_DEFAULT(/usr)
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
for defdir in /opt/local /usr/local /usr /; do
|
|
if test -d "$defdir/include"; then
|
|
CPPFLAGS="$CPPFLAGS -I$defdir/include"
|
|
fi
|
|
|
|
if test -d "$defdir/lib"; then
|
|
LDFLAGS="$LDFLAGS -L$defdir/lib"
|
|
fi
|
|
if test -d "$defdir/lib64"; then
|
|
LDFLAGS="$LDFLAGS -L$defdir/lib64"
|
|
fi
|
|
|
|
if test -d "$defdir/lib/x86_64-linux-gnu"; then
|
|
LDFLAGS="$LDFLAGS -L$defdir/lib/x86_64-linux-gnu"
|
|
fi
|
|
done
|
|
|
|
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
|
|
;;
|
|
*)
|
|
abssrcdir=`pwd`/$srcdir
|
|
;;
|
|
esac
|
|
AC_SUBST(abssrcdir)
|
|
|
|
AC_PROG_CXX
|
|
|
|
CPPFLAGS="$CPPFLAGS -D_ISOC99_SOURCE -D__STDC_LIMIT_MACROS"
|
|
|
|
# CFLAGS=`echo $CFLAGS | sed 's/-O2//g'`
|
|
# CXXFLAGS=`echo $CXXFLAGS | sed 's/-O2//g'`
|
|
|
|
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"
|
|
else
|
|
enable_profiling=no
|
|
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])
|
|
|
|
if test x"$SQLITE3_CMD" = x""; then
|
|
AC_MSG_ERROR([The sqlite3 command is required])
|
|
fi
|
|
|
|
AC_PATH_PROG(BZIP2_CMD, [bzip2])
|
|
|
|
AC_CHECK_SIZEOF(off_t)
|
|
AC_CHECK_SIZEOF(size_t)
|
|
|
|
AC_STRUCT_TIMEZONE
|
|
|
|
AC_SEARCH_LIBS(openpty, util)
|
|
AC_SEARCH_LIBS(gzseek, z, [], [AC_MSG_ERROR([libz required to build])])
|
|
AC_SEARCH_LIBS(BZ2_bzopen, bz2)
|
|
AC_SEARCH_LIBS(dlopen, dl)
|
|
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])
|
|
)
|
|
],
|
|
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
|
|
)
|
|
]
|
|
)
|
|
)
|
|
|
|
AC_CHECK_HEADERS(execinfo.h pty.h util.h zlib.h bzlib.h libutil.h sys/ttydefaults.h)
|
|
|
|
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
|
|
|
|
AX_PATH_LIB_PCRE([], [AC_MSG_ERROR([pcre required to build])])
|
|
AX_PATH_LIB_READLINE
|
|
|
|
LNAV_WITH_SQLITE3("3.0.0")
|
|
|
|
ALL_LDFLAGS="$LDFLAGS $SQLITE3_LDFLAGS"
|
|
|
|
static_lib_list="libncurses.a libreadline.a libsqlite3.a libz.a libtinfo.a"
|
|
static_lib_list="$static_lib_list libpcre.a libpcrecpp.a libncursesw.a libbz2.a"
|
|
static_lib_list="$static_lib_list libgpm.a"
|
|
|
|
AC_ARG_ENABLE([static],
|
|
AS_HELP_STRING([--disable-static],
|
|
[Disable static linking]))
|
|
if test x"${enable_static}" != x"no"; then
|
|
case "$host_os" in
|
|
darwin*)
|
|
STATIC_LDFLAGS="$STATIC_LDFLAGS -Wl,-search_paths_first"
|
|
;;
|
|
esac
|
|
|
|
STATIC_LDFLAGS="$STATIC_LDFLAGS -L`pwd`/src/static-libs"
|
|
# This is a hack to link against static libraries instead of shared
|
|
# 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.
|
|
mkdir -p src/static-libs
|
|
rm -f src/static-libs/*.a
|
|
for libflag in $ALL_LDFLAGS; do
|
|
case $libflag in
|
|
-Lstatic-libs)
|
|
;;
|
|
-L*)
|
|
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
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
AC_SUBST(STATIC_LDFLAGS)
|
|
|
|
AM_CONDITIONAL(USE_INCLUDED_YAJL, test $HAVE_LOCAL_YAJL -eq 0)
|
|
|
|
AC_CONFIG_HEADERS([src/config.h])
|
|
AC_CONFIG_FILES([Makefile])
|
|
AC_CONFIG_FILES([TESTS_ENVIRONMENT])
|
|
AC_CONFIG_FILES([src/Makefile])
|
|
AC_CONFIG_FILES([test/Makefile])
|
|
|
|
AC_OUTPUT
|