# Copyright 2013 Google Inc.  All Rights Reserved.

LOCAL_PATH:= $(call my-dir)

# If USE_VENDOR_NSS is defined as true in a <product>.mk file, the "nss" module
# must be defined elsewhere. If not true, build the module below.
ifneq ($(USE_VENDOR_NSS),true)

NSS_PREBUILT_DIR := $(LOCAL_PATH)/prebuilt/$(TARGET_ARCH_VARIANT)/files

ifeq ($(wildcard $(NSS_PREBUILT_DIR)/*),)
$(error Prebuilt NSS does not exist, please add prebuilts)
endif

include $(CLEAR_VARS)
LOCAL_MODULE := nss
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := acp
include $(BUILD_PHONY_PACKAGE)

NSS_PREBUILT_LIB_DIR := $(NSS_PREBUILT_DIR)/usr/lib
NSS_LIBS := $(shell find $(NSS_PREBUILT_LIB_DIR) -name "*.so" \
	-printf "%f\n")

NSS_SYMBOL_PATH := $(TARGET_OUT_UNSTRIPPED)/system/lib
NSS_LIB_PATH := $(TARGET_OUT)/lib

.PHONY: nss_prebuilt_copy
nss_prebuilt_copy:
	# Copy to the sysroot
	mkdir -p $(NSS_SYMBOL_PATH) $(NSS_LIB_PATH)
	rsync -a $(NSS_PREBUILT_DIR)/ $(TARGET_OUT_TOOLCHAIN)
	rsync -a $(NSS_PREBUILT_LIB_DIR)/ $(NSS_SYMBOL_PATH)
	for lib in $(NSS_LIBS); do \
		$(TARGET_STRIP) $(NSS_PREBUILT_LIB_DIR)/$$lib --strip-unneeded \
			-o $(NSS_LIB_PATH)/$$lib ; \
	done

$(LOCAL_BUILT_MODULE): nss_prebuilt_copy

endif  # ifneq ($(USE_VENDOR_NSS),true)
