On 05/17/2013 02:18 PM, Siarzhuk Zharski wrote: [...]
a) Are there any reasons to install libtermcap.a with the Development optional package? I think anyone going to develop or build ncurses-based applications on Haiku should be forced to use normal ncurses installation. And having our restricted libtermcap.a may confuse configure scripts for 3rd-party aoftware.
b) Currently we have ncurses without wide characters support that can produce problems in hypothetical case of localizing corresponding tools.
AFAI understand it this has not so much to do with localization as with support for multi-byte character encodings (like UTF-8). So it is definitely something we want to enable.
May be we should activate wide characters support for the stock ncurses now?
I already did that in the PM branch (I also updated to 5.9). Note that enabling wchar support actually results in a set of libraries with a 'w' suffix and a different interface. Since there are programs that require the non-wchar libraries one has to build both.
The third step was to add terminfo database distribution support for every type of Haiku builds. It was a bit tricky because ncurses distribution model requires issuing so known terminfo compiler (tic) to compile the database directly on the target system using terminfo.src as source. Keeping in mind all cases of cross-compiling I have seen following variants: a) Use the ncurses' terminfo compiler tool (tic) provided by build host system. Note that tic is heavily dependent on libncurses functionality so full-blown ncurses installation will become pre-requisite for all host build systems. For Haiku that means creating ncurses optional package, outsorcing the stock version of ncurses and modifying build system correspondently. Sooner or later it will be implemented in this way, but at the moment I had not enough time resources for this variant :-(
IMO this is the only reasonable option. In the PM branch ncurses already is a mandatory (external) package. We haven't removed the ncurses sources from the Haiku source tree yet and it is still used for the tools you listed above, but at least the Haiku package doesn't include the ncurses header or libraries anymore. If you want, feel free to continue your termcap/ncurses work in the PM branch. It might save you some work, since the branch is already a bit further in this respect. The drawbacks would be that there's no promise when exactly the branch will be merged back into the master and it's still gcc 2 only.