Makefile 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. #
  2. # Copyright (C) 2006-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=gettext-full
  9. PKG_VERSION:=0.21.1
  10. PKG_RELEASE:=2
  11. PKG_SOURCE:=gettext-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=@GNU/gettext
  13. PKG_HASH:=50dbc8f39797950aa2c98e939947c527e5ac9ebd2c1b99dd7b06ba33a6767ae6
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/gettext-$(PKG_VERSION)
  15. HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/gettext-$(PKG_VERSION)
  16. PKG_MAINTAINER:=Jo-Philipp Wich <[email protected]>
  17. PKG_LICENSE:=GPL-3.0-or-later
  18. PKG_CPE_ID:=cpe:/a:gnu:gettext
  19. PKG_INSTALL:=1
  20. PKG_BUILD_DEPENDS:=gettext-full/host libunistring libxml2
  21. PKG_BUILD_PARALLEL:=0
  22. PKG_FIXUP:=autoreconf
  23. HOST_BUILD_DEPENDS:=gperf/host libunistring/host libxml2/host
  24. HOST_BUILD_PARALLEL:=0
  25. PKG_SUBDIRS:= \
  26. $$$$(foreach dir, \
  27. intl \
  28. intl-csharp \
  29. intl-java \
  30. its \
  31. gnulib-lib \
  32. gnulib-local \
  33. lib \
  34. $$$$(SUBDIR_libasprintf) \
  35. libgettextpo \
  36. libgrep \
  37. libtextstyle \
  38. m4 \
  39. misc \
  40. po \
  41. projects \
  42. src \
  43. styles \
  44. gettext-runtime \
  45. gettext-tools \
  46. ,$$$$(wildcard $$$$(dir)) )
  47. PKG_MAKEFILES_FAKE:= \
  48. gnulib-local/m4/Makefile \
  49. libtextstyle/gnulib-local/Makefile \
  50. libtextstyle/m4/Makefile \
  51. m4/Makefile
  52. include $(INCLUDE_DIR)/package.mk
  53. include $(INCLUDE_DIR)/host-build.mk
  54. define Package/libintl-full
  55. SECTION:=libs
  56. CATEGORY:=Libraries
  57. TITLE:=GNU Internationalization library
  58. URL:=http://www.gnu.org/software/gettext/
  59. ABI_VERSION:=8
  60. endef
  61. export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR)
  62. TARGET_CFLAGS += $(FPIC)
  63. ifneq ($(HOST_OS),Linux)
  64. TARGET_CFLAGS += -I$(STAGING_DIR_HOSTPKG)/include
  65. endif
  66. CONFIGURE_ARGS += \
  67. --enable-shared \
  68. --enable-static \
  69. --disable-libasprintf \
  70. --disable-rpath \
  71. --enable-nls \
  72. --disable-java \
  73. --disable-openmp \
  74. --disable-curses \
  75. --with-included-gettext \
  76. --without-libintl-prefix \
  77. --without-libexpat-prefix \
  78. --with-libunistring-prefix=$(STAGING_DIR)/usr \
  79. --with-libxml2-prefix=$(STAGING_DIR) \
  80. --without-emacs
  81. HOST_CONFIGURE_ARGS += \
  82. --disable-shared \
  83. --enable-static \
  84. --disable-libasprintf \
  85. --disable-rpath \
  86. --disable-java \
  87. --disable-openmp \
  88. --without-emacs \
  89. --with-libunistring-prefix=$(STAGING_DIR_HOSTPKG) \
  90. --with-libxml2-prefix=$(STAGING_DIR_HOSTPKG)
  91. HOST_CONFIGURE_VARS += \
  92. EMACS="no" \
  93. am_cv_lib_iconv=no \
  94. am_cv_func_iconv=no \
  95. ac_cv_header_iconv_h=no \
  96. HOST_CFLAGS += $(HOST_FPIC)
  97. define Host/Bootstrap
  98. ( \
  99. cd $(HOST_BUILD_DIR); \
  100. $(AM_TOOL_PATHS) \
  101. ./autogen.sh \
  102. )
  103. endef
  104. define Host/Prepare
  105. $(call Host/Prepare/Default)
  106. $(if $(QUILT),,$(call Host/Bootstrap))
  107. endef
  108. define Host/Configure
  109. $(if $(QUILT),$(call Host/Bootstrap))
  110. $(call Host/Configure/Default)
  111. endef
  112. define Host/Compile
  113. $(foreach makefile,$(PKG_MAKEFILES_FAKE),printf '%s\n%s\n' 'all:' 'install:' > $(HOST_BUILD_DIR)/$(makefile); )
  114. $(call Host/Compile/Default,SUBDIRS='$(PKG_SUBDIRS)')
  115. endef
  116. define Build/Bootstrap
  117. ( \
  118. cd $(PKG_BUILD_DIR); \
  119. $(AM_TOOL_PATHS) \
  120. ./autogen.sh \
  121. )
  122. endef
  123. define Build/Prepare
  124. $(call Build/Prepare/Default)
  125. $(if $(QUILT),,$(call Build/Bootstrap))
  126. endef
  127. define Build/Configure
  128. $(if $(QUILT),$(call Build/Bootstrap))
  129. $(call Build/Configure/Default)
  130. endef
  131. define Build/Compile
  132. $(foreach makefile,$(PKG_MAKEFILES_FAKE),printf '%s\n%s\n' 'all:' 'install:' > $(PKG_BUILD_DIR)/$(makefile); )
  133. $(call Build/Compile/Default,SUBDIRS='$(PKG_SUBDIRS)')
  134. endef
  135. define Build/InstallDev
  136. $(INSTALL_DIR) $(1)/usr/lib/libintl-full/include
  137. $(CP) $(PKG_INSTALL_DIR)/usr/include/libintl.h $(1)/usr/lib/libintl-full/include/
  138. $(INSTALL_DIR) $(1)/usr/lib/libintl-full/lib
  139. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libintl.{a,so*} $(1)/usr/lib/libintl-full/lib/
  140. $(INSTALL_DIR) $(1)/usr/share/aclocal
  141. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal/
  142. $(SED) '/read dummy/d' $(STAGING_DIR_HOSTPKG)/bin/gettextize
  143. endef
  144. define Host/Install
  145. $(call Host/Compile/Default,install SUBDIRS='$(PKG_SUBDIRS)')
  146. $(LN) msgfmt $(STAGING_DIR_HOSTPKG)/bin/gmsgfmt
  147. endef
  148. define Build/Install
  149. $(call Build/Install/Default,install SUBDIRS='$(PKG_SUBDIRS)')
  150. endef
  151. define Package/libintl-full/install
  152. $(INSTALL_DIR) $(1)/usr/lib
  153. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libintl.so.* $(1)/usr/lib/
  154. endef
  155. $(eval $(call HostBuild))
  156. $(eval $(call BuildPackage,libintl-full))