Subject: bug#1230: `configure --with-ns' fails when the shell is not bash

From: Yavor Doganov <[email-masked]>
Date: Thu, 23 Oct 2008 14:38:24 +0300

Package: emacs,ns
Tags: patch

$ CONFIG_SHELL=/bin/dash /bin/dash ./configure --with-ns
...
checking for X... libraries , headers 
./configure.lineno: 9373: source: not found
./configure.lineno: 9373: source: not found
./configure.lineno: 9373: source: not found
checking AppKit/AppKit.h usability... no
checking AppKit/AppKit.h presence... no
checking for AppKit/AppKit.h... no

That's because "source" is a bash feature.  But at this point one
would expect that configure should exit with an error.  However, it
continues, checks for GTK+ and finally fails for me because of missing
image librararies.  If I had them installed on this machine, it would
really configure Emacs for a GTK build.  This can't be right; if the
user says `--with-ns' he really means that.

The attached patch addresses both issues.

2008-10-23  Yavor Doganov  <[email-masked]>  (tiny change)

	* configure.in: Use `.' instead of `source' to source
	GNUstep.conf.  Exit with an error if `--with-ns' was specified but
	<AppKit/AppKit.h> is not found.

--- configure.in	23 окт 2008 13:56:25 +0300	1.568
+++ configure.in	23 окт 2008 14:13:27 +0300	
@@ -1234,15 +1234,17 @@
      ns_appbindir=`pwd`/nextstep/Emacs.app
      ns_appresdir=`pwd`/nextstep/Emacs.app/Resources
      ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base
-     GNUSTEP_MAKEFILES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_MAKEFILES)"
-     GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
-     GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
+     GNUSTEP_MAKEFILES="$(. /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_MAKEFILES)"
+     GNUSTEP_SYSTEM_HEADERS="$(. /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
+     GNUSTEP_SYSTEM_LIBRARIES="$(. /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
      CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
      CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
      REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
      LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}"
   fi
-  AC_CHECK_HEADER(AppKit/AppKit.h, HAVE_NS=yes)
+  AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes],
+  		  [AC_MSG_ERROR([`--with-ns' was specified, but the include
+  files are missing or cannot be compiled.])])
   NS_HAVE_NSINTEGER=yes
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
                                      [NSInteger i;])],