|
53 | 53 | command = 'mkdir {0}/build; cd {0}/build; cmake ../ -DClang_DIR=/usr/lib/llvm-16/build/lib/cmake/clang\
|
54 | 54 | -DLLVM_DIR=/usr/lib/llvm-16/build/lib/cmake/llvm -DCPPINTEROP_ENABLE_DOXYGEN=ON\
|
55 | 55 | -DCPPINTEROP_INCLUDE_DOCS=ON'.format(CPPINTEROP_ROOT)
|
56 |
| -command_emscripten = 'git clone https://github.com/emscripten-core/emsdk.git {0}/emsdk; |
57 |
| - {0}/emsdk/emsdk install 3.1.73; |
58 |
| - {0}/emsdk/emsdk activate 3.1.73; |
59 |
| - source {0}/emsdk/emsdk_env.sh; |
60 |
| - export SYSROOT_PATH={0}/emsdk/upstream/emscripten/cache/sysroot; |
61 |
| - git clone --depth=1 --branch release/20.x https://github.com/llvm/llvm-project.git {0}/llvm-project; |
62 |
| - cd {0}/llvm-project; |
63 |
| - git apply -v {0}/CppInterOp/patches/llvm/emscripten-clang20-*.patch |
64 |
| - mkdir {0}/llvm-project/native_build; |
65 |
| - cd {0}/llvm-project/native_build; |
66 |
| - cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release {0}/llvm-project/llvm; |
67 |
| - cmake --build . --target llvm-tblgen clang-tblgen --parallel $(nproc --all); |
68 |
| - export NATIVE_DIR={0}/llvm-project/native_build/bin/; |
69 |
| - mkdir {0}/llvm-project/build; |
70 |
| - cd {0}/llvm-project/build; |
| 56 | +command_emscripten = 'git clone https://github.com/emscripten-core/emsdk.git {0}/emsdk;\ |
| 57 | + {0}/emsdk/emsdk install 3.1.73;\ |
| 58 | + {0}/emsdk/emsdk activate 3.1.73;\ |
| 59 | + source {0}/emsdk/emsdk_env.sh;\ |
| 60 | + export SYSROOT_PATH={0}/emsdk/upstream/emscripten/cache/sysroot;\ |
| 61 | + git clone --depth=1 --branch release/20.x https://github.com/llvm/llvm-project.git {0}/llvm-project;\ |
| 62 | + cd {0}/llvm-project;\ |
| 63 | + git apply -v {0}/CppInterOp/patches/llvm/emscripten-clang20-*.patch\ |
| 64 | + mkdir {0}/llvm-project/native_build;\ |
| 65 | + cd {0}/llvm-project/native_build;\ |
| 66 | + cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release {0}/llvm-project/llvm;\ |
| 67 | + cmake --build . --target llvm-tblgen clang-tblgen --parallel $(nproc --all);\ |
| 68 | + export NATIVE_DIR={0}/llvm-project/native_build/bin/;\ |
| 69 | + mkdir {0}/llvm-project/build;\ |
| 70 | + cd {0}/llvm-project/build;\ |
71 | 71 | emcmake cmake -DCMAKE_BUILD_TYPE=Release \
|
72 | 72 | -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
|
73 | 73 | -DLLVM_ENABLE_ASSERTIONS=ON \
|
|
88 | 88 | -DLLVM_ENABLE_LIBPFM=OFF \
|
89 | 89 | -DCLANG_BUILD_TOOLS=OFF \
|
90 | 90 | -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
|
91 |
| - {0}/llvm-project/llvm; |
92 |
| - emmake make libclang -j $(nproc --all); |
93 |
| - emmake make clangInterpreter clangStaticAnalyzerCore -j $(nproc --all); |
94 |
| - emmake make lldWasm -j $(nproc --all); |
95 |
| - export LLVM_BUILD_DIR={0}/llvm-project/build; |
96 |
| - mkdir {0}/build_native; |
97 |
| - cd {0}; |
98 |
| - micromamba create -f environment-wasm.yml --platform=emscripten-wasm32; |
99 |
| - micromamba activate CppInterOp-wasm; |
100 |
| - export PREFIX=$CONDA_PREFIX; |
101 |
| - export CMAKE_PREFIX_PATH=$PREFIX; |
102 |
| - export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX; |
103 |
| - cd {0}/build_native; |
| 91 | + {0}/llvm-project/llvm;\ |
| 92 | + emmake make libclang -j $(nproc --all);\ |
| 93 | + emmake make clangInterpreter clangStaticAnalyzerCore -j $(nproc --all);\ |
| 94 | + emmake make lldWasm -j $(nproc --all);\ |
| 95 | + export LLVM_BUILD_DIR={0}/llvm-project/build;\ |
| 96 | + mkdir {0}/build_native;\ |
| 97 | + cd {0};\ |
| 98 | + micromamba create -f environment-wasm.yml --platform=emscripten-wasm32;\ |
| 99 | + micromamba activate CppInterOp-wasm;\ |
| 100 | + export PREFIX=$CONDA_PREFIX;\ |
| 101 | + export CMAKE_PREFIX_PATH=$PREFIX;\ |
| 102 | + export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX;\ |
| 103 | + cd {0}/build_native;\ |
104 | 104 | emcmake cmake -DCMAKE_BUILD_TYPE=Release \
|
105 | 105 | -DLLVM_DIR=$LLVM_BUILD_DIR/lib/cmake/llvm \
|
106 | 106 | -DLLD_DIR=$LLVM_BUILD_DIR/lib/cmake/lld \
|
|
109 | 109 | -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
|
110 | 110 | -DCMAKE_INSTALL_PREFIX=$PREFIX \
|
111 | 111 | -DSYSROOT_PATH=$SYSROOT_PATH \
|
112 |
| - {0}; |
113 |
| - emake make -j $(nproc --all) install; |
114 |
| - cd {0}; |
115 |
| - git clone --depth=1 https://github.com/compiler-research/xeus-cpp.git {0}/xeus-cpp; |
116 |
| - mkdir {0}/xeus-cpp/build; |
117 |
| - cd {0}/xeus-cpp/build; |
| 112 | + {0};\ |
| 113 | + emake make -j $(nproc --all) install;\ |
| 114 | + cd {0};\ |
| 115 | + git clone --depth=1 https://github.com/compiler-research/xeus-cpp.git {0}/xeus-cpp;\ |
| 116 | + mkdir {0}/xeus-cpp/build;\ |
| 117 | + cd {0}/xeus-cpp/build;\ |
118 | 118 | emcmake cmake \
|
119 | 119 | -DCMAKE_BUILD_TYPE=Release \
|
120 | 120 | -DCMAKE_PREFIX_PATH=$PREFIX \
|
|
123 | 123 | -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
|
124 | 124 | -DXEUS_CPP_RESOURCE_DIR=$LLVM_BUILD_DIR/lib/clang/$LLVM_VERSION \
|
125 | 125 | -DSYSROOT_PATH=$SYSROOT_PATH \
|
126 |
| - {0}/xeus-cpp/; |
127 |
| - emmake make -j $(nproc --all) install; |
128 |
| - cd {0}; |
129 |
| - micromamba create -n xeus-lite-host jupyterlite-core -c conda-forge; |
130 |
| - micromamba activate xeus-lite-host; |
131 |
| - python -m pip install jupyterlite-xeus jupyter_server; |
| 126 | + {0}/xeus-cpp/;\ |
| 127 | + emmake make -j $(nproc --all) install;\ |
| 128 | + cd {0};\ |
| 129 | + micromamba create -n xeus-lite-host jupyterlite-core -c conda-forge;\ |
| 130 | + micromamba activate xeus-lite-host;\ |
| 131 | + python -m pip install jupyterlite-xeus jupyter_server;\ |
132 | 132 | jupyter lite build --XeusAddon.prefix=$PREFIX --contents xeus-cpp/notebooks/xeus-cpp-lite-demo.ipynb --contents notebooks/smallpt.ipynb --contents notebooks/images/marie.png --contents notebooks/audio/audio.wav --output-dir $READTHEDOCS_OUTPUT/html/xeus-cpp; '.format(CPPINTEROP_ROOT)
|
133 | 133 | subprocess.call(command, shell=True)
|
134 | 134 | subprocess.call('doxygen {0}/build/docs/doxygen.cfg'.format(CPPINTEROP_ROOT), shell=True)
|
|
0 commit comments