diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in
new file mode 100644
index 0000000..62d09ff
--- /dev/null
+++ b/misc/gen-pkgconfig.in
@@ -0,0 +1,160 @@
+#!@SHELL@
+# $Id: gen-pkgconfig.in,v 1.29 2015/07/04 20:37:01 tom Exp $
+##############################################################################
+# Copyright (c) 2009-2014,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"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey
+#
+# The complete configure script for ncurses is the ncurses5-config (or similar
+# name, depending on the flavor, e.g., ncursesw5-config, ncurses6-config, etc).
+# That provides more information than pkg-config, and is the portable and
+# recommended solution.
+#
+# For each library, generate a ".pc" file which depends on the base ncurses
+# library, except that the tinfo library does not depend on ncurses.
+LIB_NAME=@LIB_NAME@
+TINFO_NAME=@TINFO_NAME@
+PANEL_NAME=@PANEL_NAME@
+MENU_NAME=@MENU_NAME@
+FORM_NAME=@FORM_NAME@
+CXX_NAME=@CXX_NAME@
+DFT_DEP_SUFFIX=@DFT_DEP_SUFFIX@
+TINFO_ARG_SUFFIX=@TINFO_ARG_SUFFIX@
+CXX_LIB_SUFFIX=@CXX_LIB_SUFFIX@
+
+suffix=@PC_MODULE_SUFFIX@
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+includedir="@includedir@@includesubdir@"
+libdir="@libdir@"
+
+show_prefix='@prefix@'
+show_exec_prefix='@exec_prefix@'
+show_includedir='@includedir@@includesubdir@'
+show_libdir='@libdir@'
+
+MAIN_LIBRARY="${LIB_NAME}@USE_ARG_SUFFIX@"
+SUB_LIBRARY="${TINFO_ARG_SUFFIX}"
+PANEL_LIBRARY="${PANEL_NAME}@USE_ARG_SUFFIX@"
+MENU_LIBRARY="${MENU_NAME}@USE_ARG_SUFFIX@"
+FORM_LIBRARY="${FORM_NAME}@USE_ARG_SUFFIX@"
+
+CFLAGS="@PKG_CFLAGS@"
+if test "$includedir" != "/usr/include" ; then
+	includetop=`echo "$includedir" | sed -e 's,/include/[^/]*$,/include,'`
+	test "$includetop" = "/usr/include" && includetop="$includedir"
+	if test "x$includetop" != "x$includedir"
+	then
+		CFLAGS="$CFLAGS -I${includetop}"
+	fi
+	CFLAGS="$CFLAGS -I\${includedir}"
+fi
+
+LDFLAGS=
+if test "$libdir" != "/usr/lib" ; then
+	LDFLAGS="$LDFLAGS -L\${libdir}"
+fi
+if test "x@EXTRA_LDFLAGS@" != "x" ; then
+	LDFLAGS="$LDFLAGS @EXTRA_LDFLAGS@"
+fi
+
+# Check if we should specify the tinfo library explicitly so that terminfo
+# functions or curses variables (which also reside in tinfo) can be linked
+# using the -lncurses option.
+NEED_TINFO=no
+if test "x@TINFO_LIBS@" != "x" && \
+   test "x$TINFO_ARG_SUFFIX" != "x$MAIN_LIBRARY"
+then
+	case "x$LDFLAGS" in
+	(*--as-needed*)
+		NEED_TINFO=yes
+		;;
+	esac
+	case "x$LDFLAGS" in
+	(*,-rpath,*)
+		;;
+	(*)
+		NEED_TINFO=yes
+		;;
+	esac
+fi
+
+for name in @PC_MODULES_TO_MAKE@
+do
+	name="${name}"
+	LIBS="-l$name"
+
+	desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@"
+	reqs=
+
+	if test $name = $MAIN_LIBRARY ; then
+		desc="$desc library"
+		test $NEED_TINFO = yes && LIBS="$LIBS -l$TINFO_ARG_SUFFIX"
+	elif test $name = $SUB_LIBRARY ; then
+		desc="$desc terminal interface library"
+	elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then
+		reqs="$PANEL_LIBRARY${suffix}, $MENU_LIBRARY${suffix}, $FORM_LIBRARY${suffix}, $MAIN_LIBRARY${suffix}"
+		desc="$desc add-on library"
+	else
+		reqs="$MAIN_LIBRARY${suffix}"
+		desc="$desc add-on library"
+	fi
+
+	if test $name != $SUB_LIBRARY && \
+	   test $SUB_LIBRARY != $MAIN_LIBRARY && \
+	   test $name != $TINFO_NAME && \
+	   test $NEED_TINFO != yes ; then
+		test -n "$reqs" && reqs="$reqs, "
+		reqs="${reqs}${SUB_LIBRARY}${suffix}"
+	fi
+
+	echo "** creating ${name}${suffix}.pc"
+	cat >${name}${suffix}.pc <<EOF
+# pkg-config file generated by `basename $0`
+# vile:makemode
+
+prefix=$show_prefix
+exec_prefix=$show_exec_prefix
+libdir=$show_libdir
+includedir=$show_includedir
+abi_version=@cf_cv_abi_version@
+major_version=@NCURSES_MAJOR@
+version=@NCURSES_MAJOR@.@NCURSES_MINOR@.@NCURSES_PATCH@
+
+Name: ${name}${suffix}
+Description: $desc
+Version: \${version}
+URL: http://invisible-island.net/ncurses
+Requires.private: $reqs
+Libs: $LDFLAGS $LIBS
+Libs.private: @LIBS@
+Cflags: $CFLAGS
+EOF
+
+done
+# vile:shmode
