delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/09/11/04:51:17

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Reply-To: <manfred DOT reinart AT iona DOT com>
From: "Manfred Reinart" <mr AT ooc DOT de>
To: <cygwin AT cygwin DOT com>
Subject: 1.3.2: bash-2.0.5(6) -autoconf 2.52 AC_OUTPUT problem on W2K
Date: Tue, 11 Sep 2001 10:47:18 +0200
Message-ID: <OHEPLADOLLJKPAELNELOCEBMCOAA.mr@ooc.de>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Importance: Normal

Hi,

I have a problem with the combination of
- GNU bash, version 2.05.0(6)-release (i686-pc-cygwin)
- autoconf (GNU Autoconf) 2.52
on W2K.

DOS CR/LF line ends in the parameter passed to AC_OUTPUT cause
config.status to fail.

We have a macro AC_FINISH which internally uses AC_OUTPUT:

dnl --------------------------------------------------------------------
--
dnl Restore CFLAGS, filter duplicate entries from LIBS
dnl --------------------------------------------------------------------
--

AC_DEFUN([AC_FINISH],
[CFLAGS="$CFLAGS_SAVE"
LIB_LIST="" && for i in $LIBS; do case "$LIB_LIST" in *"$i") ;; *"$i "*)
;; *) LIB_LIST="$LIB_LIST $i"; ;; esac; done
LIBS=$LIB_LIST]
[AC_OUTPUT($1)]
)

A typical use case in 'configure.in' is:

AC_FINISH(config/Make.rules:config/Make.rules.in:../config/Make.rules.in
Makefile \
	include/Makefile \
	include/JTCC/Makefile \
	src/Makefile test/Makefile \
	demo/Makefile)

If a parameter passed to AC_OUTPUT contains DOS CR/LF line endings in a
'configure.in' file (e.g. at places (1) then the output generated in
'config.status' "preserves" the line endings as '^M' which makes the
approriate run fail.
If a '\' is followed by a CR/LF, then this '\' arrives unmodified in
'config.status'.

AC_FINISH(config/Make.rules:config/Make.rules.in:../config/Make.rules.in
Makefile \0x0a
	include/Makefile \0x0a
	include/JTCC/Makefile 0x0d 0x0a
	                      ^(1)
	src/Makefile test/Makefile \0x0d 0x0a
                                 ^(2)
	demo/Makefile)

The resulting output in config.status with the above example is:

config_files="
config/Make.rules:config/Make.rules.in:../config/Make.rules.in Makefile
include/Makefile include/JTCC/Makefile \^M src/Makefile ^M
                                                 ^(3)            ^(4)
 test/Makefile demo/Makefile"


The result of this is:
-----------------------------------------------------
...
cd .; ./config.status
config.status: creating config/Make.rules
config.status: creating Makefile
config.status: creating include/Makefile
config.status: creating include/JTCC/Makefile
config.status: creating \
                       ^(5) corrsponds to (3) above.
.infig.status: error: cannot find input file: \
make: *** [Makefile] Error 1
-----------------------------------------------------

According to the autoconf doc., the shell interpretes the parameter
passed to AC_OUTPUT.


Best regards,
Manfred



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019