ebc2b66372
* fbt: split sdk management code * scripts: fixed import handling * fbt: sdk: reformatted paths * scrips: dist: bundling libs as a build artifact * fbt: sdk: better path management * typo fix * fbt: sdk: minor path handling fixes * toolchain: fixed windows toolchain download * fbt: minor refactorin * fbt: moved sdk management code to extapps.scons * fbt: fixed sdk symbols header path; disabled -fstack-usage * fbt: changed pathing for .py scripts * fbt: changed SDK_HEADERS pathing; added libusb to SDK; added icon_i.h to SDK; added hw target to SDK meta * fbt: added libusb headers to SDK * picopass: include cleanup; api: added subghz/registry.h; api: added mbedtls to exported headers * picopass: fixed formatting * fbt: fixed COPRO_ASSETS_SCRIPT * sdk: added basic infrared apis * toolchain: added ufbt to list of legal fbtenv callers; updated error messages * fbt: changed manifest collection & icon processing code * fbt: simpler srcdir lookup * toolchain: path management fixes; fbt: fixes for fap private libs paths * scripts: toolchain: reworked download on Windows * toolchain: v17 * scripts: added colorlog for logging * Github: fix unit tests Co-authored-by: あく <alleteam@gmail.com>
114 lines
2.2 KiB
Python
114 lines
2.2 KiB
Python
Import("env")
|
|
|
|
wrapped_fn_list = [
|
|
#
|
|
# used by our firmware, so we provide their realizations
|
|
#
|
|
"fflush",
|
|
"printf",
|
|
"putc", # fallback from printf, thanks gcc
|
|
"putchar", # storage cli
|
|
"puts", # fallback from printf, thanks gcc
|
|
"snprintf",
|
|
"vsnprintf", # m-string
|
|
"__assert", # ???
|
|
"__assert_func", # ???
|
|
#
|
|
# wrap other functions to make sure they are not called
|
|
# realization is not provided
|
|
#
|
|
"setbuf",
|
|
"setvbuf",
|
|
"fprintf",
|
|
"vfprintf",
|
|
"vprintf",
|
|
"fputc",
|
|
"fputs",
|
|
"sprintf", # specially, because this function is dangerous
|
|
"asprintf",
|
|
"vasprintf",
|
|
"asiprintf",
|
|
"asniprintf",
|
|
"asnprintf",
|
|
"diprintf",
|
|
"fiprintf",
|
|
"iprintf",
|
|
"siprintf",
|
|
"sniprintf",
|
|
"vasiprintf",
|
|
"vasniprintf",
|
|
"vasnprintf",
|
|
"vdiprintf",
|
|
"vfiprintf",
|
|
"viprintf",
|
|
"vsiprintf",
|
|
"vsniprintf",
|
|
#
|
|
# Scanf is not implemented 4 now
|
|
#
|
|
# "fscanf",
|
|
# "scanf",
|
|
# "sscanf",
|
|
# "vsprintf",
|
|
# "fgetc",
|
|
# "fgets",
|
|
# "getc",
|
|
# "getchar",
|
|
# "gets",
|
|
# "ungetc",
|
|
# "vfscanf",
|
|
# "vscanf",
|
|
# "vsscanf",
|
|
# "fiscanf",
|
|
# "iscanf",
|
|
# "siscanf",
|
|
# "vfiscanf",
|
|
# "viscanf",
|
|
# "vsiscanf",
|
|
#
|
|
# File management
|
|
#
|
|
# "fclose",
|
|
# "freopen",
|
|
# "fread",
|
|
# "fwrite",
|
|
# "fgetpos",
|
|
# "fseek",
|
|
# "fsetpos",
|
|
# "ftell",
|
|
# "rewind",
|
|
# "feof",
|
|
# "ferror",
|
|
# "fopen",
|
|
# "remove",
|
|
# "rename",
|
|
# "fseeko",
|
|
# "ftello",
|
|
]
|
|
|
|
for wrapped_fn in wrapped_fn_list:
|
|
env.Append(
|
|
LINKFLAGS=[
|
|
"-Wl,--wrap," + wrapped_fn,
|
|
"-Wl,--wrap," + wrapped_fn + "_unlocked",
|
|
"-Wl,--wrap,_" + wrapped_fn + "_r",
|
|
"-Wl,--wrap,_" + wrapped_fn + "_unlocked_r",
|
|
]
|
|
)
|
|
|
|
env.Append(
|
|
SDK_HEADERS=[
|
|
File("wrappers.h"),
|
|
],
|
|
)
|
|
|
|
libenv = env.Clone(FW_LIB_NAME="print")
|
|
libenv.ApplyLibFlags()
|
|
libenv.Append(CCFLAGS=["-Wno-double-promotion"])
|
|
|
|
sources = libenv.GlobRecursive("*.c*", ".")
|
|
|
|
lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
|
|
libenv.Install("${LIB_DIST_DIR}", lib)
|
|
Return("lib")
|