This commit is contained in:
blueloveTH 2023-07-15 22:28:59 +08:00
parent 93024830cd
commit 262c5e40d9
3 changed files with 21 additions and 19 deletions

View File

@ -1,3 +1,14 @@
python3 prebuild.py
SRC=$(find src/ -name "*.cpp")
clang++ -std=c++17 -fno-rtti -O2 -stdlib=libc++ -Wfatal-errors -o main src2/main.cpp $SRC -Iinclude -ldl -rdynamic
FLAGS="-std=c++17 -fno-rtti -O2 -stdlib=libc++ -Wfatal-errors -Iinclude"
if [[ "$OSTYPE" == "darwin"* ]]; then
LIB_EXTENSION=".dylib"
FLAGS="$FLAGS -undefined dynamic_lookup"
else
LIB_EXTENSION=".so"
fi
clang++ $FLAGS -o libpocketpy$LIB_EXTENSION $SRC -fPIC -shared -ldl
# compile main.cpp and link to libpocketpy.so
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy -Wl,-rpath=.

View File

@ -54,13 +54,6 @@ static int f_input(pkpy_vm* vm){
}
int main(int argc, char** argv){
#if _WIN32
// implicitly load pocketpy.dll in current directory
#elif __linux__
dlopen("libpocketpy.so", RTLD_LAZY | RTLD_GLOBAL);
#elif __APPLE__
dlopen("libpocketpy.dylib", RTLD_LAZY | RTLD_GLOBAL);
#endif
pkpy_vm* vm = pkpy_new_vm(true);
pkpy_push_function(vm, "input() -> str", f_input);

View File

@ -14,15 +14,13 @@ add_library(
test.c
)
if (WIN32)
add_library(
pocketpy
SHARED
${CMAKE_CURRENT_LIST_DIR}/../../src2/pocketpy_c.cpp
)
add_library(
pocketpy
SHARED
${CMAKE_CURRENT_LIST_DIR}/../../src2/pocketpy_c.cpp
)
target_link_libraries(
${PROJECT_NAME}
pocketpy
)
endif()
target_link_libraries(
${PROJECT_NAME}
pocketpy
)