Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Tue, 25 Jan 2005 11:55:24 +0100 From: Stepan Kasal To: Eli Zaretskii Cc: karl AT freefriends DOT org, dave AT boost-consulting DOT com, bug-texinfo AT gnu DOT org, akim AT epita DOT fr, ebb9 AT byu DOT net, cygwin AT cygwin DOT com Subject: Re: Fw: bug in texi2dvi, and hack patch Message-ID: <20050125105524.GF14495@matsrv.math.cas.cz> References: <41EE544A DOT 2000306 AT byu DOT net> <200501240115 DOT j0O1FWh15382 AT f7 DOT net> <20050124083421 DOT GA2986 AT matsrv DOT math DOT cas DOT cz> <01c5024f$Blat.v2.4$31b8e540 AT zahav DOT net DOT il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01c5024f$Blat.v2.4$31b8e540@zahav.net.il> User-Agent: Mutt/1.4.1i X-Virus-Status: Clean X-Spam-Status: No, hits=-0.9 required=5.0 tests=BAYES_10 autolearn=no version=2.64 X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on matsrv.math.cas.cz Hi, On Mon, Jan 24, 2005 at 09:58:16PM +0200, Eli Zaretskii wrote: > > AC_SUBST(TESTF, "test -f") > > testfile=conf$$.exe > > touch $testfile > > if test -x $testfile; then > > test -f $testfile || TESTF=: > > fi > > rm -f $testfile this code was full of silly bugs, sorry. I apologize for the confusion. I meant: AC_SUBST(TESTF, "test -f") cat >conf$$.exe <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.exe if test -x conf$$; then test -f conf$$ || TESTF=: fi rm -f conf$$.exe The idea is to set TESTF=: on platforms where test -x looks for .exe, while test -f doesn't (eg. on DJGPP). TESTF is "test -f" on all other platforms. We use AC_SUBST to replace occurences of @TESTF@ in texi2dvi.in. > > and use > > for dir in $PATH; do > > if test -x "$dir/$1" && @TESTF@ "$dir/$1"; then > > or > > testf="@TESTF@" > > ... > > for dir in $PATH; do > > if test -x "$dir/$1" && $testf "$dir/$1"; then > > > > in texi2dvi.in . > > Another way to fix the problem is to adopt the solution used by autoconf: > > make sure that the variable $ac_executable_extensions, which is set in > > config.site on some platforms, gets substituted: > > > > AC_SUBST(ac_executable_extensions) > > > > and put the following to texi2dvi.in: > > > > for dir in $PATH; do > > for exec_ext in '' @ac_executable_extensions@; do > > if test -f "$dir/$1" && test -x "$dir/$1"; then > > ... > > I'm okay with this method, provided that ac_executable_extensions can > be computed reliably (you didn't say how). AFAIK, ac_executable_extensions is not computed. It is set in config.site which is included by configure at the beginning of its run. It is responsibility of the installer of Cygwin or DJGPP to create this file in a place where configure can find it. The variable CONFIG_SITE can be set, or the file can be placed to $prefix/share/config.site or $prefix/etc/config.site See "(autoconf.info)Site Defaults" for details. HTH, Stepan -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/