diff options
72 files changed, 4204 insertions, 14 deletions
@@ -1,3 +1,10 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * README.woe32: New file. + * Makefile.am (EXTRA_DIST): Add them. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/Makefile.am b/Makefile.am index 8865d49..417bbe2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -46,6 +46,11 @@ EXTRA_DIST += djgpp/COPYING.DJ djgpp/Makefile.maint djgpp/README.DJ \ EXTRA_DIST += os2/README.OS2 os2/Makefile os2/backward.def os2/configure.awk +# Woe32 support. + +EXTRA_DIST += README.woe32 Makefile.msvc + + # Documentation tag not known to automake. html: diff --git a/Makefile.msvc b/Makefile.msvc new file mode 100644 index 0000000..c5513e0 --- /dev/null +++ b/Makefile.msvc @@ -0,0 +1,154 @@ +# -*- Makefile -*- for gettext + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# Note that nmake command line flags are automatically passed to subdirectory +# Makefiles. Therefore we don't need to pass them explicitly to subdirectory +# Makefiles, but the subdirectory Makefiles need to have the same defaults. +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +datadir = $(prefix)\share +localedir = $(datadir)\locale +pkgdatadir = $(datadir)\gettext +mandir = $(prefix)\man +docdir = $(prefix)\doc\gettext +emacsdir = $(datadir)\emacs +lispdir = $(emacsdir)\site-lisp + +# Programs used by "make": + +CC = cl +CXX = cl -TP + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc all + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc all + cd .. + +install : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc install + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc install + cd .. + +installdirs : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc installdirs + cd .. + +uninstall : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc uninstall + cd .. + +check : all force + cd gettext-runtime + $(MAKE) -f Makefile.msvc check + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc check + cd .. + +mostlyclean : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + +clean : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc clean + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc clean + cd .. + +distclean : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc distclean + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc distclean + cd .. + $(RM) config.status config.log config.cache Makefile + +maintainer-clean : force + cd gettext-runtime + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd gettext-tools + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + $(RM) config.status config.log config.cache Makefile + +force : diff --git a/README.woe32 b/README.woe32 new file mode 100644 index 0000000..08dbf89 --- /dev/null +++ b/README.woe32 @@ -0,0 +1,29 @@ +Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): + +- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. + +- Cannot build in a separate directory. + +- Build instructions: + + Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are + found in PATH. + + For shared library (DLL): + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD + + For static library: + + nmake -f Makefile.msvc + + If you want to build both the shared and static library, you have to + unpack the gettext sources twice in different directories. Don't mix + the two formats; you cannot use the libintl.h generated for the static + library together with the shared library or vice versa. + +- Installation: + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory + or + nmake -f Makefile.msvc install prefix=InstallBaseDirectory diff --git a/gettext-runtime/ChangeLog b/gettext-runtime/ChangeLog index 3021448..57a5d12 100644 --- a/gettext-runtime/ChangeLog +++ b/gettext-runtime/ChangeLog @@ -1,3 +1,13 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * README.woe32: New file. + * windows/dllexport.h: New file. + * windows/intl.rc: New file. + * Makefile.am (EXTRA_DIST): Add them and config.h.msvc. + (config.h.msvc, intl/libgnuintl.h.msvc-shared): New rules. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/gettext-runtime/Makefile.am b/gettext-runtime/Makefile.am index bc0b20a..a6abaec 100644 --- a/gettext-runtime/Makefile.am +++ b/gettext-runtime/Makefile.am @@ -46,3 +46,40 @@ ABOUT-NLS: $(srcdir)/doc/nls.texi $(srcdir)/doc/matrix.texi rm -f $(srcdir)/ABOUT-NLS \ && $(MAKEINFO) --output=$(srcdir)/ABOUT-NLS --no-header \ -I $(srcdir)/doc --no-validate nls.texi + + +# Woe32 support. + +config.h.msvc: config.h.in + sed -e 's/#undef ENABLE_NLS$$/#define ENABLE_NLS 1/' \ + -e 's/#undef ENABLE_RELOCATABLE$$/#define ENABLE_RELOCATABLE 1/' \ + -e 's/#undef HAVE_ALLOCA$$/#define HAVE_ALLOCA 1/' \ + -e 's/#undef HAVE_ENVIRON_DECL$$/#define HAVE_ENVIRON_DECL 1/' \ + -e 's/#undef HAVE_ERRNO_DECL$$/#define HAVE_ERRNO_DECL 1/' \ + -e 's/#undef HAVE_GETCWD$$/#define HAVE_GETCWD 1/' \ + -e 's/#undef HAVE_ICONV$$/#define HAVE_ICONV 1/' \ + -e 's/#undef HAVE_LIMITS_H$$/#define HAVE_LIMITS_H 1/' \ + -e 's/#undef HAVE_LOCALE_H$$/#define HAVE_LOCALE_H 1/' \ + -e 's/#undef HAVE_MEMMOVE$$/#define HAVE_MEMMOVE 1/' \ + -e 's/#undef HAVE_PUTENV$$/#define HAVE_PUTENV 1/' \ + -e 's/#undef HAVE_SETLOCALE$$/#define HAVE_SETLOCALE 1/' \ + -e 's/#undef HAVE_STDDEF_H$$/#define HAVE_STDDEF_H 1/' \ + -e 's/#undef HAVE_STDLIB_H$$/#define HAVE_STDLIB_H 1/' \ + -e 's/#undef HAVE_STRDUP$$/#define HAVE_STRDUP 1/' \ + -e 's/#undef HAVE_STRERROR$$/#define HAVE_STRERROR 1/' \ + -e 's/#undef HAVE_STRING_H$$/#define HAVE_STRING_H 1/' \ + -e 's/#undef HAVE_STRTOUL$$/#define HAVE_STRTOUL 1/' \ + -e 's/#undef HAVE_SYS_STAT_H$$/#define HAVE_SYS_STAT_H 1/' \ + -e 's/#undef HAVE_SYS_TYPES_H$$/#define HAVE_SYS_TYPES_H 1/' \ + -e 's/#undef HAVE_VPRINTF$$/#define HAVE_VPRINTF 1/' \ + -e 's/#undef ICONV_CONST$$/#define ICONV_CONST const/' \ + -e 's/#undef STACK_DIRECTION$$/#define STACK_DIRECTION -1/' \ + -e 's/#undef STDC_HEADERS$$/#define STDC_HEADERS 1/' \ + -e 's/#undef uintmax_t$$/#define uintmax_t unsigned long/' \ + -e '/#undef INSTALLPREFIX$$/d' \ + < $< > $@ + +intl/libgnuintl.h.msvc-shared: intl/libgnuintl.h.in windows/dllexport.h + sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' -e '/#define _LIBINTL_H/r windows/dllexport.h' < $< > $@ + +EXTRA_DIST += README.woe32 Makefile.msvc config.h.msvc windows/dllexport.h windows/intl.rc diff --git a/gettext-runtime/Makefile.msvc b/gettext-runtime/Makefile.msvc new file mode 100644 index 0000000..7270431 --- /dev/null +++ b/gettext-runtime/Makefile.msvc @@ -0,0 +1,294 @@ +# -*- Makefile -*- for gettext-runtime + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# Note that nmake command line flags are automatically passed to subdirectory +# Makefiles. Therefore we don't need to pass them explicitly to subdirectory +# Makefiles, but the subdirectory Makefiles need to have the same defaults. +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +datadir = $(prefix)\share +localedir = $(datadir)\locale +mandir = $(prefix)\man +docdir = $(prefix)\doc\gettext + +# Programs used by "make": + +CC = cl +CXX = cl -TP + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : config.h force + cd doc + $(MAKE) -f Makefile.msvc all + cd .. + cd intl + $(MAKE) -f Makefile.msvc all + cd .. + cd lib + $(MAKE) -f Makefile.msvc all + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc all + cd .. + cd src + $(MAKE) -f Makefile.msvc all + cd .. + cd po + $(MAKE) -f Makefile.msvc all + cd .. + cd man + $(MAKE) -f Makefile.msvc all + cd .. + +config.h : config.h.msvc + -$(RM) config.h + $(LN) config.h.msvc config.h + +install : force + cd doc + $(MAKE) -f Makefile.msvc install + cd .. + cd intl + $(MAKE) -f Makefile.msvc install + cd .. + cd lib + $(MAKE) -f Makefile.msvc install + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc install + cd .. + cd src + $(MAKE) -f Makefile.msvc install + cd .. + cd po + $(MAKE) -f Makefile.msvc install + cd .. + cd man + $(MAKE) -f Makefile.msvc install + cd .. + +installdirs : force + cd doc + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd intl + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd lib + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd src + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd po + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd man + $(MAKE) -f Makefile.msvc installdirs + cd .. + +uninstall : force + cd doc + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd intl + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd lib + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd src + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd po + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd man + $(MAKE) -f Makefile.msvc uninstall + cd .. + +check : all force + cd doc + $(MAKE) -f Makefile.msvc check + cd .. + cd intl + $(MAKE) -f Makefile.msvc check + cd .. + cd lib + $(MAKE) -f Makefile.msvc check + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc check + cd .. + cd src + $(MAKE) -f Makefile.msvc check + cd .. + cd po + $(MAKE) -f Makefile.msvc check + cd .. + cd man + $(MAKE) -f Makefile.msvc check + cd .. + +mostlyclean : force + cd doc + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd intl + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd lib + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd src + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd po + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd man + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + $(RM) config.h + +clean : force + cd doc + $(MAKE) -f Makefile.msvc clean + cd .. + cd intl + $(MAKE) -f Makefile.msvc clean + cd .. + cd lib + $(MAKE) -f Makefile.msvc clean + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc clean + cd .. + cd src + $(MAKE) -f Makefile.msvc clean + cd .. + cd po + $(MAKE) -f Makefile.msvc clean + cd .. + cd man + $(MAKE) -f Makefile.msvc clean + cd .. + $(RM) config.h + +distclean : force + cd doc + $(MAKE) -f Makefile.msvc distclean + cd .. + cd intl + $(MAKE) -f Makefile.msvc distclean + cd .. + cd lib + $(MAKE) -f Makefile.msvc distclean + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc distclean + cd .. + cd src + $(MAKE) -f Makefile.msvc distclean + cd .. + cd po + $(MAKE) -f Makefile.msvc distclean + cd .. + cd man + $(MAKE) -f Makefile.msvc distclean + cd .. + $(RM) config.h + $(RM) config.status config.log config.cache Makefile + +maintainer-clean : force + cd doc + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd intl + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd lib + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd libasprintf + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd src + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd po + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd man + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + $(RM) config.h + $(RM) config.status config.log config.cache Makefile + +force : diff --git a/gettext-runtime/README.woe32 b/gettext-runtime/README.woe32 new file mode 100644 index 0000000..08dbf89 --- /dev/null +++ b/gettext-runtime/README.woe32 @@ -0,0 +1,29 @@ +Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): + +- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. + +- Cannot build in a separate directory. + +- Build instructions: + + Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are + found in PATH. + + For shared library (DLL): + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD + + For static library: + + nmake -f Makefile.msvc + + If you want to build both the shared and static library, you have to + unpack the gettext sources twice in different directories. Don't mix + the two formats; you cannot use the libintl.h generated for the static + library together with the shared library or vice versa. + +- Installation: + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory + or + nmake -f Makefile.msvc install prefix=InstallBaseDirectory diff --git a/gettext-runtime/doc/ChangeLog b/gettext-runtime/doc/ChangeLog index dcd3859..4a8d9eb 100644 --- a/gettext-runtime/doc/ChangeLog +++ b/gettext-runtime/doc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-22 Bruno Haible <bruno@clisp.org> * Makefile.am (ps, pdf): Remove rules, redundant with automake 1.7.2. diff --git a/gettext-runtime/doc/Makefile.am b/gettext-runtime/doc/Makefile.am index 1f411e3..adc2623 100644 --- a/gettext-runtime/doc/Makefile.am +++ b/gettext-runtime/doc/Makefile.am @@ -18,10 +18,16 @@ ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = 1.2 gnits +EXTRA_DIST = -EXTRA_DIST = nls.texi matrix.texi +EXTRA_DIST += nls.texi matrix.texi # Documentation tag not known to automake. html: + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-runtime/doc/Makefile.msvc b/gettext-runtime/doc/Makefile.msvc new file mode 100644 index 0000000..326e753 --- /dev/null +++ b/gettext-runtime/doc/Makefile.msvc @@ -0,0 +1,31 @@ +# -*- Makefile -*- for gettext-runtime/doc + +#### Start of system configuration section. #### + +RM = -del + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all + +installdirs : + +uninstall : + +check : + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + $(RM) Makefile + +maintainer-clean : distclean + +force : diff --git a/gettext-runtime/intl/ChangeLog b/gettext-runtime/intl/ChangeLog index 11fec9e..3a07585 100644 --- a/gettext-runtime/intl/ChangeLog +++ b/gettext-runtime/intl/ChangeLog @@ -1,3 +1,19 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * libgnuintl.h.in: Renamed from libgnuintl.h. + * Makefile.msvc: New file. + * README.woe32: New file. + * Makefile.in (HEADERS): Remove libgnuintl.h, add libgnuintl.h.in. + (DISTFILES.gettext): Add Makefile.msvc. + (DISTFILES.obsolete): Add libgnuintl.h. + (libgnuintl.h): New rule. + (libintl.h, $(OBJECTS)): Expect libgnuintl.h in builddir, not in + srcdir. + (mostlyclean): Also remove libgnuintl.h. + + * Makefile.in (loadmsgcat.$lo): Depend on hash-string.h. + 2003-02-28 Bruno Haible <bruno@clisp.org> * Makefile.in (localcharset.$lo): Depend on localcharset.h. diff --git a/gettext-runtime/intl/Makefile.in b/gettext-runtime/intl/Makefile.in index c618a60..57407e1 100644 --- a/gettext-runtime/intl/Makefile.in +++ b/gettext-runtime/intl/Makefile.in @@ -71,7 +71,7 @@ HEADERS = \ localcharset.h \ relocatable.h \ os2compat.h \ - libgnuintl.h + libgnuintl.h.in SOURCES = \ bindtextdom.c \ dcgettext.c \ @@ -123,9 +123,9 @@ DISTFILES.common = Makefile.in \ config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) DISTFILES.generated = plural.c DISTFILES.normal = VERSION -DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc +DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc Makefile.msvc DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ -COPYING.LIB-2 gettext.h libgettext.h plural-eval.c +COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h all: all-@USE_INCLUDED_LIBINTL@ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed @@ -219,8 +219,11 @@ ref-del.sed: $(srcdir)/ref-del.sin INCLUDES = -I.. -I. -I$(srcdir) -libintl.h: $(srcdir)/libgnuintl.h - cp $(srcdir)/libgnuintl.h libintl.h +libgnuintl.h: $(srcdir)/libgnuintl.h.in + cp $(srcdir)/libgnuintl.h.in libgnuintl.h + +libintl.h: libgnuintl.h + cp libgnuintl.h libintl.h charset.alias: $(srcdir)/config.charset $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ @@ -391,9 +394,9 @@ uninstall: info dvi ps pdf html: -$(OBJECTS): ../config.h $(srcdir)/libgnuintl.h +$(OBJECTS): ../config.h libgnuintl.h bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h -dcigettext.$lo: $(srcdir)/hash-string.h +dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h dcigettext.$lo: $(srcdir)/eval-plural.h @@ -418,7 +421,7 @@ ID: $(HEADERS) $(SOURCES) mostlyclean: rm -f *.a *.la *.o *.obj *.lo core core.* - rm -f libintl.h charset.alias ref-add.sed ref-del.sed + rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed rm -f -r .libs _libs clean: mostlyclean diff --git a/gettext-runtime/intl/Makefile.msvc b/gettext-runtime/intl/Makefile.msvc new file mode 100644 index 0000000..efe0b37 --- /dev/null +++ b/gettext-runtime/intl/Makefile.msvc @@ -0,0 +1,228 @@ +# -*- Makefile -*- for gettext-runtime/intl + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make": +srcdir = . + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +datadir = $(prefix)\share +localedir = $(datadir)\locale +aliaspath = + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(bindir)\" -DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate + +INCLUDES = -I.. + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = bindtextdom.obj dcgettext.obj dgettext.obj gettext.obj finddomain.obj loadmsgcat.obj localealias.obj textdomain.obj l10nflist.obj explodename.obj dcigettext.obj dcngettext.obj dngettext.obj ngettext.obj plural.obj plural-exp.obj localcharset.obj relocatable.obj localename.obj log.obj osdep.obj intl-compat.obj + +RESOURCES = intl.res + +all : intl.lib libintl.h + +libgnuintl.h : +!if !$(DLL) + $(LN) $(srcdir)\libgnuintl.h.in libgnuintl.h +!else + $(LN) $(srcdir)\libgnuintl.h.msvc-shared libgnuintl.h +!endif + +bindtextdom.obj : $(srcdir)\bindtextdom.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\bindtextdom.c + +dcgettext.obj : $(srcdir)\dcgettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\dcgettext.c + +dgettext.obj : $(srcdir)\dgettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\dgettext.c + +gettext.obj : $(srcdir)\gettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\gettext.c + +finddomain.obj : $(srcdir)\finddomain.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\finddomain.c + +loadmsgcat.obj : $(srcdir)\loadmsgcat.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h $(srcdir)\hash-string.h $(srcdir)\plural-exp.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\loadmsgcat.c + +localealias.obj : $(srcdir)\localealias.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h $(srcdir)\relocatable.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\localealias.c + +textdomain.obj : $(srcdir)\textdomain.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\textdomain.c + +l10nflist.obj : $(srcdir)\l10nflist.c libgnuintl.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\l10nflist.c + +explodename.obj : $(srcdir)\explodename.c libgnuintl.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\explodename.c + +dcigettext.obj : $(srcdir)\dcigettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h $(srcdir)\hash-string.h $(srcdir)\plural-exp.h $(srcdir)\eval-plural.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\dcigettext.c + +dcngettext.obj : $(srcdir)\dcngettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\dcngettext.c + +dngettext.obj : $(srcdir)\dngettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\dngettext.c + +ngettext.obj : $(srcdir)\ngettext.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\ngettext.c + +plural.obj : $(srcdir)\plural.c libgnuintl.h $(srcdir)\plural-exp.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\plural.c + +plural-exp.obj : $(srcdir)\plural-exp.c libgnuintl.h $(srcdir)\plural-exp.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\plural-exp.c + +localcharset.obj : $(srcdir)\localcharset.c libgnuintl.h $(srcdir)\localcharset.h $(srcdir)\relocatable.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\localcharset.c + +relocatable.obj : $(srcdir)\relocatable.c libgnuintl.h $(srcdir)\relocatable.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\relocatable.c + +localename.obj : $(srcdir)\localename.c libgnuintl.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\localename.c + +log.obj : $(srcdir)\log.c libgnuintl.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\log.c + +osdep.obj : $(srcdir)\osdep.c libgnuintl.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\osdep.c + +intl-compat.obj : $(srcdir)\intl-compat.c libgnuintl.h $(srcdir)\gettextP.h $(srcdir)\gmo.h $(srcdir)\loadinfo.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\intl-compat.c + +!if !$(DLL) + +intl.lib : $(OBJECTS) + -$(RM) intl.lib + $(AR) $(AR_FLAGS)intl.lib $(OBJECTS) + +!else + +# intl.dll and intl.lib are created together. +intl.lib : $(OBJECTS) $(RESOURCES) + $(CC) $(MFLAGS) -LD $(OBJECTS) $(RESOURCES) + +intl.res : $(srcdir)\..\windows\intl.rc + rc -Fo intl.res $(srcdir)\..\windows\intl.rc + +!endif + +libintl.h : libgnuintl.h + $(LN) libgnuintl.h libintl.h + +install : all force + -mkdir $(prefix) + -mkdir $(includedir) + $(INSTALL_DATA) libintl.h $(includedir)\libintl.h + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) + $(INSTALL_DATA) intl.dll $(bindir)\intl.dll +!endif + -mkdir $(libdir) + $(INSTALL_DATA) intl.lib $(libdir)\intl.lib + +installdirs : force + -mkdir $(prefix) + -mkdir $(includedir) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) +!endif + -mkdir $(libdir) + +uninstall : force + $(RM) $(includedir)\libintl.h +!if $(DLL) + $(RM) $(bindir)\intl.dll +!endif + $(RM) $(libdir)\intl.lib + +check : all + +mostlyclean : clean + +clean : force + $(RM) libgnuintl.h + $(RM) libintl.h + $(RM) *.obj + $(RM) *.lib + $(RM) *.exp + $(RM) *.dll + $(RM) intl.res + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : + diff --git a/gettext-runtime/intl/README.woe32 b/gettext-runtime/intl/README.woe32 new file mode 100644 index 0000000..675a743 --- /dev/null +++ b/gettext-runtime/intl/README.woe32 @@ -0,0 +1,39 @@ +Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): + +- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. + +- Cannot build in a separate directory. + +- Build instructions: + + Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are + found in PATH. + + For shared library (DLL): + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD + + For static library: + + nmake -f Makefile.msvc + + If you want to build both the shared and static library, you have to + unpack the gettext sources twice in different directories. Don't mix + the two formats; you cannot use the libintl.h generated for the static + library together with the shared library or vice versa. + +- Installation: + + Either: + + Copy libintl.h to your header file repository. + Copy intl.lib to your library repository. + If you built for shared library, also copy intl.dll into one of + the directories listed in your PATH, or into the directory containing + the executable which shall make use of libintl. + + Or: + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory + or + nmake -f Makefile.msvc install prefix=InstallBaseDirectory diff --git a/gettext-runtime/intl/libgnuintl.h.in b/gettext-runtime/intl/libgnuintl.h.in new file mode 100644 index 0000000..4123c44 --- /dev/null +++ b/gettext-runtime/intl/libgnuintl.h.in @@ -0,0 +1,308 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include <locale.h> + +/* The LC_MESSAGES locale category is the category used by the functions + gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. + On systems that don't define it, use an arbitrary value instead. + On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) + then includes <libintl.h> (i.e. this file!) and then only defines + LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES + in this case. */ +#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) +# define LC_MESSAGES 1729 +#endif + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Provide information about the supported file formats. Returns the + maximum minor revision number supported for a given major revision. */ +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ + ((major) == 0 ? 1 : -1) + +/* Resolve a platform specific conflict on DJGPP. GNU gettext takes + precedence over _conio_gettext. */ +#ifdef __DJGPP__ +# undef gettext +#endif + +/* Use _INTL_PARAMS, not PARAMS, in order to avoid clashes with identifiers + used by programs. Similarly, test __PROTOTYPES, not PROTOTYPES. */ +#ifndef _INTL_PARAMS +# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES +# define _INTL_PARAMS(args) args +# else +# define _INTL_PARAMS(args) () +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/* We redirect the functions to those prefixed with "libintl_". This is + necessary, because some systems define gettext/textdomain/... in the C + library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). + If we used the unprefixed names, there would be cases where the + definition in the C library would override the one in the libintl.so + shared library. Recall that on ELF systems, the symbols are looked + up in the following order: + 1. in the executable, + 2. in the shared libraries specified on the link command line, in order, + 3. in the dependencies of the shared libraries specified on the link + command line, + 4. in the dlopen()ed shared libraries, in the order in which they were + dlopen()ed. + The definition in the C library would override the one in libintl.so if + either + * -lc is given on the link command line and -lintl isn't, or + * -lc is given on the link command line before -lintl, or + * libintl.so is a dependency of a dlopen()ed shared library but not + linked to the executable at link time. + Since Solaris gettext() behaves differently than GNU gettext(), this + would be unacceptable. + + The redirection happens by default through macros in C, so that &gettext + is independent of the compilation unit, but through inline functions in + C++, in order not to interfere with the name mangling of class fields or + class methods called 'gettext'. */ + +/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. + If he doesn't, we choose the method. A third possible method is + _INTL_REDIRECT_ASM, supported only by GCC. */ +#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) +# if __GNUC__ >= 2 && !defined __APPLE_CC__ && (defined __STDC__ || defined __cplusplus) +# define _INTL_REDIRECT_ASM +# else +# ifdef __cplusplus +# define _INTL_REDIRECT_INLINE +# else +# define _INTL_REDIRECT_MACROS +# endif +# endif +#endif +/* Auxiliary macros. */ +#ifdef _INTL_REDIRECT_ASM +# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) +# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring +# define _INTL_STRINGIFY(prefix) #prefix +#else +# define _INTL_ASM(cname) +#endif + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_gettext (const char *__msgid); +static inline char *gettext (const char *__msgid) +{ + return libintl_gettext (__msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define gettext libintl_gettext +#endif +extern char *gettext _INTL_PARAMS ((const char *__msgid)) + _INTL_ASM (libintl_gettext); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dgettext (const char *__domainname, const char *__msgid); +static inline char *dgettext (const char *__domainname, const char *__msgid) +{ + return libintl_dgettext (__domainname, __msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dgettext libintl_dgettext +#endif +extern char *dgettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid)) + _INTL_ASM (libintl_dgettext); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, + int __category); +static inline char *dcgettext (const char *__domainname, const char *__msgid, + int __category) +{ + return libintl_dcgettext (__domainname, __msgid, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcgettext libintl_dcgettext +#endif +extern char *dcgettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid, + int __category)) + _INTL_ASM (libintl_dcgettext); +#endif + + +/* Similar to `gettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n); +static inline char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) +{ + return libintl_ngettext (__msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define ngettext libintl_ngettext +#endif +extern char *ngettext _INTL_PARAMS ((const char *__msgid1, + const char *__msgid2, + unsigned long int __n)) + _INTL_ASM (libintl_ngettext); +#endif + +/* Similar to `dgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n); +static inline char *dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) +{ + return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dngettext libintl_dngettext +#endif +extern char *dngettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid1, + const char *__msgid2, + unsigned long int __n)) + _INTL_ASM (libintl_dngettext); +#endif + +/* Similar to `dcgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category); +static inline char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) +{ + return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcngettext libintl_dcngettext +#endif +extern char *dcngettext _INTL_PARAMS ((const char *__domainname, + const char *__msgid1, + const char *__msgid2, + unsigned long int __n, + int __category)) + _INTL_ASM (libintl_dcngettext); +#endif + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_textdomain (const char *__domainname); +static inline char *textdomain (const char *__domainname) +{ + return libintl_textdomain (__domainname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define textdomain libintl_textdomain +#endif +extern char *textdomain _INTL_PARAMS ((const char *__domainname)) + _INTL_ASM (libintl_textdomain); +#endif + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bindtextdomain (const char *__domainname, + const char *__dirname); +static inline char *bindtextdomain (const char *__domainname, + const char *__dirname) +{ + return libintl_bindtextdomain (__domainname, __dirname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bindtextdomain libintl_bindtextdomain +#endif +extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname, + const char *__dirname)) + _INTL_ASM (libintl_bindtextdomain); +#endif + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bind_textdomain_codeset (const char *__domainname, + const char *__codeset); +static inline char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) +{ + return libintl_bind_textdomain_codeset (__domainname, __codeset); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bind_textdomain_codeset libintl_bind_textdomain_codeset +#endif +extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname, + const char *__codeset)) + _INTL_ASM (libintl_bind_textdomain_codeset); +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +#define libintl_set_relocation_prefix libintl_set_relocation_prefix +extern void libintl_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + +#endif /* libintl.h */ diff --git a/gettext-runtime/lib/ChangeLog b/gettext-runtime/lib/ChangeLog index 621a763..16ea1d1 100644 --- a/gettext-runtime/lib/ChangeLog +++ b/gettext-runtime/lib/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-03-05 Bruno Haible <bruno@clisp.org> * Makefile.am (stdbool.h, alloca.h): All objects depend on them. diff --git a/gettext-runtime/lib/Makefile.am b/gettext-runtime/lib/Makefile.am index a7867cf..320315c 100644 --- a/gettext-runtime/lib/Makefile.am +++ b/gettext-runtime/lib/Makefile.am @@ -82,3 +82,8 @@ alloca.h: ../../gettext-tools/lib/alloca_.h cp $(srcdir)/../../gettext-tools/lib/alloca_.h alloca.h MOSTLYCLEANFILES += alloca.h # <<< gnulib module alloca. + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-runtime/lib/Makefile.msvc b/gettext-runtime/lib/Makefile.msvc new file mode 100644 index 0000000..5ed6da5 --- /dev/null +++ b/gettext-runtime/lib/Makefile.msvc @@ -0,0 +1,98 @@ +# -*- Makefile -*- for gettext-runtime/lib + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +MFLAGS= +!endif + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) + +INCLUDES = + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = basename.obj error.obj getopt.obj getopt1.obj progname.obj relocatable.obj xmalloc.obj xstrdup.obj + +all : grt.lib + +basename.obj : ..\..\gettext-tools\lib\basename.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\basename.c + +error.obj : ..\..\gettext-tools\lib\error.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\error.c + +getopt.obj : ..\..\gettext-tools\lib\getopt.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\getopt.c + +getopt1.obj : ..\..\gettext-tools\lib\getopt1.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\getopt1.c + +progname.obj : ..\..\gettext-tools\lib\progname.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\progname.c + +relocatable.obj : ..\..\gettext-tools\lib\relocatable.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\relocatable.c + +xmalloc.obj : ..\..\gettext-tools\lib\xmalloc.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\xmalloc.c + +xstrdup.obj : ..\..\gettext-tools\lib\xstrdup.c + $(CC) $(INCLUDES) $(CFLAGS) -c ..\..\gettext-tools\lib\xstrdup.c + +grt.lib : $(OBJECTS) + -$(RM) grt.lib + $(AR) $(AR_FLAGS)grt.lib $(OBJECTS) + +install : all + +installdirs : + +uninstall : + +check : + +mostlyclean : clean + +clean : force + $(RM) *.obj + $(RM) *.lib + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-runtime/libasprintf/ChangeLog b/gettext-runtime/libasprintf/ChangeLog index 3bb7b60..a1643df 100644 --- a/gettext-runtime/libasprintf/ChangeLog +++ b/gettext-runtime/libasprintf/ChangeLog @@ -1,3 +1,16 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * autosprintf.h.in: Renamed from autosprintf.h. + * Makefile.msvc: New file. + * README.woe32: New file. + * windows/dllexport.h: New file. + * windows/asprintf.rc: New file. + * Makefile.am (EXTRA_DIST): Add them and config.h.msvc. + (autosprintf.h): New rule. + (MOSTLYCLEANFILES): Add autosprintf.h. + (config.h.msvc, autosprintf.h.msvc-shared): New rules. + 2003-02-22 Bruno Haible <bruno@clisp.org> * autosprintf.texi: Add comment about indices. diff --git a/gettext-runtime/libasprintf/Makefile.am b/gettext-runtime/libasprintf/Makefile.am index 9706deb..c49b0fe 100644 --- a/gettext-runtime/libasprintf/Makefile.am +++ b/gettext-runtime/libasprintf/Makefile.am @@ -28,6 +28,11 @@ MOSTLYCLEANFILES = include_HEADERS = autosprintf.h +all-local $(libasprintf_la_OBJECTS): autosprintf.h +autosprintf.h: autosprintf.h.in + cp $(srcdir)/autosprintf.h.in autosprintf.h +MOSTLYCLEANFILES += autosprintf.h + # Library code. @@ -168,3 +173,22 @@ uninstall-html: $(RM) $(DESTDIR)$(htmldir)/autosprintf.html EXTRA_DIST += texi2html autosprintf.html + + +# Woe32 support. + +config.h.msvc: config.h.in + (sed -e 's/#undef HAVE_ALLOCA$$/#define HAVE_ALLOCA 1/' \ + -e 's/#undef HAVE_LONG_DOUBLE$$/#define HAVE_LONG_DOUBLE 1/' \ + -e 's/#undef HAVE_PTRDIFF_T$$/#define HAVE_PTRDIFF_T 1/' \ + -e 's/#undef HAVE_SNPRINTF$$/#define HAVE_SNPRINTF 1/' \ + -e 's/#undef HAVE_STDLIB_H$$/#define HAVE_STDLIB_H 1/' \ + -e 's/#undef HAVE_STRING_H$$/#define HAVE_STRING_H 1/' \ + -e 's/#undef HAVE_WCHAR_T$$/#define HAVE_WCHAR_T 1/' \ + -e 's/#undef HAVE_WINT_T$$/#define HAVE_WINT_T 1/' \ + < $<; echo; echo '#define snprintf _snprintf') > $@ + +autosprintf.h.msvc-shared: autosprintf.h.in windows/dllexport.h + sed -e 's/extern \([^"]\)/extern LIBASPRINTF_DLL_EXPORTED \1/' -e '/#define _AUTOSPRINTF_H/r windows/dllexport.h' < $< > $@ + +EXTRA_DIST += README.woe32 Makefile.msvc config.h.msvc windows/dllexport.h windows/asprintf.rc diff --git a/gettext-runtime/libasprintf/Makefile.msvc b/gettext-runtime/libasprintf/Makefile.msvc new file mode 100644 index 0000000..ea8f30b --- /dev/null +++ b/gettext-runtime/libasprintf/Makefile.msvc @@ -0,0 +1,181 @@ +# -*- Makefile -*- for gettext-runtime/libasprintf + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# Note that nmake command line flags are automatically passed to subdirectory +# Makefiles. Therefore we don't need to pass them explicitly to subdirectory +# Makefiles, but the subdirectory Makefiles need to have the same defaults. +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +# For this subpackage only. +sub_docdir = $(prefix)\doc\libasprintf + +# Programs used by "make": + +CC = cl +CXX = cl -TP + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +# -DBUILDING_LIBASPRINTF: Change expansion of LIBASPRINTF_DLL_EXPORTED macro. +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF +CXXFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF + +INCLUDES = -I. + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = lib-asprintf.obj autosprintf.obj + +RESOURCES = asprintf.res + +all : autosprintf.h asprintf.lib + +autosprintf.h : +!if !$(DLL) + $(LN) autosprintf.h.in autosprintf.h +!else + $(LN) autosprintf.h.msvc-shared autosprintf.h +!endif + +config.h : config.h.msvc + -$(RM) config.h + $(LN) config.h.msvc config.h + +alloca.h : alloca_.h + -$(RM) alloca.h + $(LN) alloca_.h alloca.h + +lib-asprintf.obj : lib-asprintf.c config.h printf-args.h printf-args.c printf-parse.h printf-parse.c alloca.h vasnprintf.h vasnprintf.c asnprintf.c vasprintf.h vasprintf.c asprintf.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c lib-asprintf.c + +autosprintf.obj : autosprintf.cc autosprintf.h config.h lib-asprintf.h + $(CXX) $(INCLUDES) $(CXXFLAGS) $(PICFLAGS) -c autosprintf.cc + +!if !$(DLL) + +asprintf.lib : $(OBJECTS) + -$(RM) asprintf.lib + $(AR) $(AR_FLAGS)asprintf.lib $(OBJECTS) + +!else + +# asprintf.dll and asprintf.lib are created together. +asprintf.lib : $(OBJECTS) $(RESOURCES) + $(CC) $(MFLAGS) -LD $(OBJECTS) $(RESOURCES) -Feasprintf.dll + +asprintf.res : windows/asprintf.rc + rc -Fo asprintf.res windows/asprintf.rc + +!endif + +install : all force + -mkdir $(prefix) + -mkdir $(includedir) + $(INSTALL_DATA) autosprintf.h $(includedir)\autosprintf.h + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) + $(INSTALL_DATA) asprintf.dll $(bindir)\asprintf.dll +!endif + -mkdir $(libdir) + $(INSTALL_DATA) asprintf.lib $(libdir)\asprintf.lib + -mkdir $(prefix)\doc + -mkdir $(sub_docdir) + $(INSTALL_DATA) doc\autosprintf.html $(sub_docdir)\autosprintf.html + +installdirs : force + -mkdir $(prefix) + -mkdir $(includedir) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) +!endif + -mkdir $(libdir) + -mkdir $(prefix)\doc + -mkdir $(sub_docdir) + +uninstall : force + $(RM) $(includedir)\autosprintf.h +!if $(DLL) + $(RM) $(bindir)\asprintf.dll +!endif + $(RM) $(libdir)\asprintf.lib + $(RM) $(sub_docdir)\autosprintf.html + +check : all + +mostlyclean : clean + +clean : force + $(RM) autosprintf.h + $(RM) config.h + $(RM) alloca.h + $(RM) *.obj + $(RM) *.lib + $(RM) *.exp + $(RM) *.dll + $(RM) asprintf.res + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-runtime/libasprintf/README.woe32 b/gettext-runtime/libasprintf/README.woe32 new file mode 100644 index 0000000..83a161f --- /dev/null +++ b/gettext-runtime/libasprintf/README.woe32 @@ -0,0 +1,39 @@ +Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): + +- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. + +- Cannot build in a separate directory. + +- Build instructions: + + Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are + found in PATH. + + For shared library (DLL): + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD + + For static library: + + nmake -f Makefile.msvc + + If you want to build both the shared and static library, you have to + unpack the gettext sources twice in different directories. Don't mix + the two formats; you cannot use the autosprintf.h generated for the static + library together with the shared library or vice versa. + +- Installation: + + Either: + + Copy autosprintf.h to your header file repository. + Copy asprintf.lib to your library repository. + If you built for shared library, also copy asprintf.dll into one of + the directories listed in your PATH, or into the directory containing + the executable which shall make use of autosprintf. + + Or: + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory + or + nmake -f Makefile.msvc install prefix=InstallBaseDirectory diff --git a/gettext-runtime/libasprintf/autosprintf.h.in b/gettext-runtime/libasprintf/autosprintf.h.in new file mode 100644 index 0000000..ac21ff2 --- /dev/null +++ b/gettext-runtime/libasprintf/autosprintf.h.in @@ -0,0 +1,66 @@ +/* Class autosprintf - formatted output to an ostream. + Copyright (C) 2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _AUTOSPRINTF_H +#define _AUTOSPRINTF_H + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#include <string> +#include <iostream> + +namespace gnu +{ + /* A temporary object, usually allocated on the stack, representing + the result of an asprintf() call. */ + class autosprintf + { + public: + /* Constructor: takes a format string and the printf arguments. */ + autosprintf (const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + /* Copy constructor. */ + autosprintf (const autosprintf& src); + /* Destructor: frees the temporarily allocated string. */ + ~autosprintf (); + /* Conversion to string. */ + operator char * () const; + operator std::string () const; + /* Output to an ostream. */ + friend inline std::ostream& operator<< (std::ostream& stream, const autosprintf& tmp) + { + stream << (tmp.str ? tmp.str : "(error in autosprintf)"); + return stream; + } + private: + char *str; + }; +} + +#endif /* _AUTOSPRINTF_H */ diff --git a/gettext-runtime/libasprintf/windows/asprintf.rc b/gettext-runtime/libasprintf/windows/asprintf.rc new file mode 100644 index 0000000..a4337fe --- /dev/null +++ b/gettext-runtime/libasprintf/windows/asprintf.rc @@ -0,0 +1,37 @@ +/* Resources for asprintf.dll */ +/* There are 4 occurrences of the version number in this file. */ + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ +#ifdef _DEBUG + FILEFLAGS 0x1L /* VS_FF_DEBUG */ +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ + FILETYPE 0x2L /* VFT_DLL */ + FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "04090000" /* Lang = US English, Charset = ASCII */ + BEGIN + VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\0" + VALUE "CompanyName", "Free Software Foundation\0" + VALUE "FileDescription", "LGPLed libasprintf for Windows NT/2000/XP and Windows 95/98/ME\0" + VALUE "FileVersion", "1.0\0" + VALUE "InternalName", "asprintf.dll\0" + VALUE "LegalCopyright", "Copyright (C) 1999-2003\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "asprintf.dll\0" + VALUE "ProductName", "libasprintf: automatic formatted output to strings\0" + VALUE "ProductVersion", "1.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0 /* US English, ASCII */ + END +END diff --git a/gettext-runtime/libasprintf/windows/dllexport.h b/gettext-runtime/libasprintf/windows/dllexport.h new file mode 100644 index 0000000..6a02992 --- /dev/null +++ b/gettext-runtime/libasprintf/windows/dllexport.h @@ -0,0 +1,6 @@ + +#ifdef BUILDING_LIBASPRINTF +#define LIBASPRINTF_DLL_EXPORTED __declspec(dllexport) +#else +#define LIBASPRINTF_DLL_EXPORTED __declspec(dllimport) +#endif diff --git a/gettext-runtime/man/ChangeLog b/gettext-runtime/man/ChangeLog index d2837de..1f3a62c 100644 --- a/gettext-runtime/man/ChangeLog +++ b/gettext-runtime/man/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-22 Bruno Haible <bruno@clisp.org> * Makefile.am (installdirs): Remove dependency, redundant with diff --git a/gettext-runtime/man/Makefile.am b/gettext-runtime/man/Makefile.am index 04a8e60..2ce67ae 100644 --- a/gettext-runtime/man/Makefile.am +++ b/gettext-runtime/man/Makefile.am @@ -25,6 +25,7 @@ htmldir = $(docdir) localedir = $(datadir)/locale AUTOMAKE_OPTIONS = 1.2 gnits +EXTRA_DIST = # A manual page for each of the bin_PROGRAMS in src/Makefile.am. @@ -49,7 +50,7 @@ gettext.3.html ngettext.3.html \ textdomain.3.html bindtextdomain.3.html bind_textdomain_codeset.3.html man_HTML = $(man_HTMLGEN) $(man_HTMLOTHER) -EXTRA_DIST = help2man $(man_aux) $(man_MAN1IN) $(man_MAN3) $(man_MAN3IN) $(man_MAN3LINK) $(man_HTMLIN) $(man_HTMLOTHER) +EXTRA_DIST += help2man $(man_aux) $(man_MAN1IN) $(man_MAN3) $(man_MAN3IN) $(man_MAN3LINK) $(man_HTMLIN) $(man_HTMLOTHER) CLEANFILES = $(man_MAN1GEN) $(man_HTMLGEN) MAINTAINERCLEANFILES = $(man_MAN1IN) $(man_MAN3) $(man_HTMLIN) $(man_HTMLOTHER) @@ -159,3 +160,8 @@ uninstall-html: for file in $(man_HTML); do \ $(RM) $(DESTDIR)$(htmldir)/$$file; \ done + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-runtime/man/Makefile.msvc b/gettext-runtime/man/Makefile.msvc new file mode 100644 index 0000000..2d27ba8 --- /dev/null +++ b/gettext-runtime/man/Makefile.msvc @@ -0,0 +1,92 @@ +# -*- Makefile -*- for gettext-runtime/man + +#### Start of system configuration section. #### + +# Directories used by "make install": +prefix = c:\usr +mandir = $(prefix)\man +man1dir = $(mandir)\man1 +man3dir = $(mandir)\man3 +docdir = $(prefix)\doc\gettext + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(mandir) + -mkdir $(man1dir) + $(INSTALL_DATA) gettext.1.in $(man1dir)\gettext.1 + $(INSTALL_DATA) ngettext.1.in $(man1dir)\ngettext.1 + -mkdir $(man3dir) + $(INSTALL_DATA) gettext.3 $(man3dir)\gettext.3 + $(INSTALL_DATA) ngettext.3 $(man3dir)\ngettext.3 + $(INSTALL_DATA) textdomain.3 $(man3dir)\textdomain.3 + $(INSTALL_DATA) bindtextdomain.3 $(man3dir)\bindtextdomain.3 + $(INSTALL_DATA) bind_textdomain_codeset.3 $(man3dir)\bind_textdomain_codeset.3 + $(INSTALL_DATA) dgettext.3 $(man3dir)\dgettext.3 + $(INSTALL_DATA) dcgettext.3 $(man3dir)\dcgettext.3 + $(INSTALL_DATA) dngettext.3 $(man3dir)\dngettext.3 + $(INSTALL_DATA) dcngettext.3 $(man3dir)\dcngettext.3 + -mkdir $(prefix)\doc + -mkdir $(docdir) + $(INSTALL_DATA) gettext.1.html.in $(docdir)\gettext.1.html + $(INSTALL_DATA) ngettext.1.html.in $(docdir)\ngettext.1.html + $(INSTALL_DATA) gettext.3.html $(docdir)\gettext.3.html + $(INSTALL_DATA) ngettext.3.html $(docdir)\ngettext.3.html + $(INSTALL_DATA) textdomain.3.html $(docdir)\textdomain.3.html + $(INSTALL_DATA) bindtextdomain.3.html $(docdir)\bindtextdomain.3.html + $(INSTALL_DATA) bind_textdomain_codeset.3.html $(docdir)\bind_textdomain_codeset.3.html + +installdirs : force + -mkdir $(prefix) + -mkdir $(mandir) + -mkdir $(man1dir) + -mkdir $(man3dir) + -mkdir $(prefix)\doc + -mkdir $(docdir) + +uninstall : force + $(RM) $(man1dir)\gettext.1 + $(RM) $(man1dir)\ngettext.1 + $(RM) $(man3dir)\gettext.3 + $(RM) $(man3dir)\ngettext.3 + $(RM) $(man3dir)\textdomain.3 + $(RM) $(man3dir)\bindtextdomain.3 + $(RM) $(man3dir)\bind_textdomain_codeset.3 + $(RM) $(man3dir)\dgettext.3 + $(RM) $(man3dir)\dcgettext.3 + $(RM) $(man3dir)\dngettext.3 + $(RM) $(man3dir)\dcngettext.3 + $(RM) $(docdir)\gettext.1.html + $(RM) $(docdir)\ngettext.1.html + $(RM) $(docdir)\gettext.3.html + $(RM) $(docdir)\ngettext.3.html + $(RM) $(docdir)\textdomain.3.html + $(RM) $(docdir)\bindtextdomain.3.html + $(RM) $(docdir)\bind_textdomain_codeset.3.html + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + $(RM) Makefile + +maintainer-clean : distclean + +force : diff --git a/gettext-runtime/po/ChangeLog b/gettext-runtime/po/ChangeLog index d8f8375..f9cdbf7 100644 --- a/gettext-runtime/po/ChangeLog +++ b/gettext-runtime/po/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc.sh: New file. + * Rules-msvc: New file. + 2003-03-29 Bruno Haible <bruno@clisp.org> * id.po: Update from Tedi Heriyanto <tedi_h@gmx.net>. diff --git a/gettext-runtime/po/Makefile.msvc.sh b/gettext-runtime/po/Makefile.msvc.sh new file mode 100755 index 0000000..6e43ffc --- /dev/null +++ b/gettext-runtime/po/Makefile.msvc.sh @@ -0,0 +1,87 @@ +#!/bin/sh +# Creates Makefile.msvc. +domain=$1 +catalogs=$2 + +cat <<\EOF +# -*- Makefile -*- for po subdirectory + +#### Start of system configuration section. #### + +# Directories used by "make": +srcdir = . + +# Directories used by "make install": +prefix = c:\usr +datadir = $(prefix)\share +localedir = $(datadir)\locale + +# Programs used by "make": +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(localedir) +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + -mkdir \$(localedir)\\${cat} + -mkdir \$(localedir)\\${cat}\\LC_MESSAGES + \$(INSTALL_DATA) ${cat}.gmo \$(localedir)\\${cat}\\LC_MESSAGES\\${domain}.mo +EOF +done +cat <<\EOF + +installdirs : force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(localedir) +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + -mkdir \$(localedir)\\${cat} + -mkdir \$(localedir)\\${cat}\\LC_MESSAGES +EOF +done +cat <<\EOF + +uninstall : force +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + \$(RM) \$(localedir)\\${cat}\\LC_MESSAGES\\${domain}.mo +EOF +done +cat <<\EOF + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : +EOF diff --git a/gettext-runtime/po/Rules-msvc b/gettext-runtime/po/Rules-msvc new file mode 100644 index 0000000..bac93f9 --- /dev/null +++ b/gettext-runtime/po/Rules-msvc @@ -0,0 +1,14 @@ +# Special Makefile rules for generating a Makefile.msvc. + +DISTFILES.extra3 = Rules-msvc Makefile.msvc.sh Makefile.msvc + +dist distdir: $(srcdir)/Makefile.msvc + +# Makefile.msvc needs to be redone when LINGUAS has changed. When rebuilding +# it, ensure that we use the updated value of CATALOGS. +$(srcdir)/Makefile.msvc: LINGUAS + $(MAKE) Makefile + $(MAKE) -f Makefile Makefile.msvc-update + +Makefile.msvc-update: + $(SHELL) $(srcdir)/Makefile.msvc.sh $(DOMAIN) '$(GMOFILES)' > $(srcdir)/Makefile.msvc diff --git a/gettext-runtime/src/ChangeLog b/gettext-runtime/src/ChangeLog index 8458099..4d55cd5 100644 --- a/gettext-runtime/src/ChangeLog +++ b/gettext-runtime/src/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/gettext-runtime/src/Makefile.am b/gettext-runtime/src/Makefile.am index 2383e71..8e32c91 100644 --- a/gettext-runtime/src/Makefile.am +++ b/gettext-runtime/src/Makefile.am @@ -18,6 +18,7 @@ ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies +EXTRA_DIST = bin_PROGRAMS = gettext ngettext @@ -52,3 +53,8 @@ RELOCATABLE_SRC_DIR = $(top_srcdir)/../gettext-tools/lib RELOCATABLE_BUILD_DIR = ../lib RELOCATABLE_CONFIG_H_DIR = .. @SET_RELOCATABLE@ + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-runtime/src/Makefile.msvc b/gettext-runtime/src/Makefile.msvc new file mode 100644 index 0000000..7af3d0e --- /dev/null +++ b/gettext-runtime/src/Makefile.msvc @@ -0,0 +1,120 @@ +# -*- Makefile -*- for gettext-runtime/src + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) + +INCLUDES = + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +PROGRAMS = gettext.exe ngettext.exe + +gettext_OBJECTS = gettext.obj +ngettext_OBJECTS = ngettext.obj +LDADD = ..\lib\grt.lib + +all : $(PROGRAMS) + +gettext.obj : gettext.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c gettext.c + +ngettext.obj : ngettext.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c ngettext.c + +gettext.exe : $(gettext_OBJECTS) + $(CC) $(gettext_OBJECTS) $(LDADD) -Fegettext.exe + +ngettext.exe : $(ngettext_OBJECTS) + $(CC) $(ngettext_OBJECTS) $(LDADD) -Fengettext.exe + +install : all force + -mkdir $(prefix) + -mkdir $(exec_prefix) + -mkdir $(bindir) + $(INSTALL_PROGRAM) gettext.exe $(bindir)\gettext.exe + $(INSTALL_PROGRAM) ngettext.exe $(bindir)\ngettext.exe + +installdirs : force + -mkdir $(prefix) + -mkdir $(exec_prefix) + -mkdir $(bindir) + +uninstall : force + $(RM) $(bindir)\gettext.exe + $(RM) $(bindir)\ngettext.exe + +check : all + +mostlyclean : clean + +clean : force + $(RM) *.obj + $(RM) $(PROGRAMS) + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-runtime/windows/dllexport.h b/gettext-runtime/windows/dllexport.h new file mode 100644 index 0000000..67bb9ca --- /dev/null +++ b/gettext-runtime/windows/dllexport.h @@ -0,0 +1,6 @@ + +#ifdef BUILDING_LIBINTL +#define LIBINTL_DLL_EXPORTED __declspec(dllexport) +#else +#define LIBINTL_DLL_EXPORTED __declspec(dllimport) +#endif diff --git a/gettext-runtime/windows/intl.rc b/gettext-runtime/windows/intl.rc new file mode 100644 index 0000000..d07a160 --- /dev/null +++ b/gettext-runtime/windows/intl.rc @@ -0,0 +1,37 @@ +/* Resources for intl.dll */ +/* There are 4 occurrences of the version number in this file. */ + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,12,0,0 + PRODUCTVERSION 0,12,0,0 + FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ +#ifdef _DEBUG + FILEFLAGS 0x1L /* VS_FF_DEBUG */ +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ + FILETYPE 0x2L /* VFT_DLL */ + FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "04090000" /* Lang = US English, Charset = ASCII */ + BEGIN + VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\0" + VALUE "CompanyName", "Free Software Foundation\0" + VALUE "FileDescription", "LGPLed libintl for Windows NT/2000/XP and Windows 95/98/ME\0" + VALUE "FileVersion", "0.12\0" + VALUE "InternalName", "intl.dll\0" + VALUE "LegalCopyright", "Copyright (C) 1995-2003\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "intl.dll\0" + VALUE "ProductName", "libintl: accessing NLS message catalogs\0" + VALUE "ProductVersion", "0.12\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0 /* US English, ASCII */ + END +END diff --git a/gettext-tools/ChangeLog b/gettext-tools/ChangeLog index 9caf586..63405fe 100644 --- a/gettext-tools/ChangeLog +++ b/gettext-tools/ChangeLog @@ -1,3 +1,15 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * README.woe32: New file. + * windows/gettextlib.exp: New file. + * windows/gettextlib.rc: New file. + * windows/gettextsrc.exp: New file. + * windows/gettextsrc.rc: New file. + * Makefile.am (EXTRA_DIST): Add them and config.h.msvc. + (config.h.msvc, intl/libgnuintl.h.msvc-shared): New rules. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am index 5c05af4..e2045d1 100644 --- a/gettext-tools/Makefile.am +++ b/gettext-tools/Makefile.am @@ -42,3 +42,58 @@ $(srcdir)/ABOUT-NLS: $(srcdir)/../gettext-runtime/ABOUT-NLS html: cd doc && $(MAKE) html + + +# Woe32 support. + +config.h.msvc: config.h.in + sed -e 's/#undef ENABLE_NLS$$/#define ENABLE_NLS 1/' \ + -e 's/#undef ENABLE_RELOCATABLE$$/#define ENABLE_RELOCATABLE 1/' \ + -e 's/#undef HAVE_ALLOCA$$/#define HAVE_ALLOCA 1/' \ + -e 's/#undef HAVE_ENVIRON_DECL$$/#define HAVE_ENVIRON_DECL 1/' \ + -e 's/#undef HAVE_ERRNO_DECL$$/#define HAVE_ERRNO_DECL 1/' \ + -e 's/#undef HAVE_FCNTL_H$$/#define HAVE_FCNTL_H 1/' \ + -e 's/#undef HAVE_GETCWD$$/#define HAVE_GETCWD 1/' \ + -e 's/#undef HAVE_GETHOSTBYNAME$$/#define HAVE_GETHOSTBYNAME 1/' \ + -e 's/#undef HAVE_GETHOSTNAME$$/#define HAVE_GETHOSTNAME 1/' \ + -e 's/#undef HAVE_GETCWD$$/#define HAVE_GETCWD 1/' \ + -e 's/#undef HAVE_ICONV$$/#define HAVE_ICONV 1/' \ + -e 's/#undef HAVE_ISASCII$$/#define HAVE_ISASCII 1/' \ + -e 's/#undef HAVE_ISWCNTRL$$/#define HAVE_ISWCNTRL 1/' \ + -e 's/#undef HAVE_ISWPRINT$$/#define HAVE_ISWPRINT 1/' \ + -e 's/#undef HAVE_LIMITS_H$$/#define HAVE_LIMITS_H 1/' \ + -e 's/#undef HAVE_LOCALE_H$$/#define HAVE_LOCALE_H 1/' \ + -e 's/#undef HAVE_LONG_FILE_NAMES$$/#define HAVE_LONG_FILE_NAMES 1/' \ + -e 's/#undef HAVE_MEMMOVE$$/#define HAVE_MEMMOVE 1/' \ + -e 's/#undef HAVE_MEMSET$$/#define HAVE_MEMSET 1/' \ + -e 's/#undef HAVE_PTRDIFF_T$$/#define HAVE_PTRDIFF_T 1/' \ + -e 's/#undef HAVE_PUTENV$$/#define HAVE_PUTENV 1/' \ + -e 's/#undef HAVE_RAISE$$/#define HAVE_RAISE 1/' \ + -e 's/#undef HAVE_SEARCH_H$$/#define HAVE_SEARCH_H 1/' \ + -e 's/#undef HAVE_SETLOCALE$$/#define HAVE_SETLOCALE 1/' \ + -e 's/#undef HAVE_STDDEF_H$$/#define HAVE_STDDEF_H 1/' \ + -e 's/#undef HAVE_STDLIB_H$$/#define HAVE_STDLIB_H 1/' \ + -e 's/#undef HAVE_STRCSPN$$/#define HAVE_STRCSPN 1/' \ + -e 's/#undef HAVE_STRDUP$$/#define HAVE_STRDUP 1/' \ + -e 's/#undef HAVE_STRERROR$$/#define HAVE_STRERROR 1/' \ + -e 's/#undef HAVE_STRING_H$$/#define HAVE_STRING_H 1/' \ + -e 's/#undef HAVE_STRSTR$$/#define HAVE_STRSTR 1/' \ + -e 's/#undef HAVE_STRTOUL$$/#define HAVE_STRTOUL 1/' \ + -e 's/#undef HAVE_SYS_STAT_H$$/#define HAVE_SYS_STAT_H 1/' \ + -e 's/#undef HAVE_SYS_TYPES_H$$/#define HAVE_SYS_TYPES_H 1/' \ + -e 's/#undef HAVE_TIME_H$$/#define HAVE_TIME_H 1/' \ + -e 's/#undef HAVE_VPRINTF$$/#define HAVE_VPRINTF 1/' \ + -e 's/#undef HAVE_WCHAR_H$$/#define HAVE_WCHAR_H 1/' \ + -e 's/#undef ICONV_CONST$$/#define ICONV_CONST const/' \ + -e 's/#undef SETLOCALE_CONST$$/#define SETLOCALE_CONST const/' \ + -e 's/#undef STACK_DIRECTION$$/#define STACK_DIRECTION -1/' \ + -e 's/#undef STDC_HEADERS$$/#define STDC_HEADERS 1/' \ + -e 's/#undef fnmatch$$/#define fnmatch rpl_fnmatch/' \ + -e 's/#undef getline$$/#define getline rpl_getline/' \ + -e 's/#undef pid_t$$/#define pid_t int/' \ + -e 's/#undef ssize_t$$/#define ssize_t int/' \ + -e 's/#undef uintmax_t$$/#define uintmax_t unsigned long/' \ + -e '/#undef INSTALLPREFIX$$/d' \ + < $< > $@ + +EXTRA_DIST += README.woe32 Makefile.msvc config.h.msvc windows/gettextlib.exp windows/gettextsrc.exp windows/gettextlib.rc windows/gettextsrc.rc diff --git a/gettext-tools/Makefile.msvc b/gettext-tools/Makefile.msvc new file mode 100644 index 0000000..a0e2916 --- /dev/null +++ b/gettext-tools/Makefile.msvc @@ -0,0 +1,378 @@ +# -*- Makefile -*- for gettext-tools + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# Note that nmake command line flags are automatically passed to subdirectory +# Makefiles. Therefore we don't need to pass them explicitly to subdirectory +# Makefiles, but the subdirectory Makefiles need to have the same defaults. +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +datadir = $(prefix)\share +localedir = $(datadir)\locale +pkgdatadir = $(datadir)\gettext +mandir = $(prefix)\man +docdir = $(prefix)\doc\gettext +emacsdir = $(datadir)\emacs +lispdir = $(emacsdir)\site-lisp + +# Programs used by "make": + +CC = cl +CXX = cl -TP + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : config.h force + cd doc + $(MAKE) -f Makefile.msvc all + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl all + cd .. + cd lib + $(MAKE) -f Makefile.msvc all + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc all + cd .. + cd src + $(MAKE) -f Makefile.msvc all + cd .. + cd po + $(MAKE) -f Makefile.msvc all + cd .. + cd projects + $(MAKE) -f Makefile.msvc all + cd .. + cd misc + $(MAKE) -f Makefile.msvc all + cd .. + cd man + $(MAKE) -f Makefile.msvc all + cd .. + cd tests + $(MAKE) -f Makefile.msvc all + cd .. + +config.h : config.h.msvc + -$(RM) config.h + $(LN) config.h.msvc config.h + +install : force + cd doc + $(MAKE) -f Makefile.msvc install + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl install + cd .. + cd lib + $(MAKE) -f Makefile.msvc install + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc install + cd .. + cd src + $(MAKE) -f Makefile.msvc install + cd .. + cd po + $(MAKE) -f Makefile.msvc install + cd .. + cd projects + $(MAKE) -f Makefile.msvc install + cd .. + cd misc + $(MAKE) -f Makefile.msvc install + cd .. + cd man + $(MAKE) -f Makefile.msvc install + cd .. + cd tests + $(MAKE) -f Makefile.msvc install + cd .. + +installdirs : force + cd doc + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl installdirs + cd .. + cd lib + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd src + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd po + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd projects + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd misc + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd man + $(MAKE) -f Makefile.msvc installdirs + cd .. + cd tests + $(MAKE) -f Makefile.msvc installdirs + cd .. + +uninstall : force + cd doc + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl uninstall + cd .. + cd lib + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd src + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd po + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd projects + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd misc + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd man + $(MAKE) -f Makefile.msvc uninstall + cd .. + cd tests + $(MAKE) -f Makefile.msvc uninstall + cd .. + +check : all force + cd doc + $(MAKE) -f Makefile.msvc check + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl check + cd .. + cd lib + $(MAKE) -f Makefile.msvc check + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc check + cd .. + cd src + $(MAKE) -f Makefile.msvc check + cd .. + cd po + $(MAKE) -f Makefile.msvc check + cd .. + cd projects + $(MAKE) -f Makefile.msvc check + cd .. + cd misc + $(MAKE) -f Makefile.msvc check + cd .. + cd man + $(MAKE) -f Makefile.msvc check + cd .. + cd tests + $(MAKE) -f Makefile.msvc check + cd .. + +mostlyclean : force + cd doc + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl mostlyclean + cd .. + cd lib + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd src + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd po + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd projects + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd misc + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd man + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + cd tests + $(MAKE) -f Makefile.msvc mostlyclean + cd .. + $(RM) config.h + +clean : force + cd doc + $(MAKE) -f Makefile.msvc clean + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl clean + cd .. + cd lib + $(MAKE) -f Makefile.msvc clean + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc clean + cd .. + cd src + $(MAKE) -f Makefile.msvc clean + cd .. + cd po + $(MAKE) -f Makefile.msvc clean + cd .. + cd projects + $(MAKE) -f Makefile.msvc clean + cd .. + cd misc + $(MAKE) -f Makefile.msvc clean + cd .. + cd man + $(MAKE) -f Makefile.msvc clean + cd .. + cd tests + $(MAKE) -f Makefile.msvc clean + cd .. + $(RM) config.h + +distclean : force + cd doc + $(MAKE) -f Makefile.msvc distclean + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl distclean + cd .. + cd lib + $(MAKE) -f Makefile.msvc distclean + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc distclean + cd .. + cd src + $(MAKE) -f Makefile.msvc distclean + cd .. + cd po + $(MAKE) -f Makefile.msvc distclean + cd .. + cd projects + $(MAKE) -f Makefile.msvc distclean + cd .. + cd misc + $(MAKE) -f Makefile.msvc distclean + cd .. + cd man + $(MAKE) -f Makefile.msvc distclean + cd .. + cd tests + $(MAKE) -f Makefile.msvc distclean + cd .. + $(RM) config.h + $(RM) config.status config.log config.cache Makefile + +maintainer-clean : force + cd doc + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd intl + $(MAKE) -f ..\..\gettext-runtime\intl\Makefile.msvc srcdir=..\..\gettext-runtime\intl maintainer-clean + cd .. + cd lib + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd libuniname + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd src + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd po + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd projects + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd misc + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd man + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + cd tests + $(MAKE) -f Makefile.msvc maintainer-clean + cd .. + $(RM) config.h + $(RM) config.status config.log config.cache Makefile + +force : diff --git a/gettext-tools/README.woe32 b/gettext-tools/README.woe32 new file mode 100644 index 0000000..08dbf89 --- /dev/null +++ b/gettext-tools/README.woe32 @@ -0,0 +1,29 @@ +Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): + +- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. + +- Cannot build in a separate directory. + +- Build instructions: + + Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are + found in PATH. + + For shared library (DLL): + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD + + For static library: + + nmake -f Makefile.msvc + + If you want to build both the shared and static library, you have to + unpack the gettext sources twice in different directories. Don't mix + the two formats; you cannot use the libintl.h generated for the static + library together with the shared library or vice versa. + +- Installation: + + nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory + or + nmake -f Makefile.msvc install prefix=InstallBaseDirectory diff --git a/gettext-tools/doc/ChangeLog b/gettext-tools/doc/ChangeLog index d73e038..95c2213 100644 --- a/gettext-tools/doc/ChangeLog +++ b/gettext-tools/doc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-03-10 Bruno Haible <bruno@clisp.org> * msggrep.texi: Document option -C completely. diff --git a/gettext-tools/doc/Makefile.am b/gettext-tools/doc/Makefile.am index b4cd17c..6ec7949 100644 --- a/gettext-tools/doc/Makefile.am +++ b/gettext-tools/doc/Makefile.am @@ -24,6 +24,7 @@ pdfdir = $(docdir) htmldir = $(docdir) AUTOMAKE_OPTIONS = 1.2 gnits +EXTRA_DIST = MOSTLYCLEANFILES = SED = sed @@ -39,7 +40,7 @@ gettext_TEXINFOS = \ msgattrib.texi msgen.texi msgexec.texi msgfmt.texi msgunfmt.texi \ gettextize.texi autopoint.texi iso-639.texi iso-3166.texi -EXTRA_DIST = \ +EXTRA_DIST += \ iso-639.sed iso-3166.sed ISO_639 ISO_3166 ISO_3166_de texi2html \ ChangeLog.0 @@ -196,3 +197,8 @@ dist-html-split: for file in `cd $$d && echo gettext_*.html`; do \ cp -p $$d/$$file $(distdir)/$$file || exit 1; \ done + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/doc/Makefile.msvc b/gettext-tools/doc/Makefile.msvc new file mode 100644 index 0000000..04d79f2 --- /dev/null +++ b/gettext-tools/doc/Makefile.msvc @@ -0,0 +1,49 @@ +# -*- Makefile -*- for gettext-tools/doc + +#### Start of system configuration section. #### + +# Directories used by "make install": +prefix = c:\usr +docdir = $(prefix)\doc\gettext + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(prefix)\doc + -mkdir $(docdir) + $(INSTALL_DATA) gettext_*.html $(docdir) + +installdirs : force + -mkdir $(prefix) + -mkdir $(prefix)\doc + -mkdir $(docdir) + +uninstall : force + $(RM) $(docdir)\gettext_*.html + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + $(RM) Makefile + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/lib/ChangeLog b/gettext-tools/lib/ChangeLog index 3bfcd20..c57b5c7 100644 --- a/gettext-tools/lib/ChangeLog +++ b/gettext-tools/lib/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-03-28 Bruno Haible <bruno@clisp.org> * copy-file.h (copy_file_preserving): Renamed from copy_file. diff --git a/gettext-tools/lib/Makefile.am b/gettext-tools/lib/Makefile.am index 5940533..7c64a5f 100644 --- a/gettext-tools/lib/Makefile.am +++ b/gettext-tools/lib/Makefile.am @@ -209,3 +209,8 @@ SUFFIXES += .sed .sin CLEANFILES += charset.alias ref-add.sed ref-del.sed # <<< gnulib module localcharset. + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/lib/Makefile.msvc b/gettext-tools/lib/Makefile.msvc new file mode 100644 index 0000000..814f0ca --- /dev/null +++ b/gettext-tools/lib/Makefile.msvc @@ -0,0 +1,323 @@ +# -*- Makefile -*- for gettext-tools/lib + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) + +INCLUDES = + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = \ + argmatch.obj \ + backupfile.obj addext.obj \ + basename.obj \ + c-ctype.obj \ + classpath.obj \ + copy-file.obj \ + error.obj \ + execute.obj \ + findprog.obj \ + fstrcmp.obj \ + full-write.obj \ + gcd.obj \ + getopt.obj getopt1.obj \ + hash.obj \ + javacomp.obj \ + javaexec.obj \ + linebreak.obj \ + mbswidth.obj \ + obstack.obj \ + concatpath.obj \ + pipe-bidi.obj pipe-in.obj pipe-out.obj \ + progname.obj \ + relocatable.obj \ + safe-read.obj \ + safe-write.obj \ + sh-quote.obj \ + stpncpy.obj \ + strtoul.obj \ + tmpdir.obj \ + wait-process.obj \ + xerror.obj \ + xmalloc.obj xstrdup.obj \ + xsetenv.obj \ + \ + getline.obj \ + mkdtemp.obj \ + pfnmatch.obj \ + relocatable.obj \ + setenv.obj unsetenv.obj \ + stpcpy.obj \ + strcasecmp.obj strncasecmp.obj \ + strpbrk.obj \ + vasprintf.obj + +RESOURCES = gettextlib.res + +all : gettextlib.lib + +argmatch.obj : argmatch.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c argmatch.c + +backupfile.obj : backupfile.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c backupfile.c + +addext.obj : addext.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c addext.c + +basename.obj : basename.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c basename.c + +c-ctype.obj : c-ctype.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c c-ctype.c + +classpath.obj : classpath.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c classpath.c + +copy-file.obj : copy-file.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c copy-file.c + +error.obj : error.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c error.c + +execute.obj : execute.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c execute.c + +findprog.obj : findprog.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c findprog.c + +fstrcmp.obj : fstrcmp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c fstrcmp.c + +full-write.obj : full-write.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c full-write.c + +gcd.obj : gcd.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c gcd.c + +getopt.obj : getopt.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c getopt.c + +getopt1.obj : getopt1.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c getopt1.c + +hash.obj : hash.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c hash.c + +javacomp.obj : javacomp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c javacomp.c + +javaexec.obj : javaexec.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c javaexec.c + +linebreak.obj : linebreak.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c linebreak.c + +mbswidth.obj : mbswidth.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c mbswidth.c + +obstack.obj : obstack.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c obstack.c + +concatpath.obj : concatpath.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c concatpath.c + +pipe-bidi.obj : pipe-bidi.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c pipe-bidi.c + +pipe-in.obj : pipe-in.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c pipe-in.c + +pipe-out.obj : pipe-out.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c pipe-out.c + +progname.obj : progname.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c progname.c + +relocatable.obj : relocatable.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c relocatable.c + +safe-read.obj : safe-read.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c safe-read.c + +safe-write.obj : safe-write.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c safe-write.c + +sh-quote.obj : sh-quote.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c sh-quote.c + +stpncpy.obj : stpncpy.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c stpncpy.c + +strtoul.obj : strtoul.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c strtoul.c + +tmpdir.obj : tmpdir.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c tmpdir.c + +wait-process.obj : wait-process.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c wait-process.c + +xerror.obj : xerror.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c xerror.c + +xmalloc.obj : xmalloc.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c xmalloc.c + +xstrdup.obj : xstrdup.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c xstrdup.c + +xsetenv.obj : xsetenv.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c xsetenv.c + +getline.obj : getline.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c getline.c + +mkdtemp.obj : mkdtemp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c mkdtemp.c + +pfnmatch.obj : pfnmatch.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c pfnmatch.c + +relocatable.obj : relocatable.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c relocatable.c + +setenv.obj : setenv.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c setenv.c + +unsetenv.obj : unsetenv.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c unsetenv.c + +stpcpy.obj : stpcpy.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c stpcpy.c + +strcasecmp.obj : strcasecmp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c strcasecmp.c + +strncasecmp.obj : strncasecmp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c strncasecmp.c + +strpbrk.obj : strpbrk.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c strpbrk.c + +vasprintf.obj : vasprintf.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c vasprintf.c + +!if !$(DLL) + +gettextlib.lib : $(OBJECTS) + -$(RM) gettextlib.lib + $(AR) $(AR_FLAGS)gettextlib.lib $(OBJECTS) + +!else + +# gettextlib.dll and gettextlib.lib are created together. +gettextlib.lib : $(OBJECTS) $(RESOURCES) + $(CC) $(MFLAGS) -LD $(OBJECTS) $(RESOURCES) + +gettextlib.res : ../windows/gettextlib.rc + rc -Fo gettextlib.res ../windows/gettextlib.rc + +!endif + +install : all force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) + $(INSTALL_DATA) gettextlib.dll $(bindir)\gettextlib.dll +!endif + +installdirs : force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) +!endif + +uninstall : force +!if $(DLL) + $(RM) $(bindir)\gettextlib.dll +!endif + +check : all + +mostlyclean : clean + +clean : force + $(RM) *.obj + $(RM) *.lib + $(RM) *.exp + $(RM) *.dll + $(RM) gettextlib.res + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/libuniname/ChangeLog b/gettext-tools/libuniname/ChangeLog index e4b2223..636fcee 100644 --- a/gettext-tools/libuniname/ChangeLog +++ b/gettext-tools/libuniname/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-01-12 Bruno Haible <bruno@clisp.org> * Makefile.am: Make use of += for variables. diff --git a/gettext-tools/libuniname/Makefile.am b/gettext-tools/libuniname/Makefile.am index 2907ca5..48ce186 100644 --- a/gettext-tools/libuniname/Makefile.am +++ b/gettext-tools/libuniname/Makefile.am @@ -37,3 +37,8 @@ noinst_PROGRAMS = test-names test_names_LDADD = libuniname.a ../lib/libgettextlib.la EXTRA_DIST += $(TESTS) UnicodeDataNames.txt + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/libuniname/Makefile.msvc b/gettext-tools/libuniname/Makefile.msvc new file mode 100644 index 0000000..274d19a --- /dev/null +++ b/gettext-tools/libuniname/Makefile.msvc @@ -0,0 +1,91 @@ +# -*- Makefile -*- for gettext-tools/libuniname + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) + +INCLUDES = + +LN = copy +RM = -del + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = uniname.obj + +all : uniname.lib + +uniname.obj : uniname.c + $(CC) $(INCLUDES) $(CFLAGS) -c uniname.c + +uniname.lib : $(OBJECTS) + -$(RM) uniname.lib + $(AR) $(AR_FLAGS)uniname.lib $(OBJECTS) + +install : all + +installdirs : + +uninstall : + +check : + +mostlyclean : clean + +clean : force + $(RM) *.obj + $(RM) *.lib + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/man/ChangeLog b/gettext-tools/man/ChangeLog index 0dd1df9..ff75553 100644 --- a/gettext-tools/man/ChangeLog +++ b/gettext-tools/man/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-22 Bruno Haible <bruno@clisp.org> * Makefile.am (installdirs): Remove dependency, redundant with diff --git a/gettext-tools/man/Makefile.am b/gettext-tools/man/Makefile.am index bc9f077..02d5491 100644 --- a/gettext-tools/man/Makefile.am +++ b/gettext-tools/man/Makefile.am @@ -25,6 +25,7 @@ htmldir = $(docdir) localedir = $(datadir)/locale AUTOMAKE_OPTIONS = 1.2 gnits +EXTRA_DIST = # A manual page for each of the bin_PROGRAMS in src/Makefile.am # and for each of the bin_SCRIPTS in misc/Makefile.am. @@ -49,7 +50,7 @@ msgattrib.1.html msgcat.1.html msgcomm.1.html msgconv.1.html msgen.1.html msgexe gettextize.1.html autopoint.1.html man_HTML = $(man_HTMLOTHER) -EXTRA_DIST = help2man $(man_aux) $(man_MAN1OTHER) $(man_HTMLOTHER) ChangeLog.0 +EXTRA_DIST += help2man $(man_aux) $(man_MAN1OTHER) $(man_HTMLOTHER) ChangeLog.0 MAINTAINERCLEANFILES = $(man_MAN1OTHER) $(man_HTMLOTHER) PERL = @PERL@ @@ -188,3 +189,8 @@ uninstall-html: for file in $(man_HTML); do \ $(RM) $(DESTDIR)$(htmldir)/$$file; \ done + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/man/Makefile.msvc b/gettext-tools/man/Makefile.msvc new file mode 100644 index 0000000..8746e55 --- /dev/null +++ b/gettext-tools/man/Makefile.msvc @@ -0,0 +1,113 @@ +# -*- Makefile -*- for gettext-tools/man + +#### Start of system configuration section. #### + +# Directories used by "make install": +prefix = c:\usr +mandir = $(prefix)\man +man1dir = $(mandir)\man1 +docdir = $(prefix)\doc\gettext + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(mandir) + -mkdir $(man1dir) + $(INSTALL_DATA) msgcmp.1 $(man1dir)\msgcmp.1 + $(INSTALL_DATA) msgfmt.1 $(man1dir)\msgfmt.1 + $(INSTALL_DATA) msgmerge.1 $(man1dir)\msgmerge.1 + $(INSTALL_DATA) msgunfmt.1 $(man1dir)\msgunfmt.1 + $(INSTALL_DATA) xgettext.1 $(man1dir)\xgettext.1 + $(INSTALL_DATA) msgattrib.1 $(man1dir)\msgattrib.1 + $(INSTALL_DATA) msgcat.1 $(man1dir)\msgcat.1 + $(INSTALL_DATA) msgcomm.1 $(man1dir)\msgcomm.1 + $(INSTALL_DATA) msgconv.1 $(man1dir)\msgconv.1 + $(INSTALL_DATA) msgen.1 $(man1dir)\msgen.1 + $(INSTALL_DATA) msgexec.1 $(man1dir)\msgexec.1 + $(INSTALL_DATA) msgfilter.1 $(man1dir)\msgfilter.1 + $(INSTALL_DATA) msggrep.1 $(man1dir)\msggrep.1 + $(INSTALL_DATA) msginit.1 $(man1dir)\msginit.1 + $(INSTALL_DATA) msguniq.1 $(man1dir)\msguniq.1 + -mkdir $(prefix)\doc + -mkdir $(docdir) + $(INSTALL_DATA) msgcmp.1.html $(docdir)\msgcmp.1.html + $(INSTALL_DATA) msgfmt.1.html $(docdir)\msgfmt.1.html + $(INSTALL_DATA) msgmerge.1.html $(docdir)\msgmerge.1.html + $(INSTALL_DATA) msgunfmt.1.html $(docdir)\msgunfmt.1.html + $(INSTALL_DATA) xgettext.1.html $(docdir)\xgettext.1.html + $(INSTALL_DATA) msgattrib.1.html $(docdir)\msgattrib.1.html + $(INSTALL_DATA) msgcat.1.html $(docdir)\msgcat.1.html + $(INSTALL_DATA) msgcomm.1.html $(docdir)\msgcomm.1.html + $(INSTALL_DATA) msgconv.1.html $(docdir)\msgconv.1.html + $(INSTALL_DATA) msgen.1.html $(docdir)\msgen.1.html + $(INSTALL_DATA) msgexec.1.html $(docdir)\msgexec.1.html + $(INSTALL_DATA) msgfilter.1.html $(docdir)\msgfilter.1.html + $(INSTALL_DATA) msggrep.1.html $(docdir)\msggrep.1.html + $(INSTALL_DATA) msginit.1.html $(docdir)\msginit.1.html + $(INSTALL_DATA) msguniq.1.html $(docdir)\msguniq.1.html + +installdirs : force + -mkdir $(prefix) + -mkdir $(mandir) + -mkdir $(man1dir) + -mkdir $(prefix)\doc + -mkdir $(docdir) + +uninstall : force + $(RM) $(man1dir)\msgcmp.1 + $(RM) $(man1dir)\msgfmt.1 + $(RM) $(man1dir)\msgmerge.1 + $(RM) $(man1dir)\msgunfmt.1 + $(RM) $(man1dir)\xgettext.1 + $(RM) $(man1dir)\msgattrib.1 + $(RM) $(man1dir)\msgcat.1 + $(RM) $(man1dir)\msgcomm.1 + $(RM) $(man1dir)\msgconv.1 + $(RM) $(man1dir)\msgen.1 + $(RM) $(man1dir)\msgexec.1 + $(RM) $(man1dir)\msgfilter.1 + $(RM) $(man1dir)\msggrep.1 + $(RM) $(man1dir)\msginit.1 + $(RM) $(man1dir)\msguniq.1 + $(RM) $(docdir)\msgcmp.1.html + $(RM) $(docdir)\msgfmt.1.html + $(RM) $(docdir)\msgmerge.1.html + $(RM) $(docdir)\msgunfmt.1.html + $(RM) $(docdir)\xgettext.1.html + $(RM) $(docdir)\msgattrib.1.html + $(RM) $(docdir)\msgcat.1.html + $(RM) $(docdir)\msgcomm.1.html + $(RM) $(docdir)\msgconv.1.html + $(RM) $(docdir)\msgen.1.html + $(RM) $(docdir)\msgexec.1.html + $(RM) $(docdir)\msgfilter.1.html + $(RM) $(docdir)\msggrep.1.html + $(RM) $(docdir)\msginit.1.html + $(RM) $(docdir)\msguniq.1.html + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + $(RM) Makefile + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/misc/ChangeLog b/gettext-tools/misc/ChangeLog index a5a9ea9..e5025d5 100644 --- a/gettext-tools/misc/ChangeLog +++ b/gettext-tools/misc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/gettext-tools/misc/Makefile.am b/gettext-tools/misc/Makefile.am index d569981..9b9cfb4 100644 --- a/gettext-tools/misc/Makefile.am +++ b/gettext-tools/misc/Makefile.am @@ -57,3 +57,8 @@ EXTRA_DIST += tcl_gettext.c README-Tcl # Old Perl interface. EXTRA_DIST += gettext.perl + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/misc/Makefile.msvc b/gettext-tools/misc/Makefile.msvc new file mode 100644 index 0000000..c462704 --- /dev/null +++ b/gettext-tools/misc/Makefile.msvc @@ -0,0 +1,56 @@ +# -*- Makefile -*- for gettext-tools/misc + +#### Start of system configuration section. #### + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +datadir = $(prefix)\share +emacsdir = $(datadir)\emacs +lispdir = $(emacsdir)\site-lisp + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(emacsdir) + -mkdir $(lispdir) + $(INSTALL_DATA) po-mode.el $(lispdir)\po-mode.el + $(INSTALL_DATA) po-compat.el $(lispdir)\po-compat.el + +installdirs : force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(emacsdir) + -mkdir $(lispdir) + +uninstall : force + $(RM) $(lispdir)\po-mode.el + $(RM) $(lispdir)\po-compat.el + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + $(RM) Makefile + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/po/ChangeLog b/gettext-tools/po/ChangeLog index 4c9019a..86ff9ad 100644 --- a/gettext-tools/po/ChangeLog +++ b/gettext-tools/po/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc.sh: New file. + * Rules-msvc: New file. + 2003-03-29 Bruno Haible <bruno@clisp.org> * da.po: Update from Keld Simonsen <keld@dkuug.dk>. diff --git a/gettext-tools/po/Makefile.msvc.sh b/gettext-tools/po/Makefile.msvc.sh new file mode 100755 index 0000000..6e43ffc --- /dev/null +++ b/gettext-tools/po/Makefile.msvc.sh @@ -0,0 +1,87 @@ +#!/bin/sh +# Creates Makefile.msvc. +domain=$1 +catalogs=$2 + +cat <<\EOF +# -*- Makefile -*- for po subdirectory + +#### Start of system configuration section. #### + +# Directories used by "make": +srcdir = . + +# Directories used by "make install": +prefix = c:\usr +datadir = $(prefix)\share +localedir = $(datadir)\locale + +# Programs used by "make": +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(localedir) +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + -mkdir \$(localedir)\\${cat} + -mkdir \$(localedir)\\${cat}\\LC_MESSAGES + \$(INSTALL_DATA) ${cat}.gmo \$(localedir)\\${cat}\\LC_MESSAGES\\${domain}.mo +EOF +done +cat <<\EOF + +installdirs : force + -mkdir $(prefix) + -mkdir $(datadir) + -mkdir $(localedir) +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + -mkdir \$(localedir)\\${cat} + -mkdir \$(localedir)\\${cat}\\LC_MESSAGES +EOF +done +cat <<\EOF + +uninstall : force +EOF +for cat in $catalogs; do + cat=`basename $cat` + lang=`echo $cat | sed -e 's/\.gmo$//'` +cat <<EOF + \$(RM) \$(localedir)\\${cat}\\LC_MESSAGES\\${domain}.mo +EOF +done +cat <<\EOF + +check : all + +mostlyclean : clean + +clean : force + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : +EOF diff --git a/gettext-tools/po/Rules-msvc b/gettext-tools/po/Rules-msvc new file mode 100644 index 0000000..bac93f9 --- /dev/null +++ b/gettext-tools/po/Rules-msvc @@ -0,0 +1,14 @@ +# Special Makefile rules for generating a Makefile.msvc. + +DISTFILES.extra3 = Rules-msvc Makefile.msvc.sh Makefile.msvc + +dist distdir: $(srcdir)/Makefile.msvc + +# Makefile.msvc needs to be redone when LINGUAS has changed. When rebuilding +# it, ensure that we use the updated value of CATALOGS. +$(srcdir)/Makefile.msvc: LINGUAS + $(MAKE) Makefile + $(MAKE) -f Makefile Makefile.msvc-update + +Makefile.msvc-update: + $(SHELL) $(srcdir)/Makefile.msvc.sh $(DOMAIN) '$(GMOFILES)' > $(srcdir)/Makefile.msvc diff --git a/gettext-tools/projects/ChangeLog b/gettext-tools/projects/ChangeLog index ce50e69..3b03d28 100644 --- a/gettext-tools/projects/ChangeLog +++ b/gettext-tools/projects/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-22 Bruno Haible <bruno@clisp.org> * Makefile.am (installdirs): Remove dependency, redundant with diff --git a/gettext-tools/projects/Makefile.am b/gettext-tools/projects/Makefile.am index 26652b2..9f2f6c8 100644 --- a/gettext-tools/projects/Makefile.am +++ b/gettext-tools/projects/Makefile.am @@ -18,6 +18,7 @@ ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = 1.2 gnits +EXTRA_DIST = RM = rm -f @@ -33,7 +34,7 @@ DATAFILES = index \ TP/teams.url TP/teams.html \ KDE/teams.url KDE/teams.html \ GNOME/teams.url GNOME/teams.html -EXTRA_DIST = $(SCRIPTFILES) $(DATAFILES) +EXTRA_DIST += $(SCRIPTFILES) $(DATAFILES) install-data-local: $(mkinstalldirs) $(DESTDIR)$(projectsdir) @@ -66,3 +67,8 @@ uninstall-local: echo "$(RM) $(DESTDIR)$(projectsdir)/$$f"; \ $(RM) $(DESTDIR)$(projectsdir)/$$f; \ done + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/projects/Makefile.msvc b/gettext-tools/projects/Makefile.msvc new file mode 100644 index 0000000..e75f44a --- /dev/null +++ b/gettext-tools/projects/Makefile.msvc @@ -0,0 +1,27 @@ +# -*- Makefile -*- for gettext-tools/projects + +#### Start of system configuration section. #### + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all + +installdirs : + +uninstall : + +check : + +mostlyclean : clean + +clean : force + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog index b5e6084..4d3bb73 100644 --- a/gettext-tools/src/ChangeLog +++ b/gettext-tools/src/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-03-28 Bruno Haible <bruno@clisp.org> * msgmerge.c (main): Use copy_file_preserving instead of copy_file. diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am index 1a3beee..d0bf63a 100644 --- a/gettext-tools/src/Makefile.am +++ b/gettext-tools/src/Makefile.am @@ -337,3 +337,8 @@ RELOCATABLE_SRC_DIR = $(top_srcdir)/lib RELOCATABLE_BUILD_DIR = ../lib RELOCATABLE_CONFIG_H_DIR = .. @SET_RELOCATABLE@ + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/src/Makefile.msvc b/gettext-tools/src/Makefile.msvc new file mode 100644 index 0000000..84557e4 --- /dev/null +++ b/gettext-tools/src/Makefile.msvc @@ -0,0 +1,488 @@ +# -*- Makefile -*- for gettext-tools/src + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif + +# Directories used by "make install": +prefix = c:\usr +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +includedir = $(prefix)\include +datadir = $(prefix)\share +localedir = $(datadir)\locale +aliaspath = +pkgdatadir = $(datadir)\gettext + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +PICFLAGS = -GD +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) + +INCLUDES = + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +PROGRAMS = \ +msgcmp.exe msgfmt.exe msgmerge.exe msgunfmt.exe xgettext.exe \ +msgattrib.exe msgcat.exe msgcomm.exe msgconv.exe msgen.exe msgexec.exe msgfilter.exe msggrep.exe msginit.exe msguniq.exe + +OBJECTS = \ + message.obj \ + po.obj \ + po-lex.obj \ + po-gram-gen.obj \ + po-hash-gen.obj \ + po-charset.obj \ + open-po.obj \ + dir-list.obj \ + str-list.obj \ + read-po.obj \ + write-po.obj \ + msgl-ascii.obj \ + msgl-iconv.obj \ + msgl-equal.obj \ + msgl-cat.obj \ + msgl-english.obj \ + file-list.obj \ + msgl-charset.obj \ + po-time.obj \ + plural.obj \ + plural-table.obj \ + format.obj \ + format-c.obj \ + format-python.obj \ + format-lisp.obj \ + format-elisp.obj \ + format-librep.obj \ + format-java.obj \ + format-awk.obj \ + format-pascal.obj \ + format-ycp.obj \ + format-tcl.obj \ + format-php.obj + +msgcmp_OBJECTS = msgcmp.obj +msgfmt_OBJECTS = msgfmt.obj write-mo.obj write-java.obj write-tcl.obj plural-eval.obj +msgmerge_OBJECTS = msgmerge.obj +msgunfmt_OBJECTS = msgunfmt.obj read-mo.obj read-java.obj read-tcl.obj +xgettext_OBJECTS = xgettext.obj x-c.obj x-po.obj x-python.obj x-lisp.obj x-elisp.obj x-librep.obj x-smalltalk.obj x-java.obj x-awk.obj x-ycp.obj x-tcl.obj x-php.obj x-rst.obj x-glade.obj +msgattrib_OBJECTS = msgattrib.obj +msgcat_OBJECTS = msgcat.obj +msgcomm_OBJECTS = msgcomm.obj +msgconv_OBJECTS = msgconv.obj +msgen_OBJECTS = msgen.obj +msgexec_OBJECTS = msgexec.obj +msgfilter_OBJECTS = msgfilter.obj +msggrep_OBJECTS = msggrep.obj +msginit_OBJECTS = msginit.obj localealias.obj +msguniq_OBJECTS = msguniq.obj + +RESOURCES = gettextsrc.res + +all : gettextsrc.lib $(PROGRAMS) + +# Compilation rules for $(OBJECTS), with $(PICFLAGS). + +message.obj : message.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c message.c + +po.obj : po.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po.c + +po-lex.obj : po-lex.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po-lex.c + +po-gram-gen.obj : po-gram-gen.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po-gram-gen.c + +po-hash-gen.obj : po-hash-gen.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po-hash-gen.c + +po-charset.obj : po-charset.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po-charset.c + +open-po.obj : open-po.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c open-po.c + +dir-list.obj : dir-list.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c dir-list.c + +str-list.obj : str-list.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c str-list.c + +read-po.obj : read-po.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c read-po.c + +write-po.obj : write-po.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c write-po.c + +msgl-ascii.obj : msgl-ascii.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-ascii.c + +msgl-iconv.obj : msgl-iconv.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-iconv.c + +msgl-equal.obj : msgl-equal.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-equal.c + +msgl-cat.obj : msgl-cat.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-cat.c + +msgl-english.obj : msgl-english.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-english.c + +file-list.obj : file-list.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c file-list.c + +msgl-charset.obj : msgl-charset.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c msgl-charset.c + +po-time.obj : po-time.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c po-time.c + +plural.obj : plural.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c plural.c + +plural-table.obj : plural-table.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c plural-table.c + +format.obj : format.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format.c + +format-c.obj : format-c.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-c.c + +format-python.obj : format-python.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-python.c + +format-lisp.obj : format-lisp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-lisp.c + +format-elisp.obj : format-elisp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-elisp.c + +format-librep.obj : format-librep.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-librep.c + +format-java.obj : format-java.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-java.c + +format-awk.obj : format-awk.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-awk.c + +format-pascal.obj : format-pascal.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-pascal.c + +format-ycp.obj : format-ycp.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-ycp.c + +format-tcl.obj : format-tcl.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-tcl.c + +format-php.obj : format-php.c + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c format-php.c + +!if !$(DLL) + +gettextsrc.lib : $(OBJECTS) + -$(RM) gettextsrc.lib + $(AR) $(AR_FLAGS)gettextsrc.lib $(OBJECTS) + +!else + +# gettextsrc.dll and gettextsrc.lib are created together. +gettextsrc.lib : $(OBJECTS) $(RESOURCES) + $(CC) $(MFLAGS) -LD $(OBJECTS) $(RESOURCES) + +gettextsrc.res : ../windows/gettextsrc.rc + rc -Fo gettextsrc.res ../windows/gettextsrc.rc + +!endif + +# Compilation rules for $(program_OBJECTS), without $(PICFLAGS). + +msgcmp.obj : msgcmp.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgcmp.c + +msgfmt.obj : msgfmt.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgfmt.c + +write-mo.obj : write-mo.c + $(CC) $(INCLUDES) $(CFLAGS) -c write-mo.c + +write-java.obj : write-java.c + $(CC) $(INCLUDES) $(CFLAGS) -c write-java.c + +write-tcl.obj : write-tcl.c + $(CC) $(INCLUDES) $(CFLAGS) -c write-tcl.c + +plural-eval.obj : plural-eval.c + $(CC) $(INCLUDES) $(CFLAGS) -c plural-eval.c + +msgmerge.obj : msgmerge.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgmerge.c + +msgunfmt.obj : msgunfmt.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgunfmt.c + +read-mo.obj : read-mo.c + $(CC) $(INCLUDES) $(CFLAGS) -c read-mo.c + +read-java.obj : read-java.c + $(CC) $(INCLUDES) $(CFLAGS) -c read-java.c + +read-tcl.obj : read-tcl.c + $(CC) $(INCLUDES) $(CFLAGS) -c read-tcl.c + +xgettext.obj : xgettext.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c xgettext.c + +x-c.obj : x-c.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-c.c + +x-po.obj : x-po.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-po.c + +x-python.obj : x-python.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-python.c + +x-lisp.obj : x-lisp.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-lisp.c + +x-elisp.obj : x-elisp.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-elisp.c + +x-librep.obj : x-librep.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-librep.c + +x-smalltalk.obj : x-smalltalk.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-smalltalk.c + +x-java.obj : x-java.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-java.c + +x-awk.obj : x-awk.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-awk.c + +x-ycp.obj : x-ycp.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-ycp.c + +x-tcl.obj : x-tcl.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-tcl.c + +x-php.obj : x-php.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-php.c + +x-rst.obj : x-rst.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-rst.c + +x-glade.obj : x-glade.c + $(CC) $(INCLUDES) $(CFLAGS) -c x-glade.c + +msgattrib.obj : msgattrib.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgattrib.c + +msgcat.obj : msgcat.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgcat.c + +msgcomm.obj : msgcomm.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgcomm.c + +msgconv.obj : msgconv.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgconv.c + +msgen.obj : msgen.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgen.c + +msgexec.obj : msgexec.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgexec.c + +msgfilter.obj : msgfilter.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msgfilter.c + +msggrep.obj : msggrep.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msggrep.c + +msginit.obj : msginit.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msginit.c + +localealias.obj : ..\..\gettext-runtime\intl\localealias.c + $(CC) $(INCLUDES) $(CFLAGS) -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" -c ..\..\gettext-runtime\intl\localealias.c + +msguniq.obj : msguniq.c + $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(prefix)\" -DINSTALLDIR=\"$(bindir)\" -c msguniq.c + +msgcmp.exe : $(msgcmp_OBJECTS) + $(CC) $(msgcmp_OBJECTS) -lgettextsrc -Femsgcmp.exe + +msgfmt.exe : $(msgfmt_OBJECTS) + $(CC) $(msgfmt_OBJECTS) -lgettextsrc -Fmsgfmte.exe + +msgmerge.exe : $(msgmerge_OBJECTS) + $(CC) $(msgmerge_OBJECTS) -lgettextsrc -Femsgmerge.exe + +msgunfmt.exe : $(msgunfmt_OBJECTS) + $(CC) $(msgunfmt_OBJECTS) -lgettextsrc -Femsgunfmt.exe + +xgettext.exe : $(xgettext_OBJECTS) + $(CC) $(xgettext_OBJECTS) ..\libuniname\uniname.lib -lgettextsrc -Fexgettext.exe + +msgattrib.exe : $(msgattrib_OBJECTS) + $(CC) $(msgattrib_OBJECTS) -lgettextsrc -Femsgattrib.exe + +msgcat.exe : $(msgcat_OBJECTS) + $(CC) $(msgcat_OBJECTS) -lgettextsrc -Femsgcat.exe + +msgcomm.exe : $(msgcomm_OBJECTS) + $(CC) $(msgcomm_OBJECTS) -lgettextsrc -Femsgcomm.exe + +msgconv.exe : $(msgconv_OBJECTS) + $(CC) $(msgconv_OBJECTS) -lgettextsrc -Femsgconv.exe + +msgen.exe : $(msgen_OBJECTS) + $(CC) $(msgen_OBJECTS) -lgettextsrc -Femsgen.exe + +msgexec.exe : $(msgexec_OBJECTS) + $(CC) $(msgexec_OBJECTS) -lgettextsrc -Femsgexec.exe + +msgfilter.exe : $(msgfilter_OBJECTS) + $(CC) $(msgfilter_OBJECTS) -lgettextsrc -Femsgfilter.exe + +msggrep.exe : $(msggrep_OBJECTS) + $(CC) $(msggrep_OBJECTS) -lgettextsrc -Femsggrep.exe + +msginit.exe : $(msginit_OBJECTS) + $(CC) $(msginit_OBJECTS) ..\intl\localename.obj -lgettextsrc -Femsginit.exe + +msguniq.exe : $(msguniq_OBJECTS) + $(CC) $(msguniq_OBJECTS) -lgettextsrc -Femsguniq.exe + +install : all force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) + $(INSTALL_DATA) gettextsrc.dll $(bindir)\gettextsrc.dll +!endif + $(INSTALL_PROGRAM) msgcmp.exe $(bindir)\msgcmp.exe + $(INSTALL_PROGRAM) msgfmt.exe $(bindir)\msgfmt.exe + $(INSTALL_PROGRAM) msgmerge.exe $(bindir)\msgmerge.exe + $(INSTALL_PROGRAM) msgunfmt.exe $(bindir)\msgunfmt.exe + $(INSTALL_PROGRAM) xgettext.exe $(bindir)\xgettext.exe + $(INSTALL_PROGRAM) msgattrib.exe $(bindir)\msgattrib.exe + $(INSTALL_PROGRAM) msgcat.exe $(bindir)\msgcat.exe + $(INSTALL_PROGRAM) msgcomm.exe $(bindir)\msgcomm.exe + $(INSTALL_PROGRAM) msgconv.exe $(bindir)\msgconv.exe + $(INSTALL_PROGRAM) msgen.exe $(bindir)\msgen.exe + $(INSTALL_PROGRAM) msgexec.exe $(bindir)\msgexec.exe + $(INSTALL_PROGRAM) msgfilter.exe $(bindir)\msgfilter.exe + $(INSTALL_PROGRAM) msggrep.exe $(bindir)\msggrep.exe + $(INSTALL_PROGRAM) msginit.exe $(bindir)\msginit.exe + $(INSTALL_PROGRAM) msguniq.exe $(bindir)\msguniq.exe + -mkdir $(datadir) + -mkdir $(pkgdatadir) + $(INSTALL_DATA) msgunfmt.tcl $(pkgdatadir)\msgunfmt.tcl + +installdirs : force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) +!endif + -mkdir $(datadir) + -mkdir $(pkgdatadir) + +uninstall : force +!if $(DLL) + $(RM) $(bindir)\gettextsrc.dll +!endif + $(RM) $(bindir)\msgcmp.exe + $(RM) $(bindir)\msgfmt.exe + $(RM) $(bindir)\msgmerge.exe + $(RM) $(bindir)\msgunfmt.exe + $(RM) $(bindir)\xgettext.exe + $(RM) $(bindir)\msgattrib.exe + $(RM) $(bindir)\msgcat.exe + $(RM) $(bindir)\msgcomm.exe + $(RM) $(bindir)\msgconv.exe + $(RM) $(bindir)\msgen.exe + $(RM) $(bindir)\msgexec.exe + $(RM) $(bindir)\msgfilter.exe + $(RM) $(bindir)\msggrep.exe + $(RM) $(bindir)\msginit.exe + $(RM) $(bindir)\msguniq.exe + $(RM) $(pkgdatadir)\msgunfmt.tcl + +check : all + +mostlyclean : clean + +clean : force + $(RM) *.obj + $(RM) *.lib + $(RM) *.exp + $(RM) *.dll + $(RM) gettextsrc.res + $(RM) $(PROGRAMS) + $(RM) core + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index 25fbca0..aed7dc7 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -1,3 +1,9 @@ +2003-03-17 Bruno Haible <bruno@clisp.org> + + Native Woe32/MSVC support. + * Makefile.msvc: New file. + * Makefile.am (EXTRA_DIST): Add it. + 2003-02-28 Bruno Haible <bruno@clisp.org> Support for relocatable installation. diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index a5e33a4..0a04e72 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -18,6 +18,7 @@ ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies +EXTRA_DIST = TESTS = gettext-1 gettext-2 \ msgattrib-1 msgattrib-2 msgattrib-3 msgattrib-4 msgattrib-5 \ @@ -65,7 +66,7 @@ TESTS = gettext-1 gettext-2 \ lang-ycp lang-tcl lang-php lang-po \ lang-rst -EXTRA_DIST = $(TESTS) \ +EXTRA_DIST += $(TESTS) \ test.mo xg-test1.ok.po mex-test2.ok msguniq-a.in msguniq-a.out \ ChangeLog.0 @@ -130,3 +131,8 @@ fc4_LDADD = ../lib/libgettextlib.la $(LDADD) # Clean up after Solaris cc. clean-am: rm -rf SunWS_cache + + +# Woe32 support. + +EXTRA_DIST += Makefile.msvc diff --git a/gettext-tools/tests/Makefile.msvc b/gettext-tools/tests/Makefile.msvc new file mode 100644 index 0000000..81ee8d8 --- /dev/null +++ b/gettext-tools/tests/Makefile.msvc @@ -0,0 +1,27 @@ +# -*- Makefile -*- for gettext-tools/tests + +#### Start of system configuration section. #### + +#### End of system configuration section. #### + +SHELL = /bin/sh + +all : + +install : all + +installdirs : + +uninstall : + +check : + +mostlyclean : clean + +clean : force + +distclean : clean + +maintainer-clean : distclean + +force : diff --git a/gettext-tools/windows/gettextlib.exp b/gettext-tools/windows/gettextlib.exp new file mode 100644 index 0000000..964573f --- /dev/null +++ b/gettext-tools/windows/gettextlib.exp @@ -0,0 +1,79 @@ +argmatch_die +error_message_count +error_with_progname +program_name +simple_backup_suffix +__xargmatch_internal +addext +argmatch +argmatch_invalid +argmatch_to_argument +argmatch_valid +c_isalnum +c_isalpha +c_isascii +c_isblank +c_iscntrl +c_isdigit +c_isgraph +c_islower +c_isprint +c_ispunct +c_isspace +c_isupper +c_isxdigit +c_tolower +c_toupper +compile_java_class +concatenated_pathname +copy_file +create_pipe_bidi +create_pipe_in +create_pipe_out +delete_hash +error +error_at_line +execute +execute_java_class +find_backup_file_name +find_entry +find_in_path +fstrcmp +full_write +gcd +get_version +gnu_mbswidth +init_hash +insert_entry +iterate_table +locale_charset +maybe_print_progname +mbs_width_linebreaks +mbsnwidth +multiline_error +multiline_warning +new_classpath +next_prime +path_search +reset_classpath +safe_read +safe_write +set_classpath +set_program_name +shell_quote +shell_quote_argv +shell_quote_copy +shell_quote_length +u8_possible_linebreaks +u8_width_linebreaks +uc_width +wait_subprocess +xalloc_die +xasprintf +xcalloc +xget_version +xmalloc +xreadlink +xrealloc +xsetenv +xstrdup diff --git a/gettext-tools/windows/gettextlib.rc b/gettext-tools/windows/gettextlib.rc new file mode 100644 index 0000000..6a54b23 --- /dev/null +++ b/gettext-tools/windows/gettextlib.rc @@ -0,0 +1,37 @@ +/* Resources for gettextlib.dll */ +/* There are 4 occurrences of the version number in this file. */ + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,12,0,0 + PRODUCTVERSION 0,12,0,0 + FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ +#ifdef _DEBUG + FILEFLAGS 0x1L /* VS_FF_DEBUG */ +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ + FILETYPE 0x2L /* VFT_DLL */ + FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "04090000" /* Lang = US English, Charset = ASCII */ + BEGIN + VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\0" + VALUE "CompanyName", "Free Software Foundation\0" + VALUE "FileDescription", "GPLed libgettextlib for Windows NT/2000/XP and Windows 95/98/ME\0" + VALUE "FileVersion", "0.12\0" + VALUE "InternalName", "gettextlib.dll\0" + VALUE "LegalCopyright", "Copyright (C) 1995-2003\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "gettextlib.dll\0" + VALUE "ProductName", "libgettextlib: subroutines for gettext-tools\0" + VALUE "ProductVersion", "0.12\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0 /* US English, ASCII */ + END +END diff --git a/gettext-tools/windows/gettextsrc.exp b/gettext-tools/windows/gettextsrc.exp new file mode 100644 index 0000000..eabae6f --- /dev/null +++ b/gettext-tools/windows/gettextsrc.exp @@ -0,0 +1,127 @@ +allow_duplicates +format_language +format_language_pretty +formatstring_awk +formatstring_c +formatstring_elisp +formatstring_java +formatstring_librep +formatstring_lisp +formatstring_parsers +formatstring_pascal +formatstring_php +formatstring_python +formatstring_smalltalk +formatstring_tcl +formatstring_ycp +gram_max_allowed_errors +gram_pos +gram_pos_column +less_than +line_comment +more_than +msgcomm_mode +omit_header +pass_obsolete_entries +plural_table +plural_table_size +po_charset_ascii +po_charset_utf8 +po_gram_lval +po_lex_charset +po_lex_iconv +po_lex_weird_cjk +use_first +catenate_msgdomain_list +compare_po_locale_charsets +convert_string +dir_list_append +dir_list_nth +dir_list_restore +dir_list_save_reset +extract_plural_expression +get_c99_format_directives +iconv_message_list +iconv_msgdomain_list +is_ascii_message +is_ascii_message_list +is_ascii_string +is_ascii_string_list +lex_close +lex_end +lex_open +lex_start +message_alloc +message_comment_append +message_comment_dot_append +message_comment_filepos +message_copy +message_equal +message_free +message_list_alloc +message_list_append +message_list_equal +message_list_free +message_list_list_alloc +message_list_list_append +message_list_list_append_list +message_list_list_search +message_list_list_search_fuzzy +message_list_prepend +message_list_remove_if_not +message_list_search +message_list_search_fuzzy +message_page_width_ignore +message_page_width_set +message_print_style_escape +message_print_style_indent +message_print_style_uniforum +msgdomain_alloc +msgdomain_free +msgdomain_list_alloc +msgdomain_list_append +msgdomain_list_english +msgdomain_list_equal +msgdomain_list_free +msgdomain_list_print +msgdomain_list_sort_by_filepos +msgdomain_list_sort_by_msgid +msgdomain_list_sublist +open_po_file +parse_plural_expression +po_alloc +po_callback_comment +po_callback_comment_filepos +po_callback_domain +po_callback_message +po_charset_ascii_compatible +po_charset_canonicalize +po_free +po_gram_lex +po_gram_parse +po_hash +po_is_charset_weird +po_is_charset_weird_cjk +po_lex_charset_close +po_lex_charset_init +po_lex_charset_set +po_lex_pass_comments +po_lex_pass_obsolete_entries +po_parse_comment_special +po_scan +po_scan_file +po_strftime +possible_format_p +read_names_from_file +read_po +read_po_file +string_list_alloc +string_list_append +string_list_append_unique +string_list_concat +string_list_concat_destroy +string_list_destroy +string_list_equal +string_list_free +string_list_init +string_list_member diff --git a/gettext-tools/windows/gettextsrc.rc b/gettext-tools/windows/gettextsrc.rc new file mode 100644 index 0000000..a5f51db --- /dev/null +++ b/gettext-tools/windows/gettextsrc.rc @@ -0,0 +1,37 @@ +/* Resources for gettextsrc.dll */ +/* There are 4 occurrences of the version number in this file. */ + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,12,0,0 + PRODUCTVERSION 0,12,0,0 + FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ +#ifdef _DEBUG + FILEFLAGS 0x1L /* VS_FF_DEBUG */ +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ + FILETYPE 0x2L /* VFT_DLL */ + FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "04090000" /* Lang = US English, Charset = ASCII */ + BEGIN + VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\0" + VALUE "CompanyName", "Free Software Foundation\0" + VALUE "FileDescription", "GPLed libgettextsrc for Windows NT/2000/XP and Windows 95/98/ME\0" + VALUE "FileVersion", "0.12\0" + VALUE "InternalName", "gettextsrc.dll\0" + VALUE "LegalCopyright", "Copyright (C) 1995-2003\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "gettextsrc.dll\0" + VALUE "ProductName", "libgettextsrc: subroutines for gettext-tools\0" + VALUE "ProductVersion", "0.12\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0 /* US English, ASCII */ + END +END |