A tool to display MS-Windows locale information
Revision | 2d5604d8233d284820b519091a901f56d0c6203a (tree) |
---|---|
Time | 2019-03-07 07:09:34 |
Author | Keith Marshall <keith@user...> |
Commiter | Keith Marshall |
Implement an automated build system.
* configure.ac Makefile.in: New files.
@@ -0,0 +1,186 @@ | ||
1 | +# @configure_input@ | |
2 | +# ----------------------------------------------------------------------------- | |
3 | +# | |
4 | +# Makefile.in | |
5 | +# | |
6 | +PACKAGE = @PACKAGE_TARNAME@ | |
7 | +VERSION = @PACKAGE_VERSION@ | |
8 | +# | |
9 | +# A makefile template for the mingw-locale-info tool. | |
10 | +# | |
11 | +# $Id$ | |
12 | +# | |
13 | +# Written by Keith Marshall <keith@users.osdn.me> | |
14 | +# Copyright (C) 2019, MinGW.org Project | |
15 | +# | |
16 | +# | |
17 | +# Permission is hereby granted, free of charge, to any person obtaining a copy | |
18 | +# of this software and associated documentation files (the "Software"), to deal | |
19 | +# in the Software without restriction, including without limitation the rights | |
20 | +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
21 | +# copies of the Software, and to permit persons to whom the Software is | |
22 | +# furnished to do so, subject to the following conditions: | |
23 | +# | |
24 | +# The above copyright notice and this permission notice shall be included in | |
25 | +# all copies or substantial portions of the Software. | |
26 | +# | |
27 | +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
28 | +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
29 | +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
30 | +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
31 | +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
32 | +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
33 | +# THE SOFTWARE. | |
34 | +# | |
35 | +# ----------------------------------------------------------------------------- | |
36 | +# | |
37 | +# Designate "all" as the default goal; declare this early, to ensure | |
38 | +# that no other goal becomes inadvertently interposed, but defer the | |
39 | +# definition of its dependencies, until later. | |
40 | +# | |
41 | +all: | |
42 | + | |
43 | + | |
44 | +# Configuration | |
45 | +# ------------- | |
46 | +# | |
47 | +srcdir = @srcdir@ | |
48 | +top_srcdir = @top_srcdir@ | |
49 | + | |
50 | +CC = @CC@ | |
51 | +CFLAGS = @CFLAGS@ | |
52 | +CPPFLAGS = @CPPFLAGS@ | |
53 | +SETLOCALE_OPTION = @SETLOCALE@ | |
54 | + | |
55 | +OBJEXT = @OBJEXT@ | |
56 | +EXEEXT = @EXEEXT@ | |
57 | +DLLEXT = @DLLEXT@ | |
58 | + | |
59 | +# Keep the configuration in a consistent state. Note that we assume | |
60 | +# that configure has been run initially, (otherwise we wouldn't have | |
61 | +# a Makefile to begin with); since this also creates config.status, | |
62 | +# we may normally assume that it is already available ... | |
63 | +# | |
64 | +vpath configure ${top_srcdir} | |
65 | +config.status: configure | |
66 | + $(SHELL) $@ --recheck | |
67 | + | |
68 | +# ... in which case, updating Makefile should be a simple matter of | |
69 | +# running config.status ... | |
70 | +# | |
71 | +vpath Makefile.in ${top_srcdir} | |
72 | +requires_existing = $(if $(wildcard $1),$1,$1.missing) | |
73 | +Makefile: %: $(call requires_existing,config.status) configure %.in | |
74 | + $(SHELL) $< | |
75 | + | |
76 | +.PHONY: config.status.missing | |
77 | +# ... but, in the event that this may be missing, (e.g. because it | |
78 | +# has been manually removed, or removed by "make distclean"), suggest | |
79 | +# running configure, and bail out. | |
80 | +# | |
81 | +config.status.missing: | |
82 | + $(warning *** cannot execute config.status) | |
83 | + $(error please run ${top_srcdir}/configure to regenerate it) | |
84 | + | |
85 | +# If configure itself needs to be updated, we must run autoconf in the | |
86 | +# top level source directory. | |
87 | +# | |
88 | +vpath configure.ac ${top_srcdir} | |
89 | +configure: %: %.ac | |
90 | + cd ${top_srcdir}; autoconf | |
91 | + | |
92 | + | |
93 | +# Build Rules | |
94 | +# ----------- | |
95 | +# | |
96 | +vpath %.c ${srcdir} | |
97 | +PROGRAM_FILES = locale-info.$(DLLEXT) locale-info$(EXEEXT) | |
98 | +ALL_CFLAGS = $(SETLOCALE_OPTION) $(CPPFLAGS) $(CFLAGS) | |
99 | + | |
100 | +all: $(PROGRAM_FILES) | |
101 | + | |
102 | +%$(EXEEXT): %.c | |
103 | + $(CC) $(ALL_CFLAGS) -o $@ $< | |
104 | + | |
105 | +%.$(DLLEXT): %.c | |
106 | + $(CC) -shared -D BUILD_DLL $(ALL_CFLAGS) -o $@ $< | |
107 | + | |
108 | + | |
109 | +# Installation | |
110 | +# ------------ | |
111 | +# | |
112 | +INSTALL = @INSTALL@ | |
113 | +INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
114 | +INSTALL_DATA = @INSTALL_DATA@ | |
115 | + | |
116 | +# For a stripped installation, which is also used as the basis for a | |
117 | +# binary distribution, we require an augmented INSTALL_PROGRAM macro. | |
118 | +# | |
119 | +bindist install-strip-program: INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s | |
120 | + | |
121 | +MKDIR_P = @MKDIR_P@ | |
122 | + | |
123 | +prefix = @prefix@ | |
124 | +exec_prefix = @exec_prefix@ | |
125 | +bindir = @bindir@ | |
126 | + | |
127 | +installdirs: ${bindir} | |
128 | + $(MKDIR_P) $^ | |
129 | + | |
130 | +install: installdirs install-program | |
131 | +install-strip: installdirs install-strip-program | |
132 | +install-program install-strip-program: $(PROGRAM_FILES) | |
133 | + $(INSTALL_PROGRAM) $^ ${bindir} | |
134 | + | |
135 | +uninstall: | |
136 | + $(RM) $(addprefix ${bindir}/,$(PROGRAM_FILES)) | |
137 | + | |
138 | + | |
139 | +# Distribution | |
140 | +# ------------ | |
141 | +# | |
142 | +DISTNAME = $(SRCDIST_DIR)-mingw32 | |
143 | + | |
144 | +SRCDIST_DIR = $(PACKAGE)-$(VERSION) | |
145 | +SRCDIST_FILES = configure.ac Makefile.in locale-info.c | |
146 | + | |
147 | +ChangeLog: $(SRCDIST_FILES) | |
148 | + $(error Please update $@ for distribution) | |
149 | + | |
150 | +dist: srcdist bindist | |
151 | +vpath install-sh @top_srcdir@/.. | |
152 | +srcdist: ChangeLog configure install-sh $(SRCDIST_FILES) | |
153 | + $(MKDIR_P) dist/${SRCDIST_DIR} | |
154 | + $(INSTALL_DATA) $^ ${CURDIR}/dist/${SRCDIST_DIR} | |
155 | + cd dist && tar cf - $(SRCDIST_DIR) | xz -c > $(DISTNAME)-src.tar.xz | |
156 | + $(RM) -r dist/${SRCDIST_DIR} | |
157 | + | |
158 | +bindist: $(PROGRAM_FILES) | |
159 | + $(MKDIR_P) dist/bin | |
160 | + $(INSTALL_PROGRAM) $^ ${CURDIR}/dist/bin | |
161 | + cd dist && tar cf - bin | xz -c > $(DISTNAME)-bin.tar.xz | |
162 | + $(RM) -r dist/bin | |
163 | + | |
164 | + | |
165 | +# Clean-up Rules | |
166 | +# -------------- | |
167 | +# | |
168 | +clean mostlyclean: | |
169 | + $(RM) $(PROGRAM_FILES) *.$(OBJEXT) *~ | |
170 | + | |
171 | +distclean: clean | |
172 | + $(RM) config.log config.status Makefile | |
173 | + $(RM) -r ${top_srcdir}/autom4te.cache | |
174 | + | |
175 | +maintainer-clean: maintainer-clean-warning distclean | |
176 | + $(RM) ${top_srcdir}/configure | |
177 | + | |
178 | +maintainer-clean-warning: | |
179 | + $(warning $(MAKE) $(@:%-warning=%)) | |
180 | + $(warning This command should be used by package maintainers only;) | |
181 | + $(warning it deletes files which may require special tools to rebuild.) | |
182 | + @echo | |
183 | + | |
184 | + | |
185 | +# ----------------------------------------------------------------------------- | |
186 | +# $RCSfile$: end of file |
@@ -0,0 +1,59 @@ | ||
1 | +# configure.ac -*- Autoconf -*- vim: filetype=config | |
2 | +# | |
3 | +# Process this file with autoconf, to create a configure script for | |
4 | +# the MinGW locale-info properties query tool. | |
5 | +# | |
6 | + m4_define([__package__],[locale-info]) | |
7 | + m4_define([__version__],[1.0]) | |
8 | +# | |
9 | +# $Id$ | |
10 | +# | |
11 | +# Written by Keith Marshall <keith@users.osdn.me> | |
12 | +# Copyright (C) 2019, MinGW.org Project | |
13 | +# | |
14 | +# | |
15 | +# Permission is hereby granted, free of charge, to any person obtaining a | |
16 | +# copy of this software and associated documentation files (the "Software"), | |
17 | +# to deal in the Software without restriction, including without limitation | |
18 | +# the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
19 | +# and/or sell copies of the Software, and to permit persons to whom the | |
20 | +# Software is furnished to do so, subject to the following conditions: | |
21 | +# | |
22 | +# The above copyright notice and this permission notice (including the next | |
23 | +# paragraph) shall be included in all copies or substantial portions of the | |
24 | +# Software. | |
25 | +# | |
26 | +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
27 | +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
28 | +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
29 | +# AUTHORS OR THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
30 | +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
31 | +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | |
32 | +# DEALINGS IN THE SOFTWARE. | |
33 | +# | |
34 | + AC_PREREQ([2.64]) | |
35 | + AC_INIT([__package__],[__version__]) | |
36 | + AC_CONFIG_SRCDIR([locale-info.c]) | |
37 | +# | |
38 | +# Build tools identification. | |
39 | +# | |
40 | + AC_PROG_CC | |
41 | + AC_PROG_INSTALL | |
42 | + AC_PROG_MKDIR_P | |
43 | +# | |
44 | +# Substitution variables assignments. | |
45 | +# | |
46 | + AC_SUBST([DLLEXT],["dll"]) | |
47 | + AC_SUBST([SETLOCALE],["-D SETLOCALE"]) | |
48 | + AC_ARG_ENABLE([setlocale], | |
49 | + [AS_HELP_STRING([--disable-setlocale], | |
50 | + [do not match setlocale() to the console code-page]) | |
51 | + ],[AS_IF([test x"$enable_setlocale" = xno],[SETLOCALE=""]) | |
52 | + ]) | |
53 | +# | |
54 | +# Configuration output files. | |
55 | +# | |
56 | + AC_CONFIG_FILES([Makefile]) | |
57 | + AC_OUTPUT | |
58 | +# | |
59 | +# $RCSfile$: end of file |