about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Doc/Makefile.in2
-rw-r--r--INSTALL8
-rw-r--r--configure.ac21
4 files changed, 36 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c0b3db8b..2e24f2d53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2007-11-20  Peter Stephenson  <pws@csr.com>
 
+	* 24104: INSTALL, configure.ac: don't search for ncurses if
+	we can't find ncurses.h.
+
+	* 24103: Doc/Makefile.in: ensure zsh.texi is updated if
+	the version changes.
+
+	* ????? & 24104: configure.ac: attempt to prevent Tru64 Unix
+	from reporting missing symbols when linking dynamically (not
+	tested).
+
 	* unposted: run Util/check_exports and add some mod_export tags.
 
 	* unposted: fix .distfiles and version.mk for 4.3.4-dev-2.
diff --git a/Doc/Makefile.in b/Doc/Makefile.in
index e1c9446d7..7bd7986f6 100644
--- a/Doc/Makefile.in
+++ b/Doc/Makefile.in
@@ -106,7 +106,7 @@ zsh.pdf: $(sdir)/zsh.texi
 texi: $(sdir)/zsh.texi
 .PHONY: texi
 
-$(sdir)/zsh.texi:
+$(sdir)/zsh.texi: version.yo
 	$(YODL) -o $@ -I$(sdir) -w ztexi.yo version.yo zsh.yo; \
 	test -f $@
 
diff --git a/INSTALL b/INSTALL
index 47ea2c658..423a123e0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -328,6 +328,14 @@ use ncursesw may cause problems during building.  If so, please report this
 to the developers at zsh-workers@sunsite.dk and attempt to recompile with
 --with-term-lib="tinfo termcap ncurses curses" (see below).
 
+Note that use of ncurses requires the header ncurses.h, so this
+needs to be in the include path.  configure will not search for
+ncurses or ncursesw unless this is the case.  If you have installed
+ncurses.h in a non-standard place you may need to pass
+CPPFLAGS=-I/usr/local/include (or wherever the header is found) to
+configure.  Similarly, you may need to pass LDFLAGS=-L/usr/local/lib
+(or wherever) in order to find the library.
+
 On some systems a suitable development package with a name such as
 curses-devel or ncurses-devel needs to be installed before zsh can
 be compiled.  This is likely to be contained on any installation media,
diff --git a/configure.ac b/configure.ac
index 31ab25d45..394178117 100644
--- a/configure.ac
+++ b/configure.ac
@@ -636,6 +636,17 @@ AC_CHECK_LIB(c, printf, [LIBS="$LIBS -lc"])
 
 AC_CHECK_LIB(m, pow)
 
+dnl Various features of ncurses depend on having the right header
+dnl (the system's own curses.h may well not be good enough).
+dnl So don't search for ncurses unless we found the header.
+if test x$ac_cv_header_ncurses_h = xyes; then
+  ncursesw_test=ncursesw
+  ncurses_test=ncurses
+else
+  ncursesw_test=
+  ncurses_test=
+fi
+
 dnl Prefer BSD termcap library to SysV curses library, except on certain
 dnl SYSV-derived systems.  However, if we find terminfo and termcap
 dnl stuff in the same library we will use that; typically this
@@ -648,12 +659,13 @@ AC_HELP_STRING([--with-term-lib=LIBS], [search space-separated LIBS for terminal
   termcap_curses_order="$withval"
   AC_SEARCH_LIBS(tigetstr, [$termcap_curses_order])
 else
-  termcap_curses_order="ncursesw tinfo termcap ncurses curses"
+  termcap_curses_order="$ncursesw_test tinfo termcap $ncurses_test curses"
 fi],
 [case "$host_os" in
   hpux10.*|hpux11.*|solaris*)
-      termcap_curses_order="Hcurses ncursesw ncurses curses termcap" ;;
-  *)             termcap_curses_order="ncursesw tinfo termcap ncurses curses" ;;
+   termcap_curses_order="Hcurses $ncursesw_test $ncurses_test curses termcap" ;;
+  *)
+   termcap_curses_order="$ncursesw_test tinfo termcap $ncurses_test curses" ;;
 esac])dnl
 
 AH_TEMPLATE([HAVE_BOOLCODES],
@@ -2357,7 +2369,8 @@ char *argv[];
     esac
   fi
   case "$host_os" in
-    *freebsd*|linux*|irix*|osf*|gnu*|dragonfly*) DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
+    osf*) DLLDFLAGS="${DLLDFLAGS=-shared -expect_unresolved '*'}" ;;
+    *freebsd*|linux*|irix*|gnu*|dragonfly*) DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
     sunos*)       DLLDFLAGS="${DLLDFLAGS=-assert nodefinitions}" ;;
     sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G $ldflags}" ;;
     netbsd*)      DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;;