From unknown Thu Jun 19 14:06:28 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#19507 <19507@debbugs.gnu.org> To: bug#19507 <19507@debbugs.gnu.org> Subject: Status: configure --with-ns fails on Fedora 21 in AppKit.h test Reply-To: bug#19507 <19507@debbugs.gnu.org> Date: Thu, 19 Jun 2025 21:06:28 +0000 retitle 19507 configure --with-ns fails on Fedora 21 in AppKit.h test reassign 19507 emacs submitter 19507 Paul Eggert severity 19507 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 04 14:24:26 2015 Received: (at submit) by debbugs.gnu.org; 4 Jan 2015 19:24:26 +0000 Received: from localhost ([127.0.0.1]:36600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y7qmn-0005xS-Sf for submit@debbugs.gnu.org; Sun, 04 Jan 2015 14:24:26 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43417) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y7qml-0005xJ-HA for submit@debbugs.gnu.org; Sun, 04 Jan 2015 14:24:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y7qmk-0006Oz-2M for submit@debbugs.gnu.org; Sun, 04 Jan 2015 14:24:23 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45671) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7qmj-0006Ov-WA for submit@debbugs.gnu.org; Sun, 04 Jan 2015 14:24:22 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45134) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7qmi-0004vD-RG for bug-gnu-emacs@gnu.org; Sun, 04 Jan 2015 14:24:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y7qmf-0006Oh-KL for bug-gnu-emacs@gnu.org; Sun, 04 Jan 2015 14:24:20 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:58626) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7qmf-0006Od-CQ for bug-gnu-emacs@gnu.org; Sun, 04 Jan 2015 14:24:17 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9CA2AA6000C for ; Sun, 4 Jan 2015 11:24:16 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D61awi7YcSk0 for ; Sun, 4 Jan 2015 11:24:12 -0800 (PST) Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net [173.55.11.52]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 4D29EA60011 for ; Sun, 4 Jan 2015 11:24:12 -0800 (PST) Message-ID: <54A99358.30008@cs.ucla.edu> Date: Sun, 04 Jan 2015 11:24:08 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Emacs bug reports and feature requests Subject: configure --with-ns fails on Fedora 21 in AppKit.h test Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) On Fedora 21 x86-64 I configured the current Emacs master (commit cde73794f61fec2a5a8676c2e36ec6634e72cdc5) using "./configure --with-ns", and this failed as follows: checking AppKit/AppKit.h usability... no checking AppKit/AppKit.h presence... yes configure: WARNING: AppKit/AppKit.h: present but cannot be compiled configure: WARNING: AppKit/AppKit.h: check for missing prerequisite headers? configure: WARNING: AppKit/AppKit.h: see the Autoconf documentation configure: WARNING: AppKit/AppKit.h: section "Present But Cannot Be Compiled" configure: WARNING: AppKit/AppKit.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to bug-gnu-emacs@gnu.org ## configure: WARNING: ## ------------------------------------ ## checking for AppKit/AppKit.h... no configure: error: `--with-ns' was specified, but the include files are missing or cannot be compiled. Config.log says this (/usr/local/include is an empty directory, I'm running with pretty much vanilla Fedora 21): configure:10522: checking AppKit/AppKit.h usability configure:10522: gcc -std=gnu99 -c -g3 -O2 -x objective-c -I/usr/include -I/usr/local/include -fobjc-exceptions -x objective-c -I/usr/include -I/usr/local/include conftest.c >&5 In file included from /usr/include/AppKit/NSPanel.h:34:0, from /usr/include/AppKit/NSColorPanel.h:39, from /usr/include/AppKit/AppKit.h:63, from conftest.c:107: /usr/include/AppKit/NSWindow.h:876:1: error: cannot find protocol declaration for 'NSWindowDelegate' @interface NSObject (NSWindowDelegateAdditions) ^ configure:10522: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU Emacs" | #define PACKAGE_TARNAME "emacs" | #define PACKAGE_VERSION "25.0.50" | ... | #include /usr/include/AppKit/NSWindow.h says this: #ifdef GNUSTEP @protocol NSWindowDelegate #ifdef __OBJC2__ @optional #else @end @interface NSObject (NSWindowDelegate) #endif ... #endif Apparently GNUSTEP must be defined by the application? If I configure this way: ./configure --with-ns CFLAGS='-g3 -O2 -DGNUSTEP' the above problem goes away, but the builder shouldn't have to configure CFLAGS by hand. Have recent releases of GnuStep changed with respect to whether the application must define the GNUSTEP macro? Fedora 21 is using gnustep-gui-devel-0.24.0-1; you can find out more about its status at: https://apps.fedoraproject.org/packages/gnustep-gui-devel/ From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 22 19:08:04 2015 Received: (at 19507) by debbugs.gnu.org; 23 Jan 2015 00:08:04 +0000 Received: from localhost ([127.0.0.1]:53318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YERn9-0007cW-Ip for submit@debbugs.gnu.org; Thu, 22 Jan 2015 19:08:04 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:46068) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YERn6-0007by-Ud for 19507@debbugs.gnu.org; Thu, 22 Jan 2015 19:08:02 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 35202A60061 for <19507@debbugs.gnu.org>; Thu, 22 Jan 2015 16:07:55 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jn7g0uwVKQxd for <19507@debbugs.gnu.org>; Thu, 22 Jan 2015 16:07:54 -0800 (PST) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 1F459A6011E for <19507@debbugs.gnu.org>; Thu, 22 Jan 2015 16:07:54 -0800 (PST) Message-ID: <54C190D9.9070303@cs.ucla.edu> Date: Thu, 22 Jan 2015 16:07:53 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: 19507@debbugs.gnu.org Subject: Re: configure --with-ns fails on Fedora 21 in AppKit.h test Content-Type: multipart/mixed; boundary="------------010201090706080700080908" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 19507 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------010201090706080700080908 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Attached is a proposed patch, which works for me. --------------010201090706080700080908 Content-Type: text/x-patch; name="0001-Use-gnustep-config-if-available.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-Use-gnustep-config-if-available.patch" >From 53b047e7fdf813fd415cbeb1bad5ea124e2155e6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 22 Jan 2015 16:06:20 -0800 Subject: [PATCH] Use gnustep-config if available * configure.ac (--with-gnustep): Document this. (NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works. If gnustep-config works, use 'gnustep-config --objc-flags' and 'gnustep-config --gui-libs' to compute GNUstep configuration variables, instead of attempting to infer them individually. * etc/NEWS: Document this. Fixes: bug#19507 --- ChangeLog | 10 ++++++++++ configure.ac | 34 +++++++++++++++++++++++----------- etc/ChangeLog | 5 +++++ etc/NEWS | 4 ++++ 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index b02203d..3f0897a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-01-22 Paul Eggert + + Use gnustep-config if available + * configure.ac (--with-gnustep): Document this. + (NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works. + If gnustep-config works, use 'gnustep-config --objc-flags' and + 'gnustep-config --gui-libs' to compute GNUstep configuration + variables, instead of attempting to infer them individually. + Fixes: bug#19507 + 2015-01-21 Ulrich Müller * configure.ac (gamegroup): New AC_SUBST. diff --git a/configure.ac b/configure.ac index 47b36fe..10af840 100644 --- a/configure.ac +++ b/configure.ac @@ -414,7 +414,9 @@ esac AC_ARG_WITH([gnustep-conf],dnl [AS_HELP_STRING([--with-gnustep-conf=FILENAME], - [name of GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) + [name of GNUstep configuration file to use on systems where the command + 'gnustep-config' does not work; default $GNUSTEP_CONFIG_FILE, or + /etc/GNUstep/GNUstep.conf])]) test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \ GNUSTEP_CONFIG_FILE="${with_gnustep_conf}" test "X$GNUSTEP_CONFIG_FILE" = "X" && \ @@ -1752,6 +1754,7 @@ else fi HAVE_NS=no +NS_GNUSTEP_CONFIG=no NS_IMPL_COCOA=no NS_IMPL_GNUSTEP=no tmp_CPPFLAGS="$CPPFLAGS" @@ -1768,13 +1771,13 @@ if test "${with_ns}" != no; then ns_appresdir=${ns_appdir}/Contents/Resources ns_appsrc=Cocoa/Emacs.base ns_fontfile=macfont.o + elif flags=$( (gnustep-config --objc-flags) 2>/dev/null); then + NS_IMPL_GNUSTEP=yes + NS_GNUSTEP_CONFIG=yes + GNU_OBJC_CFLAGS=$flags + LIBS_GNUSTEP=$(gnustep-config --gui-libs) || exit elif test -f $GNUSTEP_CONFIG_FILE; then NS_IMPL_GNUSTEP=yes - ns_appdir=`pwd`/nextstep/Emacs.app - ns_appbindir=${ns_appdir} - ns_appresdir=${ns_appdir}/Resources - ns_appsrc=GNUstep/Emacs.base - ns_fontfile=nsfont.o dnl FIXME sourcing this several times in subshells seems inefficient. GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" @@ -1807,6 +1810,13 @@ fail; GNU_OBJC_CFLAGS="-fobjc-exceptions" fi fi + if test $NS_IMPL_GNUSTEP = yes; then + ns_appdir=`pwd`/nextstep/Emacs.app + ns_appbindir=${ns_appdir} + ns_appresdir=${ns_appdir}/Resources + ns_appsrc=GNUstep/Emacs.base + ns_fontfile=nsfont.o + fi dnl This is only used while we test the NS headers, it gets reset below. CFLAGS="$CFLAGS $GNU_OBJC_CFLAGS" @@ -3375,11 +3385,13 @@ if test "${HAVE_NS}" = "yes"; then fi if test "${NS_IMPL_GNUSTEP}" = "yes"; then AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.]) - # See also .m.o rule in Makefile.in */ - # FIXME: are all these flags really needed? Document here why. */ - GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" - ## Extra CFLAGS applied to src/*.m files. - GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" + if test $NS_GNUSTEP_CONFIG != yes; then + # See also .m.o rule in src/Makefile.in. */ + # FIXME: are all these flags really needed? Document here why. */ + GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + ## Extra CFLAGS applied to src/*.m files. + GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" + fi fi OTHER_FILES=ns-app fi diff --git a/etc/ChangeLog b/etc/ChangeLog index 47f61f4..bea0c1d 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,8 @@ +2015-01-23 Paul Eggert + + Use gnustep-config if available + * NEWS: Document this. + 2015-01-22 Paul Eggert Don't downcase system diagnostics' first letters diff --git a/etc/NEWS b/etc/NEWS index db47033..b8a862e 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -36,6 +36,10 @@ should be able to work around the problem either by porting the Emacs undumping code to GCC under IRIX, or by configuring --with-wide-int, or by sticking with Emacs 24.4. +** 'configure' now prefers gnustep-config when configuring GNUstep. +If gnustep-config is not available, 'configure' falls back on its old +heuristics for GNUstep configuration. + --- ** The configure option `--with-pkg-config-prog' has been removed. Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. -- 2.1.0 --------------010201090706080700080908-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 24 21:23:23 2015 Received: (at 19507-done) by debbugs.gnu.org; 25 Jan 2015 02:23:23 +0000 Received: from localhost ([127.0.0.1]:55478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFCrC-0000Wa-UW for submit@debbugs.gnu.org; Sat, 24 Jan 2015 21:23:23 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:33417) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFCr9-0000WJ-W8 for 19507-done@debbugs.gnu.org; Sat, 24 Jan 2015 21:23:21 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9F83FA6002E for <19507-done@debbugs.gnu.org>; Sat, 24 Jan 2015 18:23:13 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AqjK23Xxtj+Y for <19507-done@debbugs.gnu.org>; Sat, 24 Jan 2015 18:23:11 -0800 (PST) Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net [173.55.11.52]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E5BD8A60023 for <19507-done@debbugs.gnu.org>; Sat, 24 Jan 2015 18:23:11 -0800 (PST) Message-ID: <54C45382.8070306@cs.ucla.edu> Date: Sat, 24 Jan 2015 18:22:58 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: 19507-done@debbugs.gnu.org Subject: Re: configure --with-ns fails on Fedora 21 in AppKit.h test References: <54C190D9.9070303@cs.ucla.edu> In-Reply-To: <54C190D9.9070303@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------030603050601080503030401" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 19507-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------030603050601080503030401 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I ported that patch from Fedora 21 to Ubuntu 14.10, installed the attached revised patch, and am marking this as done. --------------030603050601080503030401 Content-Type: text/x-patch; name="0001-Use-gnustep-config-if-available.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-Use-gnustep-config-if-available.patch" >From 202b0ee16bf4827dd04768ad71e3ebdeab909a8f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 24 Jan 2015 18:05:33 -0800 Subject: [PATCH] Use gnustep-config if available * configure.ac (--with-gnustep): Document this. (NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works. If gnustep-config works, use 'gnustep-config --objc-flags' and 'gnustep-config --gui-libs' to compute GNUstep configuration variables, instead of attempting to infer them individually. * etc/NEWS: Document this. * src/emacs.c [NS_IMPL_GNUSTEP]: Don't include . It doesn't appear to be needed, and the inclusion breaks on Ubuntu 14.10 when 'configure' uses 'gnustep-config'. Fixes: bug#19507 --- ChangeLog | 10 ++++++++++ configure.ac | 35 ++++++++++++++++++++++++----------- etc/ChangeLog | 5 +++++ etc/NEWS | 3 +++ src/ChangeLog | 7 +++++++ src/emacs.c | 5 ----- 6 files changed, 49 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index b02203d..eecdad6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-01-25 Paul Eggert + + Use gnustep-config if available + * configure.ac (--with-gnustep): Document this. + (NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works. + If gnustep-config works, use 'gnustep-config --objc-flags' and + 'gnustep-config --gui-libs' to compute GNUstep configuration + variables, instead of attempting to infer them individually. + Fixes: bug#19507 + 2015-01-21 Ulrich Müller * configure.ac (gamegroup): New AC_SUBST. diff --git a/configure.ac b/configure.ac index 47b36fe..cd011b9 100644 --- a/configure.ac +++ b/configure.ac @@ -414,7 +414,9 @@ esac AC_ARG_WITH([gnustep-conf],dnl [AS_HELP_STRING([--with-gnustep-conf=FILENAME], - [name of GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) + [name of GNUstep configuration file to use on systems where the command + 'gnustep-config' does not work; default $GNUSTEP_CONFIG_FILE, or + /etc/GNUstep/GNUstep.conf])]) test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \ GNUSTEP_CONFIG_FILE="${with_gnustep_conf}" test "X$GNUSTEP_CONFIG_FILE" = "X" && \ @@ -1752,6 +1754,7 @@ else fi HAVE_NS=no +NS_GNUSTEP_CONFIG=no NS_IMPL_COCOA=no NS_IMPL_GNUSTEP=no tmp_CPPFLAGS="$CPPFLAGS" @@ -1768,13 +1771,13 @@ if test "${with_ns}" != no; then ns_appresdir=${ns_appdir}/Contents/Resources ns_appsrc=Cocoa/Emacs.base ns_fontfile=macfont.o + elif flags=$( (gnustep-config --objc-flags) 2>/dev/null); then + NS_IMPL_GNUSTEP=yes + NS_GNUSTEP_CONFIG=yes + GNU_OBJC_CFLAGS=$flags + LIBS_GNUSTEP=$(gnustep-config --gui-libs) || exit elif test -f $GNUSTEP_CONFIG_FILE; then NS_IMPL_GNUSTEP=yes - ns_appdir=`pwd`/nextstep/Emacs.app - ns_appbindir=${ns_appdir} - ns_appresdir=${ns_appdir}/Resources - ns_appsrc=GNUstep/Emacs.base - ns_fontfile=nsfont.o dnl FIXME sourcing this several times in subshells seems inefficient. GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" @@ -1807,8 +1810,16 @@ fail; GNU_OBJC_CFLAGS="-fobjc-exceptions" fi fi + if test $NS_IMPL_GNUSTEP = yes; then + ns_appdir=`pwd`/nextstep/Emacs.app + ns_appbindir=${ns_appdir} + ns_appresdir=${ns_appdir}/Resources + ns_appsrc=GNUstep/Emacs.base + ns_fontfile=nsfont.o + fi dnl This is only used while we test the NS headers, it gets reset below. + CPPFLAGS="$CPPFLAGS $GNU_OBJC_CFLAGS" CFLAGS="$CFLAGS $GNU_OBJC_CFLAGS" AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes], @@ -3375,11 +3386,13 @@ if test "${HAVE_NS}" = "yes"; then fi if test "${NS_IMPL_GNUSTEP}" = "yes"; then AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.]) - # See also .m.o rule in Makefile.in */ - # FIXME: are all these flags really needed? Document here why. */ - GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" - ## Extra CFLAGS applied to src/*.m files. - GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" + if test $NS_GNUSTEP_CONFIG != yes; then + # See also .m.o rule in src/Makefile.in. */ + # FIXME: are all these flags really needed? Document here why. */ + GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + ## Extra CFLAGS applied to src/*.m files. + GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" + fi fi OTHER_FILES=ns-app fi diff --git a/etc/ChangeLog b/etc/ChangeLog index 47f61f4..55b835c 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,8 @@ +2015-01-25 Paul Eggert + + Use gnustep-config if available + * NEWS: Document this. + 2015-01-22 Paul Eggert Don't downcase system diagnostics' first letters diff --git a/etc/NEWS b/etc/NEWS index db47033..d5baed3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -36,6 +36,9 @@ should be able to work around the problem either by porting the Emacs undumping code to GCC under IRIX, or by configuring --with-wide-int, or by sticking with Emacs 24.4. +** 'configure' now prefers gnustep-config when configuring GNUstep. +If gnustep-config is not available, the old heuristics are used. + --- ** The configure option `--with-pkg-config-prog' has been removed. Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. diff --git a/src/ChangeLog b/src/ChangeLog index a8b9c3b..96e3146 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2015-01-25 Paul Eggert + + Use gnustep-config if available + * emacs.c [NS_IMPL_GNUSTEP]: Don't include . + It doesn't appear to be needed, and the inclusion breaks on + Ubuntu 14.10 when 'configure' uses 'gnustep-config'. + 2015-01-22 Eli Zaretskii * xdisp.c (init_iterator): Restore a comment lost in transition. diff --git a/src/emacs.c b/src/emacs.c index ca1a8b2..345fe3e 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -59,11 +59,6 @@ along with GNU Emacs. If not, see . */ #include TERM_HEADER #endif /* HAVE_WINDOW_SYSTEM */ -#ifdef NS_IMPL_GNUSTEP -/* At least under Debian, GSConfig is in a subdirectory. --Stef */ -#include -#endif - #include "commands.h" #include "intervals.h" #include "character.h" -- 2.1.0 --------------030603050601080503030401-- From unknown Thu Jun 19 14:06:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 22 Feb 2015 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator