This adds FreeBSD-derived implementations to replace the glibc-derived standalone implementation shipped in the catgets package. An integrated implementation avoids the need to remember to install libcatgets-devel and modify the build to link with -lcatgets.
The easiest way to test this is: 1) Uninstall catgets and libcatgets-devel. 2) Install Cygwin rebuilt with this patch, particularly the DLL, nl_types.h, libcygwin.a, and gencat.exe 3) Rebuild tcsh. The following should be seen during configure: checking for gencat... /usr/bin/gencat [snip] checking for library containing catgets... none required And the resulting binary should show catclose/catgets/catopen imports from cygwin1.dll, not cyggetcats1.dll. 4) Install this tcsh, then run an invalid command, e.g.: $ LANG=fr_FR tcsh -c '()' Commande nulle incorrecte. Yaakov Selkowitz (2): cygwin: add catopen, catgets, catclose cygwin: add gencat tool winsup/cygwin/Makefile.in | 1 + winsup/cygwin/common.din | 3 + winsup/cygwin/include/cygwin/version.h | 3 +- winsup/cygwin/include/nl_types.h | 94 +++++ winsup/cygwin/libc/msgcat.c | 478 ++++++++++++++++++++++ winsup/utils/Makefile.in | 2 +- winsup/utils/gencat.c | 696 +++++++++++++++++++++++++++++++++ 7 files changed, 1275 insertions(+), 2 deletions(-) create mode 100644 winsup/cygwin/include/nl_types.h create mode 100644 winsup/cygwin/libc/msgcat.c create mode 100644 winsup/utils/gencat.c -- 2.15.1
