af64c2ddbd
This commit refactors machine.PWM and creates extmod/machine_pwm.c. The esp8266, esp32 and rp2 ports all use this and provide implementations of the required PWM functionality. This helps to reduce code duplication and keep the same Python API across ports. This commit does not make any functional changes. Signed-off-by: Damien George <damien@micropython.org>
96 lines
3.4 KiB
CMake
96 lines
3.4 KiB
CMake
# CMake fragment for MicroPython extmod component
|
|
|
|
set(MICROPY_EXTMOD_DIR "${MICROPY_DIR}/extmod")
|
|
set(MICROPY_OOFATFS_DIR "${MICROPY_DIR}/lib/oofatfs")
|
|
|
|
set(MICROPY_SOURCE_EXTMOD
|
|
${MICROPY_DIR}/shared/libc/abort_.c
|
|
${MICROPY_DIR}/shared/libc/printf.c
|
|
${MICROPY_EXTMOD_DIR}/machine_bitstream.c
|
|
${MICROPY_EXTMOD_DIR}/machine_i2c.c
|
|
${MICROPY_EXTMOD_DIR}/machine_mem.c
|
|
${MICROPY_EXTMOD_DIR}/machine_pulse.c
|
|
${MICROPY_EXTMOD_DIR}/machine_pwm.c
|
|
${MICROPY_EXTMOD_DIR}/machine_signal.c
|
|
${MICROPY_EXTMOD_DIR}/machine_spi.c
|
|
${MICROPY_EXTMOD_DIR}/modbluetooth.c
|
|
${MICROPY_EXTMOD_DIR}/modbtree.c
|
|
${MICROPY_EXTMOD_DIR}/modframebuf.c
|
|
${MICROPY_EXTMOD_DIR}/modonewire.c
|
|
${MICROPY_EXTMOD_DIR}/moduasyncio.c
|
|
${MICROPY_EXTMOD_DIR}/modubinascii.c
|
|
${MICROPY_EXTMOD_DIR}/moducryptolib.c
|
|
${MICROPY_EXTMOD_DIR}/moductypes.c
|
|
${MICROPY_EXTMOD_DIR}/moduhashlib.c
|
|
${MICROPY_EXTMOD_DIR}/moduheapq.c
|
|
${MICROPY_EXTMOD_DIR}/modujson.c
|
|
${MICROPY_EXTMOD_DIR}/modurandom.c
|
|
${MICROPY_EXTMOD_DIR}/modure.c
|
|
${MICROPY_EXTMOD_DIR}/moduselect.c
|
|
${MICROPY_EXTMOD_DIR}/modussl_axtls.c
|
|
${MICROPY_EXTMOD_DIR}/modussl_mbedtls.c
|
|
${MICROPY_EXTMOD_DIR}/modutimeq.c
|
|
${MICROPY_EXTMOD_DIR}/moduwebsocket.c
|
|
${MICROPY_EXTMOD_DIR}/moduzlib.c
|
|
${MICROPY_EXTMOD_DIR}/modwebrepl.c
|
|
${MICROPY_EXTMOD_DIR}/uos_dupterm.c
|
|
${MICROPY_EXTMOD_DIR}/utime_mphal.c
|
|
${MICROPY_EXTMOD_DIR}/vfs.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_blockdev.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_fat.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_fat_diskio.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_fat_file.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_lfs.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_posix.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_posix_file.c
|
|
${MICROPY_EXTMOD_DIR}/vfs_reader.c
|
|
${MICROPY_EXTMOD_DIR}/virtpin.c
|
|
${MICROPY_EXTMOD_DIR}/nimble/modbluetooth_nimble.c
|
|
)
|
|
|
|
# Library for btree module and associated code
|
|
|
|
set(MICROPY_LIB_BERKELEY_DIR "${MICROPY_DIR}/lib/berkeley-db-1.xx")
|
|
|
|
if(EXISTS "${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c")
|
|
add_library(micropy_extmod_btree OBJECT
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_conv.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_debug.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_delete.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_get.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_open.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_overflow.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_page.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_put.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_search.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_seq.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_split.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_utils.c
|
|
${MICROPY_LIB_BERKELEY_DIR}/mpool/mpool.c
|
|
)
|
|
|
|
target_include_directories(micropy_extmod_btree PRIVATE
|
|
${MICROPY_LIB_BERKELEY_DIR}/PORT/include
|
|
)
|
|
|
|
target_compile_definitions(micropy_extmod_btree PRIVATE
|
|
__DBINTERFACE_PRIVATE=1
|
|
mpool_error=printf
|
|
abort=abort_
|
|
"virt_fd_t=void*"
|
|
)
|
|
|
|
# The include directories and compile definitions below are needed to build
|
|
# modbtree.c and should be added to the main MicroPython target.
|
|
|
|
list(APPEND MICROPY_INC_CORE
|
|
"${MICROPY_LIB_BERKELEY_DIR}/PORT/include"
|
|
)
|
|
|
|
list(APPEND MICROPY_DEF_CORE
|
|
__DBINTERFACE_PRIVATE=1
|
|
"virt_fd_t=void*"
|
|
)
|
|
endif()
|