if(CONFIG_OFONO)
if(NOT CONFIG_OFONO_WASM)
set_property(
TARGET nuttx
APPEND
PROPERTY NUTTX_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include)
endif()
set(INCDIR ${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_LIST_DIR}/ell
${CMAKE_CURRENT_LIST_DIR}/ofono
${CMAKE_CURRENT_LIST_DIR}/ofono/src
${CMAKE_CURRENT_LIST_DIR}/ofono/gatchat
${CMAKE_CURRENT_LIST_DIR}/ofono/gril
${CMAKE_CURRENT_LIST_DIR}/ofono/gdbus
${NUTTX_APPS_DIR}/frameworks/system/dfx/include
${NUTTX_APPS_DIR}/external
${NUTTX_APPS_DIR}/external/glib/glib/glib
${NUTTX_APPS_DIR}/external/glib/glib
${NUTTX_APPS_DIR}/external/dbus/dbus
${NUTTX_APPS_DIR}/external/ofono/include
${NUTTX_APPS_DIR}/external/ofono/ofono/include
${NUTTX_APPS_DIR}/frameworks/system/utils/include)
set(XML_PATHS ${CMAKE_CURRENT_LIST_DIR}/event_telephony.xml)
nuttx_add_dfx_event(
TARGET
${CONFIG_OFONO}
XML_PATHS
${XML_PATHS})
set(CFLAGS
-DHAVE_CONFIG_H
-DPLUGINDIR=CONFIG_OFONO_PLUGIN_DIR
-DOFONO_PLUGIN_BUILTIN
-Dprint_buf=ofono_gril_print_buf
-DHAVE_EXPLICIT_BZERO
-DHAVE_RAWMEMCHR)
set(CSRCS)
set(ATCSRCS)
set(BUILTIN_PLUGIN)
set(ELL_SRCS ell/ell/util.c ell/ell/utf8.c ell/ell/queue.c ell/ell/timeout.c
ell/ell/main.c ell/ell/log.c ell/ell/uintset.c ell/ell/string.c)
if(CONFIG_OFONO_RILMODEM)
file(GLOB APPEND_FILES ofono/drivers/rilmodem/*.c)
list(REMOVE_ITEM APPEND_FILES ${CMAKE_CURRENT_LIST_DIR}/ofono/drivers/rilmodem/call-volume.c)
list(APPEND CSRCS ${APPEND_FILES})
list(APPEND CSRCS ofono/plugins/rildev.c ofono/plugins/ril.c)
list(APPEND BUILTIN_PLUGIN rildev ril rilmodem provision)
endif()
if(CONFIG_OFONO_ATMODEM)
file(GLOB APPEND_FILES ofono/drivers/atmodem/*.c ofono/gatchat/*.c)
list(APPEND ATCSRCS ${APPEND_FILES})
list(REMOVE_ITEM ATCSRCS ${CMAKE_CURRENT_LIST_DIR}/ofono/gatchat/test-server.c
${CMAKE_CURRENT_LIST_DIR}/ofono/gatchat/gsmdial.c
${CMAKE_CURRENT_LIST_DIR}/ofono/gatchat/test-qcdm.c
${CMAKE_CURRENT_LIST_DIR}/ofono/drivers/atmodem/call-volume.c)
list(APPEND BUILTIN_PLUGIN atmodem)
endif()
if(CONFIG_OFONO_PHONESIM)
file(GLOB APPEND_FILES ofono/drivers/hfpmodem/*.c)
list(REMOVE_ITEM APPEND_FILES ${CMAKE_CURRENT_LIST_DIR}/ofono/drivers/hfpmodem/call-volume.c)
list(APPEND CSRCS ${APPEND_FILES})
list(APPEND CSRCS ofono/plugins/phonesim.c
ofono/src/call-meter.c
ofono/src/ctm.c
ofono/src/emulator.c
ofono/src/gnss.c
ofono/src/gnssagent.c
ofono/src/handsfree.c
ofono/src/handsfree-audio.c
ofono/src/private-network.c
ofono/src/sim-auth.c
ofono/src/siri.c)
list(APPEND BUILTIN_PLUGIN hfpmodem phonesim)
endif()
set(BUILTIN_H ${CMAKE_CURRENT_BINARY_DIR}/builtin.h)
string(REPLACE ";" " " BUILTIN_PLUGIN_LIST "${BUILTIN_PLUGIN}")
string(REPLACE "$" "$$" ESCAPED_BUILTIN_PLUGIN_LIST "${BUILTIN_PLUGIN_LIST}")
if(NOT CONFIG_OFONO_WASM)
nuttx_add_library(ofono)
endif()
add_custom_command(
OUTPUT ${BUILTIN_H}
COMMAND
./ofono/src/genbuiltin ${ESCAPED_BUILTIN_PLUGIN_LIST} > ${BUILTIN_H}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating builtin.h"
VERBATIM
)
add_custom_target(GenerateOfonoBuiltIn ALL
DEPENDS ${BUILTIN_H})
if(NOT CONFIG_OFONO_WASM)
add_dependencies(ofono GenerateOfonoBuiltIn)
else()
add_dependencies(wasm_interface GenerateOfonoBuiltIn)
endif()
if(CONFIG_OFONO_UNITTEST)
file(GLOB APPEND_FILES ofono/gril/*.c)
list(APPEND CSRCS ${APPEND_FILES})
list(APPEND CSRCS ofono/gatchat/ringbuffer.c ofono/src/common.c
ofono/src/log.c ofono/src/simutil.c ofono/src/smsutil.c
ofono/src/storage.c ofono/src/stkutil.c ofono/src/util.c
ofono/unit/rilmodem-test-engine.c
ofono/unit/rilmodem-test-server.c)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_rilmodem_cb
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-rilmodem-cb.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_rilmodem_cs
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-rilmodem-cs.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_rilmodem_gprs
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-rilmodem-gprs.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_rilmodem_sms
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-rilmodem-sms.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_util
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-util.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_simutil
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-simutil.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_sms
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-sms.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
test_stkutil
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/unit/test-stkutil.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
else()
list(APPEND CSRCS ${ATCSRCS}
ofono/gatchat/gatchat.c ofono/gatchat/gatio.c
ofono/gatchat/gatresult.c ofono/gatchat/gatserver.c
ofono/gatchat/gatutil.c ofono/gatchat/ringbuffer.c)
list(APPEND CSRCS ofono/plugins/mbpi.c ofono/plugins/provision.c)
file(GLOB APPEND_FILES ofono/gdbus/*.c ofono/gril/*.c)
list(APPEND CSRCS ${APPEND_FILES})
list(APPEND CSRCS ${CMAKE_CURRENT_LIST_DIR}/ofono/src/abnormal-event.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/call-barring.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/call-forwarding.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/call-settings.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/carrier-config.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/cbs.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/common.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/dbus.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/gprs-provision.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/gprs.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/ims.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/log.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/lte.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/manager.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/message-waiting.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/message.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/modem.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/netmon.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/netmonagent.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/nettime.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/network.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/phonebook.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/plugin.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/radio-settings.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/sim.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/simfs.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/simutil.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/sms.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/smsagent.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/smsutil.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/stk.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/stkagent.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/stkutil.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/storage.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/ussd.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/util.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/voicecall.c
${CMAKE_CURRENT_LIST_DIR}/ofono/src/watch.c)
if(CONFIG_OFONO_WASM)
list(APPEND WRCFLAGS
--xip
--enable-builtin-intrinsics=i64.common,f32.common,f64xi32
--stack-bounds-checks=0
--disable-aux-stack-check)
if(CONFIG_WASM_LIBC_BYPASS)
list(APPEND WRCFLAGS --bounds-checks=0)
endif()
wasm_add_application(
NAME
ofonod
SRCS
ofono/src/main.c
STACK_SIZE
${CONFIG_OFONO_STACKSIZE}
INITIAL_MEMORY_SIZE
327680
WINCLUDES
${INCDIR}
WAMR_MODE
AOT
WRCFLAGS
${WRCFLAGS}
WCFLAGS
${CFLAGS}
INSTALL_NAME
${CONFIG_OFONO_WASM_INSTALL_PATH}
)
else()
nuttx_add_application(
MODULE
${CONFIG_OFONO}
NAME
ofonod
STACKSIZE
${CONFIG_OFONO_STACKSIZE}
PRIORITY
${CONFIG_OFONO_PRIORITY}
SRCS
ofono/src/main.c
INCLUDE_DIRECTORIES
${INCDIR}
COMPILE_FLAGS
${CFLAGS}
DEPENDS
ofono
)
endif()
endif()
if(CONFIG_OFONO_WASM)
wasm_add_library(
NAME
ofono
SRCS
${CSRCS} ${ELL_SRCS}
WINCLUDES
${INCDIR}
WCFLAGS
${CFLAGS})
else()
target_include_directories(ofono PRIVATE ${INCDIR})
target_compile_options(ofono PRIVATE ${CFLAGS})
target_sources(ofono PRIVATE ${CSRCS} ${ELL_SRCS})
endif()
endif()