Modified to use meson as upstream has abandoned autotools. Added license information. Cleaned up Makefile for consistency between packages. Added hack to compile static libs. Removed old patches and add new ones. Removed BUILD_PARALLEL options. These are default with ninja/meson. Removed gettext build dependencies. glib2 now includes its own solution. Added patch to remove distutils host dependency. Signed-off-by: Rosen Penev <rosenp@gmail.com>
129 lines
3 KiB
Makefile
129 lines
3 KiB
Makefile
#
|
|
# Copyright (C) 2007-2019 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=glib2
|
|
PKG_VERSION:=2.65.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
|
|
PKG_SOURCE_URL:=@GNOME/glib/2.65
|
|
PKG_HASH:=b041e63cd0ac1fccb486374022ade040d907aad29b278e27d9e43e9294a6e7a3
|
|
|
|
PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
|
PKG_LICENSE:=LGPL-2.1-or-later
|
|
PKG_LICENSE_FILES:=COPYING
|
|
PKG_CPE_ID:=cpe:/a:gnome:glib
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
|
|
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
|
|
PKG_BUILD_DEPENDS:=meson/host libiconv/host
|
|
HOST_BUILD_DEPENDS:=meson/host libiconv/host libffi/host
|
|
PKG_INSTALL:=1
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
include ../../devel/meson/meson.mk
|
|
|
|
define Package/glib2
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
DEPENDS:=$(ICONV_DEPENDS) +zlib +libpthread +libffi +libattr
|
|
TITLE:=glib 2.0
|
|
URL:=http://www.gtk.org/
|
|
endef
|
|
|
|
define Package/glib2/description
|
|
The GLib library of C routines
|
|
endef
|
|
|
|
HOST_LDFLAGS += -liconv -Wl,-rpath=$(STAGING_DIR_HOSTPKG)/lib
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections -liconv
|
|
|
|
COMP_ARGS= \
|
|
-Dselinux=disabled \
|
|
-Dlibmount=disabled \
|
|
-Dinternal_pcre=true \
|
|
-Dman=false \
|
|
-Ddtrace=false \
|
|
-Dsystemtap=false \
|
|
-Dgtk_doc=false \
|
|
-Dbsymbolic_functions=true \
|
|
-Dforce_posix_threads=true \
|
|
-Dfam=false \
|
|
-Dinstalled_tests=false \
|
|
-Dnls=disabled \
|
|
-Doss_fuzz=disabled
|
|
|
|
MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false
|
|
MESON_ARGS += $(COMP_ARGS) -Dxattr=true -Db_lto=true
|
|
|
|
# hack to compile static libraries
|
|
define Build/Compile
|
|
$(call Build/Compile/Meson)
|
|
$(call Ninja,-C $(MESON_BUILD_DIR) install,DESTDIR="$(PKG_INSTALL_DIR)")
|
|
$(call Meson, \
|
|
--reconfigure \
|
|
--buildtype plain \
|
|
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
|
|
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
|
|
-Ddefault_library=static \
|
|
$(MESON_ARGS) \
|
|
$(MESON_BUILD_DIR) \
|
|
$(PKG_BUILD_DIR), \
|
|
$(MESON_VARS))
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/bin/* \
|
|
$(1)/usr/bin/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/include/glib-2.0 \
|
|
$(1)/usr/include/
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/glib-2.0/include/*.h \
|
|
$(1)/usr/include/glib-2.0/
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/include/gio-unix-2.0 \
|
|
$(1)/usr/include/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/glib-2.0 \
|
|
$(1)/usr/lib/
|
|
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a} \
|
|
$(1)/usr/lib/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(INSTALL_DATA) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
|
|
$(1)/usr/lib/pkgconfig
|
|
|
|
$(INSTALL_DIR) $(2)/share/aclocal/
|
|
$(INSTALL_DATA) \
|
|
$(PKG_INSTALL_DIR)/usr/share/aclocal/*.m4 \
|
|
$(2)/share/aclocal/
|
|
endef
|
|
|
|
define Package/glib2/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
|
|
$(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,glib2))
|