This commit is contained in:
		
							parent
							
								
									368ea7e1d0
								
							
						
					
					
						commit
						f9b1ac8c84
					
				
					 1 changed files with 198 additions and 52 deletions
				
			
		|  | @ -100,6 +100,15 @@ git clone \ | |||
|     --depth=1 \ | ||||
|     https://github.com/llvm/llvm-project.git | ||||
| 
 | ||||
| RUN git clone \ | ||||
|     --branch='25.2'\ | ||||
|     --depth=1 \ | ||||
|     https://gitlab.freedesktop.org/mesa/mesa.git | ||||
| 
 | ||||
| RUN wget https://x.org/releases/individual/lib/libxcb-1.17.0.tar.xz | ||||
| RUN wget https://x.org/releases/individual/lib/libX11-1.8.12.tar.xz | ||||
| RUN wget 'https://sdk.lunarg.com/sdk/download/1.4.328.1/linux/vulkansdk-linux-x86_64-1.4.328.1.tar.xz' | ||||
| 
 | ||||
| RUN cd llvm-project/ \ | ||||
| \ | ||||
| && cmake \ | ||||
|  | @ -118,6 +127,7 @@ RUN cd llvm-project/ \ | |||
|     -D LIBCXX_INSTALL_MODULES=ON \ | ||||
|     -D LIBCXXABI_USE_LLVM_UNWINDER=OFF \ | ||||
|     -D LLVM_USE_SANITIZER=Leaks \ | ||||
|     -D LLVM_USE_LINKER="MOLD" \ | ||||
| && cd ./build-lsan/ && ninja cxx cxxabi && ninja install-cxx install-cxxabi && cd ../ \ | ||||
| \ | ||||
| && cmake \ | ||||
|  | @ -136,12 +146,15 @@ RUN cd llvm-project/ \ | |||
|     -D LIBCXX_INSTALL_MODULES=ON \ | ||||
|     -D LIBCXXABI_USE_LLVM_UNWINDER=OFF \ | ||||
|     -D LLVM_USE_SANITIZER=MemoryWithOrigins \ | ||||
|     -D LLVM_USE_LINKER="MOLD" \ | ||||
| && cd ./build-msan/ && ninja cxx cxxabi && ninja install-cxx install-cxxabi && cd ../ | ||||
| 
 | ||||
| RUN cd llvm-project/ | ||||
| 
 | ||||
| 
 | ||||
| ## libxcb ## | ||||
| RUN \ | ||||
| wget https://x.org/releases/individual/lib/libxcb-1.17.0.tar.xz  \ | ||||
| && tar xf libxcb-1.17.0.tar.xz  \ | ||||
| tar xf libxcb-1.17.0.tar.xz  \ | ||||
| && cd libxcb-1.17.0  \ | ||||
| && export CC=clang \ | ||||
| && export CFLAGS=" \ | ||||
|  | @ -167,8 +180,7 @@ wget https://x.org/releases/individual/lib/libxcb-1.17.0.tar.xz  \ | |||
| 
 | ||||
| ## libx11 ## | ||||
| RUN \ | ||||
| wget https://x.org/releases/individual/lib/libX11-1.8.12.tar.xz  \ | ||||
| && tar xf libX11-1.8.12.tar.xz  \ | ||||
| tar xf libX11-1.8.12.tar.xz  \ | ||||
| && cd libX11-1.8.12  \ | ||||
| && export CC=clang \ | ||||
| && export CFLAGS=" \ | ||||
|  | @ -192,12 +204,12 @@ wget https://x.org/releases/individual/lib/libX11-1.8.12.tar.xz  \ | |||
| && make && make install \ | ||||
| && cd .. && rm -rf libX11-1.8.12 libX11-1.8.12.tar.xz | ||||
| 
 | ||||
| RUN wget 'https://sdk.lunarg.com/sdk/download/1.4.328.1/linux/vulkansdk-linux-x86_64-1.4.328.1.tar.xz' | ||||
| RUN tar xf vulkansdk-linux-x86_64-1.4.328.1.tar.xz | ||||
| 
 | ||||
| 
 | ||||
| ## Vulkan SDK ## | ||||
| RUN \ | ||||
| cd /1.4.328.1 \ | ||||
| tar xf 'vulkansdk-linux-x86_64-1.4.328.1.tar.xz' \ | ||||
| && cd /1.4.328.1 \ | ||||
| && chmod +x ./vulkansdk \ | ||||
| && chmod +x ./setup-env.sh \ | ||||
| && export CC="$(which clang)" \ | ||||
|  | @ -228,23 +240,39 @@ cd /1.4.328.1 \ | |||
|     -lc++abi" \ | ||||
| && ./vulkansdk \ | ||||
|     --debug \ | ||||
|     --skip-installing-deps \ | ||||
|     --numjobs `nproc` \ | ||||
|     vulkan-loader | ||||
|     vulkan-loader \ | ||||
|     spirv-tools | ||||
| 
 | ||||
| ## Mesa ## | ||||
| RUN git clone \ | ||||
|     --branch='25.2'\ | ||||
|     --depth=1 \ | ||||
|     https://gitlab.freedesktop.org/mesa/mesa.git | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RUN \ | ||||
| export CXX=$(which clang++) \ | ||||
| && export CC=$(which clang) \ | ||||
| && export CXXFLAGS="\ | ||||
| export build_llvm=/build-llvm \ | ||||
| && export build_path=/b_llvm_normal \ | ||||
| && export repo=/llvm-project \ | ||||
| \ | ||||
| && cmake \ | ||||
|     -S $repo/llvm \ | ||||
|     -G Ninja \ | ||||
|     -B $build_path \ | ||||
|     -D CMAKE_BUILD_TYPE=Release \ | ||||
|     -D LLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \ | ||||
|     -D CMAKE_C_COMPILER=$(which clang) \ | ||||
|     -D CMAKE_CXX_COMPILER=$(which clang++) \ | ||||
|     -D CMAKE_INSTALL_PREFIX=/opt/llvm-normal \ | ||||
| && ninja -C $build_path install | ||||
| 
 | ||||
| RUN \ | ||||
| export CXXFLAGS="\ | ||||
|         -fsanitize=memory \ | ||||
|         -fsanitize-memory-track-origins \ | ||||
|         -fsanitize-ignorelist=/msan/ignorelist_all_sources \ | ||||
|         -fno-omit-frame-pointer \ | ||||
|         -g \ | ||||
|         -std=c++23 \ | ||||
|         -nostdinc++ \ | ||||
|         -isystem /libcxx_msan/include/c++/v1/"\ | ||||
| && export CFLAGS="\ | ||||
|  | @ -255,47 +283,165 @@ export CXX=$(which clang++) \ | |||
| && export LDFLAGS="\ | ||||
|     -fsanitize=memory \ | ||||
|     -fsanitize-memory-track-origins \ | ||||
|     -fsanitize-ignorelist=/msan/ignorelist_all_sources \ | ||||
|     -g \ | ||||
|     -std=c++23 \ | ||||
|     -L/msan/lib -Wl,-rpath,/msan/lib \ | ||||
|     -L/libcxx_msan/lib -Wl,-rpath,/libcxx_msan/lib \ | ||||
|     -lc++ \ | ||||
|     -lc++abi" \ | ||||
| && meson setup ./ _build  \ | ||||
|     -D build-tests=false \ | ||||
|     -D enable-glcpp-tests=false \ | ||||
|     -D build-radv-tests=false \ | ||||
|     -D build-aco-tests=false \ | ||||
|     -D install-intel-gpu-tests=false \ | ||||
|     -D gallium-mediafoundation-test=false \ | ||||
|     -D android-libbacktrace=disabled \ | ||||
|     -D split-debug=disabled \ | ||||
|     -D b_ndebug=true \ | ||||
|     -D b_lto=false \ | ||||
|     -D egl=enabled \ | ||||
|     -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,softpipe,llvmpipe,i915,iris,crocus,zink \ | ||||
|     -D gallium-extra-hud=true \ | ||||
|     -D gallium-rusticl=true \ | ||||
|     -D gallium-va=enabled \ | ||||
|     -D gbm=enabled \ | ||||
|     -D gles1=disabled \ | ||||
|     -D gles2=enabled \ | ||||
|     -D glvnd=enabled \ | ||||
|     -D glx=dri \ | ||||
|     -D libunwind=enabled \ | ||||
|     -D llvm=enabled \ | ||||
|     -D lmsensors=disabled \ | ||||
|     -D microsoft-clc=disabled \ | ||||
|     -D platforms=x11,wayland \ | ||||
|     -D valgrind=disabled \ | ||||
|     -D video-codecs=all \ | ||||
|     -D vulkan-drivers=amd,intel,intel_hasvk,swrast,virtio,nouveau \ | ||||
|     -D vulkan-layers=device-select,intel-nullhw,overlay \ | ||||
|     -D tools='' \ | ||||
|     -D zstd=enabled \ | ||||
|     -D buildtype=plain \ | ||||
|     -D prefix=/usr \ | ||||
|     -D sysconfdir=/etc \ | ||||
|     --wrap-mode=nofallback \ | ||||
|     --force-fallback-for=syn,paste,rustc-hash \ | ||||
| && export build_path=/b_llvm_msan \ | ||||
| && export repo=/llvm-project \ | ||||
| \ | ||||
| && cmake \ | ||||
|     -S $repo/llvm \ | ||||
|     -G Ninja \ | ||||
|     -B $build_path \ | ||||
|     -D CMAKE_BUILD_TYPE=Release \ | ||||
|     -D LLVM_ENABLE_PROJECTS="clang;lld" \ | ||||
|     -D LLVM_TARGETS_TO_BUILD="X86;SPIRV" \ | ||||
|     -D LLVM_ENABLE_PIC=ON \ | ||||
|     -D LLVM_NATIVE_TOOL_DIR=/opt/llvm-normal/bin/ \ | ||||
|     -D LLVM_USE_SANITIZER=MemoryWithOrigins \ | ||||
|     -D LLVM_TABLEGEN=/opt/llvm-normal/bin/llvm-tblgen \ | ||||
|     -D LLVM_CONFIG_PATH=/opt/llvm-normal/bin/llvm-config \ | ||||
|     -D CMAKE_C_COMPILER=/opt/llvm-normal/bin/clang \ | ||||
|     -D CMAKE_CXX_COMPILER=/opt/llvm-normal/bin/clang++ \ | ||||
|     -D CMAKE_INSTALL_PREFIX=/opt/llvm-msan \ | ||||
| && ninja -C $build_path install | ||||
| 
 | ||||
| # && cmake \ | ||||
| #     -G Ninja \ | ||||
| #     -S $llvm/llvm \ | ||||
| #     -B $build_llvm \ | ||||
| #     -D LLVM_INSTALL_UTILS=ON \ | ||||
| #     -D CMAKE_INSTALL_PREFIX=$installprefix \ | ||||
| #     -D CMAKE_BUILD_TYPE=Release \ | ||||
| #     -D LLVM_TARGETS_TO_BUILD="X86;SPIRV" \ | ||||
| #     -D CMAKE_C_COMPILER=$(which clang) \ | ||||
| #     -D CMAKE_CXX_COMPILER=$(which clang++) \ | ||||
| # \ | ||||
| #     -D LLVM_USE_SANITIZER=MemoryWithOrigins \ | ||||
| #     -D LIBCXXABI_USE_LLVM_UNWINDER=OFF \ | ||||
| # \ | ||||
| # && ninja -C $build_llvm install | ||||
| # | ||||
| # && cmake  \ | ||||
| #     -G Ninja  \ | ||||
| #     -S $llvm/clang  \ | ||||
| #     -B $build_clang \ | ||||
| #     -D LLVM_EXTERNAL_LIT=$build_llvm/utils/lit \ | ||||
| #     -D LLVM_ROOT=$installprefix \ | ||||
| # \ | ||||
| # && ninja -C $build_clang | ||||
| 
 | ||||
| RUN \ | ||||
| cd /mesa \ | ||||
| && export CXX='clang++' \ | ||||
| && export CC='clang' \ | ||||
| && export CFLAGS="-fsanitize=memory  -fsanitize-memory-track-origins  -fno-omit-frame-pointer  -g" \ | ||||
| && export CXXFLAGS="-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -g -nostdinc++ -isystem /libcxx_msan/include/c++/v1/" \ | ||||
| && export LDFLAGS="-fsanitize=memory -fsanitize-memory-track-origins -g -L/libcxx_msan/lib -Wl,-rpath,/libcxx_msan/lib -L/msan/lib -Wl,-rpath,/msan/lib -lc++ -lc++abi"  \ | ||||
| && export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH" \ | ||||
| && meson setup ./ _build \ | ||||
|     -D build-tests=false  \ | ||||
|     -D enable-glcpp-tests=false  \ | ||||
|     -D build-radv-tests=false  \ | ||||
|     -D build-aco-tests=false  \ | ||||
|     -D install-intel-gpu-tests=false  \ | ||||
|     -D gallium-mediafoundation-test=false  \ | ||||
|     -D android-libbacktrace=disabled  \ | ||||
|     -D split-debug=disabled  \ | ||||
|     -D b_ndebug=true  \ | ||||
|     -D b_lto=false  \ | ||||
|     -D egl=enabled  \ | ||||
|     -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,softpipe,llvmpipe,i915,iris,crocus,zink  \ | ||||
|     -D gallium-extra-hud=true  \ | ||||
|     -D gallium-rusticl=true  \ | ||||
|     -D gallium-va=enabled  \ | ||||
|     -D gbm=enabled  \ | ||||
|     -D gles1=disabled  \ | ||||
|     -D gles2=enabled  \ | ||||
|     -D glvnd=enabled  \ | ||||
|     -D glx=dri  \ | ||||
|     -D libunwind=enabled  \ | ||||
|     -D llvm=enabled  \ | ||||
|     -D lmsensors=disabled  \ | ||||
|     -D microsoft-clc=disabled  \ | ||||
|     -D platforms=x11,wayland  \ | ||||
|     -D valgrind=disabled  \ | ||||
|     -D video-codecs=all  \ | ||||
|     -D vulkan-drivers=amd,intel,intel_hasvk,swrast,virtio,nouveau  \ | ||||
|     -D vulkan-layers=device-select,intel-nullhw,overlay  \ | ||||
|     -D tools=''  \ | ||||
|     -D zstd=enabled  \ | ||||
|     -D buildtype=plain  \ | ||||
|     -D prefix=/usr  \ | ||||
|     -D sysconfdir=/etc  \ | ||||
|     --wrap-mode=nofallback  \ | ||||
|     --force-fallback-for=syn,paste,rustc-hash  \ | ||||
| && ninja -C _build | ||||
| 
 | ||||
| # RUN cd mesa/ \ | ||||
| # && source '/1.4.328.1/setup-env.sh' \ | ||||
| # && export CXX='clang++' \ | ||||
| # && export CC='clang' \ | ||||
| # && export CFLAGS="\ | ||||
| #         -fsanitize=memory \ | ||||
| #         -fsanitize-memory-track-origins \ | ||||
| #         -fno-omit-frame-pointer \ | ||||
| #         -g" \ | ||||
| # && export CXXFLAGS="\ | ||||
| #         -fsanitize=memory \ | ||||
| #         -fsanitize-memory-track-origins \ | ||||
| #         -fno-omit-frame-pointer \ | ||||
| #         -g \ | ||||
| #         -nostdinc++ \ | ||||
| #         -isystem /libcxx_msan/include/c++/v1/"\ | ||||
| # && export LDFLAGS="\ | ||||
| #     -fsanitize=memory \ | ||||
| #     -fsanitize-memory-track-origins \ | ||||
| #     -g \ | ||||
| #     -L/libcxx_msan/lib -Wl,-rpath,/libcxx_msan/lib \ | ||||
| #     -L/msan/lib -Wl,-rpath,/msan/lib \ | ||||
| #     -lc++ \ | ||||
| #     -lc++abi" \ | ||||
| # && meson setup ./ _build  \ | ||||
| #     -D build-tests=false \ | ||||
| #     -D enable-glcpp-tests=false \ | ||||
| #     -D build-radv-tests=false \ | ||||
| #     -D build-aco-tests=false \ | ||||
| #     -D install-intel-gpu-tests=false \ | ||||
| #     -D gallium-mediafoundation-test=false \ | ||||
| #     -D android-libbacktrace=disabled \ | ||||
| #     -D split-debug=disabled \ | ||||
| #     -D b_ndebug=true \ | ||||
| #     -D b_lto=false \ | ||||
| #     -D egl=enabled \ | ||||
| #     -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,softpipe,llvmpipe,i915,iris,crocus,zink \ | ||||
| #     -D gallium-extra-hud=true \ | ||||
| #     -D gallium-rusticl=true \ | ||||
| #     -D gallium-va=enabled \ | ||||
| #     -D gbm=enabled \ | ||||
| #     -D gles1=disabled \ | ||||
| #     -D gles2=enabled \ | ||||
| #     -D glvnd=enabled \ | ||||
| #     -D glx=dri \ | ||||
| #     -D libunwind=enabled \ | ||||
| #     -D llvm=enabled \ | ||||
| #     -D lmsensors=disabled \ | ||||
| #     -D microsoft-clc=disabled \ | ||||
| #     -D platforms=x11,wayland \ | ||||
| #     -D valgrind=disabled \ | ||||
| #     -D video-codecs=all \ | ||||
| #     -D vulkan-drivers=amd,intel,intel_hasvk,swrast,virtio,nouveau \ | ||||
| #     -D vulkan-layers=device-select,intel-nullhw,overlay \ | ||||
| #     -D tools='' \ | ||||
| #     -D zstd=enabled \ | ||||
| #     -D buildtype=plain \ | ||||
| #     -D prefix=/usr \ | ||||
| #     -D sysconfdir=/etc \ | ||||
| #     --wrap-mode=nofallback \ | ||||
| #     --force-fallback-for=syn,paste,rustc-hash \ | ||||
| # && ninja -C _build | ||||
| # | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue