Skip to content

Commit 812943d

Browse files
authored
Factor wasm validator into a cpp file (#1086)
Also small cleanup to CMake libraries
1 parent f56e70d commit 812943d

4 files changed

Lines changed: 685 additions & 620 deletions

File tree

CMakeLists.txt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ FOREACH(SUFFIX "_DEBUG" "_RELEASE" "_RELWITHDEBINFO" "_MINSIZEREL" "")
5959
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY${SUFFIX} "${PROJECT_BINARY_DIR}/lib")
6060
ENDFOREACH()
6161

62-
SET(all_passes passes)
63-
6462
IF(MSVC)
6563
IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.0") # VS2013 and older explicitly need /arch:sse2 set, VS2015 no longer has that option, but always enabled.
6664
ADD_COMPILE_FLAG("/arch:sse2")
@@ -172,6 +170,9 @@ IF (UNIX AND
172170
ENDIF()
173171

174172
# Static libraries
173+
# Current (partial) dependency structure is as follows:
174+
# passes -> wasm -> asmjs -> support
175+
# TODO: It's odd that wasm should depend on asmjs, maybe we should fix that.
175176
ADD_SUBDIRECTORY(src/ast)
176177
ADD_SUBDIRECTORY(src/asmjs)
177178
ADD_SUBDIRECTORY(src/cfg)
@@ -191,7 +192,7 @@ IF(BUILD_STATIC_LIB)
191192
ELSE()
192193
ADD_LIBRARY(binaryen SHARED ${binaryen_SOURCES})
193194
ENDIF()
194-
TARGET_LINK_LIBRARIES(binaryen ${all_passes} wasm asmjs ast cfg support)
195+
TARGET_LINK_LIBRARIES(binaryen passes wasm asmjs ast cfg support)
195196
INSTALL(TARGETS binaryen DESTINATION ${CMAKE_INSTALL_LIBDIR})
196197

197198
INSTALL(FILES src/binaryen-c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
@@ -204,7 +205,7 @@ SET(wasm-shell_SOURCES
204205
)
205206
ADD_EXECUTABLE(wasm-shell
206207
${wasm-shell_SOURCES})
207-
TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer ${all_passes} ast cfg support)
208+
TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer passes ast cfg support)
208209
SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD 11)
209210
SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD_REQUIRED ON)
210211
INSTALL(TARGETS wasm-shell DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -215,7 +216,7 @@ SET(wasm-opt_SOURCES
215216
)
216217
ADD_EXECUTABLE(wasm-opt
217218
${wasm-opt_SOURCES})
218-
TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer ${all_passes} ast cfg support)
219+
TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer passes ast cfg support)
219220
SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD 11)
220221
SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD_REQUIRED ON)
221222
INSTALL(TARGETS wasm-opt DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -225,7 +226,7 @@ SET(wasm-merge_SOURCES
225226
)
226227
ADD_EXECUTABLE(wasm-merge
227228
${wasm-merge_SOURCES})
228-
TARGET_LINK_LIBRARIES(wasm-merge wasm asmjs emscripten-optimizer ${all_passes} ast cfg support)
229+
TARGET_LINK_LIBRARIES(wasm-merge wasm asmjs emscripten-optimizer passes ast cfg support)
229230
SET_PROPERTY(TARGET wasm-merge PROPERTY CXX_STANDARD 11)
230231
SET_PROPERTY(TARGET wasm-merge PROPERTY CXX_STANDARD_REQUIRED ON)
231232
INSTALL(TARGETS wasm-merge DESTINATION bin)
@@ -236,7 +237,7 @@ SET(asm2wasm_SOURCES
236237
)
237238
ADD_EXECUTABLE(asm2wasm
238239
${asm2wasm_SOURCES})
239-
TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer ${all_passes} wasm asmjs ast cfg support)
240+
TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer passes wasm asmjs ast cfg support)
240241
SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11)
241242
SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON)
242243
INSTALL(TARGETS asm2wasm DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -258,7 +259,7 @@ SET(wasm_as_SOURCES
258259
)
259260
ADD_EXECUTABLE(wasm-as
260261
${wasm_as_SOURCES})
261-
TARGET_LINK_LIBRARIES(wasm-as wasm asmjs passes ast cfg support)
262+
TARGET_LINK_LIBRARIES(wasm-as passes wasm asmjs ast cfg support)
262263
SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD 11)
263264
SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD_REQUIRED ON)
264265
INSTALL(TARGETS wasm-as DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -278,7 +279,7 @@ SET(wasm-ctor-eval_SOURCES
278279
)
279280
ADD_EXECUTABLE(wasm-ctor-eval
280281
${wasm-ctor-eval_SOURCES})
281-
TARGET_LINK_LIBRARIES(wasm-ctor-eval wasm asmjs emscripten-optimizer ${all_passes} ast cfg support)
282+
TARGET_LINK_LIBRARIES(wasm-ctor-eval emscripten-optimizer passes wasm asmjs ast cfg support)
282283
SET_PROPERTY(TARGET wasm-ctor-eval PROPERTY CXX_STANDARD 11)
283284
SET_PROPERTY(TARGET wasm-ctor-eval PROPERTY CXX_STANDARD_REQUIRED ON)
284285
INSTALL(TARGETS wasm-ctor-eval DESTINATION bin)

0 commit comments

Comments
 (0)