|
@@ -0,0 +1,61 @@
|
|
|
+# SPDX-License-Identifier: GPL-3.0-only
|
|
|
+#
|
|
|
+# Copyright (C) 2022 ImmortalWrt.org
|
|
|
+
|
|
|
+include $(TOPDIR)/rules.mk
|
|
|
+
|
|
|
+PKG_NAME:=gn
|
|
|
+PKG_RELEASE:=2
|
|
|
+
|
|
|
+PKG_SOURCE_PROTO:=git
|
|
|
+PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
|
|
|
+PKG_SOURCE_DATE:=2023-01-29
|
|
|
+PKG_SOURCE_VERSION:=84c8431f3e03cc6226c59dd49637c15ea31169a1
|
|
|
+PKG_MIRROR_HASH:=3be8b3c27be8b4f16c8922d9e70d8135a66279ac3679c636b259e4e829a7a9fc
|
|
|
+
|
|
|
+PKG_LICENSE:=BSD 3-Clause
|
|
|
+PKG_LICENSE_FILES:=LICENSE
|
|
|
+PKG_MAINTAINER:=Tianling Shen <[email protected]>
|
|
|
+
|
|
|
+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))
|