Skip to content

Commit 0cb7c3a

Browse files
committed
Upload WizToolKit v2.1.0
1 parent 8a23af0 commit 0cb7c3a

File tree

378 files changed

+28525
-165653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

378 files changed

+28525
-165653
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ src/deps/deps.success
66
**/dist/
77
tests/**/temp.out
88
*.html
9+
__pycache__/
10+
result

.gitlab-ci.yml

+29-2
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,67 @@
1-
# Copyright (C) 2021 Stealth Software Technologies, Inc.
1+
# Copyright (C) 2021-2022 Stealth Software Technologies, Inc.
22
# FOR SIEVE PROGRAM USE ONLY
33

44
test-ubuntu-18:
5-
tags: [shared, t3-xlarge]
65
image: registry.stealthsoftwareinc.com/stealth/builder-images/ubuntu:18.04
76
script:
87
- make BUILD_TYPE=CI test
98
- make clean
109
- make BUILD_TYPE=CI CXX=clang++ test
10+
- make regression-test
11+
1112
test-ubuntu-20:
1213
image: registry.stealthsoftwareinc.com/stealth/builder-images/ubuntu:20.04
1314
script:
1415
- make BUILD_TYPE=CI test
1516
- make clean
1617
- make BUILD_TYPE=CI CXX=clang++ test
18+
- make regression-test
19+
1720
test-centos-stream8:
1821
image: registry.stealthsoftwareinc.com/stealth/builder-images/centos:stream8
1922
script:
2023
- make BUILD_TYPE=CI test
2124
- make clean
2225
- make BUILD_TYPE=CI CXX=clang++ test
26+
- make regression-test
27+
2328
test-rockylinux-8:
2429
image: registry.stealthsoftwareinc.com/stealth/builder-images/rockylinux:8
2530
script:
2631
- make BUILD_TYPE=CI test
2732
- make clean
2833
- make BUILD_TYPE=CI CXX=clang++ test
34+
- make regression-test
35+
2936
test-centos-7:
3037
image: registry.stealthsoftwareinc.com/stealth/builder-images/centos:7
3138
script:
3239
- make ENABLE_ANTLR=0 CMAKE_CMD=cmake3 BUILD_TYPE=CI test
40+
- PYTHONPATH="src/main/python" python3 src/test/python/regression_tests.py
41+
42+
test-nixos:
43+
image: registry.stealthsoftwareinc.com/stealth/wiztoolkit/wtk-nix
44+
script:
45+
- nix-build
46+
- 'nix-shell -p "python3.withPackages(ps: with ps; [numpy])" --run "PYTHONPATH=src/main/python python3 src/test/python/regression_tests.py result/bin/"'
47+
3348
static-analysis-centos-stream8:
3449
image: registry.stealthsoftwareinc.com/stealth/builder-images/centos:stream8
3550
script:
3651
- make static-analysis
52+
3753
static-analysis-rockylinux-8:
3854
image: registry.stealthsoftwareinc.com/stealth/builder-images/rockylinux:8
3955
script:
4056
- make static-analysis
57+
58+
pages:
59+
image: registry.stealthsoftwareinc.com/kimee/stealth-pages-theme
60+
script:
61+
- cd pages/
62+
- ./_scripts/download_content.sh
63+
- jekyll build -d ../public
64+
artifacts:
65+
paths:
66+
- public
67+
when: manual

CMakeLists.txt

+27-42
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,26 @@
1-
cmake_minimum_required(VERSION 3.0)
2-
project(wiztoolkit)
1+
cmake_minimum_required(VERSION 3.1)
2+
project(wiztoolkit VERSION 2.0.0)
33

4-
if(${ENABLE_ANTLR} EQUAL 0)
5-
set(ANTLR_CXX_FLAGS "")
6-
else()
7-
set(ANTLR_CXX_FLAGS " \
8-
-Wno-conversion \
9-
-Wno-unknown-pragmas \
10-
-Wno-attributes \
11-
-Wno-implicit-fallthrough")
12-
endif()
13-
14-
if(${ENABLE_FLATBUFFER} EQUAL 0)
15-
set(FLATBUFFER_CXX_FLAGS "")
16-
else()
17-
set(FLATBUFFER_CXX_FLAGS " \
18-
-Wno-conversion")
19-
endif()
4+
set(CMAKE_CXX_EXTENSIONS OFF)
5+
set(CMAKE_CXX_STANDARD 11)
6+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
207

218
set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG -O2 -Werror ")
22-
set(CMAKE_CXX_FLAGS_PROFILE " -DNDEBUG -pg -O2 -Werror ")
23-
set(CMAKE_CXX_FLAGS_CI " -Werror ")
24-
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} \
25-
--std=c++11 \
26-
-Wall \
27-
-Wextra \
28-
-Wconversion \
29-
-Wcast-align \
30-
${ANTLR_CXX_FLAGS} \
31-
${FLATBUFFER_CXX_FLAGS} \
32-
-DENABLE_ANTLR=${ENABLE_ANTLR} \
33-
-DENABLE_FLATBUFFER=${ENABLE_FLATBUFFER} \
34-
")
9+
set(CMAKE_CXX_FLAGS_DEBUG " -O0 -g -DLOG_OPT_FILE_LINE " )
10+
set(CMAKE_CXX_FLAGS_CI " -O1 -Werror ")
11+
12+
13+
list(APPEND wtk_cxx_flags
14+
-Wall
15+
-Wextra
16+
-Wconversion
17+
-Wsign-conversion
18+
-Wcast-align
19+
)
20+
21+
if(${ENABLE_FLATBUFFER} EQUAL 1)
22+
list(APPEND wtk_cxx_flags -Wno-sign-conversion)
23+
endif()
3524

3625
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
3726
if(NOT DEFINED OPENSSL_ROOT_DIR)
@@ -47,16 +36,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
4736
endif()
4837
endif()
4938

50-
51-
if(${ENABLE_ANTLR} EQUAL 1)
52-
FILE(GLOB gen_antlr_cpp
53-
${CMAKE_CURRENT_SOURCE_DIR}/target/generated/wtk/antlr/*.cpp
54-
)
55-
56-
FILE(GLOB gen_antlr_h
57-
${CMAKE_CURRENT_SOURCE_DIR}/target/generated/wtk/antlr/*.h
58-
)
59-
endif()
39+
find_package(OpenSSL REQUIRED)
6040

6141
FILE(GLOB gen_irregular_cpp
6242
${CMAKE_CURRENT_SOURCE_DIR}/target/generated/wtk/irregular/*.cpp
@@ -72,4 +52,9 @@ if(${ENABLE_FLATBUFFER} EQUAL 1)
7252
)
7353
endif()
7454

75-
add_subdirectory(src)
55+
add_subdirectory(src/deps)
56+
add_subdirectory(src/main/cpp)
57+
58+
if(${ENABLE_GTEST} EQUAL 1)
59+
add_subdirectory(src/test/cpp)
60+
endif()

Makefile

+65-77
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,37 @@ GEN_DIR=$(TARGET_DIR)/generated
55
BUILD_DIR=$(TARGET_DIR)/build
66
DEPS_DIR=$(SRC_DIR)/deps
77

8-
ANTLR_TOOL=java -jar $(DEPS_DIR)/antlr4/antlr-tool.jar -Dlanguage=Cpp -no-visitor -no-listener
9-
FLATC_TOOL=$(DEPS_DIR)/flatbuffer/build/flatc --cpp --cpp-std c++11
108
CMAKE_CMD=cmake
119
CMAKE_GENERATOR=Unix Makefiles
1210
MAKE_CMD=make
1311
CXX=g++
1412
BUILD_TYPE=Release
1513

14+
ENABLE_FLATBUFFER=1
15+
ENABLE_GTEST=1
16+
1617
PREFIX=/usr/local
1718

18-
ENABLE_ANTLR=1
19-
ENABLE_FLATBUFFER=1
19+
ifeq ($(ENABLE_GTEST), 0)
2020

2121
test: build
22-
cd target/build/src/test/cpp/ && ./wtk-test
23-
python3 -u src/main/python/test_suite.py
2422

25-
static-analysis: | configure
26-
cd $(BUILD_DIR) && $(MAKE_CMD) static-analysis
23+
else
24+
25+
test: build ${BUILD_DIR}/src/test/cpp/wtk-test
26+
${BUILD_DIR}/src/test/cpp/wtk-test
27+
28+
endif
2729

2830
build: gen_parser | configure $(BUILD_DIR)
2931
cd $(BUILD_DIR) && $(MAKE_CMD) -j4
3032
cp $(BUILD_DIR)/src/main/cpp/wtk-* $(TARGET_DIR)/
31-
echo 'success' > $(BUILD_DIR)/build.success
3233

33-
configure: | $(TARGET_DIR)/configure.success
34+
static-analysis: | configure
35+
cd $(BUILD_DIR) && $(MAKE_CMD) static-analysis
36+
37+
regression-test: build
38+
PYTHONPATH=src/main/python python3 src/test/python/regression_tests.py
3439

3540
ifeq ($(ENABLE_FLATBUFFER), 0)
3641
FLATBUFFER_CONFIG=""
@@ -42,66 +47,28 @@ FLATBUFFER_CONFIG= \
4247
-DFLATBUFFERS_BUILD_SHAREDLIB=OFF
4348
endif
4449

50+
configure: | $(TARGET_DIR)/configure.success
51+
4552
$(TARGET_DIR)/configure.success: | gen_parser $(BUILD_DIR)
4653
cd $(BUILD_DIR) && \
4754
$(CMAKE_CMD) -G "$(CMAKE_GENERATOR)" \
48-
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
49-
-DCMAKE_CXX_COMPILER=$(shell which $(CXX)) \
50-
-DCMAKE_INSTALL_PREFIX=$(PREFIX) \
51-
-DENABLE_ANTLR=$(ENABLE_ANTLR) \
52-
-DENABLE_FLATBUFFER=$(ENABLE_FLATBUFFER) \
53-
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
54-
$(FLATBUFFER_CONFIG) \
55-
$(BASE_DIR) \
55+
-DCMAKE_BUILD_TYPE="$(BUILD_TYPE)" \
56+
-DCMAKE_CXX_COMPILER=$(shell which $(CXX)) \
57+
-DCMAKE_INSTALL_PREFIX=$(PREFIX) \
58+
-DENABLE_FLATBUFFER=$(ENABLE_FLATBUFFER) \
59+
-DENABLE_GTEST=$(ENABLE_GTEST) \
60+
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
61+
$(FLATBUFFER_CONFIG) \
62+
$(BASE_DIR) \
5663
;
5764
echo 'success' > $(TARGET_DIR)/configure.success
5865

59-
install:
60-
cd $(BUILD_DIR) && $(MAKE_CMD) install
61-
62-
clean:
63-
rm -rf $(TARGET_DIR)
64-
65-
deps-clean: clean
66-
cd $(DEPS_DIR) && \
67-
rm -rf */ && \
68-
rm -f deps.success
69-
70-
deps: | $(DEPS_DIR)/deps.success
71-
72-
$(DEPS_DIR)/deps.success: | $(DEPS_DIR)
73-
cd $(DEPS_DIR) && \
74-
mkdir -p sst_bignum && \
75-
cd sst_bignum && \
76-
../sst_bignum_only.sh
77-
cd $(DEPS_DIR) && \
78-
./antlr4-install.sh $(ENABLE_ANTLR) && \
79-
./gtest-install.sh && \
80-
./logging-install.sh && \
81-
./flatbuffer-install.sh $(ENABLE_FLATBUFFER) $(CMAKE_CMD) && \
82-
echo 'success' > deps.success
83-
84-
gen_parser: deps \
85-
$(GEN_DIR)/wtk/irregular/Automatas.h \
86-
gen_antlr \
87-
gen_flatbuffer
88-
89-
ifeq ($(ENABLE_ANTLR), 0)
90-
91-
gen_antlr:
92-
true
93-
94-
else
95-
96-
gen_antlr: $(GEN_DIR)/wtk/antlr/SIEVEIRParser.h
97-
98-
$(GEN_DIR)/wtk/antlr/SIEVEIRParser.h: \
99-
src/main/g4/SIEVEIR.g4 \
100-
| $(GEN_DIR)/wtk/antlr
101-
cd src/main/g4 && \
102-
$(ANTLR_TOOL) -package wtk_gen_antlr -o $(GEN_DIR)/wtk/antlr SIEVEIR.g4
66+
gen_parser: deps $(GEN_DIR)/wtk/irregular/automatas.i.h gen_flatbuffer
10367

104-
endif
68+
$(GEN_DIR)/wtk/irregular/automatas.i.h: src/main/python/automatagen.py \
69+
src/main/python/dfa.py \
70+
| $(GEN_DIR)/wtk/irregular
71+
python3 src/main/python/automatagen.py
10572

10673
ifeq ($(ENABLE_FLATBUFFER), 0)
10774

@@ -112,36 +79,57 @@ else
11279

11380
gen_flatbuffer: $(GEN_DIR)/wtk/flatbuffer/sieve_ir_generated.h
11481

82+
FLATC_TOOL=$(DEPS_DIR)/flatbuffer/build/flatc --cpp --cpp-std c++11
83+
11584
$(GEN_DIR)/wtk/flatbuffer/sieve_ir_generated.h: \
11685
$(SRC_DIR)/main/fbs/sieve_ir.fbs \
11786
| $(GEN_DIR)/wtk/flatbuffer
118-
cd $(GEN_DIR)/wtk/flatbuffer/ && \
87+
cd $(GEN_DIR)/wtk/flatbuffer && \
11988
$(FLATC_TOOL) $(SRC_DIR)/main/fbs/sieve_ir.fbs
12089

90+
$(GEN_DIR)/wtk/flatbuffer: | $(GEN_DIR)
91+
mkdir -p $(GEN_DIR)/wtk/flatbuffer/
92+
12193
endif
12294

123-
$(GEN_DIR)/wtk/irregular/Automatas.h: \
124-
src/main/python/automatagen.py \
125-
| $(GEN_DIR)/wtk/irregular
126-
python3 src/main/python/automatagen.py
95+
$(DEPS_DIR):
96+
mkdir -p $(DEPS_DIR)
97+
98+
$(BUILD_DIR): | $(TARGET_DIR)
99+
mkdir -p $(BUILD_DIR)
127100

128101
$(TARGET_DIR):
129102
mkdir -p $(TARGET_DIR)
130103

131104
$(GEN_DIR): | $(TARGET_DIR)
132105
mkdir -p $(GEN_DIR)
133106

134-
$(GEN_DIR)/wtk/antlr: | $(GEN_DIR)
135-
mkdir -p $(GEN_DIR)/wtk/antlr
136-
137107
$(GEN_DIR)/wtk/irregular: | $(GEN_DIR)
138108
mkdir -p $(GEN_DIR)/wtk/irregular
139109

140-
$(GEN_DIR)/wtk/flatbuffer: | $(GEN_DIR)
141-
mkdir -p $(GEN_DIR)/wtk/flatbuffer
110+
install:
111+
cd $(BUILD_DIR) && $(MAKE_CMD) install
142112

143-
$(BUILD_DIR): | $(TARGET_DIR)
144-
mkdir -p $(BUILD_DIR)
113+
uninstall:
114+
xargs rm < $(BUILD_DIR)/install_manifest.txt
145115

146-
$(DEPS_DIR):
147-
mkdir -p $(DEPS_DIR)
116+
clean:
117+
rm -rf $(TARGET_DIR)
118+
119+
deps-clean: clean
120+
cd $(DEPS_DIR) && \
121+
rm -rf */ && \
122+
rm -f deps.success
123+
124+
deps: | $(DEPS_DIR)/deps.success
125+
126+
$(DEPS_DIR)/deps.success: | $(DEPS_DIR)
127+
cd $(DEPS_DIR) && \
128+
./logging-install.sh && \
129+
./gtest-install.sh $(ENABLE_GTEST) && \
130+
mkdir sst_bignum && \
131+
cd sst_bignum && \
132+
../sst_bignum_only.sh && \
133+
cd ../ && \
134+
./flatbuffer-install.sh $(ENABLE_FLATBUFFER) $(CMAKE_CMD) && \
135+
echo 'success' > deps.success

0 commit comments

Comments
 (0)