Skip to content
  • Daniel Richard G's avatar
    Various "make distcheck" and other fixes · a2cd8a03
    Daniel Richard G authored and Daniel Veillard's avatar Daniel Veillard committed
    Makefile.am:
    
    * Use $(VAR), not @VAR@, as the former is the correct form for AC_SUBST'ed
       variables in Makefile.am files
    
    * Touch these *.xml/*.syms files in the "dist-hook" target to prevent them
       from being regenerated, because the "make dist" process in itself
       updates the timestamps of the source files when it copies them into
       $(distdir)
    
    * Add EXTRA_LIBS (-lrt on my system) to xsltConf.sh, as this is a required
       dependency when client applications link against -lxslt
    
       (note that the definition of EXTRA_LIBS has been changed; see below)
    
    * Removed MAKEFLAGS+=--silent bits, as this is not compatible with non-GNU
       Make programs
    
    autogen.sh:
    
    * Add --warnings=all options to automake and autoconf invocations, to
       better catch potential problems (most of which I've fixed in this patch)
    
    configure.in:
    
    * Replaced obsolete macros with their current equivalents; for reference,
       see
    
         http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
    
       (I removed AC_ISC_POSIX outright because the doc states it is no longer
       useful)
    
    * test(1) uses "=" as an operator, not "=="
    
    * Fixed quoting on an AC_LINK_IFELSE() invocation to quell Autoconf errors
    
    * Don't add redundant libraries to EXTRA_LIBS, because (1) this variable
       already contains LibXSLT's own additional system-library deps, and is
       useful in that form, and (2) the LibXML2 deps are already handled by
       Libtool
    
    * Don't delete files in srcdir, and don't create the symlink to
       "Copyright" there either
    
       (I don't understand why this is being symlinked in the first place...)
    
    doc/Makefile.am:
    
    * Can't use wildcards in EXTRA_DIST, because this breaks dependencies
       (e.g. you can't "make EXSLT/\*.html"), and they only work properly when
       building inside the source tree; these have been replaced with their
       expansions. Other entries have been added here in lieu of the wildcards
       in the dist-hook target, as well as opportunistic use of the $(*PAGES)
       variables.
    
    * Don't define an "all" target, because this steps on Automake's toes; use
       "all-local" instead
    
    * Define and use an "xsltproc" variable to reference an in-tree-built
       version of xsltproc, instead of e.g. $(bindir)/xsltproc
    
       NOTE: The makefile also uses $(XSLTPROC), which names an external
       instance of the program found at configure time. Some instances of this
       could probably be changed to $(xsltproc) to remove the dependency on an
       existing installed program.
    
    * Qualified various filenames as appropriate with $(srcdir)
    
    * Use $(XMLLINT) consistently instead of $(bindir)/xmllint
    
    * In the "libxslt-api.xml ..." rule, cd into $(srcdir) before invoking
       apibuild.py as this script has to run in srcdir anyway
    
    * In the "clean-local" rule, clear out some additional files to allow
       "make distcheck" to pass
    
    * Eliminated the redundant "maintainer-clean-local" rule
    
    * Added a "distclean-local" rule to clear out the build directory in an
       out-of-source build to allow "make distcheck" to pass
    
    * Added a "check-extra-dist" target to make it easier to check that
       EXTRA_DIST isn't missing anything
    
    * Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete
    
    * Use $(VAR) instead of @VAR@
    
    * The "dist-hook" target didn't work (if any generated files were in
       builddir and not in srcdir), and is no longer needed thanks to the
       comprehensive EXTRA_DIST variable
    
    * Added an "uninstall-local" rule to allow "make distcheck" to pass
    
    * Updated the .PHONY target list, removed non-existent targets
    
    doc/symbols.xml:
    
    * Needed to add this bit to make the generation scripts shut up
    
    libexslt/Makefile.am:
    
    * AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
       obsolete name
    
    * Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
    
       (Note that $(CFLAGS) need not be added to AM_CFLAGS, because Automake
       already references both in the build rules)
    
    * Use $(VAR) instead of @VAR@
    
    libxslt.pc.in:
    
    * Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
       when client applications link against -lxslt
    
    libxslt/Makefile.am:
    
    * AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
       obsolete name
    
    * Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
    
    * Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)
    
    * Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete
    
    libxslt/xsltutils.c:
    
    * Some systems don't know about CLOCK_MONOTONIC; older Solaris knows about
       CLOCK_HIGHRES. Some systems, alas, have no usable alternative to
       CLOCK_REALTIME.
    
    python/Makefile.am:
    
    * AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
       obsolete name
    
    * Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
    
    * Because libxslt-py.c is (presumably) supposed to be generated every time
       at build time, don't bundle it in the dist tarball
    
    * Use $(VAR) instead of @VAR@
    
    * libxsltclass.py is a generated file, so it doesn't get qualified with
       $(srcdir)
    
    * Use $(MKDIR_P) instead of (mkinstalldirs)
    
    * Added an uninstall-local rule so that "make distcheck" passes
    
    * Removed the $(srcdir) qualifications in the GENERATED file list, as
       these files may exist in builddir
    
    * In the gen_prog rule, qualify the script invocation with $(srcdir), and
       set the SRCDIR environment variable so that the script can find the
       files it needs when builddir != srcdir
    
    * Don't define an "all" target, as this steps on Automake's toes
    
    python/generator.py:
    
    * Get the source directory from the SRCDIR environment variable, and use
       it appropriately
    
    python/tests/Makefile.am:
    
    * Set CLEANFILES instead of defining a "clean" rule
    
    * Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)
    
    tests/*/Makefile.am, tests/exslt/*/Makefile.am:
    
    * Need to clean up .memdump files for "make distcheck" to pass
    
    * Don't define an "all" target, as this steps on Automake's toes
    
    tests/REC/Makefile.am:
    
    * Added two missing *.stand.out files to EXTRA_DIST
    
    tests/XSLTMark/Makefile.am:
    
    * Replaced the GNU-Make-specific %.out bit with a more broadly compatible
       rule
    
       (the "dummy" bit shuts up Automake)
    
    * Use "$(xsltproc)" instead of "$(top_builddir)/xsltproc/xsltproc"
    
    * Use a less $(MAKE)-heavy invocation in the "tests" target
    
    * Replaced a conflicting "clean" target with CLEANFILES
    
    * Added a dependency on $(xsltproc) to all the test targets
    
    * Added a .PHONY target list
    
    tests/docbook/Makefile.am:
    
    * Ditched the "echo -n" bit, because it wasn't working as advertised
    
    * Create output directories for out-of-source builds
    
    * "$(basename $$i)" is a typo in a makefile
    
    * Don't embed $(srcdir) in $out/$html/$fo/$msg/$xhtml, so that we can
       refer to these files in builddir or srcdir
    
    * Add a trailing "echo" to complete the "echo -n"
    
    * Don't output files unconditionally to srcdir (it may be read-only, for
       starters)
    
    tests/plugins/Makefile.am:
    
    * AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
       obsolete name
    
       (Note that the "$(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)" bit that was here
       can be dropped entirely, because these already appear in
       xmlsoft_org_xslt_testplugin_la_CFLAGS)
    
    * Use noinst_LTLIBRARIES inside the WITH_MODULES conditional instead of
       EXTRA_LTLIBRARIES, as this is cleaner (and disallows building the plugin
       if module support is disabled)
    
    * Need to clean up *.res files for "make distcheck" to pass
    
    * Use the abs_builddir variable conveniently provided to us by Automake
       instead of a GNU Make $(shell ...) construct
    
    xslt-config.in:
    
    * Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
       when client applications link against -lxslt
    
    xsltproc/Makefile.am:
    
    * AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
       obsolete name
    
    * Moved $(LIBXML_CFLAGS) into AM_CFLAGS
    
    * Use $(VAR) instead of @VAR@
    
    * Need to clean .memdump for "make distcheck" to pass
    
    * Added rules to build lib[e]xslt.la if needed, which allows test
       makefiles to build xsltproc on the fly even if nothing else has been
       built already
    
    * Create .memdump file in the "tests" target, as it's being grepped
       afterward
    a2cd8a03