[cmake-developers] HP-UX Curses questions
Ådne Hovda
ahovda at openit.com
Tue Nov 18 06:16:22 EST 2014
On 17.11.2014 16:36, Brad King wrote:
>> /* get around odd bug on aCC and itanium */
>> -#if defined(__hpux) && defined(__ia64)
>> +#if defined(__hpux)
>> #define getmaxx __getmaxx
>> #define getmaxy __getmaxy
>> #endif
>
> What is the purpose of this part of the change? Should this block
> be conditional on use of cur_colr?
First off, I'm by no means an expert on curses, I'm just trying to
resolve the issues with compiling a 64-bit HPPA package on HP-UX 11.11,
which fails due to the cur_colr library not being available in 64-bit.
X/Open Curses does not specify the getmax[xy]() functions/macros, only
getmaxyx(), so the Xcurses lib on HP-UX does not export those functions
and AFAIKT in some other implementations these functions are simply
header macros. cur_colr happens to provide getmax[xy] as functions.
It's really difficult to get the complete picture since there are so
many iterations and implementations, especially on old UNIX machines,
but from checking the ones I have access to, both AIX 5.1, Solaris 8,
HP-UX 11.11, 11.23, RHEL 3 and onwards all have getmaxyx() (with
_XOPEN_SOURCE_EXTENDED). So for CMake's part - of course depending on
how old systems you want to support - the better solution would probably
be to just use getmaxyx() everywhere in cmForm as is already the case in
ccmake.
I'm using GCC on all platforms except Windows, so I have not tested my
changes with aCC, Xlc and the Sun compiler, but ccmake builds fine on
sol8sparc, aix51, hp-ux11.11pa, hp-ux11.23ia and Linux in both 32 and 64
bit mode. Also, I don't have a Mac to test on.
I've pushed my changes to
https://github.com/aadnehovda/CMake/tree/curses-hpux-fix and can create
a pull request if you think this is okay.
Best regards,
Ådne Hovda
More information about the cmake-developers
mailing list