Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3C20269D.2090106@ece.gatech.edu> Date: Wed, 19 Dec 2001 00:33:17 -0500 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2 X-Accept-Language: en-us MIME-Version: 1.0 To: Linus Tolke Y CC: cygwin AT cygwin DOT com Subject: Re: Confused by gettext on cygwin References: <200107042249 DOT AAA26080 AT sandra DOT lysator DOT liu DOT se> <3B43BE40 DOT 8040001 AT ece DOT gatech DOT edu> <200107071535 DOT RAA22050 AT sandra DOT lysator DOT liu DOT se> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit AANNNDDD this one should be fixed now, too. --Chuck Linus Tolke Y wrote: >>Date: Wed, 04 Jul 2001 21:09:20 -0400 >>From: "Charles S. Wilson" >> > ... > >>Well, the gettext.h created by gettextize is made as a copy of a special >>gettext.h stored in /usr/share/gettext/intl/. During my build process >>for cygwin, the /usr/share/gettext/intl/gettext.h file is created >>identical to the system gettext.h in /usr/include. So, if the system >>file is different from some baseline, then the created file will also be >>different. >> >>It was necessary to modify gettext.h on cygwin to support using the >>braindead windows shared library format (DLLs). Functions and variables >>must be declared with special compile-time directives >>(__declspec(dllimport), __declspec(dllexport)) -- thus, the headers must >>be modified. >> >>Now, I have corresponded with the "real" gettext people about this. >>Their response is that these changes are just too damn ugly to >>incorporate -- and there MAY be upcoming changes to GCC and binutils so >>that cygwin no longer requires this uglification. Therefore, those guys >>are taking a wait-and-see approach. We all hope that the uglification >>goes away at some point. >> >> >>>I thought that the purpose of the created files were to generate them >>>exactly in the same way independantly of what system they were >>>generated on. The are probably not compiled on that system anyway. >>> >>>What is it about gettext that I have missunderstood? >>> >> >>Nothing. >> >>If you merely want to gettextize a package that will be built on another >>platform, or will be built on cygwin ALWAYS using the >>--with-included-gettext (that is, you'll never use the cygwin system >>libintl.a with your package), then just >> >>copy the "linux" or "official" gettext.h into /usr/share/gettext/intl on >>your cygwin system. In fact, that may not be a bad idea in ALL cases, >>because if somebody builds your package on cygwin and DOESN't specify >>--with-included-gettext, then the build will use the >>/usr/include/gettext.h and /usr/lib/libintl.a -- so no problems: your >>"official" gettextized gettext.h won't even get used in that case. >> >>Hmmm...perhaps the cygwin gettext package should put the official >>gettext.h into /usr/share/gettext/intl, and only use the modified, >>DLL-supporting gettext.h for /usr/include... >> > > I think your conclusion is appealing. As I see it the gettext package > should be regarded as a package with two different purposes. > > 1. The purpose of providing the gettext library and directories on a > system where it is installed. > 2. The purpose of providing every package internationalized with GNU > gettext with the necessary files consistantly and identically. > > My observation is that in this case is that the purpose 1 on a > cygwin-system has infected the purpose 2. > > I think the best thing would be if the gettextize command include > non-modified files i.e. directly from the gettext distribution > (exactly as the gettextize command would do on all other systems). > > If there are problems getting the purpose 1 right on a system, like > the special DLL-requirements you are talking about, then that would > perhaps complicated purpose 1 but that should never modify purpose 2. > > /Linus > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Bug reporting: http://cygwin.com/bugs.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/