From c0d5f1e575d998ede3d7005867f0bf888050d2db Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Thu, 5 Jun 2025 22:18:50 +0800 Subject: [PATCH] add `PK_ENABLE_CUSTOM_SNAME` --- CMakeLists.txt | 5 +++++ CMakeOptions.txt | 1 + include/pocketpy/common/name.h | 7 ++++++- include/pocketpy/config.h | 4 ++++ src/common/name.c | 6 +++++- 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9df3df41..00680035 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,11 @@ if(PK_ENABLE_WATCHDOG) add_definitions(-DPK_ENABLE_WATCHDOG=1) endif() +if(PK_ENABLE_CUSTOM_SNAME) + add_definitions(-DPK_ENABLE_CUSTOM_SNAME=1) +endif() + + if(PK_BUILD_MODULE_LZ4) add_subdirectory(3rd/lz4) add_definitions(-DPK_BUILD_MODULE_LZ4) diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 1a22197b..10f4fa20 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -9,6 +9,7 @@ endif() option(PK_ENABLE_OS "" OFF) option(PK_ENABLE_DETERMINISM "" OFF) option(PK_ENABLE_WATCHDOG "" OFF) +option(PK_ENABLE_CUSTOM_SNAME "" OFF) # modules option(PK_BUILD_MODULE_LZ4 "" OFF) diff --git a/include/pocketpy/common/name.h b/include/pocketpy/common/name.h index 3fb81a3b..9f8803b6 100644 --- a/include/pocketpy/common/name.h +++ b/include/pocketpy/common/name.h @@ -7,4 +7,9 @@ void pk_names_finalize(); #define MAGIC_METHOD(x) extern py_Name x; #include "pocketpy/xmacros/magics.h" -#undef MAGIC_METHOD \ No newline at end of file +#undef MAGIC_METHOD + +py_Name py_namev(c11_sv name); +c11_sv py_name2sv(py_Name index); +py_Name py_name(const char* name); +const char* py_name2str(py_Name index); \ No newline at end of file diff --git a/include/pocketpy/config.h b/include/pocketpy/config.h index 6dbdedec..91ad1d4e 100644 --- a/include/pocketpy/config.h +++ b/include/pocketpy/config.h @@ -20,6 +20,10 @@ #define PK_ENABLE_WATCHDOG 0 #endif +#ifndef PK_ENABLE_CUSTOM_SNAME // can be overridden by cmake +#define PK_ENABLE_CUSTOM_SNAME 0 +#endif + // GC min threshold #ifndef PK_GC_MIN_THRESHOLD // can be overridden by cmake #define PK_GC_MIN_THRESHOLD 32768 diff --git a/src/common/name.c b/src/common/name.c index 03e95fe1..b50e1c29 100644 --- a/src/common/name.c +++ b/src/common/name.c @@ -1,3 +1,5 @@ +#if PK_ENABLE_CUSTOM_SNAME == 0 + #include "pocketpy/common/name.h" #include "pocketpy/common/str.h" #include "pocketpy/pocketpy.h" @@ -94,4 +96,6 @@ py_Name py_name(const char* name) { const char* py_name2str(py_Name index) { NameBucket* p = (NameBucket*)index; return p->data; -} \ No newline at end of file +} + +#endif \ No newline at end of file