bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ncurses 5.6 under UWIN 4.1


From: Howard Bryden
Subject: ncurses 5.6 under UWIN 4.1
Date: Mon, 16 Apr 2007 10:45:16 +1000

Guys,

Environment:
        UWIN (Unix For Windows) 4.1
        Compiler                        MinGW   3.2.0
        NCurses 5.6.

Desktop:
        O/S:            Windows XP Pro, SP2
        Processor:      Pentium P4
        Memory: 512MB

Some things I had to work through to get NCurses installed and running in this environment.

1. For some reason, the nanosleep() API is cranky in this environment, for values (of ts1.tv_nsec as per the configure script) less than 500000 it terminates but thereafter it hangs.  Maybe configure should have some sort of background timer that could kill this (and declare the test a failure).

2. The form of usage_string in progs/tic.c source had to be recast to the following, gcc gagged at the original form:

static const char *usage_string = "[-e names] [-o dir] [-R name] [-v[n]] [-V] [-w[n]] [-1aCcfGgILNrsTtUx] source-file\n";

3. In test/test.priv.h, I ran into colliding definitions for "struct stat" when building for wide-character support.  I had to modify this include file at around line #210 as follows:

#include <signal.h>     /* include before curses.h to work around glibc bug */

#if USE_WIDEC_SUPPORT && defined(__MINGW32__)
#include <sys/stat.h>   /* Avoid colliding definitions for struct stat HDB */
#endif

#if defined(HAVE_XCURSES)
...

4. In ncurses/curses.priv.h, I again ran into colliding definitions for "struct stat" when building for wide-character support.  I had to modify this include file at around line #250 similarly:

...
#undef _XOPEN_SOURCE_EXTENDED
#define _nc_bkgd    _bkgd
#define wgetbkgrnd(win, wch)    *wch = win->_bkgd
#define wbkgrnd     wbkgd
#endif

#if USE_WIDEC_SUPPORT && defined(__MINGW32__)
#include <sys/stat.h>   /* Avoid colliding definitions for struct stat HDB */
#endif

#include <curses.h>     /* we'll use -Ipath directive to get the right one! */
...

5. The distribution perhaps should include an implementation of wcwidth().


6. Just for fun, here's the terminfo(5) database I developed for use with the VT100 emulator as implemented by the U/WIN environment:

nwp512|news|nwp514|news40|vt100-bm|sony vt100 emulator 40 lines,
        am, eo, in, msgr, xenl,
        cols#80, lines#40, vt#3,
        colors#8, it#8, ncv#58, pairs#64,
        acsc=+>\,<-\036.\0370\333`\004a\261f\370g\361h\262i\316j\331k\277l\332m\300n\305o~p-q\304r-s_t\303u\264v\301w\302x\63y\363z\362{\343|\330}f~\371,

        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[;H\E[2J,
        cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=\b, cud1=^J, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
        dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
        ed=\E[J, el=\E[K, el1=\E[1K,
        home=\E[H, ht=\t, if=/usr/lib/tabset/vt100,
        ich=\E[%p1%d@, ich1=\E[@,
        is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8,
        kbs=\b, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\177, khome=\E[H, kich1=\E[@,
        kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, kf10=\EOY, kf11=\EOZ,
        nel=^M^J, op=\E[39;49m, pad=, rc=\E8,
        rev=\E[7m, ri=\EM, rmacs=\E[10m, rmkx=\E[?1l\E>,
        rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, sgr0=\E[m,
        setab=\E[4%p1%dm, setaf=\E[3%p1%dm, smacs=\E[11m,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,




Howard Bryden,
UNIX Administrator,
Qld. Govt. Dept. of Emergency Services,
Tel. 07 3109 5087

----------------------------------------------------------------------------------------------------------
Rocket J. Squirrel: "... we're going to have to think!"
Bullwinkle J. Moose: "There must be an easier way than that."

This correspondence is for the named persons only.
It may contain confidential or privileged information or both.
No confidentiality or privilege is waived or lost by any mis transmission.
If you receive this correspondence in error please delete it from your system immediately and notify the sender.
You must not disclose, copy or relay on any part of this correspondence, if you are not the intended recipient.
Any opinions expressed in this message are those of the individual sender except where the sender expressly,
and with the authority, states them to be the opinions of the Department of Emergency Services, Queensland.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]