webminidisc/extra/BUILD_ATRACDENC.md

32 lines
1.0 KiB
Markdown
Raw Normal View History

2020-03-20 17:21:53 +00:00
# How to build atracdenc
## required libs
```
git clone https://github.com/erikd/libsndfile #4bdd741
cd libsndfile
docker run -ti -v`pwd`:/src trzeci/emscripten-upstream sh -c bash
mkdir build
cd build
emcmake cmake .. -DBUILD_TESTING=false -DENABLE_EXTERNAL_LIBS=false -DCMAKE_INSTALL_PREFIX=./installation
emmake make
emmake install
exit
```
## Build atracdenc executable
```
git clone https://github.com/dcherednik/atracdenc.git # e16e9c6
cd atracdenc
# Copy the libsndfile library
# cp -r ../libsndfile/build/installation libsndfile
cd src
# Remove the TEST_BIG_ENDIAN block in CMakeFile.txt. WASM is little endian.
docker run -ti -v`pwd`:/src trzeci/emscripten-upstream sh -c bash
mkdir build
cd build
emcmake cmake .. -DLIBSNDFILE_INCLUDE_DIR=../../libsndfile/include/ -DSNDFILE_LIBRARY=../../libsndfile/lib/libsndfile.a
emmake make
# Build an optimized executable
`cat CMakeFiles/atracdenc.dir/link.txt` --closure 1 -Oz -s MODULARIZE=1 -s SINGLE_FILE=1 -s ALLOW_MEMORY_GROWTH=1 -s INVOKE_RUN=0 -s EXTRA_EXPORTED_RUNTIME_METHODS="[callMain, FS]"
```