|
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 |
| - cd {0}/emsdk/;\ |
60 |
| - export PATH="{0}/emsdk/upstream/emscripten:$PATH;\ |
61 |
| - export SYSROOT_PATH={0}/emsdk/upstream/emscripten/cache/sysroot;\ |
62 |
| - git clone --depth=1 --branch release/20.x https://github.com/llvm/llvm-project.git {0}/llvm-project;\ |
63 |
| - cd {0}/llvm-project;\ |
64 |
| - git apply -v {0}/CppInterOp/patches/llvm/emscripten-clang20-*.patch\ |
65 |
| - mkdir {0}/llvm-project/native_build;\ |
66 |
| - cd {0}/llvm-project/native_build;\ |
67 |
| - cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release {0}/llvm-project/llvm;\ |
68 |
| - cmake --build . --target llvm-tblgen clang-tblgen --parallel $(nproc --all);\ |
69 |
| - export NATIVE_DIR={0}/llvm-project/native_build/bin/;\ |
70 |
| - mkdir {0}/llvm-project/build;\ |
71 |
| - cd {0}/llvm-project/build;\ |
72 |
| - emcmake cmake -DCMAKE_BUILD_TYPE=Release \ |
73 |
| - -DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \ |
74 |
| - -DLLVM_ENABLE_ASSERTIONS=ON \ |
75 |
| - -DLLVM_TARGETS_TO_BUILD="WebAssembly" \ |
76 |
| - -DLLVM_ENABLE_LIBEDIT=OFF \ |
77 |
| - -DLLVM_ENABLE_PROJECTS="clang;lld" \ |
78 |
| - -DLLVM_ENABLE_ZSTD=OFF \ |
79 |
| - -DLLVM_ENABLE_LIBXML2=OFF \ |
80 |
| - -DCLANG_ENABLE_STATIC_ANALYZER=OFF \ |
81 |
| - -DCLANG_ENABLE_ARCMT=OFF \ |
82 |
| - -DCLANG_ENABLE_BOOTSTRAP=OFF \ |
83 |
| - -DCMAKE_CXX_FLAGS="-Dwait4=__syscall_wait4" \ |
84 |
| - -DLLVM_INCLUDE_BENCHMARKS=OFF \ |
85 |
| - -DLLVM_INCLUDE_EXAMPLES=OFF \ |
86 |
| - -DLLVM_INCLUDE_TESTS=OFF \ |
87 |
| - -DLLVM_ENABLE_THREADS=OFF \ |
88 |
| - -DLLVM_BUILD_TOOLS=OFF \ |
89 |
| - -DLLVM_ENABLE_LIBPFM=OFF \ |
90 |
| - -DCLANG_BUILD_TOOLS=OFF \ |
91 |
| - -DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \ |
92 |
| - {0}/llvm-project/llvm;\ |
93 |
| - emmake make libclang -j $(nproc --all);\ |
94 |
| - emmake make clangInterpreter clangStaticAnalyzerCore -j $(nproc --all);\ |
95 |
| - emmake make lldWasm -j $(nproc --all);\ |
96 |
| - export LLVM_BUILD_DIR={0}/llvm-project/build;\ |
97 |
| - mkdir {0}/build_native;\ |
98 |
| - cd {0};\ |
99 |
| - micromamba create -f environment-wasm.yml --platform=emscripten-wasm32;\ |
100 |
| - micromamba activate CppInterOp-wasm;\ |
101 |
| - export PREFIX=$CONDA_PREFIX;\ |
102 |
| - export CMAKE_PREFIX_PATH=$PREFIX;\ |
103 |
| - export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX;\ |
104 |
| - cd {0}/build_native;\ |
105 |
| - emcmake cmake -DCMAKE_BUILD_TYPE=Release \ |
106 |
| - -DLLVM_DIR=$LLVM_BUILD_DIR/lib/cmake/llvm \ |
107 |
| - -DLLD_DIR=$LLVM_BUILD_DIR/lib/cmake/lld \ |
108 |
| - -DClang_DIR=$LLVM_BUILD_DIR/lib/cmake/clang \ |
109 |
| - -DBUILD_SHARED_LIBS=ON \ |
110 |
| - -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \ |
111 |
| - -DCMAKE_INSTALL_PREFIX=$PREFIX \ |
112 |
| - -DSYSROOT_PATH=$SYSROOT_PATH \ |
113 |
| - {0};\ |
114 |
| - emake make -j $(nproc --all) install;\ |
115 |
| - cd {0};\ |
116 |
| - git clone --depth=1 https://github.com/compiler-research/xeus-cpp.git {0}/xeus-cpp;\ |
117 |
| - mkdir {0}/xeus-cpp/build;\ |
118 |
| - cd {0}/xeus-cpp/build;\ |
119 |
| - emcmake cmake \ |
120 |
| - -DCMAKE_BUILD_TYPE=Release \ |
121 |
| - -DCMAKE_PREFIX_PATH=$PREFIX \ |
122 |
| - -DCMAKE_INSTALL_PREFIX=$PREFIX \ |
123 |
| - -DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=ON \ |
124 |
| - -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \ |
125 |
| - -DXEUS_CPP_RESOURCE_DIR=$LLVM_BUILD_DIR/lib/clang/$LLVM_VERSION \ |
126 |
| - -DSYSROOT_PATH=$SYSROOT_PATH \ |
127 |
| - {0}/xeus-cpp/;\ |
128 |
| - emmake make -j $(nproc --all) install;\ |
129 |
| - cd {0};\ |
130 |
| - micromamba create -n xeus-lite-host jupyterlite-core -c conda-forge;\ |
131 |
| - micromamba activate xeus-lite-host;\ |
132 |
| - python -m pip install jupyterlite-xeus jupyter_server;\ |
133 |
| - 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) |
| 56 | + |
134 | 57 | subprocess.call(command, shell=True)
|
135 | 58 | subprocess.call('doxygen {0}/build/docs/doxygen.cfg'.format(CPPINTEROP_ROOT), shell=True)
|
136 | 59 | subprocess.call('doxygen {0}/build/docs/doxygen.cfg'.format(CPPINTEROP_ROOT), shell=True)
|
137 |
| -subprocess.call(command_emscripten.format(CPPINTEROP_ROOT), shell=True) |
0 commit comments