xref: /OK3568_Linux_fs/buildroot/package/gettext-tiny/gettext-tiny.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# gettext-tiny
4#
5################################################################################
6
7GETTEXT_TINY_VERSION = 0.3.2
8GETTEXT_TINY_SITE = $(call github,sabotage-linux,gettext-tiny,v$(GETTEXT_TINY_VERSION))
9GETTEXT_TINY_LICENSE = MIT, GPL-3.0+ (extra gettext)
10GETTEXT_TINY_INSTALL_STAGING = YES
11GETTEXT_TINY_LICENSE_FILES = LICENSE
12HOST_GETTEXT_TINY_LICENSE_FILES = LICENSE extra/COPYING
13
14GETTEXT_TINY_PROVIDES = gettext
15
16# needed for gettextize
17GETTEXT_TINY_ARCHIVE_VERSION = 0.20.1
18
19GETTEXT_TINY_EXTRA_GETTEXT_FILES = \
20	gettext-tools/misc/gettextize.in \
21	gettext-tools/po/Makevars.template \
22	gettext-runtime/po/boldquot.sed \
23	gettext-runtime/po/en@boldquot.header \
24	gettext-runtime/po/en@quot.header \
25	gettext-runtime/po/insert-header.sin \
26	gettext-runtime/po/quot.sed \
27	gettext-runtime/po/remove-potcdate.sin \
28	gettext-runtime/po/Rules-quot \
29	gettext-runtime/po/Makefile.in.in \
30	COPYING
31
32HOST_GETTEXT_TINY_EXTRA_DOWNLOADS = $(GETTEXT_GNU_SITE)/$(GETTEXT_GNU_SOURCE)
33
34define HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT
35	mkdir -p $(@D)/gettext-gnu
36	$(call suitable-extractor,$(GETTEXT_GNU_SOURCE)) \
37		$(GETTEXT_TINY_DL_DIR)/$(GETTEXT_GNU_SOURCE) | \
38		$(TAR) --strip-components=1 -C $(@D)/gettext-gnu $(TAR_OPTIONS) -
39endef
40HOST_GETTEXT_TINY_POST_EXTRACT_HOOKS += HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT
41
42define HOST_GETTEXT_TINY_COPY_EXTRA_FILES
43	$(foreach f,$(GETTEXT_TINY_EXTRA_GETTEXT_FILES),\
44		$(INSTALL) -D -m 0644 $(@D)/gettext-gnu/$(f) $(@D)/extra/$(notdir $(f))
45	)
46	$(INSTALL) -D -m 0755 $(@D)/gettext-gnu/build-aux/config.rpath \
47		$(@D)/build-aux/config.rpath
48endef
49HOST_GETTEXT_TINY_POST_PATCH_HOOKS += HOST_GETTEXT_TINY_COPY_EXTRA_FILES
50
51define HOST_GETTEXT_TINY_BUILD_CMDS
52	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
53		$(HOST_CONFIGURE_OPTS) \
54		prefix=$(HOST_DIR) \
55		CFLAGS="$(HOST_CFLAGS) -fPIC" \
56		LIBINTL=NONE
57
58	cp $(@D)/extra/gettextize.in $(@D)/gettextize
59
60	$(SED) 's,@PACKAGE@,gettext-tools,g;' $(@D)/gettextize
61	$(SED) 's,@VERSION@,$(GETTEXT_GNU_VERSION),g;' $(@D)/gettextize
62	$(SED) 's,@ARCHIVE_VERSION@,$(GETTEXT_TINY_ARCHIVE_VERSION),' $(@D)/gettextize
63	$(SED) 's,@prefix@,$(HOST_DIR),g;' $(@D)/gettextize
64	$(SED) 's,@datarootdir@,$${prefix}/share,g;' $(@D)/gettextize
65	$(SED) 's,@datadir@,$${prefix}/share,g;' $(@D)/gettextize
66	$(SED) 's,@PATH_SEPARATOR@,:,g;' $(@D)/gettextize
67	$(SED) 's,@RELOCATABLE@,no,g;' $(@D)/gettextize
68	$(SED) 's,@exec_prefix@,$${prefix},g;' $(@D)/gettextize
69	$(SED) 's,@bindir@,$${exec_prefix}/bin,g;' $(@D)/gettextize
70endef
71
72define HOST_GETTEXT_TINY_INSTALL_CMDS
73	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/po
74	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/m4
75
76	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
77		$(HOST_CONFIGURE_OPTS) \
78		prefix=$(HOST_DIR) \
79		LIBINTL=NONE install
80
81	$(SED) '/read dummy/d' $(@D)/gettextize
82
83	$(INSTALL) -m 0755 -D $(@D)/gettextize $(HOST_DIR)/bin/gettextize
84	$(INSTALL) -m 0644 -D $(@D)/build-aux/config.rpath $(HOST_DIR)/share/gettext-tiny/config.rpath
85	$(INSTALL) -m 0644 -D $(@D)/extra/Makefile.in.in $(HOST_DIR)/share/gettext-tiny/po/Makefile.in.in
86	$(INSTALL) -m 0644 -D $(@D)/extra/boldquot.sed $(HOST_DIR)/share/gettext-tiny/po/boldquot.sed
87	$(INSTALL) -m 0644 -D $(@D)/extra/en@boldquot.header $(HOST_DIR)/share/gettext-tiny/po/en@boldquot.header
88	$(INSTALL) -m 0644 -D $(@D)/extra/en@quot.header $(HOST_DIR)/share/gettext-tiny/po/en@quot.header
89	$(INSTALL) -m 0644 -D $(@D)/extra/insert-header.sin $(HOST_DIR)/share/gettext-tiny/po/insert-header.sin
90	$(INSTALL) -m 0644 -D $(@D)/extra/quot.sed $(HOST_DIR)/share/gettext-tiny/po/quot.sed
91	$(INSTALL) -m 0644 -D $(@D)/extra/remove-potcdate.sin $(HOST_DIR)/share/gettext-tiny/po/remove-potcdate.sin
92	$(INSTALL) -m 0644 -D $(@D)/extra/Rules-quot $(HOST_DIR)/share/gettext-tiny/po/Rules-quot
93	$(INSTALL) -m 0644 -D $(@D)/extra/Makevars.template $(HOST_DIR)/share/gettext-tiny/po/Makevars.template
94
95	$(Q)touch $(HOST_DIR)/share/gettext-tiny/ABOUT-NLS
96
97	# for gettextize
98	ln -sf $(HOST_DIR)/usr/share/gettext-tiny $(HOST_DIR)/usr/share/gettext
99endef
100
101# Install simple echo wrapper for gettext tool
102define GETTEXT_TINY_INSTALL_TARGET_CMDS
103	$(INSTALL) -m 0755 -D $(GETTEXT_TINY_PKGDIR)/gettext-wrapper $(TARGET_DIR)/usr/bin/gettext
104endef
105
106$(eval $(generic-package))
107$(eval $(host-generic-package))
108