[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Simple patch for allowing NCurses to build on HPE NonStop
From: |
Randall S. Becker |
Subject: |
RE: Simple patch for allowing NCurses to build on HPE NonStop |
Date: |
Tue, 18 Aug 2020 09:33:47 -0400 |
On August 17, 2020 8:18 PM, Thomas Dickey wrote:
> To: Randall S. Becker <rsbecker@nexbridge.com>
> Cc: Ncurses Mailing List <bug-ncurses@gnu.org>
> Subject: Re: Simple patch for allowing NCurses to build on HPE NonStop
>
> On Mon, Aug 17, 2020 at 07:24:50PM -0400, Thomas Dickey wrote:
> > On Mon, Aug 17, 2020 at 06:50:17PM -0400, Randall S. Becker wrote:
> > > I have a straightforward patch that would allow Ncurses to build on
> > > HPE NonStop platforms. This is fairly trivial. The first patch
> > > recognizes the platform, while the second is required because of
> > > where secondary string method definitions are located. The patch is
> > > based on ncurses 6.2 - patch
> > > 20200613 (commit 7503e8d8).
> >
> > thanks (on to-do list)
> ...
> > > diff --git a/test/picsmap.c b/test/picsmap.c index
> > > 432fbf7a..fc0b90db 100644
> > > --- a/test/picsmap.c
> > > +++ b/test/picsmap.c
> > > @@ -83,6 +83,10 @@
> > > #define RGB_PATH "/etc/X11/rgb.txt"
> > > #endif
> > >
> > > +#ifdef __TANDEM
> >
> > Actually - something like this:
> >
> > #if HAVE_STRINGS_H
> >
> > > +#include <strings.h>
> > > +#endif
> > > +
> > > #include <picsmap.h>
>
> which raises the question of what's in strings.h
>
> According to
>
> https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-
> c02128447
>
> HPE
> C/C++ Programmer's Guide for NonStopSystems
>
> it says it's compliant:
>
> Writing programs to international standards enables you to move
> them
> between different hardware andsoftware environments with little
> effort.
> Write your C programs to comply with the ISO/ANSI C
> standard:ISO/IEC
> 9899:1990, Programming Languages–C plus features from 1999
> update to
> this standard (see c99 Selected Features (C99LITE) on page 598 for
> TNS/E programs on H06.21 and later H-series RVUsor for J06.10 and
> later
> J-series RVUs, see c99 Full Support on page 602 for TNS/E and TNS/X
> native applications for H06.21 and later H-series RVUs, J06.10 and
> later
> J-series RVUs, and L-series RVUs,and see c11 Support for TNS/X
> Compilers conform to the 2011 ANSI C Standard starting from
> L16.0548
> Writing Portable Programs RVU. c11 supports compilation of C and
> C++
> programs). For a complete description of ANSI C, see ANSI X3.159
>
> however, I'm reminded that strings.h is only standardized to include the
> legacy BSD stuff - described here:
>
> https://pubs.opengroup.org/onlinepubs/009695399/basedefs/strings.h.html
>
> while picsmap is using several functions from the modern version string.h:
>
> https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/string.h.html
>
> strchr
> strcmp
> strcpy
> strlen
> strncmp
> strstr
>
> (strstr vs index used to be something I took into account in ports)
On this platform, strcasecmp is declared in strings.h instead of string.h.
That's why it's needed in test/picsmap.c.
Regards,
Randall