mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
some fix
This commit is contained in:
parent
e4cbb88e1d
commit
4909a7f61b
@ -16,6 +16,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
||||||
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src POCKETPY_SRC)
|
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src POCKETPY_SRC)
|
||||||
|
|
||||||
option(PK_USE_CJSON "" OFF)
|
option(PK_USE_CJSON "" OFF)
|
||||||
@ -56,43 +57,17 @@ if(PK_BUILD_SHARED_LIB)
|
|||||||
elseif(PK_BUILD_STATIC_LIB)
|
elseif(PK_BUILD_STATIC_LIB)
|
||||||
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
||||||
else()
|
else()
|
||||||
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC})
|
|
||||||
set(PROJECT_EXE_NAME main)
|
set(PROJECT_EXE_NAME main)
|
||||||
add_executable(${PROJECT_EXE_NAME} src2/main.cpp)
|
add_executable(${PROJECT_EXE_NAME} src2/main.cpp)
|
||||||
target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
|
# shared linked main
|
||||||
target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
|
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC})
|
||||||
|
target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME} ${CMAKE_DL_LIBS})
|
||||||
|
# static linked main
|
||||||
|
# add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
||||||
|
# target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
|
||||||
$<INSTALL_INTERFACE:include>
|
|
||||||
)
|
|
||||||
|
|
||||||
if(PK_USE_CJSON)
|
if(PK_USE_CJSON)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE $<BUILD_INTERFACE:cjson>)
|
target_link_libraries(${PROJECT_NAME} PRIVATE cjson)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(PK_INSTALL "Generate the install target" OFF)
|
|
||||||
if (PK_INSTALL)
|
|
||||||
install(
|
|
||||||
TARGETS ${PROJECT_NAME}
|
|
||||||
EXPORT ${PROJECT_NAME}_target
|
|
||||||
ARCHIVE DESTINATION lib
|
|
||||||
LIBRARY DESTINATION lib
|
|
||||||
RUNTIME DESTINATION bin
|
|
||||||
)
|
|
||||||
|
|
||||||
install(
|
|
||||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
|
|
||||||
DESTINATION include
|
|
||||||
FILES_MATCHING PATTERN "*.h"
|
|
||||||
PATTERN "typings" EXCLUDE
|
|
||||||
)
|
|
||||||
|
|
||||||
# generate config.cmake
|
|
||||||
install(
|
|
||||||
EXPORT ${PROJECT_NAME}_target
|
|
||||||
FILE ${PROJECT_NAME}-config.cmake
|
|
||||||
DESTINATION "share/${PROJECT_NAME}"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
@ -3,8 +3,4 @@ def fib(n):
|
|||||||
return n
|
return n
|
||||||
return fib(n-1) + fib(n-2)
|
return fib(n-1) + fib(n-2)
|
||||||
|
|
||||||
assert fib(32) == 2178309
|
assert fib(36) == 14930352
|
||||||
|
|
||||||
# from dis import dis
|
|
||||||
# dis(fib)
|
|
||||||
# 7049155 calls
|
|
||||||
|
@ -14,6 +14,8 @@ if len(sys.argv) == 2:
|
|||||||
else:
|
else:
|
||||||
config = 'Release'
|
config = 'Release'
|
||||||
|
|
||||||
|
assert config in ['Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel']
|
||||||
|
|
||||||
os.chdir("build")
|
os.chdir("build")
|
||||||
|
|
||||||
code = os.system(f"cmake .. -DPK_USE_CJSON=ON -DPK_ENABLE_OS=ON -DCMAKE_BUILD_TYPE={config}")
|
code = os.system(f"cmake .. -DPK_USE_CJSON=ON -DPK_ENABLE_OS=ON -DCMAKE_BUILD_TYPE={config}")
|
||||||
|
@ -158,6 +158,7 @@ public:
|
|||||||
std::map<std::string_view, CodeObject_> __cached_codes;
|
std::map<std::string_view, CodeObject_> __cached_codes;
|
||||||
std::map<std::string_view, PyVar> __cached_op_funcs;
|
std::map<std::string_view, PyVar> __cached_op_funcs;
|
||||||
FuncDecl_ __dynamic_func_decl;
|
FuncDecl_ __dynamic_func_decl;
|
||||||
|
PyVar __vectorcall_buffer[PK_MAX_CO_VARNAMES];
|
||||||
|
|
||||||
#if PK_ENABLE_PROFILER
|
#if PK_ENABLE_PROFILER
|
||||||
LineProfiler* _profiler = nullptr;
|
LineProfiler* _profiler = nullptr;
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
rm -rf install
|
|
||||||
mkdir -p install/build
|
|
||||||
cd install/build
|
|
||||||
cmake ../../ -DCMAKE_INSTALL_PREFIX=../pocketpy -DPK_USE_CJSON=ON -DPK_ENABLE_OS=ON
|
|
||||||
cmake --build . --target install --config Release -j 8
|
|
||||||
|
|
||||||
if [ -e "../pocketpy/lib/libpocketpy.so" ]; then
|
|
||||||
echo "Library installed successfully."
|
|
||||||
else
|
|
||||||
echo "Library installation failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "../pocketpy/include/pocketpy.h" ]; then
|
|
||||||
echo "Header files installed successfully."
|
|
||||||
else
|
|
||||||
echo "Header files installation failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "../pocketpy/share/pocketpy/pocketpy-config.cmake" ]; then
|
|
||||||
echo "Config file installed successfully."
|
|
||||||
else
|
|
||||||
echo "Config file installation failed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "CMake install verified successfully."
|
|
@ -1020,7 +1020,7 @@ PyVar VM::vectorcall(int ARGC, int KWARGC, bool op_call){
|
|||||||
ArgsView kwargs(p1, s_data._sp);
|
ArgsView kwargs(p1, s_data._sp);
|
||||||
|
|
||||||
PyVar* _base = args.begin();
|
PyVar* _base = args.begin();
|
||||||
PyVar buffer[PK_MAX_CO_VARNAMES];
|
PyVar* buffer = __vectorcall_buffer;
|
||||||
|
|
||||||
if(callable_t == tp_function){
|
if(callable_t == tp_function){
|
||||||
/*****************_py_call*****************/
|
/*****************_py_call*****************/
|
||||||
|
@ -3,11 +3,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#if __has_include("pocketpy_c.h")
|
|
||||||
#include "pocketpy_c.h"
|
#include "pocketpy_c.h"
|
||||||
#else
|
|
||||||
#include "pocketpy.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user