Mailing-List: contact cygwin-announce-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner AT cygwin DOT com Delivered-To: mailing list cygwin-announce AT cygwin DOT com Delivered-To: moderator for cygwin-announce AT cygwin DOT com Message-ID: <3D17DDF5.6020209@ece.gatech.edu> Date: Mon, 24 Jun 2002 23:05:25 -0400 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: cygwin-announce AT cygwin DOT com Subject: Updated: gettext-0.11.2-1; New: gettext-devel-0.11.2-1, libintl2-0.11.2-1 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit gettext is the GNU package which provides 'national language support' for other programs. It includes a number of utility programs. CHANGES (since gettext-0.10.40-1) o updated to gettext-0.11.2 release o now depends on the new libiconv package, which adds increased functionality o also uses the new expat package o Fully libtool-driven build, using libtool-devel o gettext split into three packages: gettext-0.11.2-2 gettext-devel-0.11.2-2 libintl2-0.11.2-2 Since the dll has been version-bumped, it is in 'libintl2' instead of 'libintl1'. Also, on the recommendation of the upstream maintainer of gettext, the tools and utilities have been split into 'core' (in the 'gettext' package) and 'development' (in the 'gettext-devel' package). o See NOTES section below for more information on this port INSTALLATION: To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Save it and run setup, answer the questions and pick up 'gettext' from the 'Libs' category. You may need to click the "Full" button if it doesn't show up. You might want to make sure you update/install ALL of the following three packages: gettext-0.11.2-2 gettext-devel-0.11.2-2 libintl2-0.11.2-2 Note that downloads from sources.redhat.com (aka cygwin.com) aren't allowed due to bandwidth limitations. This means that you will need to find a mirror which has this update. In the US, ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin/ is a reliable high bandwidth connection. In Japan, ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/ is already updated. In DK, http://mirrors.sunsite.dk/cygwin/ is usually up-to-date. If one of the above doesn't have the latest version of this package you can either wait for the site to be updated or find another mirror. Please send questions or comments to the Cygwin mailing list at: cygwin AT sources DOT redhat DOT com . If you want to subscribe go to: http://cygwin.com/lists.html I would appreciate if you would use this mailing list rather than emailing me directly. This includes ideas and comments about the setup utility or Cygwin in general. If you want to make a point or ask a question the Cygwin mailing list is the appropriate place. *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO *** To unsubscribe to the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format: cygwin-announce-unsubscribe-YOU=YOURDOMAIN DOT COM AT cygwin DOT com NOTES: 0.11.2-2: --------------------- Rebuilt against the new libiconv package, as well as expat. Updated the requires: lines in the hints. 0.11.2-1: --------------------- Between 0.10.40 and 0.11.2, there were massive changes in the gettext package. Much of the code for the development tools was pulled out and placed into two additional libraries, libgettextlib and libgettextsrc. These are NOT for use by outside programs, but only by the gettext tools themselves -- so the header files, static lib, and import lib are NOT included in the binary package (this ommission is actually *recommended* by Bruno in the PACKAGING file). However, in general these two support libraries are built as shared libraries (DLLs), so the cyggettextlib-0.11.2.dll and cyggettextsrc-0.11.2.dll files are installed. Also, these libraries are NOT versioned according to the normal libtool method (--version-info x:y:z), but instead are versioned using the --release 0.11.2 method. That means that every new release of gettext will ship new versions (0.11.3, etc) of these two libs -- and since no package other than gettext itself uses them, we don't need to worry about keeping old versions around for compatibility and stuff. So, I've made all of the necessary changes to enable these two libs to be built as DLLs -- which include: 1) use the functional, not macro, form of po_gram_error and po_gram_error_at_line. Otherwise, our client programs msg*.exe will attempt, via the macro, to directly access fields of the imported structure variable gram_pos. changes: src/po-lex.h src/po-lex.c 2) provide an accessor function for the imported array-of-structures variable plural_table[] (otherwise our client programs will attempt to directly access elements of the table -- a no-no for auto-import). changes: src/plural-table.h src/plural-table.c src/msgfmt.c src/msginit.c 3) pull out the getopt functions from these libraries, and put them into their own libgetopt.a convenience library. This is because cygwin itself provides the getopt functions, and (a) if a function is listed in TWO import libs, ld reports an error. /usr/lib/libcygwin.a and libgettextlib.dll.a would both contain the getopt symbols, so we remove them. (b) BUT, we CAN'T use the version provided by cygwin!! Cygwin's version hardcodes the POSIXLY_CORRECT variable, which means we cannot reorder options and arguments -- but gettext's tests rely on reordering. (c) We CAN override functions that might be imported from a dll via an import lib by using an explicit STATIC lib. So, getopt.c getopt.h getopt1.c all go into the convenience lib libgetopt.la instead of the regular lib libgettextlib.la. (Recall that convenience libs are always built statically). Add libgetopt.la as a dependence for all exe's. changes: src/Makefile.am lib/Makefile.am tests/Makefile.am However, as it turned out, this was all for naught. Because libtool still has problems on cygwin when relinking DLL's for installation, I finally just forced libgettextsrc.la and libgettextlib.la to be built statically as convenience libs themselves. The above changes WERE enough to build working exe's and dll's that passed most of the selftests -- but 'make install' wouldn't work because libtool kept trying to relink the DLLs against /usr/lib, not $(DESTDIR)/usr/lib. It's a libtool problem, not a gettext problem. So, ultimately, we don't ship or build cyggettext*.dll. This means that the msg*.exe and xgettext.exe programs are slightly bigger than necessary, but only by about 300k or so, total. Also, the gettext package was split into three packages instead of just two: 'gettext' contains the core utilities 'libintl2' (yes, the DLL version got bumped) contains just the single cygintl-2.dll file -- and even if we DID build cyggettext*.dll, they wouldn't go in the libintl package. 'gettext-devel' contains development utilities, autotool macros, additional documentation, etc. This split was recommended by Bruno in the PACKAGING file.