mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2025-12-06 02:40:26 -08:00
configure: change manual installation
Introduce a configure option controlling the installation and build the documentation during the build instead of the install phase. Targets for installation of the html version have also been added. Fixes #482.
This commit is contained in:
parent
1ad91df1cf
commit
93496e108c
5 changed files with 165 additions and 45 deletions
|
|
@ -72,7 +72,7 @@ LSP_LIBRARIES = @LSP_LIBRARIES@
|
||||||
TARGETS = @TARGETS@
|
TARGETS = @TARGETS@
|
||||||
ECL_CMPDIR = @ECL_CMPDIR@
|
ECL_CMPDIR = @ECL_CMPDIR@
|
||||||
|
|
||||||
all: $(TARGETS) bin/ecl-config .git/tags TAGS
|
all: $(TARGETS) bin/ecl-config .git/tags TAGS doc
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
.SUFFIXES: .c .o .d .s
|
.SUFFIXES: .c .o .d .s
|
||||||
|
|
||||||
|
|
@ -186,6 +186,10 @@ build-stamp: config.status
|
||||||
echo "#" `uname -a` > $@
|
echo "#" `uname -a` > $@
|
||||||
head -8 config.log | tail -6 >> $@
|
head -8 config.log | tail -6 >> $@
|
||||||
|
|
||||||
|
doc:
|
||||||
|
$(MAKE) -C doc
|
||||||
|
.PHONY: doc
|
||||||
|
|
||||||
install:
|
install:
|
||||||
# Here we would use the option -s but the install program in sourceforge-solaris
|
# Here we would use the option -s but the install program in sourceforge-solaris
|
||||||
# is broken.
|
# is broken.
|
||||||
|
|
|
||||||
105
src/configure
vendored
105
src/configure
vendored
|
|
@ -653,8 +653,11 @@ ECL_CMPDIR
|
||||||
ECL_GMP_HEADER
|
ECL_GMP_HEADER
|
||||||
EGREP
|
EGREP
|
||||||
GREP
|
GREP
|
||||||
|
MANUAL_UNINSTALL_TARGET
|
||||||
|
MANUAL_INSTALL_TARGET
|
||||||
|
MANUAL_MAKE_TARGET
|
||||||
|
MAKEINFO
|
||||||
INSTALL_INFO
|
INSTALL_INFO
|
||||||
INFOEXT
|
|
||||||
ECL_GC_DIR
|
ECL_GC_DIR
|
||||||
thehost
|
thehost
|
||||||
INSTALL_TARGET
|
INSTALL_TARGET
|
||||||
|
|
@ -809,13 +812,13 @@ with_debug_cflags
|
||||||
with_profile_cflags
|
with_profile_cflags
|
||||||
with_extra_files
|
with_extra_files
|
||||||
with_init_form
|
with_init_form
|
||||||
|
enable_manual
|
||||||
with_x
|
with_x
|
||||||
'
|
'
|
||||||
ac_precious_vars='build_alias
|
ac_precious_vars='build_alias
|
||||||
host_alias
|
host_alias
|
||||||
target_alias
|
target_alias
|
||||||
ecldir
|
ecldir
|
||||||
docdir
|
|
||||||
CC
|
CC
|
||||||
CFLAGS
|
CFLAGS
|
||||||
LDFLAGS
|
LDFLAGS
|
||||||
|
|
@ -1483,6 +1486,8 @@ Optional Features:
|
||||||
save externalizable objects in compiled files
|
save externalizable objects in compiled files
|
||||||
(EXPERIMENTAL). (no|yes, default=NO)
|
(EXPERIMENTAL). (no|yes, default=NO)
|
||||||
--enable-debug enable various debugging features (default=NO)
|
--enable-debug enable various debugging features (default=NO)
|
||||||
|
--with-manual={auto|html|info|no}
|
||||||
|
Enable building of the manual (default=AUTO)
|
||||||
|
|
||||||
Optional Packages:
|
Optional Packages:
|
||||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||||
|
|
@ -1548,7 +1553,6 @@ Optional Packages:
|
||||||
|
|
||||||
Some influential environment variables:
|
Some influential environment variables:
|
||||||
ecldir the directory where *.fas files are installed
|
ecldir the directory where *.fas files are installed
|
||||||
docdir the directory where documentation is installed
|
|
||||||
CC C compiler command
|
CC C compiler command
|
||||||
CFLAGS C compiler flags
|
CFLAGS C compiler flags
|
||||||
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
|
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
|
||||||
|
|
@ -3055,13 +3059,18 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --enable-manual was given.
|
||||||
|
if test "${enable_manual+set}" = set; then :
|
||||||
|
enableval=$enable_manual; enable_manual=${enableval}
|
||||||
|
else
|
||||||
|
enable_manual=auto
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
test -z "${ecldir}" && ecldir="${libdir}/ecl-${PACKAGE_VERSION}"
|
test -z "${ecldir}" && ecldir="${libdir}/ecl-${PACKAGE_VERSION}"
|
||||||
|
|
||||||
|
|
||||||
test -z "${docdir}" && docdir="${datadir}/doc/ecl-${PACKAGE_VERSION}"
|
|
||||||
|
|
||||||
|
|
||||||
boehm_configure_flags=""
|
boehm_configure_flags=""
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -5258,9 +5267,8 @@ SOFTWARE_VERSION=""
|
||||||
$as_echo "${SOFTWARE_TYPE} / ${SOFTWARE_VERSION}" >&6; }
|
$as_echo "${SOFTWARE_TYPE} / ${SOFTWARE_VERSION}" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
if test "${enable_manual}" != "no"; then
|
||||||
|
# Extract the first word of "install-info", so it can be a program name with args.
|
||||||
# Extract the first word of "install-info", so it can be a program name with args.
|
|
||||||
set dummy install-info; ac_word=$2
|
set dummy install-info; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
|
@ -5273,8 +5281,7 @@ else
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
as_dummy="$PATH:/sbin:/usr/sbin:/usr/etc"
|
for as_dir in $PATH
|
||||||
for as_dir in $as_dummy
|
|
||||||
do
|
do
|
||||||
IFS=$as_save_IFS
|
IFS=$as_save_IFS
|
||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
|
|
@ -5288,7 +5295,6 @@ done
|
||||||
done
|
done
|
||||||
IFS=$as_save_IFS
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
test -z "$ac_cv_path_INSTALL_INFO" && ac_cv_path_INSTALL_INFO="/bin/true"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
@ -5302,10 +5308,79 @@ $as_echo "no" >&6; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if test -z `which gzip`; then
|
if test "x${INSTALL_INFO}" = "x"; then
|
||||||
INFOEXT=info.gz
|
if test "${enable_manual}" = "auto"; then
|
||||||
|
enable_manual=no
|
||||||
|
elif test "${enable_manual}" = "info"; then
|
||||||
|
as_fn_error $? "Unable to build the manual: install-info not found." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# Extract the first word of "makeinfo", so it can be a program name with args.
|
||||||
|
set dummy makeinfo; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_path_MAKEINFO+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
INFOEXT=info
|
case $MAKEINFO in
|
||||||
|
[\\/]* | ?:[\\/]*)
|
||||||
|
ac_cv_path_MAKEINFO="$MAKEINFO" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_path_MAKEINFO="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
MAKEINFO=$ac_cv_path_MAKEINFO
|
||||||
|
if test -n "$MAKEINFO"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5
|
||||||
|
$as_echo "$MAKEINFO" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test "x${MAKEINFO}" = "x"; then
|
||||||
|
if test "${enable_manual}" = "auto"; then
|
||||||
|
enable_manual=no
|
||||||
|
else
|
||||||
|
as_fn_error $? "Unable to build the manual: makeinfo not found." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "${enable_manual}" != "no"; then
|
||||||
|
|
||||||
|
|
||||||
|
if test "${enable_manual}" = "html"; then
|
||||||
|
MANUAL_MAKE_TARGET='html'
|
||||||
|
|
||||||
|
MANUAL_INSTALL_TARGET='install-html'
|
||||||
|
|
||||||
|
MANUAL_UNINSTALL_TARGET='uninstall-html'
|
||||||
|
|
||||||
|
else
|
||||||
|
MANUAL_MAKE_TARGET='info'
|
||||||
|
|
||||||
|
MANUAL_INSTALL_TARGET='install-info'
|
||||||
|
|
||||||
|
MANUAL_UNINSTALL_TARGET='uninstall-info'
|
||||||
|
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$GMP_INCDIR" != "x"; then
|
if test "x$GMP_INCDIR" != "x"; then
|
||||||
|
|
|
||||||
|
|
@ -293,14 +293,18 @@ AC_ARG_WITH(init-form,
|
||||||
[lisp forms to execute at startup (default="(si::top-level t)")]),
|
[lisp forms to execute at startup (default="(si::top-level t)")]),
|
||||||
[with_init_form="${withval}"], [with_init_form=""])
|
[with_init_form="${withval}"], [with_init_form=""])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(manual,
|
||||||
|
AS_HELP_STRING( [--with-manual={auto|html|info|no}],
|
||||||
|
[Enable building of the manual]
|
||||||
|
[(default=AUTO)]),
|
||||||
|
[enable_manual=${enableval}],
|
||||||
|
[enable_manual=auto])
|
||||||
|
|
||||||
dnl -----------------------------------------------------------------------
|
dnl -----------------------------------------------------------------------
|
||||||
dnl Installation directories
|
dnl Installation directories
|
||||||
AC_ARG_VAR([ecldir], [the directory where *.fas files are installed])
|
AC_ARG_VAR([ecldir], [the directory where *.fas files are installed])
|
||||||
test -z "${ecldir}" && ecldir="${libdir}/ecl-${PACKAGE_VERSION}"
|
test -z "${ecldir}" && ecldir="${libdir}/ecl-${PACKAGE_VERSION}"
|
||||||
AC_SUBST([ecldir])
|
AC_SUBST([ecldir])
|
||||||
AC_ARG_VAR([docdir], [the directory where documentation is installed])
|
|
||||||
test -z "${docdir}" && docdir="${datadir}/doc/ecl-${PACKAGE_VERSION}"
|
|
||||||
AC_SUBST([docdir])
|
|
||||||
|
|
||||||
dnl -----------------------------------------------------------------------
|
dnl -----------------------------------------------------------------------
|
||||||
dnl Initialize variables.
|
dnl Initialize variables.
|
||||||
|
|
@ -353,13 +357,36 @@ ECL_MAKE_ABSOLUTE_SRCDIR
|
||||||
ECL_CROSS_CONFIG
|
ECL_CROSS_CONFIG
|
||||||
ECL_GUESS_HOST_OS
|
ECL_GUESS_HOST_OS
|
||||||
|
|
||||||
AC_SUBST(INFOEXT)
|
if test "${enable_manual}" != "no"; then
|
||||||
AC_SUBST(INSTALL_INFO)
|
AC_PATH_PROG([INSTALL_INFO], [install-info], [])
|
||||||
AC_PATH_PROG([INSTALL_INFO], [install-info], [/bin/true], [$PATH:/sbin:/usr/sbin:/usr/etc])
|
if test "x${INSTALL_INFO}" = "x"; then
|
||||||
if test -z `which gzip`; then
|
if test "${enable_manual}" = "auto"; then
|
||||||
INFOEXT=info.gz
|
enable_manual=no
|
||||||
else
|
elif test "${enable_manual}" = "info"; then
|
||||||
INFOEXT=info
|
AC_MSG_ERROR([Unable to build the manual: install-info not found.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_PATH_PROG([MAKEINFO], [makeinfo], [])
|
||||||
|
if test "x${MAKEINFO}" = "x"; then
|
||||||
|
if test "${enable_manual}" = "auto"; then
|
||||||
|
enable_manual=no
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Unable to build the manual: makeinfo not found.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "${enable_manual}" != "no"; then
|
||||||
|
AC_SUBST(INSTALL_INFO)
|
||||||
|
AC_SUBST(MAKEINFO)
|
||||||
|
if test "${enable_manual}" = "html"; then
|
||||||
|
AC_SUBST(MANUAL_MAKE_TARGET, ['html'])
|
||||||
|
AC_SUBST(MANUAL_INSTALL_TARGET, ['install-html'])
|
||||||
|
AC_SUBST(MANUAL_UNINSTALL_TARGET, ['uninstall-html'])
|
||||||
|
else
|
||||||
|
AC_SUBST(MANUAL_MAKE_TARGET, ['info'])
|
||||||
|
AC_SUBST(MANUAL_INSTALL_TARGET, ['install-info'])
|
||||||
|
AC_SUBST(MANUAL_UNINSTALL_TARGET, ['uninstall-info'])
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl ======================================================================
|
dnl ======================================================================
|
||||||
|
|
|
||||||
|
|
@ -9,42 +9,55 @@ docdir=@docdir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
manext=1
|
manext=1
|
||||||
|
|
||||||
INFOEXT = @INFOEXT@
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_INFO = @INSTALL_INFO@
|
INSTALL_INFO = @INSTALL_INFO@
|
||||||
mkinstalldirs = $(top_srcdir)/bdwgc/install-sh -d
|
mkinstalldirs = $(top_srcdir)/bdwgc/install-sh -d
|
||||||
INFO_FILE = ecl.$(INFOEXT)
|
INFO_FILE = ecl.info.gz
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANUAL_MAKE_TARGET = @MANUAL_MAKE_TARGET@
|
||||||
|
MANUAL_INSTALL_TARGET = @MANUAL_INSTALL_TARGET@
|
||||||
|
MANUAL_UNINSTALL_TARGET = @MANUAL_UNINSTALL_TARGET@
|
||||||
|
|
||||||
VERSION=@PACKAGE_VERSION@
|
VERSION=@PACKAGE_VERSION@
|
||||||
|
|
||||||
all: manual
|
all: $(MANUAL_MAKE_TARGET)
|
||||||
$(MAKE) -C manual
|
|
||||||
|
|
||||||
manual:
|
manual:
|
||||||
cp -r $(srcdir)/manual .
|
cp -r $(srcdir)/manual .
|
||||||
|
|
||||||
install: install-manual
|
info: manual
|
||||||
|
$(MAKE) MAKEINFO=$(MAKEINFO) -C manual info
|
||||||
|
|
||||||
|
html: manual
|
||||||
|
$(MAKE) MAKEINFO=$(MAKEINFO) -C manual html
|
||||||
|
|
||||||
|
install: $(MANUAL_INSTALL_TARGET)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(mandir)/man$(manext)
|
$(mkinstalldirs) $(DESTDIR)$(mandir)/man$(manext)
|
||||||
$(INSTALL_DATA) ecl.man $(DESTDIR)$(mandir)/man$(manext)/ecl.$(manext)
|
$(INSTALL_DATA) ecl.man $(DESTDIR)$(mandir)/man$(manext)/ecl.$(manext)
|
||||||
$(INSTALL_DATA) ecl-config.man $(DESTDIR)$(mandir)/man$(manext)/ecl-config.$(manext)
|
$(INSTALL_DATA) ecl-config.man $(DESTDIR)$(mandir)/man$(manext)/ecl-config.$(manext)
|
||||||
|
|
||||||
install-manual: manual
|
install-info:
|
||||||
$(MAKE) -C manual info
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||||
gzip < manual/$(INFO_FILE) > manual/$(INFO_FILE).gz
|
$(INSTALL_DATA) manual/$(INFO_FILE) $(DESTDIR)$(infodir)
|
||||||
$(INSTALL_DATA) manual/$(INFO_FILE).gz $(DESTDIR)$(infodir)
|
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) manual/$(INFO_FILE)
|
||||||
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) manual/$(INFO_FILE);
|
|
||||||
|
|
||||||
uninstall: uninstall-manual
|
install-html:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(docdir)/ecl-$(VERSION)
|
||||||
|
cp -r manual/html/ $(DESTDIR)$(docdir)/ecl-$(VERSION)
|
||||||
|
|
||||||
|
uninstall: $(MANUAL_UNINSTALL_TARGET)
|
||||||
$(RM) $(DESTDIR)$(mandir)/man$(manext)/ecl.$(manext)
|
$(RM) $(DESTDIR)$(mandir)/man$(manext)/ecl.$(manext)
|
||||||
$(RM) $(DESTDIR)$(mandir)/man$(manext)/ecl-config.$(manext)
|
$(RM) $(DESTDIR)$(mandir)/man$(manext)/ecl-config.$(manext)
|
||||||
|
|
||||||
uninstall-manual:
|
uninstall-info:
|
||||||
$(RM) $(DESTDIR)$(infodir)/$(INFO_FILE).gz
|
$(RM) $(DESTDIR)$(infodir)/$(INFO_FILE)
|
||||||
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) --remove manual/$(INFO_FILE);
|
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) --remove manual/$(INFO_FILE)
|
||||||
|
|
||||||
|
uninstall-html:
|
||||||
|
$(RM) -r $(DESTDIR)$(docdir)/ecl-$(VERSION)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C manual clean
|
$(MAKE) -C manual clean
|
||||||
|
|
|
||||||
|
|
@ -5,20 +5,21 @@ FILES= *.txi */*.txi figures/*
|
||||||
all: pdf info html
|
all: pdf info html
|
||||||
|
|
||||||
pdf: manual.pdf
|
pdf: manual.pdf
|
||||||
info: ecl.info
|
info: ecl.info.gz
|
||||||
html: html/index.html
|
html: html/index.html
|
||||||
|
|
||||||
manual.pdf: $(FILES)
|
manual.pdf: $(FILES)
|
||||||
texi2pdf manual.txi
|
texi2pdf manual.txi
|
||||||
|
|
||||||
ecl.info: $(FILES)
|
ecl.info.gz: $(FILES)
|
||||||
makeinfo --no-split manual.txi
|
$(MAKEINFO) --no-split manual.txi
|
||||||
|
gzip < ecl.info > ecl.info.gz
|
||||||
|
|
||||||
html/index.html: $(FILES)
|
html/index.html: $(FILES)
|
||||||
makeinfo --html --css-include=ecl.css --split=chapter manual.txi
|
$(MAKEINFO) --html --css-include=ecl.css --split=chapter manual.txi
|
||||||
rm -rf html
|
rm -rf html
|
||||||
mv ecl html
|
mv ecl html
|
||||||
cp -r figures html
|
cp -r figures html
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf *.{aux,cf,cfs,cp,cpp,cpps,cps,ex,exs,fn,fns,ft,fts,log,lsp,lsps,toc,tp,tps,vr,vrs,pdf,info,info-1,info-2,html} html
|
rm -rf *.{aux,cf,cfs,cp,cpp,cpps,cps,ex,exs,fn,fns,ft,fts,log,lsp,lsps,toc,tp,tps,vr,vrs,pdf,info,info-1,info-2,info.gz,html} html
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue