Changes can be highlighted with below summary: * Split the original LocApiAdapter to LocAdapter and LocApi. Now different adapter implementations can flexibly connect to different LocApi; * LocApi continues to abstract the API binding to RPC or QMI; * MsgTask which creates and owns a msg Q and a thread, and it define a LocMsg base msg class. The handler pulls a msg out of the Q and calls its proc() method. This makes it possible for msg sender to keep the data in the msg encapsulated, as it no longer requires a central msg handler who must under- stand all data format. This used to be where all the compile time dependencies are tangled together; * Added Context to bundle MsgTask and LocApi; * Added LocDualContext specifically for the FLP Location Hal architecture requirement; * Placed all the base classes of the above in loc_core folder / loc_core namespace / libloc_core.so, so other libraries can easily use derive from here without having to pull in the loc_eng implementation, which is a large library to include or link to; Change-Id: I40abfba96dea76757c98530c1f5e076b34ba4ac7
105 lines
2 KiB
Makefile
105 lines
2 KiB
Makefile
ifneq ($(BUILD_TINY_ANDROID),true)
|
|
#Compile this library only for builds with the latest modem image
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := libloc_eng
|
|
LOCAL_MODULE_OWNER := qcom
|
|
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libutils \
|
|
libcutils \
|
|
libdl \
|
|
liblog \
|
|
libloc_core \
|
|
libgps.utils
|
|
|
|
LOCAL_SRC_FILES += \
|
|
loc_eng.cpp \
|
|
loc_eng_agps.cpp \
|
|
loc_eng_xtra.cpp \
|
|
loc_eng_ni.cpp \
|
|
loc_eng_log.cpp \
|
|
loc_eng_nmea.cpp \
|
|
LocEngAdapter.cpp
|
|
|
|
LOCAL_SRC_FILES += \
|
|
loc_eng_dmn_conn.cpp \
|
|
loc_eng_dmn_conn_handler.cpp \
|
|
loc_eng_dmn_conn_thread_helper.c \
|
|
loc_eng_dmn_conn_glue_msg.c \
|
|
loc_eng_dmn_conn_glue_pipe.c
|
|
|
|
LOCAL_CFLAGS += \
|
|
-fno-short-enums \
|
|
-D_ANDROID_
|
|
|
|
LOCAL_C_INCLUDES:= \
|
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
|
$(TARGET_OUT_HEADERS)/libloc_core \
|
|
hardware/qcom/gps/loc_api/libloc_api_50001 \
|
|
hardware/qcom/gps/loc_api/ulp/inc
|
|
|
|
LOCAL_COPY_HEADERS_TO:= libloc_eng/
|
|
LOCAL_COPY_HEADERS:= \
|
|
LocEngAdapter.h \
|
|
loc.h \
|
|
loc_eng.h \
|
|
loc_eng_xtra.h \
|
|
loc_eng_ni.h \
|
|
loc_eng_agps.h \
|
|
loc_eng_msg.h \
|
|
loc_eng_msg_id.h \
|
|
loc_eng_log.h
|
|
|
|
LOCAL_PRELINK_MODULE := false
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := gps.$(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE)
|
|
LOCAL_MODULE_OWNER := qcom
|
|
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
## Libs
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libutils \
|
|
libcutils \
|
|
liblog \
|
|
libloc_eng \
|
|
libloc_core \
|
|
libgps.utils \
|
|
libdl \
|
|
libandroid_runtime
|
|
|
|
LOCAL_SRC_FILES += \
|
|
loc.cpp \
|
|
gps.c
|
|
|
|
LOCAL_CFLAGS += \
|
|
-fno-short-enums \
|
|
-D_ANDROID_ \
|
|
|
|
ifeq ($(TARGET_USES_QCOM_BSP), true)
|
|
LOCAL_CFLAGS += -DTARGET_USES_QCOM_BSP
|
|
endif
|
|
|
|
## Includes
|
|
LOCAL_C_INCLUDES:= \
|
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
|
$(TARGET_OUT_HEADERS)/libloc_core \
|
|
hardware/qcom/gps/loc_api/ulp/inc
|
|
|
|
LOCAL_PRELINK_MODULE := false
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
endif # not BUILD_TINY_ANDROID
|