[FFmpeg-devel] [PATCH] doc: enable compilation of monolithic tools doc with --enable-monolithic-tools-doc

Clément Bœsch ubitux at gmail.com
Thu Apr 4 09:55:50 CEST 2013


On Thu, Apr 04, 2013 at 12:20:35AM +0200, Stefano Sabatini wrote:
[...]
> From 4ae2477a05efcd19f4ec88c1753d552a876b2edf Mon Sep 17 00:00:00 2001
> From: Stefano Sabatini <stefasab at gmail.com>
> Date: Tue, 19 Mar 2013 20:54:26 +0100
> Subject: [PATCH] doc: enable compilation of -all tool pages
> 
> In particular, add documentation configuration system, through the
> doc/config.texi file.
> 
> Fix trac issue #2374.
> ---
>  configure               |   13 +++++++++++--
>  doc/Makefile            |   21 +++++++++++++++++----
>  doc/all-components.texi |   30 ++++++++++++++++++++++++++++++
>  doc/ffmpeg.texi         |    9 +++++++--
>  doc/ffplay.texi         |    9 +++++++--
>  doc/ffprobe.texi        |    9 +++++++--
>  doc/ffserver.texi       |    9 +++++++--
>  7 files changed, 86 insertions(+), 14 deletions(-)
>  create mode 100644 doc/all-components.texi
> 
> diff --git a/configure b/configure
> index 4b46007..a6ab58e 100755
> --- a/configure
> +++ b/configure
> @@ -658,6 +658,12 @@ print_config(){
>                  } else if (file ~ /\\.mak\$/) {
>                      n = -v ? \"\" : \"!\";
>                      printf(\"%s%s=yes\\n\", n, c) >>file;
> +                } else if (file ~ /\\.texi\$/) {
> +                    pre = -v ? \"\" : \"@c \";
> +                    yesno = \$2;
> +                    c2 = tolower(c);
> +                    gsub(/_/, \"-\", c2);
> +                    printf(\"%s at set %s %s\\n\", pre, c2, yesno) >>file;
>                  }
>              }
>          }"
> @@ -4406,13 +4412,13 @@ fi
>  
>  echo "License: $license"
>  
> -echo "Creating config.mak and config.h..."
> +echo "Creating config.mak, config.h, and doc/config.texi..."
>  

doc/config.texi looks .gitignore compliant.

[...]
> @@ -61,11 +60,22 @@ doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
>  	$(Q)$(TEXIDEP)
>  	$(M)texi2html -I doc -monolithic --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
>  
> +doc/%-all.html: TAG = HTML
> +doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
> +	$(Q)$(TEXIDEP)
> +	$(M)texi2html -I doc -monolithic --D=config-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
> +	$(RM) config-all.texi
> +

>  doc/%.pod: TAG = POD
>  doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
>  	$(Q)$(TEXIDEP)
>  	$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
>  
> +doc/%-all.pod: TAG = POD
> +doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
> +	$(Q)$(TEXIDEP)
> +	$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-all=yes -Idoc $< $@
> +

I wonder if you can't factorize this. Maybe something like (untested):

    doc/%-all.pod: EXTRA_OPTS = -Dconfig-all=yes
    doc/%.pod: TAG = POD
    doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
    	$(Q)$(TEXIDEP)
    	$(M)perl $(SRC_PATH)/doc/texi2pod.pl $(EXTRA_OPTS) -Idoc $< $@

Note: I don't consider this blocking if the above doesn't work.

>  doc/%.1 doc/%.3: TAG = MAN
>  doc/%.1: doc/%.pod $(GENTEXI)
>  	$(M)pod2man --section=1 --center=" " --release=" " $< > $@
> @@ -94,6 +104,9 @@ uninstall-man:
>  
>  clean:: docclean
>  
> +distclean:: docclean
> +	$(RM) doc/config.texi
> +
>  docclean:
>  	$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
>  	$(RM) -r doc/doxy/html
[...]
> diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi
> index 6e30b2f..a4e19bd 100644
> --- a/doc/ffprobe.texi
> +++ b/doc/ffprobe.texi
> @@ -487,10 +487,15 @@ DV, GXF and AVI timecodes are available in format metadata
>  @end itemize
>  @c man end TIMECODE
>  
> + at include config.texi
> + at ifset monolithic-tools-doc
> + at include all-components.texi
> + at end ifset
> +
>  @chapter See Also
>  
>  @ifhtml
> - at url{ffplay.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
> + at url{ffprobe-all.html,ffprobe-all} @url{ffplay.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},

Note: @url{ffplay.html,ffmpeg} looks wrong.

[...]

Rest LGTM

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130404/8491a09e/attachment.asc>


More information about the ffmpeg-devel mailing list