From 8031a83290dbb98b314610f923b5c142d9bde7de Mon Sep 17 00:00:00 2001 From: Suresh Sundriyal Date: Thu, 19 Mar 2015 03:49:45 -0700 Subject: [PATCH] [build] Reimplement yajl m4 macro using only M4sh. --- m4/lnav_with_yajl.m4 | 119 +++++++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 62 deletions(-) diff --git a/m4/lnav_with_yajl.m4 b/m4/lnav_with_yajl.m4 index ffeea347..52557478 100644 --- a/m4/lnav_with_yajl.m4 +++ b/m4/lnav_with_yajl.m4 @@ -1,69 +1,64 @@ 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_ARG_WITH([yajl], + AC_HELP_STRING( + [--with-yajl=DIR], + [use a local installed version of yajl] + ), + [ + AS_IF([test "$withval" != "no"], + [ + AS_CASE(["$withval"], + [yes], + [AC_MSG_NOTICE([Checking for yajl libs])], + [ + AS_VAR_SET([yajl_saved_ldflags], ["$LDFLAGS"]) + AS_VAR_SET([yajl_saved_cppflags], ["$CPPFLAGS"]) + AS_VAR_SET([yajl_saved_libtool_link_flags], + ["$LIBTOOL_LIBK_FLAGS"] + ) - AC_SEARCH_LIBS([yajl_gen_alloc], [yajl], [YAJL_HAVE_LOCAL_LIBS=1]) + LNAV_ADDTO(CPPFLAGS, ["-I$withval/include"]) + LNAV_ADDTO(LDFLAGS, ["-I$withval/lib"]) + LNAV_ADDTO(LIBTOOL_LINK_FLAGS, ["-R$withval/lib"]) - 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 + AC_MSG_NOTICE([Checking for yajl libs in $withval]) + ] + ) -if test "$HAVE_LOCAL_YAJL" = "0"; then - AC_MSG_NOTICE([compiling with the included version of yajl]) -fi + AC_SEARCH_LIBS([yajl_gen_alloc], + [yajl], + [ + AC_MSG_NOTICE([Checking for yajl headers]) + AC_CHECK_HEADERS([yajl/yajl_parse.h], + [ + AS_VAR_SET([HAVE_LOCAL_YAJL], [1]) + LNAV_ADDTO(LIBS, [-lyajl]) + ], + [AC_MSG_WARN([yajl not found on the local system])] + ) + ] + ) + ] + ) + ] + ) -AC_SUBST(HAVE_LOCAL_YAJL) + AS_VAR_SET_IF([HAVE_LOCAL_YAJL], + [], + [ + AC_MSG_NOTICE([compiling with the included version of yajl]) + AS_VAR_SET([HAVE_LOCAL_YAJL], [0]) + AS_VAR_SET_IF([yajl_saved_ldflags], + [ + AS_VAR_SET([CPPFLAGS], ["$yajl_saved_cppflags"]) + AS_VAR_SET([LDFLAGS], ["$yajl_saved_ldflags"]) + AS_VAR_SET([LIBTOOL_LIBK_FLAGS], ["$yajl_saved_libtool_link_flags"]) + ] + ) + ] + ) -])dnl + AC_SUBST(HAVE_LOCAL_YAJL) + ] +)dnl