This commit is contained in:
blueloveTH 2023-07-09 02:17:30 +08:00
parent d64d955fb8
commit e0f1ccd772
6 changed files with 15 additions and 17 deletions

View File

@ -14,9 +14,9 @@ jobs:
cd build
cmake ..
cmake --build . --config Release
cp Release/pocketpy.exe ../output/windows/x86_64
cp Release/main.exe ../output/windows/x86_64
cp Release/pocketpy.dll ../output/windows/x86_64
cp Release/pocketpy.exe ../
cp Release/main.exe ../
- uses: actions/upload-artifact@v3
with:
path: output
@ -51,9 +51,9 @@ jobs:
cd build
cmake ..
cmake --build . --config Release
cp pocketpy ../output/linux/x86_64
cp main ../output/linux/x86_64
cp libpocketpy.so ../output/linux/x86_64
cp pocketpy ../
cp main ../
- uses: actions/upload-artifact@v3
with:
path: output

2
.gitignore vendored
View File

@ -22,7 +22,7 @@ include/pocketpy/_generated.h
profile.sh
test
src/httplib.h
pocketpy.exe
main.exe
main.obj
pocketpy.exp
pocketpy.lib

View File

@ -48,10 +48,10 @@ elseif(PK_BUILD_STATIC_LIB)
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC} ${PK_LIB_CPP})
else()
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC} ${PK_LIB_CPP})
add_executable(${PROJECT_NAME}_EXE src2/main.cpp)
set_target_properties(${PROJECT_NAME}_EXE PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}_EXE ${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}_EXE ${CMAKE_DL_LIBS})
set(PROJECT_EXE_NAME main)
add_executable(${PROJECT_EXE_NAME} src2/main.cpp)
target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
endif()
target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})

View File

@ -1,7 +1,7 @@
python3 prebuild.py
SRC=$(find src/ -name "*.cpp")
clang++ -pg -O1 -std=c++17 -fno-rtti -stdlib=libc++ -Wfatal-errors -o pocketpy $SRC -Iinclude
time ./pocketpy benchmarks/fib.py
time ./main benchmarks/fib.py
mv benchmarks/gmon.out .
gprof pocketpy gmon.out > gprof.txt
rm gmon.out

View File

@ -6,9 +6,9 @@ def test_file(filepath, cpython=False):
if cpython:
return os.system("python3 " + filepath) == 0
if sys.platform == 'win32':
return os.system("pocketpy.exe " + filepath) == 0
return os.system("main.exe " + filepath) == 0
else:
return os.system("./pocketpy " + filepath) == 0
return os.system("./main " + filepath) == 0
def test_dir(path):
print("Testing directory:", path)

View File

@ -7,16 +7,14 @@ std::string f_input(){
return pkpy::platform_getline();
}
#define ABS_PATH(x) std::filesystem::absolute(x).c_str()
int main(int argc, char** argv){
#if _WIN32
SetConsoleOutputCP(CP_UTF8);
void* p = LoadLibraryA(ABS_PATH("pocketpy.dll"));
void* p = LoadLibraryA("pocketpy.dll");
#elif __linux__
void* p = dlopen(ABS_PATH("libpocketpy.so"), RTLD_NOW | RTLD_GLOBAL);
void* p = dlopen("libpocketpy.so", RTLD_NOW | RTLD_GLOBAL);
#elif __APPLE__
void* p = dlopen(ABS_PATH("libpocketpy.dylib"), RTLD_NOW | RTLD_GLOBAL);
void* p = dlopen("libpocketpy.dylib", RTLD_NOW | RTLD_GLOBAL);
#endif
if(p == nullptr){
std::cerr << "unable to load dynamic library" << std::endl;