mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
remove -fno-rtti
This commit is contained in:
parent
78ac9488ff
commit
f0a2ea215e
@ -18,9 +18,9 @@ if(NOT ${PREBUILD_RESULT} EQUAL 0)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR- /EHsc /utf-8 /O2")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /utf-8 /O2")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fexceptions -O2")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -O2")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
||||||
|
@ -40,7 +40,6 @@ To compile it with your project, these flags must be set:
|
|||||||
|
|
||||||
+ `--std=c++17` flag must be set
|
+ `--std=c++17` flag must be set
|
||||||
+ Exception must be enabled
|
+ Exception must be enabled
|
||||||
+ RTTI is not required
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
|
6
build.sh
6
build.sh
@ -1,14 +1,16 @@
|
|||||||
python3 prebuild.py
|
python3 prebuild.py
|
||||||
SRC=$(find src/ -name "*.cpp")
|
SRC=$(find src/ -name "*.cpp")
|
||||||
FLAGS="-std=c++17 -fno-rtti -O2 -stdlib=libc++ -Wfatal-errors -Iinclude"
|
FLAGS="-std=c++17 -O2 -stdlib=libc++ -Wfatal-errors -Iinclude"
|
||||||
|
|
||||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
LIB_EXTENSION=".dylib"
|
LIB_EXTENSION=".dylib"
|
||||||
FLAGS="$FLAGS -undefined dynamic_lookup"
|
FLAGS="$FLAGS -undefined dynamic_lookup"
|
||||||
|
LINK_FLAGS=""
|
||||||
else
|
else
|
||||||
LIB_EXTENSION=".so"
|
LIB_EXTENSION=".so"
|
||||||
|
LINK_FLAGS="-Wl,-rpath=."
|
||||||
fi
|
fi
|
||||||
clang++ $FLAGS -o libpocketpy$LIB_EXTENSION $SRC -fPIC -shared -ldl
|
clang++ $FLAGS -o libpocketpy$LIB_EXTENSION $SRC -fPIC -shared -ldl
|
||||||
|
|
||||||
# compile main.cpp and link to libpocketpy.so
|
# compile main.cpp and link to libpocketpy.so
|
||||||
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy -Wl,-rpath=.
|
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy $LINK_FLAGS
|
@ -4,4 +4,4 @@ rm -rf web/lib
|
|||||||
mkdir web/lib
|
mkdir web/lib
|
||||||
|
|
||||||
SRC=$(find src/ -name "*.cpp")
|
SRC=$(find src/ -name "*.cpp")
|
||||||
em++ $SRC -Iinclude/ -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
|
em++ $SRC -Iinclude/ -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
|
@ -22,7 +22,6 @@ To compile it with your project, these flags must be set:
|
|||||||
|
|
||||||
+ `--std=c++17` flag must be set
|
+ `--std=c++17` flag must be set
|
||||||
+ Exception must be enabled
|
+ Exception must be enabled
|
||||||
+ RTTI is not required
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
|
BIN
libpocketpy.dylib
Executable file
BIN
libpocketpy.dylib
Executable file
Binary file not shown.
@ -13,12 +13,6 @@ add_library(pocketpy SHARED
|
|||||||
"pocketpy.cpp"
|
"pocketpy.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT MSVC)
|
|
||||||
target_compile_options(pocketpy PRIVATE -fno-rtti)
|
|
||||||
else()
|
|
||||||
target_compile_options(pocketpy PRIVATE /GR- /EHsc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_target_properties(pocketpy PROPERTIES
|
set_target_properties(pocketpy PROPERTIES
|
||||||
PUBLIC_HEADER pocketpy.h
|
PUBLIC_HEADER pocketpy.h
|
||||||
OUTPUT_NAME "pocketpy"
|
OUTPUT_NAME "pocketpy"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
python3 prebuild.py
|
python3 prebuild.py
|
||||||
SRC=$(find src/ -name "*.cpp")
|
SRC=$(find src/ -name "*.cpp")
|
||||||
clang++ -pg -O1 -std=c++17 -fno-rtti -stdlib=libc++ -Wfatal-errors -o main $SRC -Iinclude -ldl
|
clang++ -pg -O1 -std=c++17 -stdlib=libc++ -Wfatal-errors -o main $SRC -Iinclude -ldl
|
||||||
time ./main benchmarks/fib.py
|
time ./main benchmarks/fib.py
|
||||||
mv benchmarks/gmon.out .
|
mv benchmarks/gmon.out .
|
||||||
gprof pocketpy gmon.out > gprof.txt
|
gprof pocketpy gmon.out > gprof.txt
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
python3 prebuild.py
|
python3 prebuild.py
|
||||||
SRC=$(find src/ -name "*.cpp")
|
SRC=$(find src/ -name "*.cpp")
|
||||||
clang++ -std=c++17 -fno-rtti --coverage -O1 -stdlib=libc++ -Wfatal-errors -o main src2/main.cpp $SRC -Iinclude -ldl
|
clang++ -std=c++17 --coverage -O1 -stdlib=libc++ -Wfatal-errors -o main src2/main.cpp $SRC -Iinclude -ldl
|
||||||
python3 scripts/run_tests.py
|
python3 scripts/run_tests.py
|
||||||
rm -rf .coverage
|
rm -rf .coverage
|
||||||
mkdir .coverage
|
mkdir .coverage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user