Simplify build system, remove the generated distributed files.

Thread is at [1].

Build with docs or man now requires xsltproc.

http://www.mail-archive.com/opensc-devel@lists.opensc-project.org/msg06750.html



git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4791 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
alonbl 2010-10-05 20:34:58 +00:00
parent 36f1fbb655
commit 8a1903345e
7 changed files with 33 additions and 93 deletions

View File

@ -21,10 +21,6 @@ dist_noinst_DATA = README \
solaris/opensc.conf-dist solaris/pkginfo.in solaris/proto
dist_doc_DATA = NEWS
# Allow detection of packaged tarball
dist-hook:
echo > "$(distdir)/packaged"
Generate-ChangeLog:
rm -f ChangeLog.tmp "$(srcdir)/ChangeLog"
test -n "$(SVN)" -a -n "$(XSLTPROC)"

1
NEWS
View File

@ -39,6 +39,7 @@ New in 0.12.??; 2010-??-??; ??
(but from other directories), then header files from same directory.
Fix path to reference headers, remove src/include/ directory.
* Various source code fixes and improvements.
* OpenSC now depends on xsltproc utility to build docs and man
New in 0.11.12; 2009-12-18; Andreas Jellinghaus
* Document integer problem in OpenSC and implement workaround

View File

@ -34,14 +34,6 @@ AC_PROG_CC
PKG_PROG_PKG_CONFIG
AC_C_BIGENDIAN
AC_MSG_CHECKING([svn checkout])
if test -e "${srcdir}/packaged"; then
svn_checkout="no"
else
svn_checkout="yes"
fi
AC_MSG_RESULT([${svn_checkout}])
AC_ARG_WITH(
[cygwin-native],
[AS_HELP_STRING([--with-cygwin-native],[compile native win32])],
@ -153,13 +145,7 @@ AC_ARG_ENABLE(
[man],
[AS_HELP_STRING([--disable-man],[disable installation of manuals @<:@enabled for none Windows@:>@])],
,
[
if test "${WIN32}" = "yes"; then
enable_man="no"
else
enable_man="yes"
fi
]
[enable_man="detect"]
)
AC_ARG_ENABLE(
@ -219,8 +205,8 @@ AC_ARG_VAR([XSLTPROC], [xsltproc utility])
AC_CHECK_PROGS([SVN],[svn])
AC_CHECK_PROGS([XSLTPROC],[xsltproc])
AC_MSG_CHECKING([xsl-stylesheets])
if test "${xslstylesheetsdir}" = "detect"; then
AC_MSG_CHECKING([xsl-stylesheets])
xslstylesheetsdir="no"
for f in \
/usr/share/xml/docbook/stylesheet/nwalsh \
@ -230,29 +216,10 @@ if test "${xslstylesheetsdir}" = "detect"; then
test -e "${f}/html/docbook.xsl" && xslstylesheetsdir="${f}"
done
AC_MSG_RESULT([${xslstylesheetsdir}])
elif test "${xslstylesheetsdir}" != "no"; then
AC_MSG_CHECKING([xsl-stylesheets])
test -e "${xslstylesheetsdir}/html/docbook.xsl" || AC_MSG_ERROR([invalid])
fi
dnl svn checkout dependencies
if test "${svn_checkout}" = "yes"; then
AC_MSG_CHECKING([XSLTPROC requirement])
if test -n "${XSLTPROC}"; then
AC_MSG_RESULT([ok])
else
if test "${enable_man}" = "yes" -o "${enable_doc}" = "yes"; then
AC_MSG_ERROR([Missing XSLTPROC svn build with man or doc])
else
AC_MSG_WARN(["make dist" will not work])
fi
fi
if test "${enable_man}" = "yes"; then
test "${xslstylesheetsdir}" = "no" && AC_MSG_ERROR([xsl-stylesheets are required for svn build with man])
fi
fi
AC_MSG_RESULT([${xslstylesheetsdir}])
dnl C Compiler features
AC_C_INLINE
@ -580,6 +547,22 @@ if test "${enable_pcsc}" = "yes"; then
AC_DEFINE([ENABLE_PCSC], [1], [Define if PC/SC is to be enabled])
fi
if test "${enable_man}" = "detect"; then
if test "${WIN32}" = "yes"; then
enable_man="no"
elif test -n "${XSLTPROC}"; then
enable_man="yes"
else
enable_man="no"
fi
fi
if test "${enable_man}" = "yes" -o "${enable_doc}" = "yes"; then
AC_MSG_CHECKING([XSLTPROC requirement])
test -n "${XSLTPROC}" || AC_MSG_ERROR([Missing XSLTPROC svn build with man or doc])
AC_MSG_RESULT([ok])
fi
OPENSC_FEATURES=""
if test "${enable_zlib}" = "yes"; then
OPENSC_FEATURES="${OPENSC_FEATURES} zlib"
@ -648,7 +631,6 @@ AC_SUBST([OPTIONAL_OPENCT_LIBS])
AC_SUBST([OPTIONAL_PCSC_CFLAGS])
AC_SUBST([LIBRARY_BITNESS])
AM_CONDITIONAL([SVN_CHECKOUT], [test "${svn_checkout}" = "yes"])
AM_CONDITIONAL([ENABLE_MAN], [test "${enable_man}" = "yes"])
AM_CONDITIONAL([ENABLE_ZLIB], [test "${enable_zlib}" = "yes"])
AM_CONDITIONAL([ENABLE_READLINE], [test "${enable_readline}" = "yes"])

View File

@ -1,31 +1,19 @@
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
dist_noinst_SCRIPTS = svn2cl.xsl
dist_noinst_DATA = $(srcdir)/tools/*.xml
dist_noinst_SCRIPTS = svn2cl.xsl html.xsl man.xsl
dist_noinst_DATA = $(srcdir)/tools/*.xml api.css
if ENABLE_DOC
dist_html_DATA = html.out/*
else
dist_noinst_DATA += html.out/*
html_DATA = html.out/*
endif
dist_doc_DATA = README
if ENABLE_MAN
if WIN32
dist_noinst_DATA += man.out/*.1 man.out/*.5
else
dist_man1_MANS = man.out/*.1
dist_man5_MANS = man.out/*.5
man1_MANS = man.out/*.1
man5_MANS = man.out/*.5
endif
endif
if SVN_CHECKOUT
if ENABLE_MAN
html.out/*: html.out
html.out: api.work
test -n "$(XSLTPROC)"
-rm -fr html.tmp html.out
$(MKDIR_P) html.tmp
$(XSLTPROC) --nonet --path "$(srcdir)/api" --xinclude -o "html.tmp/tools.html" "api.work/html.xsl" "$(srcdir)/tools/tools.xml"
@ -33,7 +21,6 @@ html.out: api.work
man.out/*.1: man.out
man.out: api.work
test -n "$(XSLTPROC)"
-rm -fr man.tmp man.out
$(MKDIR_P) man.tmp
$(XSLTPROC) --nonet --path "$(srcdir)/api" --xinclude -o "man.tmp/" "api.work/man.xsl" "$(srcdir)/tools/tools.xml"
@ -47,41 +34,15 @@ man.out/*.5: man.out/*.1
# in builddir while xsl on srcdir
#
api.work: \
$(abs_srcdir)/api/html.xsl \
$(abs_srcdir)/api/man.xsl
$(abs_srcdir)/html.xsl \
$(abs_srcdir)/man.xsl \
$(abs_srcdir)/api.css
-rm -fr api.work
$(MKDIR_P) api.work
$(LN_S) "$(abs_srcdir)/api/html.xsl" api.work/html.xsl
$(LN_S) "$(abs_srcdir)/api/man.xsl" api.work/man.xsl
$(LN_S) "$(abs_srcdir)/html.xsl" api.work/html.xsl
$(LN_S) "$(abs_srcdir)/man.xsl" api.work/man.xsl
$(LN_S) "$(abs_srcdir)/api.css" api.work/api.css
$(LN_S) "$(xslstylesheetsdir)" api.work/xsl-stylesheets
else
html.out/*:
man.out/*.1:
man.out/*.5: man.out/*.1
endif
else
html.out/*: $(abs_builddir)/html.out
$(abs_builddir)/html.out:
$(LN_S) "$(srcdir)/html.out" html.out
man.out/*.5 man.out/*.1: $(abs_builddir)/man.out
$(abs_builddir)/man.out:
$(LN_S) "$(srcdir)/man.out" man.out
endif
maintainer-clean-local:
-rm -rf "$(srcdir)/html.out" "$(srcdir)/man.out"
distclean-local:
-rm -fr html.tmp man.tmp api.work
if test -L html.out; then \
rm -rf html.out; \
fi
if test -L man.out; then \
rm -rf man.out; \
fi
clean-local:
-rm -fr html.tmp man.tmp api.work html.out man.out