|
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