[core] Allow using external framework parts
This commit is contained in:
49
builder/libs/lwip.py
Normal file
49
builder/libs/lwip.py
Normal file
@@ -0,0 +1,49 @@
|
||||
# Copyright (c) Kuba Szczodrzyński 2022-05-18.
|
||||
|
||||
from SCons.Script import DefaultEnvironment
|
||||
|
||||
env = DefaultEnvironment()
|
||||
platform = env.PioPlatform()
|
||||
|
||||
|
||||
def env_add_lwip(
|
||||
env,
|
||||
version: str,
|
||||
port: str,
|
||||
):
|
||||
# version = env["LIB_LWIP_VERSION"] if "LIB_LWIP_VERSION" in env else version_default
|
||||
package_dir = platform.get_package_dir(f"library-lwip@{version}-{port}")
|
||||
port_srcs = []
|
||||
port_includes = []
|
||||
|
||||
if port in ["amb1"]:
|
||||
port_srcs = [
|
||||
"+<port/realtek/freertos/ethernetif.c>",
|
||||
"+<port/realtek/freertos/sys_arch.c>",
|
||||
]
|
||||
port_includes = [
|
||||
"+<port/realtek>",
|
||||
"+<port/realtek/freertos>",
|
||||
]
|
||||
|
||||
env.AddLibrary(
|
||||
name=f"lwip{version}_{port}",
|
||||
base_dir=package_dir,
|
||||
srcs=[
|
||||
"+<src/api/*.c>",
|
||||
"+<src/core/*.c>",
|
||||
"+<src/core/ipv4/*.c>",
|
||||
"+<src/netif/ethernet.c>", # 2.0.x
|
||||
"+<src/netif/etharp.c>", # 1.4.x
|
||||
*port_srcs,
|
||||
],
|
||||
includes=[
|
||||
"+<src/include>",
|
||||
"+<src/include/lwip>",
|
||||
"+<src/include/ipv4>",
|
||||
*port_includes,
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
env.AddMethod(env_add_lwip, "AddLibraryLwIP")
|
||||
@@ -7,6 +7,8 @@ board = env.BoardConfig()
|
||||
|
||||
# Utilities
|
||||
env.SConscript("utils.py", exports="env")
|
||||
# Vendor-specific library ports
|
||||
env.SConscript("libs/lwip.py", exports="env")
|
||||
|
||||
# Firmware name
|
||||
if env.get("PROGNAME", "program") == "program":
|
||||
|
||||
Reference in New Issue
Block a user