Mailing-List: contact cygwin-announce-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-announce AT sources DOT redhat DOT com Delivered-To: moderator for cygwin-announce AT sources DOT redhat DOT com Message-ID: <3A3F9A11.99A17B61@ece.gatech.edu> Date: Tue, 19 Dec 2000 12:25:37 -0500 From: "Charles S. Wilson" X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: cygwin-announce AT sources DOT redhat DOT com Subject: Updated: ncurses-5.2-3 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit I've removed the 'test' designation from ncurses-5.2-3; it is available for installation from /latest/ now. ncurses is a package that provides character and terminal handling libraries, including 'gui-like' panels and menus. It is often used instead of termcap. CHANGES from ncurses-5.2-2 o Thanks to Steven O'Brien, libncurses++ now builds (and works!) as a dll. Following new files included: - /usr/lib/libncurses++.dll.a - /usr/bin/cygncurses++5.dll - /usr/bin/ncurses-test-dll/demo.exe o Lots of documentation updates to reflect the above changes. Be sure to read the new /usr/doc/ncurses-5.2.README o fixed a mistake in configure.in/configure that prevented the "--enable-colorfgbg" option from taking effect during the configure step. It takes effect now, and the functionality it enables ALSO seems to work okay: I use rxvt with an xpm background. When I ran ncurses-5.2-2 demo programs, the background would be completely black until the demo finished, when the xpm would reappear. With ncurses-5.2-3 demo programs, the xpm is always visible. (that is, the 'fgbg' is *maintained* when an ncurses program is run, and not arbitrarily reset to "white-on-black") INSTALLATION: To update your installation, click on the "Install Cygwin now" link on the http://sources.redhat.com/cygwin web page. This downloads setup.exe to your system. Run setup and answer all of the questions. PLEASE, PLEASE, PLEASE choose a mirror site for your download. The 'sources.redhat.com' site is badly overloaded. The mirrors below have the latest version of this package: ftp://ftp.sunsite.utk.edu/pub/cygwin/ (US) ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/ (Germany) ftp://ftp.ntua.gr/pub/pc/cygwin/ (Greece) The setup.exe program will figure out what needs to be updated on your system and should install the ncurses package automatically. If you have questions or comments, please send them to the Cygwin mailing list at: cygwin AT sources DOT redhat DOT com . I would appreciate if you would use this mailing list rather than emailing me directly. This includes ideas and comments about the setup utility or Cygwin general. If you want to make a point or ask a question the Cygwin mailing list is the appropriate place. *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO *** If you want to unsubscribe to the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format: cygwin-announce-unsubscribe-you=yourdomain DOT com AT sources DOT redhat DOT com NOTES: o Building the package from source requires gcc-2.95.2-5 and binutils-200001029-2 or later o follows new naming scheme for dlls /usr/lib/libncurses.dll.a (import lib) /usr/lib/libcurses.dll.a --> libncurses.dll.a /usr/lib/libpanel.dll.a (import lib) /usr/lib/libmenu.dll.a (import lib) /usr/lib/libform.dll.a (import lib) /usr/lib/libncurses++.dll.a (import lib) /usr/lib/libncurses.a (static lib) /usr/lib/libcurses.a --> libncurses.a /usr/lib/libpanel.a (static lib) /usr/lib/libmenu.a (static lib) /usr/lib/libform.a (static lib) /usr/lib/libncurses++.a (static lib) /usr/bin/cygncurses5.dll (dll) (**) /usr/bin/cygpanel5.dll (dll) (**) /usr/bin/cygmenu5.dll (dll) (**) /usr/bin/cygform5.dll (dll) (**) /usr/lib/cygncurses++5.dll (dll) (**) cygwin-specific docs in /usr/doc/Cygwin/ncurses-5.2.README /usr/bin/* dynamically linked version of the utility programs also, the dll's /usr/bin/ncurses-stat/* statically linked versions of the utility programs /usr/bin/ncurses-test-dll/* dynamically linked versions of the test programs /usr/bin/ncurses-test-stat/* statically linked versions of the test programs (**) versioned dlls are the default; only extremely stable libraries (like zlib) have unversioned dlls. dll's are stripped. o A cygwin-specific README and two PATCHES are stored in the source archive, under /CYGWIN-PATCHES/* (although the first patch, ncurses-5.2-X.patch, has already been applied to the archive itself). The cygwin-specific README is also installed by the binary distribution as described above. o There are actually two patches: one that is already applied in the source archive ncurses-5.2-X-src.tar.gz. It munges all the headers and C files so that functions and variables are declared using , __declspec(dllexport), or __declspec(dllimport), as appropriate, depending on -DNCURSES_STATIC / -DNCURSES_DLL / . That patch is over 400k and has already been applied to the archive. The second, much smaller patch ('ncurses-5.2-X-dll.patch'), contains the Makefile-specific changes necessary ONLY when building the dll's and dll-dependent executable (this one must be applied only AFTER doing a ./configure. See /usr/doc/Cygwin/ncurses-5.2.README for more information. o Full build instructions for building ncurses yourself are included the ncurses-5.2.README file; overview only here: The build procedure for static libs is very straightforward. However, building the dlls requires an odd "./configure" THEN patch, then build sequence. o If you are building a package that depends on the ncurses library, and you wish to link *statically*, define -DNCURSES_STATIC to get the 'correct' #define's in ncurses.h &tc. when compiling the .o files in your package. Also, use 'gcc -static' when linking your package. o No special -Ddefine options or link options are needed when building a package that depends any of the ncurses libraries and you want to link dynamically (recommended). o resolved the known conflicts. Ncurses provides some files that conflict with the files included in other packages. Those conflicts were resolved as follows: termcap package /usr/include/termcap.h resolution: 5.2-3 installs its termcap.h as termcapn.h clear package /usr/bin/clear.exe resolution: 5.2-3 installs its clear.exe as clearn.exe o Thanks to Steven O'Brien, libncurses++ now builds as a dll. I had given up on it, but Steven managed to get it working. If you are interested in the travails and contortions necessary, take a look at the end of the announcement message for ncurses-5.2-2: http://www.cygwin.com/ml/cygwin-announce/2000/msg00097.html --Chuck Wilson ------------------------------------------ *********** TERMINFO ENTRIES *********** ------------------------------------------ CYGWIN: ----changes relative to base ncurses-5.2 distribution---- o updated the cygwin terminfo entry -- basically Earnie's "original" version which appeared in 5.2-1, with some additional suggestions from Ehud Karni: http://www.cygwin.com/ml/cygwin/2000-11/msg01007.html point (2) only. point (1) in that message is a cygwin issue (and is probably a non-issue, according to JJ Farell): http://www.cygwin.com/ml/cygwin/2000-11/msg01097.html Comments concerning my test results with this terminfo entry appear below. o updated the rxvt terminfo entry with some changes from rxvt-2.6.3. o added rxvt-xpm, rxvt-color aliases for rxvt in the terminfo database o added rxvt-cygwin and rxvt-cygwin-native terminfo entries These entries combine mostly rxvt stuff with the ACSC stuff that Earnie worked out for Windows/DOS line graphics. Comments concerning my test results with these terminfo entries appear below. If you use TERM=rxvt-cygwin or TERM=rxvt-cygwin-native you'll also need to edit your /etc/termcap so that non-curses programs won't get confused (see below) --------- end terminfo changes log, begin commentary ------------- Now, I can't get the linedraw characters to work no matter what I try when running bash in a DOS box on win2k. "D:\WINNT\system32\mode.com con codepage select=437" seems to have no effect -- even when the system reports that I am using cp437, I still get the so-called 'European' character set (cp1250). Oh well, I like boxes drawn with Ä, ¿, 3, U, and A. See this message: http://sources.redhat.com/ml/cygwin/2000-11/msg01459.html for a more thorough discussion of this issue. RXVT-CYGWIN and RXVT-CYGWIN-NATIVE I tested these entries under the following configuration: 1) X-Win32 Xserver, rxvt-2.6.2 from cygutils, 'TERM=rxvt-cygwin' using the '-fn sabvga' font (which is available from http://cygutils.netpedia.net/unversioned/bashprompt/vgafonts.tar.gz. sabvga and the other fonts in that package provide the linedraw characters that most window fonts do not -- 'normal' windows fonts provide the accented characters used by most European languages) 2) Bubba's native rxvt-2.7.2 port (http://www.io.com/~bub/rxvt.html), 'TERM=rxvt-cygwin-native', using the Lucida ConsoleP font (-fn "Lucida ConsoleP-12" (which is available from http://cygutils.netpedia.net/unversioned/bashprompt/luconP.zip). LuconP is encoded as DOS codepage 437 by default -- this codepage includes the linedraw characters -- rather than ANSI or a different national font.) Note that if you intend to use "rxvt-cygwin" or "rxvt-cygwin-native" often, you should probably edit your /etc/termcap file; otherwise, non-curses programs (like the existing vim package) will get really confused. I appended duplicate copies of the existing 'rxvt' entry in /etc/termcap, and changed the names to these aliases. If you're not concerned about the linedraw characters, or use a non-codepage437 font, then 'TERM=rxvt' will work just fine in both X-Win32+cygutils-rxvt-2.6.2 and in bubba's native rxvt-2.7.2. BACK to CYGWIN: If you use bash in a dos box, none of the preceding applies to you. Keep 'TERM=cygwin' and you'll be fine. (Except for those pesky linedraw characters). ------------------------------------------ ********* TEST RESULTS, DLL's ********** ------------------------------------------ - the statically linked programs which depend on the C libraries all seem to work just as well as the ncurses-5.0 distribution at cygutils. There are a *few* imperfections (like testscanw.exe doesn't work) -- but these failures are not new. So, I conclude that the static versions of the C libraries (libncurses.a, libpanel.a, libform.a, libmenu.a) are all A-OK. - the one program which links to the C++ library, (demo.exe links to libncurses++), works fine when statically linked. I conclude that libncurses++.a is A-OK. - the dynamically linked programs which depend on the C libraries all work identically to their statically linked counterparts. So, I conclude that the dll versions of the C libraries (cygncurses5.dll, cygpanel5.dll, cygform5.dll, and cygmenu5.dll, with their respective import libraries) are all A-OK. - the dynamically linked version of demo.exe, which links to the C++ library cygncurses++5.dll, works fine. I conclude that cygncurses++5.dll is A-OK. ------------------------------------------------------ --Chuck