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 -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
