ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/services/agps/Config.in b/package/services/agps/Config.in
new file mode 100644
index 0000000..c95cdd4
--- /dev/null
+++ b/package/services/agps/Config.in
@@ -0,0 +1,38 @@
+# AGPS configuration
+
+menu "Configuration"
+ depends on PACKAGE_agps
+
+config AGPS_PREBUILT
+ bool "agps prebuilt"
+ default y
+ help
+ use prebuilt agps image
+
+if !AGPS_PREBUILT
+
+config AGPS_PREBUILT_OVERRIDE
+ bool "prebuilt override"
+ default n
+ help
+ Force prebuilt override - when enabled, the build process
+ will also copy the output image to the prebuilt directory even if
+ it exists. As a byproduct, the package will be compiled from scratch
+ even if there are no changes in the sources, as the package
+ directory is always updated.
+
+
+config AGPS_LOCAL_CODE
+ bool "compile local code(dev only)"
+ default n
+ help
+ agps local_code
+
+config AGPS_DEBUG_MODE
+ bool "debug_mode"
+ default y
+ help
+ agps debug_mode
+
+endif
+endmenu
diff --git a/package/services/agps/Makefile b/package/services/agps/Makefile
new file mode 100644
index 0000000..29a017b
--- /dev/null
+++ b/package/services/agps/Makefile
@@ -0,0 +1,178 @@
+#
+# Copyright (C) 2010-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+define Package/agps/config
+ source "$(SOURCE)/Config.in"
+endef
+
+ifeq ($(CONFIG_USE_GLIBC),y)
+toolchain:=-glibc
+endif
+
+PKG_NAME:=agps
+
+PKG_VERSION:=2024-12-16
+PKG_REV_LONG:=4c3466fa8ddd7941d82ecf33e26ed8603227e205
+branch:=v2102
+branch_prefix:=-$(branch)
+
+GCC_MAJOR := $(shell echo $(CONFIG_GCC_VERSION) | cut -d. -f1)
+ifneq ($(GCC_MAJOR),)
+ifeq ($(shell [ $(GCC_MAJOR) -gt 12 ] && echo 1 || echo 0), 1)
+ $(info GCC_MAJOR is greater than 12)
+ branch_prefix:=-$(branch)-gcc$(GCC_MAJOR)
+else
+ $(info GCC_MAJOR is not greater than 12)
+endif
+endif
+
+PKG_REV:=$(shell echo $(PKG_REV_LONG) | cut -c1-7)
+PKG_TAG:=$(PKG_NAME)$(branch_prefix)$(toolchain)-v$(PKG_VERSION)-r$(PKG_REV)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_TAG)
+
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=ssh://$(USER)@source.asrmicro.com:29418/platform/vendor/asr/lbs/agps -b $(branch)
+PKG_SOURCE_SUBDIR:=$(PKG_TAG)
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE:=$(PKG_TAG).tar.gz
+
+
+PREBUILT_FNAME:=prebuilt-$(PKG_TAG)
+PREBUILT_FPATH:=$(CURDIR)/prebuilt/$(PREBUILT_FNAME).tar.gz
+
+ifeq ($(CONFIG_AGPS_LOCAL_CODE),y)
+USE_SOURCE_DIR:=$(MRVLDIR)/agps
+PKG_INSTALL:=1
+endif
+
+PKG_MAINTAINER:=Hui Zhang <huizhang@asrmicro.com>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/agps
+ CATEGORY:=service
+ DEPENDS:=+zlib +libmbedtls +libstdcpp +librt +liblog \
+ +libuci +libubus +libunwind
+ SUBMENU:=ASR AGPS
+ SUBMENUDEP:=TARGET_mmp
+ TITLE:=ASR agps daemon
+endef
+
+define Package/agps/description
+ ASR AGPS support
+endef
+
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_TAG)
+
+CMAKE_OPTIONS += \
+ -DPXA_1826=ON \
+ -DOPT_MBEDTLSL=ON \
+ $(if $(CONFIG_AGPS_DEBUG_MODE),-DOPT_DEBUG_MODE=ON ,-DOPT_DEBUG_MODE=OFF)
+
+ifneq ($(CONFIG_AGPS_PREBUILT),)
+
+define Download
+endef
+define Build/Prepare
+ $(if $(wildcard $(PREBUILT_FPATH)),,@echo "Error: $(PREBUILT_FPATH) not found"; false)
+endef
+define Build/Configure
+endef
+define Build/Compile
+endef
+define Build/Install
+ $(INSTALL_DIR) $(PKG_INSTALL_DIR)
+ echo "Unpacking prebuilt..." && \
+ $(TAR) -zxvf $(PREBUILT_FPATH) -C $(TMP_DIR) && \
+ $(CP) $(TMP_DIR)/$(PREBUILT_FNAME)/* $(PKG_INSTALL_DIR) && \
+ rm -rf $(TMP_DIR)/$(PREBUILT_FNAME);
+endef
+
+else
+ifeq ($(CONFIG_AGPS_LOCAL_CODE),y)
+define Build/Prepare
+ mkdir -p $(PKG_BUILD_DIR)
+endef
+define Build/Configure
+ (cd $(PKG_BUILD_DIR); \
+ CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
+ CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
+ cmake \
+ -DCMAKE_SYSTEM_NAME=Linux \
+ -DCMAKE_SYSTEM_VERSION=1 \
+ -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
+ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
+ -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \
+ -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \
+ -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \
+ -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
+ -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
+ -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
+ -DCMAKE_AR="$(CMAKE_AR)" \
+ -DCMAKE_NM="$(CMAKE_NM)" \
+ -DCMAKE_RANLIB="$(CMAKE_RANLIB)" \
+ -DCMAKE_FIND_ROOT_PATH="$(STAGING_DIR);$(TOOLCHAIN_DIR)" \
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
+ -DCMAKE_STRIP=: \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDL_LIBRARY=$(STAGING_DIR) \
+ -DCMAKE_PREFIX_PATH=$(STAGING_DIR) \
+ $(CMAKE_OPTIONS) \
+ $(USE_SOURCE_DIR) \
+ )
+
+endef
+ifeq ($(PKG_USE_NINJA),1)
+define Build/Compile
+ +$(NINJA) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) $(1)
+endef
+else
+define Build/Compile
+ +$(MAKE_VARS) \
+ $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+ $(MAKE_FLAGS) \
+ $(1);
+endef
+endif
+define Build/Clean
+ rm -rf $(PKG_BUILD_DIR)
+endef
+endif
+endif
+
+define Prebuilt/Pack
+ echo "Packing prebuilt..." && \
+ mkdir -p $(TMP_DIR)/$(PREBUILT_FNAME) && \
+ cd $(TMP_DIR) && \
+ $(CP) $(PKG_INSTALL_DIR)/* ./$(PREBUILT_FNAME) && \
+ $(CP) $(PKG_BUILD_DIR)/daemon/agps ./$(PREBUILT_FNAME)/usr/bin/agps_symbol && \
+ $(CP) $(PKG_BUILD_DIR)/daemon/agps ./$(PREBUILT_FNAME)/usr/bin/agps && \
+ $(STRIP) ./$(PREBUILT_FNAME)/usr/bin/agps && \
+ $(TAR) czf $(PREBUILT_FNAME).tar.gz $(PREBUILT_FNAME) && \
+ mv $(TMP_DIR)/$(PREBUILT_FNAME).tar.gz $(PREBUILT_FPATH) && \
+ rm -rf $(TMP_DIR)/$(PREBUILT_FNAME);
+endef
+
+define Package/agps/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/agps $(1)/usr/bin/agps
+ $(STRIP) $(1)/usr/bin/agps
+ $(if $(wildcard $(PREBUILT_FPATH)),$(if $(CONFIG_AGPS_PREBUILT_OVERRIDE),@echo "WARNING: prebuilt override!"; $(call Prebuilt/Pack)),$(call Prebuilt/Pack))
+endef
+
+$(eval $(call BuildPackage,agps))
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-08-29-r5db4306.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-08-29-r5db4306.tar.gz
new file mode 100644
index 0000000..7513965
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-08-29-r5db4306.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-11-05-rb858c21.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-11-05-rb858c21.tar.gz
new file mode 100644
index 0000000..9141549
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-glibc-v2024-11-05-rb858c21.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-08-29-r5db4306.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-08-29-r5db4306.tar.gz
new file mode 100644
index 0000000..5fe0504
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-08-29-r5db4306.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-10-23-r1bc995e.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-10-23-r1bc995e.tar.gz
new file mode 100644
index 0000000..4f3ed2f
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-10-23-r1bc995e.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-05-rb858c21.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-05-rb858c21.tar.gz
new file mode 100644
index 0000000..cca86d6
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-05-rb858c21.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-12-rc000f5b.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-12-rc000f5b.tar.gz
new file mode 100644
index 0000000..07ac1d2
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-11-12-rc000f5b.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-12-16-r4c3466f.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-12-16-r4c3466f.tar.gz
new file mode 100644
index 0000000..46940f1
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-gcc13-v2024-12-16-r4c3466f.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-v2022-10-07-r5d87671.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2022-10-07-r5d87671.tar.gz
new file mode 100644
index 0000000..f45c27c
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2022-10-07-r5d87671.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-03-22-rdbfb344.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-03-22-rdbfb344.tar.gz
new file mode 100644
index 0000000..4dfee52
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-03-22-rdbfb344.tar.gz
Binary files differ
diff --git a/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-08-29-r5db4306.tar.gz b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-08-29-r5db4306.tar.gz
new file mode 100644
index 0000000..d8506a0
--- /dev/null
+++ b/package/services/agps/prebuilt/prebuilt-agps-v2102-v2024-08-29-r5db4306.tar.gz
Binary files differ