Skip to content
Snippets Groups Projects
Commit c3da2c19 authored by Stefano Sabatini's avatar Stefano Sabatini
Browse files

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
No related branches found
No related tags found
No related merge requests found
...@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment