mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-21 20:10:17 +00:00
65 lines
1.9 KiB
C
65 lines
1.9 KiB
C
#pragma once
|
|
// clang-format off
|
|
|
|
#define PK_VERSION "2.0.0"
|
|
#define PK_VERSION_MAJOR 2
|
|
#define PK_VERSION_MINOR 0
|
|
#define PK_VERSION_PATCH 0
|
|
|
|
/*************** feature settings ***************/
|
|
|
|
// Whether to compile os-related modules or not
|
|
#ifndef PK_ENABLE_OS // can be overridden by cmake
|
|
#define PK_ENABLE_OS 0
|
|
#endif
|
|
|
|
// Enable this if you are working with multi-threading (experimental)
|
|
// This triggers necessary locks to make the VM thread-safe
|
|
#ifndef PK_ENABLE_THREAD // can be overridden by cmake
|
|
#define PK_ENABLE_THREAD 0
|
|
#endif
|
|
|
|
// Enable `line_profiler` module and `breakpoint()` function
|
|
#ifndef PK_ENABLE_PROFILER // can be overridden by cmake
|
|
#define PK_ENABLE_PROFILER 0
|
|
#endif
|
|
|
|
// GC min threshold
|
|
#ifndef PK_GC_MIN_THRESHOLD // can be overridden by cmake
|
|
#define PK_GC_MIN_THRESHOLD 16384
|
|
#endif
|
|
|
|
/*************** debug settings ***************/
|
|
// Do not edit the following settings unless you know what you are doing
|
|
#define PK_DEBUG_CEVAL_STEP 0
|
|
#define PK_DEBUG_MEMORY_POOL 0
|
|
#define PK_DEBUG_NO_AUTO_GC 0
|
|
#define PK_DEBUG_GC_STATS 0
|
|
#define PK_DEBUG_COMPILER 0
|
|
|
|
#ifndef PK_DEBUG_PRECOMPILED_EXEC
|
|
#define PK_DEBUG_PRECOMPILED_EXEC 0
|
|
#endif
|
|
|
|
/*************** internal settings ***************/
|
|
|
|
// This is the maximum size of the value stack in py_TValue units
|
|
// The actual size in bytes equals `sizeof(py_TValue) * PK_VM_STACK_SIZE`
|
|
#define PK_VM_STACK_SIZE 16384
|
|
|
|
// This is the maximum number of local variables in a function
|
|
// (not recommended to change this)
|
|
#define PK_MAX_CO_VARNAMES 64
|
|
|
|
#ifdef _WIN32
|
|
#define PK_PLATFORM_SEP '\\'
|
|
#else
|
|
#define PK_PLATFORM_SEP '/'
|
|
#endif
|
|
|
|
#if PK_ENABLE_THREAD
|
|
#define PK_THREAD_LOCAL thread_local
|
|
#else
|
|
#define PK_THREAD_LOCAL static
|
|
#endif
|