From 4f45b5f9739e5a5e7d1c4f80da9c42e0d77dd0bf Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Tue, 19 Feb 2019 12:44:56 -0800 Subject: [PATCH] 8217032: Check pandoc capabilities in configure Reviewed-by: mikael, ihse --- make/autoconf/basics.m4 | 37 ++++++++++++++++++++++++++------- make/autoconf/spec.gmk.in | 1 + make/common/ProcessMarkdown.gmk | 3 ++- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/make/autoconf/basics.m4 b/make/autoconf/basics.m4 index f35de8faf3f..9bc0d0c337e 100644 --- a/make/autoconf/basics.m4 +++ b/make/autoconf/basics.m4 @@ -618,14 +618,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS], BASIC_PATH_PROGS(CPIO, [cpio bsdcpio]) BASIC_PATH_PROGS(NICE, nice) - BASIC_PATH_PROGS(PANDOC, pandoc) - if test -n "$PANDOC"; then - ENABLE_PANDOC="true" - else - ENABLE_PANDOC="false" - fi - AC_SUBST(ENABLE_PANDOC) - BASIC_PATH_PROGS(LSB_RELEASE, lsb_release) BASIC_PATH_PROGS(CMD, [cmd.exe /mnt/c/Windows/System32/cmd.exe]) ]) @@ -1193,6 +1185,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS], BASIC_CHECK_FIND_DELETE BASIC_CHECK_TAR BASIC_CHECK_GREP + BASIC_SETUP_PANDOC # These tools might not be installed by default, # need hint on how to install them. @@ -1377,6 +1370,34 @@ AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS], AC_SUBST(BASH_ARGS) ]) +################################################################################ +# +# Setup Pandoc +# +AC_DEFUN_ONCE([BASIC_SETUP_PANDOC], +[ + BASIC_PATH_PROGS(PANDOC, pandoc) + + PANDOC_MARKDOWN_FLAG="markdown" + if test -n "$PANDOC"; then + AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown) + if $PANDOC --list-extensions | $GREP -q '\+smart'; then + AC_MSG_RESULT([yes]) + PANDOC_MARKDOWN_FLAG="markdown-smart" + else + AC_MSG_RESULT([no]) + fi + fi + + if test -n "$PANDOC"; then + ENABLE_PANDOC="true" + else + ENABLE_PANDOC="false" + fi + AC_SUBST(ENABLE_PANDOC) + AC_SUBST(PANDOC_MARKDOWN_FLAG) +]) + ################################################################################ # # Default make target diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in index 1ac80135b50..a8f80a8d2c0 100644 --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in @@ -774,6 +774,7 @@ MSVCP_DLL:=@MSVCP_DLL@ UCRT_DLL_DIR:=@UCRT_DLL_DIR@ STLPORT_LIB:=@STLPORT_LIB@ ENABLE_PANDOC:=@ENABLE_PANDOC@ +PANDOC_MARKDOWN_FLAG:=@PANDOC_MARKDOWN_FLAG@ #################################################### # diff --git a/make/common/ProcessMarkdown.gmk b/make/common/ProcessMarkdown.gmk index c2797e2d8c1..52589a3046e 100644 --- a/make/common/ProcessMarkdown.gmk +++ b/make/common/ProcessMarkdown.gmk @@ -80,7 +80,8 @@ define ProcessMarkdown $$(call LogInfo, Converting $2 to $$($1_FORMAT)) $$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT))) $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \ - $$(PANDOC) $$($1_OPTIONS) -f markdown-smart -t $$($1_FORMAT) --standalone \ + $$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \ + -t $$($1_FORMAT) --standalone \ $$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS) '$$($1_$2_PANDOC_INPUT)' \ -o '$$($1_$2_PANDOC_OUTPUT)') ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)