mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-19 19:10:17 +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()
|
||||
|
||||
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()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fexceptions -O2")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -O2")
|
||||
endif()
|
||||
|
||||
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
|
||||
+ Exception must be enabled
|
||||
+ RTTI is not required
|
||||
|
||||
### Example
|
||||
|
||||
|
6
build.sh
6
build.sh
@ -1,14 +1,16 @@
|
||||
python3 prebuild.py
|
||||
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
|
||||
LIB_EXTENSION=".dylib"
|
||||
FLAGS="$FLAGS -undefined dynamic_lookup"
|
||||
LINK_FLAGS=""
|
||||
else
|
||||
LIB_EXTENSION=".so"
|
||||
LINK_FLAGS="-Wl,-rpath=."
|
||||
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=.
|
||||
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy $LINK_FLAGS
|
@ -4,4 +4,4 @@ rm -rf web/lib
|
||||
mkdir web/lib
|
||||
|
||||
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
|
||||
+ Exception must be enabled
|
||||
+ RTTI is not required
|
||||
|
||||
### 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"
|
||||
)
|
||||
|
||||
if (NOT MSVC)
|
||||
target_compile_options(pocketpy PRIVATE -fno-rtti)
|
||||
else()
|
||||
target_compile_options(pocketpy PRIVATE /GR- /EHsc)
|
||||
endif()
|
||||
|
||||
set_target_properties(pocketpy PROPERTIES
|
||||
PUBLIC_HEADER pocketpy.h
|
||||
OUTPUT_NAME "pocketpy"
|
||||
|
@ -1,6 +1,6 @@
|
||||
python3 prebuild.py
|
||||
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
|
||||
mv benchmarks/gmon.out .
|
||||
gprof pocketpy gmon.out > gprof.txt
|
||||
|
@ -1,6 +1,6 @@
|
||||
python3 prebuild.py
|
||||
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
|
||||
rm -rf .coverage
|
||||
mkdir .coverage
|
||||
|
Loading…
x
Reference in New Issue
Block a user