From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Germ=E1n?= Arias Newsgroups: gmane.emacs.devel Subject: [PATCH] Changes to work with GNUstep Date: Tue, 23 Aug 2011 17:54:27 -0600 Message-ID: <1314143667.5655.5.camel@german-desktop> Reply-To: emacs-devel@gnu.org NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1314143683 28941 80.91.229.12 (23 Aug 2011 23:54:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 23 Aug 2011 23:54:43 +0000 (UTC) To: Emacs Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 24 01:54:39 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Qw0nn-00051L-Fv for ged-emacs-devel@m.gmane.org; Wed, 24 Aug 2011 01:54:39 +0200 Original-Received: from localhost ([::1]:53220 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw0nm-0001nd-SK for ged-emacs-devel@m.gmane.org; Tue, 23 Aug 2011 19:54:38 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49465) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw0nj-0001nI-UA for emacs-devel@gnu.org; Tue, 23 Aug 2011 19:54:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qw0nh-00046B-Dv for emacs-devel@gnu.org; Tue, 23 Aug 2011 19:54:35 -0400 Original-Received: from mail-yi0-f41.google.com ([209.85.218.41]:53610) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw0nh-000441-BD for emacs-devel@gnu.org; Tue, 23 Aug 2011 19:54:33 -0400 Original-Received: by yib2 with SMTP id 2so540951yib.0 for ; Tue, 23 Aug 2011 16:54:31 -0700 (PDT) Original-Received: by 10.236.154.201 with SMTP id h49mr26911676yhk.86.1314143671454; Tue, 23 Aug 2011 16:54:31 -0700 (PDT) Original-Received: from [192.168.1.5] ([190.149.101.63]) by mx.google.com with ESMTPS id o2sm670143yhl.29.2011.08.23.16.54.29 (version=SSLv3 cipher=OTHER); Tue, 23 Aug 2011 16:54:30 -0700 (PDT) X-Mailer: Evolution 2.22.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.218.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:143559 Archived-At: Below is a patch to configure and compile with latest gnustep packages. Let me know if this is OK or I need change something. This patch define _NATIVE_OBJC_EXCEPTIONS, that is needed to build gnustep's apps without using gnustep-make. And add the flags to found the gnustep headers. Necessary if gnustep is installed with gnustep layout instead FHS. === modified file 'configure.in' *** configure.in 2011-08-13 10:48:03 +0000 --- configure.in 2011-08-16 01:14:52 +0000 *************** test "X${with_gnustep_conf}" != X && tes *** 219,224 **** --- 219,232 ---- test "X$GNUSTEP_CONFIG_FILE" = "X" && \ GNUSTEP_CONFIG_FILE=/etc/GNUstep/GNUstep.conf + GS_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)" + + if grep "BASE_NATIVE_OBJC_EXCEPTIONS 1" ${GS_LOCAL_HEADERS}/GNUstepBase/GSConfig.h; then + AC_DEFINE(_NATIVE_OBJC_EXCEPTIONS, 1, [Synchronize native exceptions with gnustep-base.]) + else + AC_DEFINE(_NATIVE_OBJC_EXCEPTIONS, 0, [Synchronize native exceptions with gnustep-base.]) + fi + AC_ARG_ENABLE(ns-self-contained, [AS_HELP_STRING([--disable-ns-self-contained], [disable self contained build under NeXTstep])], *************** tmp_CFLAGS="$CFLAGS" *** 1499,1504 **** --- 1507,1515 ---- CPPFLAGS="$CPPFLAGS -x objective-c" CFLAGS="$CFLAGS -x objective-c" TEMACS_LDFLAGS2="\${LDFLAGS}" + if _NATIVE_OBJC_EXCEPTIONS=1; then + CFLAGS="$CFLAGS -fobjc-exceptions" + fi dnl I don't think it's especially important, but src/Makefile.in dnl (now the only user of ns_appdir) used to go to the trouble of adding a dnl trailing "/" to it, so now we do it here. *************** if test "${HAVE_NS}" = "yes"; then *** 2571,2578 **** 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. */ ! C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing" 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 if test "${NS_HAVE_NSINTEGER}" = "yes"; then AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.]) --- 2582,2592 ---- 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. */ ! C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" 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 _NATIVE_OBJC_EXCEPTIONS=1; then + GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fobjc-exceptions" + fi fi if test "${NS_HAVE_NSINTEGER}" = "yes"; then AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])