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 <GNUstepBase/GSConfig.h>. It doesn't appear to be needed, and the inclusion breaks on Ubuntu 14.10 when 'configure' uses 'gnustep-config'. Fixes: bug#19507
This commit is contained in:
parent
bce27d8845
commit
f6ef836521
6 changed files with 49 additions and 16 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2015-01-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
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 <ulm@gentoo.org>
|
||||
|
||||
* configure.ac (gamegroup): New AC_SUBST.
|
||||
|
|
35
configure.ac
35
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
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-01-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Use gnustep-config if available
|
||||
* NEWS: Document this.
|
||||
|
||||
2015-01-22 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Don't downcase system diagnostics' first letters
|
||||
|
|
3
etc/NEWS
3
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.
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2015-01-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Use gnustep-config if available
|
||||
* emacs.c [NS_IMPL_GNUSTEP]: Don't include <GNUstepBase/GSConfig.h>.
|
||||
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 <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (init_iterator): Restore a comment lost in transition.
|
||||
|
|
|
@ -59,11 +59,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include TERM_HEADER
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
|
||||
#ifdef NS_IMPL_GNUSTEP
|
||||
/* At least under Debian, GSConfig is in a subdirectory. --Stef */
|
||||
#include <GNUstepBase/GSConfig.h>
|
||||
#endif
|
||||
|
||||
#include "commands.h"
|
||||
#include "intervals.h"
|
||||
#include "character.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue