Browse Source

build: extend documentation building mechanism

Allow to select specific documentation components, and reliably check for
component dependencies.

In particular, check for perl presence on the system.
tags/n1.0
Stefano Sabatini 13 years ago
parent
commit
c3da2c19e4
2 changed files with 31 additions and 7 deletions
  1. +26
    -3
      configure
  2. +5
    -4
      doc/Makefile

+ 26
- 3
configure View File

@@ -99,8 +99,14 @@ Configuration options:
--enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale

Component options:
Documentation options:
--disable-doc do not build documentation
--disable-htmlpages do not build HTML documentation pages
--disable-manpages do not build man documentation pages
--disable-podpages do not build POD documentation pages
--disable-txtpages do not build text documentation pages

Component options:
--disable-ffmpeg disable ffmpeg build
--disable-ffplay disable ffplay build
--disable-ffprobe disable ffprobe build
@@ -1043,6 +1049,14 @@ COMPONENT_LIST="
protocols
"

DOCUMENT_LIST="
doc
htmlpages
manpages
podpages
txtpages
"

PROGRAM_LIST="
ffplay
ffprobe
@@ -1052,6 +1066,7 @@ PROGRAM_LIST="

CONFIG_LIST="
$COMPONENT_LIST
$DOCUMENT_LIST
$PROGRAM_LIST
avcodec
avdevice
@@ -1062,7 +1077,6 @@ CONFIG_LIST="
bzlib
crystalhd
dct
doc
dwt
dxva2
fast_unaligned
@@ -1285,6 +1299,7 @@ HAVE_LIST="
mmap
nanosleep
PeekNamedPipe
perl
pod2man
poll_h
posix_memalign
@@ -1848,7 +1863,12 @@ ffprobe_deps="avcodec avformat"
ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ffserver_extralibs='$ldl'

doc_deps_any="texi2html makeinfo pod2man"
# documentation
podpages_deps="perl"
manpages_deps="perl pod2man"
htmlpages_deps="texi2html"
txtpages_deps="makeinfo"
doc_deps_any="manpages htmlpages podpages txtpages"

# tests
colormatrix1_test_deps="colormatrix_filter"
@@ -1951,6 +1971,7 @@ ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO

# configurable options
enable $PROGRAM_LIST
enable $DOCUMENT_LIST

enable avcodec
enable avdevice
@@ -3525,6 +3546,7 @@ enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs

texi2html --help 2> /dev/null | grep -q 'init-file' && enable texi2html || disable texi2html
makeinfo --version > /dev/null 2>&1 && enable makeinfo || disable makeinfo
perl --version > /dev/null 2>&1 && enable perl || disable perl
pod2man --help > /dev/null 2>&1 && enable pod2man || disable pod2man

check_header linux/fb.h
@@ -3867,6 +3889,7 @@ echo "openssl enabled ${openssl-no}"
echo "zlib enabled ${zlib-no}"
echo "bzlib enabled ${bzlib-no}"
echo "texi2html enabled ${texi2html-no}"
echo "perl enabled ${perl-no}"
echo "pod2man enabled ${pod2man-no}"
echo "makeinfo enabled ${makeinfo-no}"
test -n "$random_seed" &&


+ 5
- 4
doc/Makefile View File

@@ -12,9 +12,10 @@ HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
TXTPAGES = doc/fate.txt \


DOCS-$(HAVE_TEXI2HTML) += $(HTMLPAGES)
DOCS-$(HAVE_POD2MAN) += $(MANPAGES) $(PODPAGES)
DOCS-$(HAVE_MAKEINFO) += $(TXTPAGES)
DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES)
DOCS-$(CONFIG_PODPAGES) += $(PODPAGES)
DOCS-$(CONFIG_MANPAGES) += $(MANPAGES)
DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES)
DOCS = $(DOCS-yes)

all-$(CONFIG_DOC): documentation
@@ -53,7 +54,7 @@ $(DOCS): | doc/

install-man:

ifdef HAVE_POD2MAN
ifdef CONFIG_MANPAGES
install-progs-$(CONFIG_DOC): install-man

install-man: $(MANPAGES)


Loading…
Cancel
Save