
Since it is already possible to use a string subscript to get the value of a scope member (i.e. foo["bar"] being the same as foo.bar, but [] allowing expression evaluation), this ensures that `defined(foo["bar"])` works as `defined(foo.bar)` as well.
62 lines
1.4 KiB
Makefile
62 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-3.0-only
|
|
#
|
|
# Copyright (C) 2022 ImmortalWrt.org
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=gn
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
|
|
PKG_SOURCE_DATE:=2023-04-05
|
|
PKG_SOURCE_VERSION:=28b7b6c507eb808567e3aea446cd259f7691fddc
|
|
PKG_MIRROR_HASH:=5b112442eabea4b906cc409237fac13b8efb4f5acb25989b1883d5ce96deebd2
|
|
|
|
PKG_LICENSE:=BSD 3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
|
|
|
ifneq ($(wildcard $(TOPDIR)/feeds/packages/devel/ninja/ninja.mk),)
|
|
PKG_BUILD_DEPENDS+= ninja/host
|
|
endif
|
|
PKG_HOST_ONLY:=1
|
|
HOST_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/gn
|
|
SECTION:=devel
|
|
CATEGORY:=Development
|
|
TITLE:=A meta-build system that generates build files for Ninja
|
|
URL:=https://gn.googlesource.com/gn/
|
|
BUILDONLY:=1
|
|
endef
|
|
|
|
define Package/gn/description
|
|
GN can generate Ninja build files for C, C++, Rust, Objective C,
|
|
and Swift source on most popular platforms.
|
|
endef
|
|
|
|
define Host/Configure
|
|
$(PYTHON) $(HOST_BUILD_DIR)/build/gen.py \
|
|
--no-last-commit-position
|
|
endef
|
|
|
|
define Host/Compile
|
|
ninja -C $(HOST_BUILD_DIR)/out
|
|
endef
|
|
|
|
define Host/Install
|
|
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/out/gn $(STAGING_DIR_HOSTPKG)/bin/
|
|
endef
|
|
|
|
define Host/Clean
|
|
$(RM) $(STAGING_DIR_HOSTPKG)/bin/gn
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,gn))
|