Add CodeQL Workflow for Code Security Analysis (#2812)
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository.
CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in
our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify
and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on nightly-run, and consider runs on every pull request to the main branch in the future.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and
reviewed the results. The workflow successfully compiles the project, identifies issues, and provides
actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on
every push and pull request to the main branch. To view the results of these code scans, please
follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation
and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>
2024-03-21 04:37:47 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2024-04-16 08:32:47 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
#
|
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
sudo apt update
|
|
|
|
|
2024-05-22 09:27:38 +00:00
|
|
|
sudo apt install -y build-essential cmake g++-multilib libgcc-12-dev lib32gcc-12-dev ccache ninja-build
|
Add CodeQL Workflow for Code Security Analysis (#2812)
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository.
CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in
our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify
and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on nightly-run, and consider runs on every pull request to the main branch in the future.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and
reviewed the results. The workflow successfully compiles the project, identifies issues, and provides
actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on
every push and pull request to the main branch. To view the results of these code scans, please
follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation
and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>
2024-03-21 04:37:47 +00:00
|
|
|
|
2024-03-21 06:18:27 +00:00
|
|
|
WAMR_DIR=${PWD}
|
Add CodeQL Workflow for Code Security Analysis (#2812)
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository.
CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in
our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify
and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on nightly-run, and consider runs on every pull request to the main branch in the future.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and
reviewed the results. The workflow successfully compiles the project, identifies issues, and provides
actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on
every push and pull request to the main branch. To view the results of these code scans, please
follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation
and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>
2024-03-21 04:37:47 +00:00
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
# TODO: use pre-built llvm binary to build wamrc to
|
|
|
|
# avoid static code analysing for llvm
|
|
|
|
: '
|
2024-03-21 06:18:27 +00:00
|
|
|
# build wamrc
|
|
|
|
cd ${WAMR_DIR}/wamr-compiler
|
|
|
|
./build_llvm.sh
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake ..
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build wamrc!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
2024-03-22 06:29:30 +00:00
|
|
|
'
|
Add CodeQL Workflow for Code Security Analysis (#2812)
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository.
CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in
our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify
and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on nightly-run, and consider runs on every pull request to the main branch in the future.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and
reviewed the results. The workflow successfully compiles the project, identifies issues, and provides
actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on
every push and pull request to the main branch. To view the results of these code scans, please
follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation
and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>
2024-03-21 04:37:47 +00:00
|
|
|
|
2024-03-21 06:18:27 +00:00
|
|
|
# build iwasm with default features enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
Add CodeQL Workflow for Code Security Analysis (#2812)
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository.
CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in
our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify
and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on nightly-run, and consider runs on every pull request to the main branch in the future.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and
reviewed the results. The workflow successfully compiles the project, identifies issues, and provides
actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on
every push and pull request to the main branch. To view the results of these code scans, please
follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation
and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>
2024-03-21 04:37:47 +00:00
|
|
|
cmake ..
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with default features enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with default features enabled on x86_32
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake .. -DWAMR_BUILD_TARGET=X86_32
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with default features enabled on x86_32!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with classic interpreter enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_INTERP=0
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with classic interpreter enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with extra features enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
-DWAMR_BUILD_LIB_PTHREAD=1 -DWAMR_BUILD_LIB_PTHREAD_SEMAPHORE=1 \
|
|
|
|
-DWAMR_BUILD_MULTI_MODULE=1 -DWAMR_BUILD_SIMD=1 \
|
|
|
|
-DWAMR_BUILD_TAIL_CALL=1 -DWAMR_BUILD_REF_TYPES=1 \
|
|
|
|
-DWAMR_BUILD_CUSTOM_NAME_SECTION=1 -DWAMR_BUILD_MEMORY_PROFILING=1 \
|
|
|
|
-DWAMR_BUILD_PERF_PROFILING=1 -DWAMR_BUILD_DUMP_CALL_STACK=1 \
|
|
|
|
-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build wamrc iwasm with extra features enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with global heap pool enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
-DWAMR_BUILD_ALLOC_WITH_USER_DATA=1 \
|
|
|
|
-DWAMR_DISABLE_STACK_HW_BOUND_CHECK=1 \
|
|
|
|
-DWAMR_BUILD_GLOBAL_HEAP_POOL=1 \
|
|
|
|
-DWAMR_BUILD_GLOBAL_HEAP_SIZE=131072
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with global heap pool enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with wasi-threads enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LIB_WASI_THREADS=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with wasi-threads enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with GC enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_GC=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with GC enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-04-07 03:57:31 +00:00
|
|
|
# build iwasm with exception handling enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_EXCE_HANDLING=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with exception handling enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with memory64 enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MEMORY64=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with memory64 enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-09-20 08:13:20 +00:00
|
|
|
# build iwasm with multi-memory enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MULTI_MEMORY=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with multi-memory enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-03-21 06:18:27 +00:00
|
|
|
# build iwasm with hardware boundary check disabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_DISABLE_HW_BOUND_CHECK=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with hardware boundary check disabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with quick AOT entry disabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_QUICK_AOT_ENTRY=0
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with quick AOT entry disabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with wakeup of blocking operations disabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_DISABLE_WAKEUP_BLOCKING_OP=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with wakeup of blocking operations disabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with module instance context disabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MODULE_INST_CONTEXT=0 \
|
|
|
|
-DWAMR_BUILD_LIBC_BUILTIN=0 -DWAMR_BUILD_LIBC_WASI=0
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with module instance context disabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with libc-uvwasi enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -fr build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LIBC_UVWASI=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with libc-uvwasi enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
# build iwasm with fast jit lazy mode enabled
|
2024-03-21 06:18:27 +00:00
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
2024-03-22 06:29:30 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_FAST_JIT_DUMP=1
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
2024-03-22 06:29:30 +00:00
|
|
|
echo "Failed to build iwasm with fast jit lazy mode enabled!"
|
2024-03-21 06:18:27 +00:00
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
# build iwasm with fast jit eager mode enabled
|
2024-03-21 06:18:27 +00:00
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
2024-03-22 06:29:30 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_FAST_JIT_DUMP=1
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
2024-03-22 06:29:30 +00:00
|
|
|
echo "Failed to build iwasm with fast jit eager mode enabled!"
|
2024-03-21 06:18:27 +00:00
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
# TODO: use pre-built llvm binary to build llvm-jit and multi-tier-jit
|
|
|
|
: '
|
|
|
|
# build iwasm with llvm jit lazy mode enabled
|
2024-03-21 06:18:27 +00:00
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
2024-03-22 06:29:30 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_JIT=1
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
2024-03-22 06:29:30 +00:00
|
|
|
echo "Failed to build llvm jit lazy mode enabled!"
|
2024-03-21 06:18:27 +00:00
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
2024-03-22 06:29:30 +00:00
|
|
|
# build iwasm with llvm jit eager mode enabled
|
2024-03-21 06:18:27 +00:00
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
2024-03-22 06:29:30 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
2024-03-22 06:29:30 +00:00
|
|
|
echo "Failed to build llvm jit eager mode enabled!"
|
2024-03-21 06:18:27 +00:00
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with multi-tier jit enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 \
|
|
|
|
-DWAMR_BUILD_FAST_JIT_DUMP=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with multi-tier jit enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
2024-03-22 06:29:30 +00:00
|
|
|
'
|
2024-03-21 06:18:27 +00:00
|
|
|
|
|
|
|
# build iwasm with wasm mini-loader enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MINI_LOADER=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build with wasm mini-loader enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with source debugging enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_DEBUG_INTERP=1 -DWAMR_BUILD_DEBUG_AOT=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with source debugging enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with AOT static PGO enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_STATIC_PGO=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with AOT static PGO enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with configurable bounds checks enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
2024-05-14 06:33:09 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_CONFIGURABLE_BOUNDS_CHECKS=1
|
2024-03-21 06:18:27 +00:00
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with configurable bounds checks enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with linux perf support enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux/
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LINUX_PERF=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with linux perf support enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
2024-09-20 08:13:20 +00:00
|
|
|
|
|
|
|
# build iwasm with shared heap enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_SHARED_HEAP=1
|
|
|
|
make -j
|
|
|
|
if [[ $? != 0 ]]; then
|
|
|
|
echo "Failed to build iwasm with shared heap enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# build iwasm with dynamic aot debug enabled
|
|
|
|
cd ${WAMR_DIR}/product-mini/platforms/linux
|
|
|
|
rm -rf build && mkdir build && cd build
|
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_DYNAMIC_AOT_DEBUG=1
|
|
|
|
make -j
|
2024-10-17 07:50:54 +00:00
|
|
|
if [[ $? != 0 ]]; then
|
2024-09-20 08:13:20 +00:00
|
|
|
echo "Failed to build iwasm dynamic aot debug enabled!"
|
|
|
|
exit 1;
|
|
|
|
fi
|