1## Makefile for the gettext-runtime directory of GNU gettext
2## Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc.
3##
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2, or (at your option)
7## any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18## Process this file with automake to produce Makefile.in.
19
20AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
21ACLOCAL_AMFLAGS = -I m4 -I ../gettext-tools/m4 -I ../autoconf-lib-link/m4 -I ../m4
22
23MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
24
25SUBDIRS =      doc intl intl-java intl-csharp lib @SUBDIR_libasprintf@ src po m4
26DIST_SUBDIRS = doc intl intl-java intl-csharp lib libasprintf          src po man m4
27
28EXTRA_DIST = BUGS
29
30
31# Files installed for the user and for use by gettextize.
32
33gettextsrcdir = $(datadir)/gettext
34gettextsrc_DATA = ABOUT-NLS
35
36
37all-local: ABOUT-NLS
38
39ABOUT-NLS: $(srcdir)/doc/nls.texi $(srcdir)/doc/matrix.texi
40	rm -f $(srcdir)/ABOUT-NLS \
41	  && $(MAKEINFO) --output=$(srcdir)/ABOUT-NLS --no-header \
42	    -I $(srcdir)/doc --no-validate nls.texi
43
44
45# VMS support.
46
47config.h_vms: config.h.in ../version.sh
48	(echo '#define KEEP_CRTL_SETLOCALE 1'; echo '#include <vms_jackets.h>'; echo '#undef realpath'; \
49	 sed -e 's/#undef ENABLE_NLS$$/#define ENABLE_NLS 1/' \
50	     -e 's/#undef HAVE_ALLOCA$$/#define HAVE_ALLOCA 1/' \
51	     -e 's/#undef HAVE_DLFCN_H$$/#define HAVE_DLFCN_H 1/' \
52	     -e 's/#undef HAVE_ERRNO_DECL$$/#define HAVE_ERRNO_DECL 1/' \
53	     -e 's/#undef HAVE_GETCWD$$/#define HAVE_GETCWD 1/' \
54	     -e 's/#undef HAVE_GETEGID$$/#define HAVE_GETEGID 1/' \
55	     -e 's/#undef HAVE_GETEUID$$/#define HAVE_GETEUID 1/' \
56	     -e 's/#undef HAVE_GETGID$$/#define HAVE_GETGID 1/' \
57	     -e 's/#undef HAVE_GETPAGESIZE$$/#define HAVE_GETPAGESIZE 1/' \
58	     -e 's/#undef HAVE_GETUID$$/#define HAVE_GETUID 1/' \
59	     -e 's/#undef HAVE_ICONV$$/#define HAVE_ICONV 1/' \
60	     -e 's/#undef HAVE_INTTYPES_H$$/#define HAVE_INTTYPES_H 1/' \
61	     -e 's/#undef HAVE_LANGINFO_CODESET$$/#define HAVE_LANGINFO_CODESET 1/' \
62	     -e 's/#undef HAVE_LC_MESSAGES$$/#define HAVE_LC_MESSAGES 1/' \
63	     -e 's/#undef HAVE_LIMITS_H$$/#define HAVE_LIMITS_H 1/' \
64	     -e 's/#undef HAVE_LOCALE_H$$/#define HAVE_LOCALE_H 1/' \
65	     -e 's/#undef HAVE_LONG_DOUBLE$$/#define HAVE_LONG_DOUBLE 1/' \
66	     -e 's/#undef HAVE_LONG_LONG$$/#define HAVE_LONG_LONG 1/' \
67	     -e 's/#undef HAVE_MALLOC_H$$/#define HAVE_MALLOC_H 1/' \
68	     -e 's/#undef HAVE_MEMMOVE$$/#define HAVE_MEMMOVE 1/' \
69	     -e 's/#undef HAVE_MEMORY_H$$/#define HAVE_MEMORY_H 1/' \
70	     -e 's/#undef HAVE_MMAP$$/#define HAVE_MMAP 1/' \
71	     -e 's/#undef HAVE_MUNMAP$$/#define HAVE_MUNMAP 1/' \
72	     -e 's/#undef HAVE_NL_TYPES_H$$/#define HAVE_NL_TYPES_H 1/' \
73	     -e 's/#undef HAVE_POSIX_PRINTF$$/#define HAVE_POSIX_PRINTF 1/' \
74	     -e 's/#undef HAVE_PTRDIFF_T$$/#define HAVE_PTRDIFF_T 1/' \
75	     -e 's/#undef HAVE_PUTENV$$/#define HAVE_PUTENV 1/' \
76	     -e 's/#undef HAVE_READLINK$$/#define HAVE_READLINK 1/' \
77	     -e 's/#undef HAVE_SETENV$$/#define HAVE_SETENV 1/' \
78	     -e 's/#undef HAVE_SETLOCALE$$/#define HAVE_SETLOCALE 1/' \
79	     -e 's/#undef HAVE_STDBOOL_H$$/#define HAVE_STDBOOL_H 1/' \
80	     -e 's/#undef HAVE_STDDEF_H$$/#define HAVE_STDDEF_H 1/' \
81	     -e 's/#undef HAVE_STDLIB_H$$/#define HAVE_STDLIB_H 1/' \
82	     -e 's/#undef HAVE_STRCASECMP$$/#define HAVE_STRCASECMP 1/' \
83	     -e 's/#undef HAVE_STRDUP$$/#define HAVE_STRDUP 1/' \
84	     -e 's/#undef HAVE_STRERROR$$/#define HAVE_STRERROR 1/' \
85	     -e 's/#undef HAVE_STRINGS_H$$/#define HAVE_STRINGS_H 1/' \
86	     -e 's/#undef HAVE_STRING_H$$/#define HAVE_STRING_H 1/' \
87	     -e 's/#undef HAVE_STRTOUL$$/#define HAVE_STRTOUL 1/' \
88	     -e 's/#undef HAVE_SYS_PARAM_H$$/#define HAVE_SYS_PARAM_H 1/' \
89	     -e 's/#undef HAVE_SYS_STAT_H$$/#define HAVE_SYS_STAT_H 1/' \
90	     -e 's/#undef HAVE_SYS_TYPES_H$$/#define HAVE_SYS_TYPES_H 1/' \
91	     -e 's/#undef HAVE_UNISTD_H$$/#define HAVE_UNISTD_H 1/' \
92	     -e 's/#undef HAVE_UNSETENV$$/#define HAVE_UNSETENV 1/' \
93	     -e 's/#undef HAVE_UNSIGNED_LONG_LONG$$/#define HAVE_UNSIGNED_LONG_LONG 1/' \
94	     -e 's/#undef HAVE_VPRINTF$$/#define HAVE_VPRINTF 1/' \
95	     -e 's/#undef HAVE_WCHAR_T$$/#define HAVE_WCHAR_T 1/' \
96	     -e 's/#undef HAVE_WCSLEN$$/#define HAVE_WCSLEN 1/' \
97	     -e 's/#undef HAVE_WINT_T$$/#define HAVE_WINT_T 1/' \
98	     -e 's/#undef HAVE_WPRINTF$$/#define HAVE_WPRINTF 1/' \
99	     -e 's/#undef ICONV_CONST$$/#define ICONV_CONST/' \
100	     -e 's/#undef MALLOC_0_IS_NONNULL$$/#define MALLOC_0_IS_NONNULL 0/' \
101	     -e 's/#undef STDC_HEADERS$$/#define STDC_HEADERS 1/' \
102	     -e 's/#undef USE_UNLOCKED_IO$$/#define USE_UNLOCKED_IO 1/' \
103	     -e 's/#undef __GETOPT_PREFIX$$/#define __GETOPT_PREFIX/' \
104	     -e 's/#undef realpath$$/#define realpath rpl_realpath/' \
105	     -e 's/#undef uintmax_t$$/#define uintmax_t unsigned long long/' \
106	     -e 's/#undef PACKAGE$$/#define PACKAGE "gettext-runtime"/' \
107	     -e 's/#undef VERSION$$/#define VERSION "$(VERSION)"/' \
108	   < $(srcdir)/config.h.in; echo; echo '#define alloca __ALLOCA') > $@
109# vms_jackets.h is a header that comes with Compaq's "porting library".
110# KEEP_CRTL_SETLOCALE tells it to not override the native locale support.
111
112intl/libgnuintl.h_vms: intl/libgnuintl.h.in
113	sed -e 's,@''HAVE_POSIX_PRINTF''@,1,g ' \
114	    -e 's,@''HAVE_ASPRINTF''@,0,g' \
115	    -e 's,@''HAVE_SNPRINTF''@,0,g' \
116	    -e 's,@''HAVE_WPRINTF''@,1,g' \
117	  < $(srcdir)/intl/libgnuintl.h.in > $@
118
119all-local: intl/libgnuintl.h_vms
120
121EXTRA_DIST += Makefile.vms config.h_vms
122
123
124# Woe32 support.
125
126config.h.msvc: config.h.in ../version.sh
127	sed -e 's/#undef ENABLE_NLS$$/#define ENABLE_NLS 1/' \
128	    -e 's/#undef ENABLE_RELOCATABLE$$/#define ENABLE_RELOCATABLE 1/' \
129	    -e 's/#undef HAVE_ALLOCA$$/#define HAVE_ALLOCA 1/' \
130	    -e 's/#undef HAVE_DECL_STRERROR$$/#define HAVE_DECL_STRERROR 1/' \
131	    -e 's/#undef HAVE_DECL__SNPRINTF$$/#define HAVE_DECL__SNPRINTF 1/' \
132	    -e 's/#undef HAVE_DECL__SNWPRINTF$$/#define HAVE_DECL__SNWPRINTF 1/' \
133	    -e 's/#undef HAVE_ENVIRON_DECL$$/#define HAVE_ENVIRON_DECL 1/' \
134	    -e 's/#undef HAVE_ERRNO_DECL$$/#define HAVE_ERRNO_DECL 1/' \
135	    -e 's/#undef HAVE_GETCWD$$/#define HAVE_GETCWD 1/' \
136	    -e 's/#undef HAVE_ICONV$$/#define HAVE_ICONV 1/' \
137	    -e 's/#undef HAVE_LIMITS_H$$/#define HAVE_LIMITS_H 1/' \
138	    -e 's/#undef HAVE_LOCALE_H$$/#define HAVE_LOCALE_H 1/' \
139	    -e 's/#undef HAVE_LONG_DOUBLE$$/#define HAVE_LONG_DOUBLE 1/' \
140	    -e 's/#undef HAVE_MEMMOVE$$/#define HAVE_MEMMOVE 1/' \
141	    -e 's/#undef HAVE_PTRDIFF_T$$/#define HAVE_PTRDIFF_T 1/' \
142	    -e 's/#undef HAVE_PUTENV$$/#define HAVE_PUTENV 1/' \
143	    -e 's/#undef HAVE_SETLOCALE$$/#define HAVE_SETLOCALE 1/' \
144	    -e 's/#undef HAVE_SNPRINTF$$/#define HAVE_SNPRINTF 1/' \
145	    -e 's/#undef HAVE_STDDEF_H$$/#define HAVE_STDDEF_H 1/' \
146	    -e 's/#undef HAVE_STDLIB_H$$/#define HAVE_STDLIB_H 1/' \
147	    -e 's/#undef HAVE_STRDUP$$/#define HAVE_STRDUP 1/' \
148	    -e 's/#undef HAVE_STRERROR$$/#define HAVE_STRERROR 1/' \
149	    -e 's/#undef HAVE_STRING_H$$/#define HAVE_STRING_H 1/' \
150	    -e 's/#undef HAVE_STRTOUL$$/#define HAVE_STRTOUL 1/' \
151	    -e 's/#undef HAVE_SYS_STAT_H$$/#define HAVE_SYS_STAT_H 1/' \
152	    -e 's/#undef HAVE_SYS_TYPES_H$$/#define HAVE_SYS_TYPES_H 1/' \
153	    -e 's/#undef HAVE_VPRINTF$$/#define HAVE_VPRINTF 1/' \
154	    -e 's/#undef HAVE_WCHAR_T$$/#define HAVE_WCHAR_T 1/' \
155	    -e 's/#undef HAVE_WCSLEN$$/#define HAVE_WCSLEN 1/' \
156	    -e 's/#undef HAVE_WINT_T$$/#define HAVE_WINT_T 1/' \
157	    -e 's/#undef HAVE_WPRINTF$$/#define HAVE_WPRINTF 1/' \
158	    -e 's/#undef ICONV_CONST$$/#define ICONV_CONST const/' \
159	    -e 's/#undef MALLOC_0_IS_NONNULL$$/#define MALLOC_0_IS_NONNULL 1/' \
160	    -e 's/#undef SIZE_MAX$$/#define SIZE_MAX 4294967295U/' \
161	    -e 's/#undef STACK_DIRECTION$$/#define STACK_DIRECTION -1/' \
162	    -e 's/#undef STDC_HEADERS$$/#define STDC_HEADERS 1/' \
163	    -e 's/#undef USE_UNLOCKED_IO$$/#define USE_UNLOCKED_IO 1/' \
164	    -e 's/#undef __GETOPT_PREFIX$$/#define __GETOPT_PREFIX/' \
165	    -e 's/#undef inline$$/#define inline __inline/' \
166	    -e 's/#undef ssize_t$$/#define ssize_t int/' \
167	    -e 's/#undef uintmax_t$$/#define uintmax_t unsigned long/' \
168	    -e 's/#undef PACKAGE$$/#define PACKAGE "gettext-runtime"/' \
169	    -e 's/#undef VERSION$$/#define VERSION "$(VERSION)"/' \
170	    -e '/#undef INSTALLPREFIX$$/d' \
171	  < $(srcdir)/config.h.in > $@
172
173intl/libgnuintl.h.msvc-static: intl/libgnuintl.h.in
174	sed -e 's,@''HAVE_POSIX_PRINTF''@,0,g ' \
175	    -e 's,@''HAVE_ASPRINTF''@,0,g' \
176	    -e 's,@''HAVE_SNPRINTF''@,0,g' \
177	    -e 's,@''HAVE_WPRINTF''@,1,g' \
178	  < $(srcdir)/intl/libgnuintl.h.in > $@
179
180intl/libgnuintl.h.msvc-shared: intl/libgnuintl.h.in windows/dllexport.h
181	sed -e 's,@''HAVE_POSIX_PRINTF''@,0,g ' \
182	    -e 's,@''HAVE_ASPRINTF''@,0,g' \
183	    -e 's,@''HAVE_SNPRINTF''@,0,g' \
184	    -e 's,@''HAVE_WPRINTF''@,1,g' \
185	    -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \
186	    -e '/#define _LIBINTL_H/r windows/dllexport.h' \
187	  < $(srcdir)/intl/libgnuintl.h.in > $@
188
189all-local: intl/libgnuintl.h.msvc-static intl/libgnuintl.h.msvc-shared
190
191EXTRA_DIST += README.woe32 Makefile.msvc config.h.msvc windows/dllexport.h windows/intl.rc
192