2013-05-10 02:36:30 +02:00
|
|
|
# $NetBSD: Makefile.common,v 1.19 2013/05/10 00:36:30 riastradh Exp $
|
Update to 5.7:
New features and improvements:
* library
o new flavor of the ncurses library provides rudimentary
support for POSIX threads. Several functions are reentrant,
but most require either a window-level or screen-level
mutex.
(This is API-compatible, but not ABI-compatible with
the normal library).
o add NCURSES_OPAQUE symbol to curses.h, will use to make
structs opaque in selected configurations.
o add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols
to curses.h to make it simpler to tell if the extended
functions and/or colors are declared.
o add wresize to C++ binding
o eliminate fixed-buffer vsprintf calls in C++ binding.
o add several functions to C++ binding which wrap C
functions that pass a WINDOW* parameter.
o adapt mouse-handling code from menu library in form-library
o improve tracing for form library, showing created forms, fields, etc.
o make $NCURSES_NO_PADDING feature work for termcap interface .
o add check to trace-file open, if the given name is a
directory, add ".log" to the name and try again.
o several new manpages: curs_legacy.3x, curs_memleaks.3x,
curs_opaque.3x and curs_threads.3x
* programs:
o modified three test-programs to demonstrate the threading
support in this version: ditto, rain, worm.
o several new test-programs: demo_panels, dots_mvcur,
inch_wide, inchs, key_name, key_names, savescreen,
savescreen.sh test_arrays, test_get_wstr, test_getstr,
test_instr, test_inwstr and test_opaque.
o add adacurses-config to the Ada95 install.
o modify tic -f option to format spaces as \s to prevent
them from being lost when that is read back in unformatted
strings.
o The tack program is now distributed separately from
ncurses.
* terminal database
o added entries:
+ Eterm-256color, Eterm-88color and rxvt-88color
+ aterm
+ konsole-256color
+ mrxvt
+ screen.mlterm
+ screen.rxvt
+ teraterm4.59 is now the primary primary teraterm
entry, renamed original to teraterm2.3
+ 9term terminal
+ Newbury Data entries
o updated/improved entries:
+ gnome to version 2.22.3
+ h19, z100
+ konsole to version 1.6.6
+ mlterm, mlterm+pcfkeys
+ xterm, and building-blocks for function-keys to
xterm patch #230.
Major bug fixes:
* add logic to tic for cancelling strings in user-defined
capabilities (this is needed for current konsole terminfo
entry).
* modify mk-1st.awk so the generated makefile rules for linking
or installing shared libraries do not first remove the library,
in case it is in use, e.g., libncurses.so by /bin/sh.
* correct check for notimeout in wgetch.
* fix a sign-extension bug in infocmp's repair_acsc function.
* change winnstr to stop at the end of the line.
* make Ada95 demo_panels example work.
* fix for adding a non-spacing character at the beginning of a line.
* fill in extended-color pair to make colors work for
wide-characters using extended-colors.
* improve refresh of window on top of multi-column characters,
taking into account split characters on left/right window
boundaries.
* modify win_wchnstr to ensure that only a base cell is returned
for each multi-column character.
* improve waddch and winsch handling of EILSEQ from mbrtowc by
using unctrl to display illegal bytes rather than trying to
append further bytes to make up a valid sequence.
* restore curs_set state after endwin/refresh
* modify keyname to use "^X" form only if meta has been called,
or if keyname is called without initializing curses, e.g., via
initscr or newterm.
* modify unctrl to check codes in 128-255 range versus isprint.
If they are not printable, and locale was set, use a "M-" or
"~" sequence.
* improve resizeterm by moving ripped-off lines, and repainting
the soft-keys.
* modify form library to accept control characters such as
newline in set_field_buffer, which is compatible with Solaris.
* use NCURSES_MOUSE_MASK in definition of BUTTON_RELEASE, etc.,
to make those work properly with the --enable-ext-mouse
configuration
* correct some functions in Ada95 binding which were using
return value from C where none was returned.
* reviewed/fixed issues reported by Coverity and Klocwork tools.
Portability:
* configure script:
o new options:
--disable-big-strings
control whether static string tables are generated
as single large strings (to improve startup
performance), or as array of individual strings.
--disable-relink
control whether shared libraries are relinked
(during install) when rpath is enabled.
--disable-tic-depends
make explicit whether tic library depends on
ncurses/ncursesw library.
--enable-mixed-case
override the configure script's check if the
filesystem supports mixed-case filenames. This
allows one to control how the terminal database
maps to the filesystem. For filesystems that do
not support mixed-case, the library uses generate
2-character (hexadecimal) codes for the lower-level
of the filesystem terminfo database
--enable-reentrant
builds a different flavor of the ncurses library
(ncursest) which improves reentrant use of the
library by reducing global and static variables
(see the "--with-pthread" option for the threaded
support).
--enable-weak-symbols
use weak-symbols for linking to the POSIX thread
library, and use the same soname for the ncurses
shared library as the normal library (caveat: the
ABI is for the threaded library, which makes global
data accessed via functions).
--with-pthread
build with the POSIX thread library (tested with
AIX, GNU/Linux, FreeBSD, OpenBSD, HPUX, IRIX64,
Solaris, Tru64).
--with-ticlib
build/install the tic-support functions in a separate
library
o improved options:
--enable-ext-colors
requires the wide-character configuration.
--with-chtype
ignore option value "unsigned" is always added to
the type in curses.h; do the same for --with-mmask-t.
--with-dmalloc
build-fix for redefinition of strndup.
--with-hashed-db
+ accepts a parameter which is the install-prefix
of a given Berkeley Database.
+ the $LIBS environment variable overrides the
search for the db library.
--without-hashed-db
assumed when "--disable-database" is used.
* other configure/build issues:
o build-fixes for LynxOS
o modify shared-library rules to allow FreeBSD 3.x to use rpath.
o build-fix for FreeBSD "contemporary" TTY interface.
o build-fixes for AIX with libtool.
o build-fixes for Darwin and libtool.
o modify BeOS-specific ifdef's to build on Haiku.
o corrected gcc options for building shared libraries on
Solaris and IRIX64.
o change shared-library configuration for OpenBSD, make rpath work.
o build-fixes for using libutf8, e.g., on OpenBSD 3.7
o add "-e" option in ncurses/Makefile.in when generating
source-files to force earlier exit if the build environment
fails unexpectedly.
o add support for shared libraries for QNX.
o change delimiter in MKlib_gen.sh from '%' to '@', to
avoid substitution by IBM xlc to '#' as part of its
extensions to digraphs.
* library:
o rewrite wrapper for wcrtomb, making it work on Solaris.
This is used in the form library to determine the length
of the buffer needed by field_buffer.
o add/use configure script macro CF_SIG_ATOMIC_T, use
the corresponding type for data manipulated by signal
handlers.
o set locale in misc/ncurses-config.in since it uses a
range
o disable GPM mouse support when $TERM does not happen
to contain "linux", since Gpm_Open no longer limits its
assertion to terminals that it might handle, e.g., within
"screen" in xterm.
o reset mouse file-descriptor when unloading GPM library.
* test programs:
o update test programs to build/work with various UNIX
curses for comparisons.
2008-11-05 17:12:38 +01:00
|
|
|
#
|
|
|
|
# used by devel/ncursesw/Makefile
|
2006-10-13 20:07:49 +02:00
|
|
|
|
|
|
|
DISTNAME= ncurses-${NC_VERS}
|
2011-04-06 16:02:47 +02:00
|
|
|
NC_VERS= 5.9
|
2006-10-13 20:07:49 +02:00
|
|
|
CATEGORIES= devel
|
|
|
|
MASTER_SITES= ${MASTER_SITE_GNU:=ncurses/} \
|
|
|
|
ftp://dickey.his.com/ncurses/ \
|
|
|
|
ftp://dickey.his.com/ncurses/${NC_VERS}/
|
|
|
|
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2010-11-13 22:08:54 +01:00
|
|
|
HOMEPAGE= http://invisible-island.net/ncurses/ncurses.html
|
2011-02-28 12:02:46 +01:00
|
|
|
LICENSE= mit
|
2006-10-13 20:07:49 +02:00
|
|
|
|
|
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
|
|
|
|
|
|
USE_LANGUAGES= c c++
|
2007-01-08 12:01:05 +01:00
|
|
|
USE_LIBTOOL= yes
|
2006-10-13 20:07:49 +02:00
|
|
|
USE_TOOLS+= tbl
|
2007-01-08 12:01:05 +01:00
|
|
|
GNU_CONFIGURE= yes
|
2006-10-13 20:07:49 +02:00
|
|
|
CONFIGURE_ARGS+= --with-libtool
|
|
|
|
CONFIGURE_ARGS+= --enable-bsdpad
|
|
|
|
CONFIGURE_ARGS+= --enable-overwrite
|
|
|
|
CONFIGURE_ARGS+= --with-cxx-binding
|
|
|
|
CONFIGURE_ARGS+= --without-ada
|
|
|
|
CONFIGURE_ARGS+= --without-gpm
|
|
|
|
CONFIGURE_ARGS+= --with-manpage-format=normal
|
|
|
|
CONFIGURE_ARGS+= --with-manpage-tbl
|
2007-01-08 12:01:05 +01:00
|
|
|
CONFIGURE_ARGS+= --with-default-terminfo-dir=${PREFIX}/${TERMINFODIR}
|
|
|
|
CONFIGURE_ARGS+= --with-terminfo-dirs=${PREFIX}/${TERMINFODIR}
|
2009-07-12 19:23:13 +02:00
|
|
|
CONFIGURE_ARGS+= --includedir=${PREFIX}/include/ncurses
|
2007-01-11 08:32:16 +01:00
|
|
|
MAKE_JOBS_SAFE= no
|
2006-10-13 20:07:49 +02:00
|
|
|
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
2013-05-10 02:36:30 +02:00
|
|
|
|
|
|
|
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
|
|
|
|
TOOL_DEPENDS+= ncurses-${NC_VERS}:../../devel/ncurses
|
|
|
|
CONFIGURE_ENV+= BUILD_CC=${NATIVE_CC:Q}
|
|
|
|
CONFIGURE_ENV+= ac_cv_path_TIC_PATH=${LOCALBASE}/bin/tic
|
|
|
|
.endif
|
|
|
|
|
2007-07-02 04:08:20 +02:00
|
|
|
.if !defined(TOOLS_TBL)
|
|
|
|
# This means that groff needs to be built to get tbl(1).
|
|
|
|
# We can only build groff if there is a builtin implementation of curses,
|
|
|
|
# otherwise we get a circular dependency problem.
|
|
|
|
# Additionally, Interix is special, see ../../mk/curses.buildlink3.mk
|
2011-04-06 16:02:47 +02:00
|
|
|
. if !(exists(/usr/include/curses.h) || exists(/usr/include/ncurses.h)) || \
|
2007-07-02 04:08:20 +02:00
|
|
|
${OPSYS} == "Interix"
|
|
|
|
# None was available, so disable use of tbl(1)
|
|
|
|
USE_TOOLS:= ${USE_TOOLS:Ntbl}
|
|
|
|
CONFIGURE_ARGS+= --without-manpage-tbl
|
2011-04-06 16:02:47 +02:00
|
|
|
. endif
|
2007-07-02 04:08:20 +02:00
|
|
|
.endif
|
2006-10-13 20:07:49 +02:00
|
|
|
|
|
|
|
.if ${OPSYS} == "SunOS"
|
2012-06-08 15:21:10 +02:00
|
|
|
.include "../../mk/compiler.mk"
|
|
|
|
. if !empty(CC_VERSION:Mgcc-4.[6-9].*)
|
|
|
|
BUILDLINK_TRANSFORM+= rm:-D_XOPEN_SOURCE_EXTENDED
|
|
|
|
. endif
|
2006-10-13 20:07:49 +02:00
|
|
|
TERMINFO_SRC= ${WRKSRC}/misc/terminfo.src
|
|
|
|
TERMINFODIR= share/lib/terminfo
|
|
|
|
.else
|
|
|
|
TERMINFODIR= share/terminfo
|
|
|
|
.endif
|
|
|
|
|
2007-02-06 15:34:54 +01:00
|
|
|
# This prevents tic from writing into ~/.terminfo
|
|
|
|
INSTALLATION_DIRS+= ${TERMINFODIR}
|
|
|
|
|
2011-02-28 12:02:46 +01:00
|
|
|
PLIST_SUBST+= TERMINFODIR=${TERMINFODIR}
|