mirror of
				https://github.com/bytecodealliance/wasm-micro-runtime.git
				synced 2025-10-29 20:31:17 +00:00 
			
		
		
		
	 27e7e160af
			
		
	
	
		27e7e160af
		
			
		
	
	
	
	
		
			
			Upgrade the version of related toolkits: - upgrade llvm to 15.0 - upgrade wasi-sdk to 19.0 - upgrade emsdk to 3.1.28 - upgrade wabt to 1.0.31 - upgrade binaryen to 111 And upgrade the CI scripts, sample workload build scripts, Dockerfiles, and documents.
		
			
				
	
	
		
			125 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Copyright (C) 2019 Intel Corporation. All rights reserved.
 | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| 
 | |
| cmake_minimum_required (VERSION 3.14)
 | |
| 
 | |
| project(bwa_wasm C)
 | |
| 
 | |
| list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
 | |
| 
 | |
| ################ dependencies ################
 | |
| find_package(Binaryen 111 REQUIRED)
 | |
| 
 | |
| ################ LIBZ ################
 | |
| set(LIBZ_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../libz)
 | |
| add_library(z_wasm STATIC
 | |
|   ${LIBZ_SRC_DIR}/adler32.c
 | |
|   ${LIBZ_SRC_DIR}/compress.c
 | |
|   ${LIBZ_SRC_DIR}/crc32.c
 | |
|   ${LIBZ_SRC_DIR}/deflate.c
 | |
|   ${LIBZ_SRC_DIR}/gzclose.c
 | |
|   ${LIBZ_SRC_DIR}/gzlib.c
 | |
|   ${LIBZ_SRC_DIR}/gzread.c
 | |
|   ${LIBZ_SRC_DIR}/gzwrite.c
 | |
|   ${LIBZ_SRC_DIR}/infback.c
 | |
|   ${LIBZ_SRC_DIR}/inffast.c
 | |
|   ${LIBZ_SRC_DIR}/inflate.c
 | |
|   ${LIBZ_SRC_DIR}/inftrees.c
 | |
|   ${LIBZ_SRC_DIR}/trees.c
 | |
|   ${LIBZ_SRC_DIR}/uncompr.c
 | |
|   ${LIBZ_SRC_DIR}/zutil.c
 | |
| )
 | |
| 
 | |
| set_target_properties(z_wasm PROPERTIES LINKER_LANGUAGE C)
 | |
| 
 | |
| target_compile_definitions(z_wasm PRIVATE Z_HAVE_UNISTD_H _LARGEFILE64_SOURCE=1)
 | |
| 
 | |
| target_compile_options(z_wasm
 | |
|   PRIVATE
 | |
|     -Wno-unused-function
 | |
|     -Wno-unused-variable
 | |
| )
 | |
| 
 | |
| target_include_directories(z_wasm
 | |
|   PUBLIC
 | |
|     ${LIBZ_SRC_DIR}
 | |
| )
 | |
| 
 | |
| ################ BWA_WASM ################
 | |
| set(BWA_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 | |
| set(BWA_SOURCE
 | |
|   ${BWA_SRC_DIR}/utils.c
 | |
|   ${BWA_SRC_DIR}/kthread.c
 | |
|   ${BWA_SRC_DIR}/kstring.c
 | |
|   ${BWA_SRC_DIR}/ksw.c
 | |
|   ${BWA_SRC_DIR}/bwt.c
 | |
|   ${BWA_SRC_DIR}/bntseq.c
 | |
|   ${BWA_SRC_DIR}/bwa.c
 | |
|   ${BWA_SRC_DIR}/bwamem.c
 | |
|   ${BWA_SRC_DIR}/bwamem_pair.c
 | |
|   ${BWA_SRC_DIR}/bwamem_extra.c
 | |
|   ${BWA_SRC_DIR}/malloc_wrap.c
 | |
|   ${BWA_SRC_DIR}/QSufSort.c
 | |
|   ${BWA_SRC_DIR}/bwt_gen.c
 | |
|   ${BWA_SRC_DIR}/rope.c
 | |
|   ${BWA_SRC_DIR}/rle.c
 | |
|   ${BWA_SRC_DIR}/is.c
 | |
|   ${BWA_SRC_DIR}/bwtindex.c
 | |
|   ${BWA_SRC_DIR}/bwashm.c
 | |
|   ${BWA_SRC_DIR}/bwase.c
 | |
|   ${BWA_SRC_DIR}/bwaseqio.c
 | |
|   ${BWA_SRC_DIR}/bwtgap.c
 | |
|   ${BWA_SRC_DIR}/bwtaln.c
 | |
|   ${BWA_SRC_DIR}/bamlite.c
 | |
|   ${BWA_SRC_DIR}/bwape.c
 | |
|   ${BWA_SRC_DIR}/kopen.c
 | |
|   ${BWA_SRC_DIR}/pemerge.c
 | |
|   ${BWA_SRC_DIR}/maxk.c
 | |
|   ${BWA_SRC_DIR}/bwtsw2_core.c
 | |
|   ${BWA_SRC_DIR}/bwtsw2_main.c
 | |
|   ${BWA_SRC_DIR}/bwtsw2_aux.c
 | |
|   ${BWA_SRC_DIR}/bwt_lite.c
 | |
|   ${BWA_SRC_DIR}/bwtsw2_chain.c
 | |
|   ${BWA_SRC_DIR}/fastmap.c
 | |
|   ${BWA_SRC_DIR}/bwtsw2_pair.c
 | |
|   ${BWA_SRC_DIR}/main.c
 | |
| )
 | |
| 
 | |
| add_executable(${PROJECT_NAME} ${BWA_SOURCE})
 | |
| 
 | |
| set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME bwa.wasm)
 | |
| 
 | |
| target_compile_definitions(${PROJECT_NAME}
 | |
|   PRIVATE
 | |
|     USE_MALLOC_WRAPPERS
 | |
|     __SSE__ __SSE2__ __SSE4_1__
 | |
|     _WASI_EMULATED_MMAN _WASI_EMULATED_SIGNAL _WASI_EMULATED_PROCESS_CLOCKS
 | |
| )
 | |
| 
 | |
| target_compile_options(${PROJECT_NAME}
 | |
|   PRIVATE
 | |
|     -Wno-unused-function
 | |
|     -Wno-unused-variable
 | |
|     -msimd128
 | |
| )
 | |
| 
 | |
| target_link_options(${PROJECT_NAME}
 | |
|   PRIVATE
 | |
|     -Wno-unused-command-line-argument
 | |
|     LINKER:--allow-undefined,--export=__heap_base,--export=__data_end
 | |
|     LINKER:-z,stack-size=1048576
 | |
| )
 | |
| 
 | |
| target_link_libraries(${PROJECT_NAME} z_wasm wasi-emulated-process-clocks)
 | |
| 
 | |
| add_custom_target(bwa_wasm_opt ALL
 | |
|   COMMAND
 | |
|     ${Binaryen_WASM_OPT} -Oz --enable-simd -o bwa.opt.wasm bwa.wasm
 | |
|   BYPRODUCTS
 | |
|     ${CMAKE_CURRENT_BINARY_DIR}/bwa.opt.wasm
 | |
|   WORKING_DIRECTORY
 | |
|     ${CMAKE_CURRENT_BINARY_DIR}
 | |
| )
 | |
| 
 | |
| add_dependencies(bwa_wasm_opt ${PROJECT_NAME})
 |