bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add 'pre-inst-env' wrapper script


From: Mathieu Lirzin
Subject: [PATCH] Add 'pre-inst-env' wrapper script
Date: Sat, 26 Aug 2017 18:41:47 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello,

While hacking on 'texi2any' and testing my changes with manuals located
in various places in the filesystem, I found it cumbersome to launch the
non installed 'makeinfo' like this:

  TEXINFO_DEV_SOURCE=1 top_srcdir=~/src/texinfo/trunk \
    ~/src/texinfo/trunk/build/tp/makeinfo --html hello.texi

In Guile projects, which has the same issue of dynamic module loading as
Perl, it is a common pratice to add a 'pre-inst-env' wrapper script in
the top build directory.  This wrapper augments some environment
variables to allows users to easily launch the program from the build
environment.  The previous command would be replaced by:

  ~/src/texinfo/trunk/build/pre-inst-env makeinfo --html hello.texi

Beyond the user convenience, it can be used for launching the tests both
manually and in the Makefile without having to mess with paths or 'perl
-I' in multiple places.

Here is a patch for adding such script:

Index: Makefile.am
===================================================================
--- Makefile.am (revision 7937)
+++ Makefile.am (working copy)
@@ -16,6 +16,9 @@
 # Find our headers and gnulib headers.
 ACLOCAL_AMFLAGS = -I gnulib/m4
 
+# Wrapper for the build environment.
+noinst_SCRIPTS = pre-inst-env
+
 # Additional files to distribute.
 EXTRA_DIST = ChangeLog.46 INSTALL.generic README-hacking \
   system.h gnulib/m4/gnulib-cache.m4 \
@@ -132,3 +135,5 @@
          diff -u address@hidden address@hidden || exit 1;                      
                \
          rm -f address@hidden address@hidden;                                  
        \
        fi
+
+CLEANFILES= $(noinst_SCRIPTS)

Index: build-aux/pre-inst-env.in
===================================================================
--- build-aux/pre-inst-env.in   (nonexistent)
+++ build-aux/pre-inst-env.in   (working copy)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright © 2017 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+abs_top_srcdir="`cd "@abs_top_srcdir@" > /dev/null; pwd`"
+abs_top_builddir="`cd "@abs_top_builddir@" > /dev/null; pwd`"
+
+PERL5LIB="$abs_top_builddir/tp/:$abs_top_srcdir/tp/${PERL5LIB:+:}$PERL5LIB"
+export PERL5LIB
+
+PATH="$abs_top_builddir/tp:$PATH"
+export PATH
+
+# Trigger the use of local modules.
+TEXINFO_UNINSTALLED=1
+export TEXINFO_UNINSTALLED
+
+exec "$@"
What do people think?

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37

reply via email to

[Prev in Thread] Current Thread [Next in Thread]