From: Katsumi Yamaoka <yamaoka@jpl.org>
Cc: Chris Shenton <chris@shenton.org>
Subject: Re: BUG: 'configure' doesn't preserve spaces in directory path; fixes
Date: Tue, 04 Apr 2006 08:37:10 +0900 [thread overview]
Message-ID: <b4mfykukz89.fsf@jpl.org> (raw)
In-Reply-To: <86slouae1h.fsf@PECTOPAH.shenton.org>
Hi,
First of all, should it be fixed even if there seem to be only a
few days up to release? Though I have a solution.
>>>>> In <86slouae1h.fsf@PECTOPAH.shenton.org> Chris Shenton wrote:
> I'm building Gnus from CVS on OS X with Aquamacs Emacs. It's
> installed in /Applications/Aquamacs Emacs.app; note the space. I can
> do the config like:
> ./configure --prefix=/Applications/Aquamacs\ Emacs.app/Contents/Resources
> It breaks here:
> checking where .elc files should go... ./configure: line 1547: test:
> /Applications/Aquamacs: binary operator expected
> ./configure: line 1547: test: /Applications/Aquamacs: binary operator
> expected
> $(datadir)/emacs/site-lisp/gnus
> If I remove OS X stock /usr/bin/emacs and instead symlink it to
> /Applications/Aquamacs\ Emacs.app and then do an configure (unadorned,
> or with --prefix=/usr/local) it seems to work, but note the URL
> version it finds:
> ./configure --prefix=/usr/local
> ...
> checking for acceptable URL version... "/Applications/Aquamacs Emacs.app/Contents/Resources/lisp/url/"
> ...
> A "make" fails immediately:
> URLDIR=/Applications/Aquamacs Emacs.app/Contents/Resources/lisp/url/ W3DIR=no lispdir=/usr/share/emacs/site-lisp/gnus srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-make-cus-load .
> /bin/sh: line 1: Emacs.app/Contents/Resources/lisp/url/: No such file or directory
> If I quote the dirs in ./lisp/Makefile like the following, it works:
> EMACS_COMP = URLDIR="$(URLDIR)" W3DIR="$(W3DIR)" lispdir="$(lispdir)" srcdir="$(srcdir)" $(EMACS) $(FLAGS)
> I'm not really familiar with "configure", but the following patch got
> it to work for me using
> --prefix="/Applications/Aquamacs Emacs.app/Contents/Resources
> *** configure.~7.3.~ Tue Oct 4 05:38:54 2005
> --- configure Mon Apr 3 11:02:49 2006
> ***************
> *** 1125,1131 ****
> CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
> fi
> fi
> ! for ac_site_file in $CONFIG_SITE; do
> if test -r "$ac_site_file"; then
> { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
> echo "$as_me: loading site script $ac_site_file" >&6;}
> --- 1125,1131 ----
> CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
> fi
> fi
> ! for ac_site_file in "$CONFIG_SITE"; do
> if test -r "$ac_site_file"; then
> { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
> echo "$as_me: loading site script $ac_site_file" >&6;}
> ***************
> *** 1544,1550 ****
> fi
> for thedir in share lib; do
> potential=
> ! if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
> if test "$EMACS_FLAVOR" = "xemacs"; then
> lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-packages/lisp/gnus"
> else
> --- 1544,1550 ----
> fi
> for thedir in share lib; do
> potential=
> ! if test -d "${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp"; then
> if test "$EMACS_FLAVOR" = "xemacs"; then
> lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-packages/lisp/gnus"
> else
Your patch solves two problems. One is due to the AC_SITE_LOAD
macro defined in autoconf, the other is caused by the
AC_PATH_LISPDIR macro defined in aclocal.m4 which Gnus provides.
I don't think modifying the configure script is a good idea
because it should be generated automatically by autoconf.
Instead, my solution which modifies Gnus' aclocal.m4 is below.
However, I'm not sure whether redefining the AC_SITE_LOAD macro
is a right way. Anyone?
--- aclocal.m4~ 2005-10-04 08:37:27 +0000
+++ aclocal.m4 2006-04-03 23:35:24 +0000
@@ -91,7 +91,8 @@
fi
for thedir in share lib; do
potential=
- if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
+ dnl The directory name should be quoted because it might contain spaces.
+ if test -d "${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp"; then
if test "$EMACS_FLAVOR" = "xemacs"; then
lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-packages/lisp/gnus"
else
@@ -322,6 +323,28 @@
AC_SUBST(USE_FONTS)
])
+# Redefine AC_SITE_LOAD which is originally defined in general.m4.
+# ----------------------------------------------------------------
+# Look for site or system specific initialization scripts.
+m4_define([AC_SITE_LOAD],
+[# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+dnl $CONFIG_SITE should be quoted because the value might contain spaces.
+for ac_site_file in "$CONFIG_SITE"; do
+ if test -r "$ac_site_file"; then
+ AC_MSG_NOTICE([loading site script $ac_site_file])
+ sed 's/^/| /' "$ac_site_file" >&AS_MESSAGE_LOG_FD
+ . "$ac_site_file"
+ fi
+done
+])
+
ifelse(dnl Do not change this comment
arch-tag: 5c987641-c3ef-4f12-b067-028302282c66
)dnl
next prev parent reply other threads:[~2006-04-03 23:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-03 15:12 Chris Shenton
2006-04-03 23:37 ` Katsumi Yamaoka [this message]
2006-04-05 15:24 ` Reiner Steib
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b4mfykukz89.fsf@jpl.org \
--to=yamaoka@jpl.org \
--cc=chris@shenton.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).