* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
@ 2010-10-08 20:04 Rainer Orth
2010-10-10 14:07 ` Dan Nicolaescu
2010-12-06 17:07 ` Chong Yidong
0 siblings, 2 replies; 3+ messages in thread
From: Rainer Orth @ 2010-10-08 20:04 UTC (permalink / raw)
To: 7178
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
@ 2010-10-10 14:07 ` Dan Nicolaescu
2010-12-06 17:07 ` Chong Yidong
1 sibling, 0 replies; 3+ messages in thread
From: Dan Nicolaescu @ 2010-10-10 14:07 UTC (permalink / raw)
To: Rainer Orth; +Cc: 7178
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
> 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.
> === 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
The only reason to include <term.h> in sysdep.c is to get a prototype
for `tputs' (used in `reset_sys_modes') .
cm.c also uses tputs, but it adds an extern declaration for it.
Given that including <term.h> seems to cause problems, maybe a good
workaround would be to move `reset_sys_modes' to cm.c.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
2010-10-10 14:07 ` Dan Nicolaescu
@ 2010-12-06 17:07 ` Chong Yidong
1 sibling, 0 replies; 3+ messages in thread
From: Chong Yidong @ 2010-12-06 17:07 UTC (permalink / raw)
To: Rainer Orth; +Cc: 7178
> 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
Since the Makefile.in change and the tputs prototype suggested by Dan
have both been committed now, I'm closing the bug. If the new changes
don't work properly please reopen if, or file another bug if you
encounter other problems building Emacs 24 on Solaris. Thanks for the
report.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-12-06 17:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
2010-10-10 14:07 ` Dan Nicolaescu
2010-12-06 17:07 ` Chong Yidong
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).