diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in
index a349250..73cbfff 100644
--- a/misc/ncurses-config.in
+++ b/misc/ncurses-config.in
@@ -1,7 +1,7 @@
 #!@SHELL@
-# $Id: ncurses-config.in,v 1.12 2007/03/17 20:02:19 tom Exp $
+# $Id: ncurses-config.in,v 1.35 2015/04/22 00:54:19 tom Exp $
 ##############################################################################
-# Copyright (c) 2006,2007 Free Software Foundation, Inc.                     #
+# Copyright (c) 2006-2012,2015 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -28,67 +28,104 @@
 # authorization.                                                             #
 ##############################################################################
 #
-# Author: Thomas E. Dickey, 2006
-
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
-
-bindir="@bindir@"
-libdir="@libdir@"
-datadir="@datadir@"
-mandir="@mandir@"
-
-THIS="ncurses@DFT_ARG_SUFFIX@"
+# Author: Thomas E. Dickey, 2006-on
 
 LANG=C;		export LANG
 LANGUAGE=C;	export LANGUAGE
 LC_ALL=C;	export LC_ALL
 LC_CTYPE=C;	export LC_CTYPE
 
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+
+bindir="@bindir@"
+includedir="@includedir@"
+libdir="@libdir@"
+datarootdir="@datarootdir@"
+datadir="@datadir@"
+mandir="@mandir@"
+
+THIS="@LIB_NAME@@USE_LIB_SUFFIX@"
+TINFO_LIB="@TINFO_ARG_SUFFIX@"
+RPATH_LIST="@RPATH_LIST@"
+
+includesubdir="@includedir@/${THIS}"
+
+# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
+# We cannot filter it out within the build-process since the variable is used
+# in some special cases of installation using a relative path.
+if test -n "$RPATH_LIST"
+then
+	save_IFS="$IFS"
+	IFS='@PATH_SEPARATOR@'
+	filtered=
+	for item in $RPATH_LIST
+	do
+		case "$item" in
+		./*|../*|*/..|*/../*)
+			;;
+		*)
+			test -n "$filtered" && filtered="${filtered}@PATH_SEPARATOR@"
+			filtered="${filtered}${item}"
+			;;
+		esac
+	done
+	IFS="$save_IFS"
+	# if the result is empty, there is little we can do to fix it
+	RPATH_LIST="$filtered"
+fi
+
+# with --disable-overwrite, we installed into a subdirectory, but transformed
+# the headers to include like this:
+#	<ncurses@LIB_SUFFIX@/curses.h>
+if test x@WITH_OVERWRITE@ = xno ; then
+	case $includedir in
+	$prefix/include/ncurses@LIB_SUFFIX@@EXTRA_SUFFIX@)
+		includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'`
+		;;
+	esac
+fi
+
 test $# = 0 && exec @SHELL@ $0 --error
 
 while test $# -gt 0; do
 	case "$1" in
-	-*=*)
-		ARG=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
-		;;
-	*)
-		ARG=
-		;;
-	esac
-
-	case "$1" in
 	# basic configuration
-	--prefix=*)
-		prefix="$ARG"
-		test -z "$exec_prefix" && exec_prefix="$ARG"
-		;;
 	--prefix)
 		echo "$prefix"
 		;;
-	--exec-prefix=*)
-		exec_prefix="$ARG"
-		;;
 	--exec-prefix)
 		echo "$exec_prefix"
 		;;
 	# compile/link
 	--cflags)
-		INCS=
-		if test "${prefix}/include" != /usr/include ; then
-			INCS="-I${prefix}/include"
+		INCS="@PKG_CFLAGS@"
+		if test "x@WITH_OVERWRITE@" = xno ; then
+			INCS="$INCS -I${includesubdir}"
 		fi
-		if test "@WITH_OVERWRITE@" != no ; then
-			INCS="$INCS -I${prefix}/include/${THIS}"
+		if test "${includedir}" != /usr/include ; then
+			INCS="$INCS -I${includedir}"
 		fi
 		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
 			$INCS
 ENDECHO
 		;;
 	--libs)
+		if test "$libdir" = /usr/lib
+		then
+			LIBDIR=
+		else
+			LIBDIR=-L$libdir
+		fi
+		if test @TINFO_NAME@ = @LIB_NAME@ ; then
 		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
-			-L${exec_prefix}/lib @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
+			$LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
 ENDECHO
+		else
+		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+			$LIBDIR @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@
+ENDECHO
+		fi
 		;;
 	# identification
 	--version)
@@ -107,6 +144,9 @@
 	--datadir)
 		echo "${datadir}"
 		;;
+	--includedir)
+		echo "${includedir}"
+		;;
 	--libdir)
 		echo "${libdir}"
 		;;
@@ -125,13 +165,11 @@
 	# general info
 	--help)
 		cat <<ENDHELP
-Usage: ${THIS}-config [options]
+Usage: `basename $0` [options]
 
 Options:
   --prefix           echos the package-prefix of ${THIS}
-  --prefix=ARG       sets the package-prefix of ${THIS}
   --exec-prefix      echos the executable-prefix of ${THIS}
-  --exec-prefix=ARG  sets the executable-prefix of ${THIS}
 
   --cflags           echos the C compiler flags needed to compile with ${THIS}
   --libs             echos the libraries needed to link with ${THIS}
@@ -142,6 +180,7 @@
 
   --bindir           echos the directory containing ${THIS} programs
   --datadir          echos the directory containing ${THIS} data
+  --includedir       echos the directory containing ${THIS} header files
   --libdir           echos the directory containing ${THIS} libraries
   --mandir           echos the directory containing ${THIS} manpages
   --terminfo         echos the \$TERMINFO terminfo database path
@@ -158,4 +197,5 @@
 	esac
 	shift
 done
+# vi:ts=4 sw=4
 # vile:shmode
