From fdf73c5744acb10f62457cf18189d25bf2f5cfd1 Mon Sep 17 00:00:00 2001 From: Suresh Sundriyal Date: Sat, 14 Mar 2015 01:57:31 -0700 Subject: [PATCH] [build] Add yajl related macros. --- m4/lnav_common.m4 | 22 +++++++++++++ m4/lnav_with_jemalloc.m4 | 22 ------------- m4/lnav_with_yajl.m4 | 69 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 22 deletions(-) create mode 100644 m4/lnav_common.m4 create mode 100644 m4/lnav_with_yajl.m4 diff --git a/m4/lnav_common.m4 b/m4/lnav_common.m4 new file mode 100644 index 00000000..1619afef --- /dev/null +++ b/m4/lnav_common.m4 @@ -0,0 +1,22 @@ +AC_DEFUN([LNAV_ADDTO], [ + if test "x$$1" = "x"; then + test "x$verbose" = "xyes" && echo " setting $1 to \"$2\"" + $1="$2" + else + ats_addto_bugger="$2" + for i in $ats_addto_bugger; do + ats_addto_duplicate="0" + for j in $$1; do + if test "x$i" = "x$j"; then + ats_addto_duplicate="1" + break + fi + done + if test $ats_addto_duplicate = "0"; then + test "x$verbose" = "xyes" && echo " adding \"$i\" to $1" + $1="$$1 $i" + fi + done + fi +])dnl + diff --git a/m4/lnav_with_jemalloc.m4 b/m4/lnav_with_jemalloc.m4 index 6e1f3739..a97c4c2b 100644 --- a/m4/lnav_with_jemalloc.m4 +++ b/m4/lnav_with_jemalloc.m4 @@ -18,28 +18,6 @@ dnl dnl lnav_with_jemalloc.m4: lnav's jemalloc autoconf macros dnl dnl -AC_DEFUN([LNAV_ADDTO], [ - if test "x$$1" = "x"; then - test "x$verbose" = "xyes" && echo " setting $1 to \"$2\"" - $1="$2" - else - ats_addto_bugger="$2" - for i in $ats_addto_bugger; do - ats_addto_duplicate="0" - for j in $$1; do - if test "x$i" = "x$j"; then - ats_addto_duplicate="1" - break - fi - done - if test $ats_addto_duplicate = "0"; then - test "x$verbose" = "xyes" && echo " adding \"$i\" to $1" - $1="$$1 $i" - fi - done - fi -])dnl - AC_DEFUN([LNAV_WITH_JEMALLOC], [ enable_jemalloc=no AC_ARG_WITH([jemalloc], [AC_HELP_STRING([--with-jemalloc=DIR], [use a specific jemalloc library])], diff --git a/m4/lnav_with_yajl.m4 b/m4/lnav_with_yajl.m4 new file mode 100644 index 00000000..ffeea347 --- /dev/null +++ b/m4/lnav_with_yajl.m4 @@ -0,0 +1,69 @@ +AC_DEFUN([LNAV_WITH_LOCAL_YAJL], +[ +ENABLE_LOCAL_YAJL="no" + AC_ARG_WITH([yajl], + AC_HELP_STRING( + [--with-yajl=DIR], + [use a local installed version of yajl] + ), + [ + if test "$withval" != "no"; then + ENABLE_LOCAL_YAJL="yes" + modify_env_variables="no" + case "$withval" in + yes) + AC_MSG_NOTICE([Checking for yajl libs]) + ;; + *) + yajl_include="$withval/include" + yajl_ldflags="$withval/lib" + modify_env_variables="yes" + AC_MSG_NOTICE([Checking for yajl libs in $withval]) + ;; + esac + fi + ] +) + +HAVE_LOCAL_YAJL=0 +YAJL_HAVE_LOCAL_HEADERS=0 +YAJL_HAVE_LOCAL_LIBS=0 +if test "$ENABLE_LOCAL_YAJL" != "no"; then + saved_ldflags=$LDFLAGS + saved_cppflags=$CPPFLAGS + saved_libtool_link_flags=$LIBTOOL_LIBK_FLAGS + + if test "$modify_env_variables" != "no"; then + LNAV_ADDTO(CPPFLAGS, [-I${yajl_include}]) + LNAV_ADDTO(LDFLAGS, [-L${yajl_ldflags}]) + LNAV_ADDTO(LIBTOOL_LINK_FLAGS, [-R${yajl_ldflags}]) + fi + + AC_SEARCH_LIBS([yajl_gen_alloc], [yajl], [YAJL_HAVE_LOCAL_LIBS=1]) + + if test "$YAJL_HAVE_LOCAL_LIBS" != "0"; then + AC_MSG_NOTICE([Checking for yajl headers]) + AC_CHECK_HEADERS([yajl/yajl_parse.h], [YAJL_HAVE_LOCAL_HEADERS=1]) + + if test "$YAJL_HAVE_LOCAL_HEADERS" != "0"; then + HAVE_LOCAL_YAJL=1 + LNAV_ADDTO(LIBS, [-lyajl]) + else + AC_MSG_WARN([yajl not found on the local system]) + fi + + if test "$HAVE_LOCAL_YAJL" = "0"; then + CPPFLAGS=$saved_cppflags + LDFLAGS=$saved_ldflags + LIBTOOL_LIBK_FLAGS=$saved_libtool_link_flags + fi + fi +fi + +if test "$HAVE_LOCAL_YAJL" = "0"; then + AC_MSG_NOTICE([compiling with the included version of yajl]) +fi + +AC_SUBST(HAVE_LOCAL_YAJL) + +])dnl