Commit c3da2c19 authored by Stefano Sabatini's avatar Stefano Sabatini

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.
parent ae60d2c8
...@@ -99,8 +99,14 @@ Configuration options: ...@@ -99,8 +99,14 @@ Configuration options:
--enable-gray enable full grayscale support (slower color) --enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale --disable-swscale-alpha disable alpha channel support in swscale
Component options: Documentation options:
--disable-doc do not build documentation --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-ffmpeg disable ffmpeg build
--disable-ffplay disable ffplay build --disable-ffplay disable ffplay build
--disable-ffprobe disable ffprobe build --disable-ffprobe disable ffprobe build
...@@ -1043,6 +1049,14 @@ COMPONENT_LIST=" ...@@ -1043,6 +1049,14 @@ COMPONENT_LIST="
protocols protocols
" "
DOCUMENT_LIST="
doc
htmlpages
manpages
podpages
txtpages
"
PROGRAM_LIST=" PROGRAM_LIST="
ffplay ffplay
ffprobe ffprobe
...@@ -1052,6 +1066,7 @@ PROGRAM_LIST=" ...@@ -1052,6 +1066,7 @@ PROGRAM_LIST="
CONFIG_LIST=" CONFIG_LIST="
$COMPONENT_LIST $COMPONENT_LIST
$DOCUMENT_LIST
$PROGRAM_LIST $PROGRAM_LIST
avcodec avcodec
avdevice avdevice
...@@ -1062,7 +1077,6 @@ CONFIG_LIST=" ...@@ -1062,7 +1077,6 @@ CONFIG_LIST="
bzlib bzlib
crystalhd crystalhd
dct dct
doc
dwt dwt
dxva2 dxva2
fast_unaligned fast_unaligned
...@@ -1285,6 +1299,7 @@ HAVE_LIST=" ...@@ -1285,6 +1299,7 @@ HAVE_LIST="
mmap mmap
nanosleep nanosleep
PeekNamedPipe PeekNamedPipe
perl
pod2man pod2man
poll_h poll_h
posix_memalign posix_memalign
...@@ -1848,7 +1863,12 @@ ffprobe_deps="avcodec avformat" ...@@ -1848,7 +1863,12 @@ ffprobe_deps="avcodec avformat"
ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer" ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ffserver_extralibs='$ldl' 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 # tests
colormatrix1_test_deps="colormatrix_filter" colormatrix1_test_deps="colormatrix_filter"
...@@ -1951,6 +1971,7 @@ ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO ...@@ -1951,6 +1971,7 @@ ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO
# configurable options # configurable options
enable $PROGRAM_LIST enable $PROGRAM_LIST
enable $DOCUMENT_LIST
enable avcodec enable avcodec
enable avdevice enable avdevice
...@@ -3525,6 +3546,7 @@ enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs ...@@ -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 texi2html --help 2> /dev/null | grep -q 'init-file' && enable texi2html || disable texi2html
makeinfo --version > /dev/null 2>&1 && enable makeinfo || disable makeinfo 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 pod2man --help > /dev/null 2>&1 && enable pod2man || disable pod2man
check_header linux/fb.h check_header linux/fb.h
...@@ -3867,6 +3889,7 @@ echo "openssl enabled ${openssl-no}" ...@@ -3867,6 +3889,7 @@ echo "openssl enabled ${openssl-no}"
echo "zlib enabled ${zlib-no}" echo "zlib enabled ${zlib-no}"
echo "bzlib enabled ${bzlib-no}" echo "bzlib enabled ${bzlib-no}"
echo "texi2html enabled ${texi2html-no}" echo "texi2html enabled ${texi2html-no}"
echo "perl enabled ${perl-no}"
echo "pod2man enabled ${pod2man-no}" echo "pod2man enabled ${pod2man-no}"
echo "makeinfo enabled ${makeinfo-no}" echo "makeinfo enabled ${makeinfo-no}"
test -n "$random_seed" && test -n "$random_seed" &&
......
...@@ -12,9 +12,10 @@ HTMLPAGES = $(PROGS-yes:%=doc/%.html) \ ...@@ -12,9 +12,10 @@ HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
TXTPAGES = doc/fate.txt \ TXTPAGES = doc/fate.txt \
DOCS-$(HAVE_TEXI2HTML) += $(HTMLPAGES) DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES)
DOCS-$(HAVE_POD2MAN) += $(MANPAGES) $(PODPAGES) DOCS-$(CONFIG_PODPAGES) += $(PODPAGES)
DOCS-$(HAVE_MAKEINFO) += $(TXTPAGES) DOCS-$(CONFIG_MANPAGES) += $(MANPAGES)
DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES)
DOCS = $(DOCS-yes) DOCS = $(DOCS-yes)
all-$(CONFIG_DOC): documentation all-$(CONFIG_DOC): documentation
...@@ -53,7 +54,7 @@ $(DOCS): | doc/ ...@@ -53,7 +54,7 @@ $(DOCS): | doc/
install-man: install-man:
ifdef HAVE_POD2MAN ifdef CONFIG_MANPAGES
install-progs-$(CONFIG_DOC): install-man install-progs-$(CONFIG_DOC): install-man
install-man: $(MANPAGES) install-man: $(MANPAGES)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment