bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10


From: Rainer Orth
Subject: bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
Date: Fri, 08 Oct 2010 22:04:28 +0200

When I tried to build Emacs bazaar trunk on Solaris 10 to check if
bug#7163 still occurs on trunk, I ran into two issues:

* lisp/Makefile.in (compile-clean) uses $() which the Solaris 10 /bin/sh
  doesn't understand.  This can easily be avoided by using `` instead.

* src/sysdep.c doesn't compile: 

"/usr/include/term.h", line 1034: syntax error before or at: bool

  <term.h> uses bool without providing bool.  <stdbool.h> cannot be
  included since it only works in C99 mode.  The documented solution
  (e.g. on the curs_terminfo(3CURSES) manpage) is to include <curses.h>
  before term.h.  The patch below hardcodes this, but this is most
  likely not the appropriate solution.  Some kind of autoconf magic is
  probably needed to check if <term.h> can be compiled on its own.

        Rainer


2010-10-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        src:
        * sysdep.c [HAVE_TERM_H]: Include <curses.h> before <term.h>.

        lisp:
        * Makefile.in (compile-clean): Use `` instead of $().

=== modified file 'lisp/Makefile.in'
--- lisp/Makefile.in    2010-09-08 14:42:54 +0000
+++ lisp/Makefile.in    2010-09-08 20:49:05 +0000
@@ -249,7 +249,7 @@
 compile-clean:
        @cd $(lisp); $(setwins); \
        elcs=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| 
|/*.elc |g'`; \
-       for el in $$(echo $$elcs | sed -e 's/\.elc/\.el/g'); do \
+       for el in `echo $$elcs | sed -e 's/\.elc/\.el/g'`; do \
          if test -f "$$el" -o \! -f "$${el}c"; then :; else \
            echo rm "$${el}c"; \
            rm "$${el}c"; \

=== modified file 'src/sysdep.c'
--- src/sysdep.c        2010-08-22 15:14:37 +0000
+++ src/sysdep.c        2010-09-08 20:34:07 +0000
@@ -97,6 +97,7 @@
 /* Include this last.  If it is ncurses header file, it adds a lot of
    defines that interfere with stuff in other headers.  Someone responsible
    for ncurses messed up bigtime.  See bug#6812.  */
+#include <curses.h>
 #include <term.h>
 #endif
 

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University





reply via email to

[Prev in Thread] Current Thread [Next in Thread]