MegCC depends some third party projects, include:
- MegEngine
- llvm-project
- flatbuffer
- flatcc
- googletest
When release all the third party will build into MegCC, for convenience,MegCC provides a script release_megcc.sh to build and pack the release file.
- Cmake above 3.15.2
- Ninja
- gcc
- Modify major/minor/patch in compiler/include/compiler/Common/Version.h.in
- Write changelog
- Git tag branch
- Run the script release_megcc.sh in docker image with a directory in which all release file will be generated. Finally a tar file named
megcc_relase_*.tar.gz
will created by compressing all file in the release directory.
cd /path/to/megcc
# build docker image, if built skip it
docker build script/docker -t megcc_manlylinux2014
# run release script
./script/docker_release_megcc.sh
- copy megcc release target to OSS
# copy release target to megcc
oss cp megcc_release_xxx.tar.gz s3://megengine-built/megcc/megcc_release_xxx.tar.gz
- Send email to notify the users of megcc