Initial import of libdpf.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 14:08:32 -06:00
commit e4e666f459
4563 changed files with 1690372 additions and 0 deletions

View file

@ -0,0 +1,12 @@
#trusty with gcc 4.8.4
FROM ubuntu:14.04
RUN apt-get update && apt-get install --no-install-recommends -y gcc g++ wget unzip software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa && apt-get update && apt-get install -y --no-install-recommends python3.6
RUN wget https://bootstrap.pypa.io/get-pip.py && python3.6 get-pip.py && rm get-pip.py && python3.6 -m pip install meson
RUN wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip && unzip ninja-linux.zip && mv ninja /usr/bin && rm -Rf ninja-linux*
COPY . /simde
WORKDIR /simde
RUN mkdir -p build_ubuntu14.04
WORKDIR /simde/build_ubuntu14.04
RUN CC=/usr/bin/gcc CXX=/usr/bin/g++ CFLAGS="-Wall -Wextra -Werror -Werror=unused-but-set-variable" CXXFLAGS="-Wall -Wextra -Werror -Werror=unused-but-set-variable" meson .. \
&& ninja -v && test/run-tests

View file

@ -0,0 +1,34 @@
# xenial with gcc 5.4
FROM ubuntu:16.04
RUN apt-get update && apt-get install --no-install-recommends -y \
clang-3.8 \
cmake \
gcc \
g++ \
libomp-dev \
libxml2-utils \
libc++-dev \
make \
ninja-build \
python3-pip \
python3-setuptools \
python3-wheel
RUN pip3 install meson==0.50.0
COPY . /simde
WORKDIR /simde/test
RUN mkdir -p /simde/test/build_ubuntu16.04_clang
WORKDIR /simde/test/build_ubuntu16.04_clang
RUN CC=/usr/bin/clang-3.8 CXX=/usr/bin/clang++-3.8 cmake -DCMAKE_C_FLAGS="-mavx2 -Weverything -Werror -Wno-c++98-compat-pedantic -Wno-newline-eof" -DCMAKE_CXX_FLAGS="-mavx2 -Weverything -Werror -Wno-c++98-compat-pedantic -Wno-newline-eof" .. \
&& make -j $(nproc) && ./run-tests
RUN mkdir -p /simde/test/build_ubuntu16.04_gcc
WORKDIR /simde/test/build_ubuntu16.04_gcc
RUN CC=/usr/bin/gcc CXX=/usr/bin/g++ cmake -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -Werror=unused-but-set-variable" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -Werror=unused-but-set-variable" .. \
&& make -j $(nproc) && ./run-tests
WORKDIR /simde/
RUN bash ./test/native-aliases.sh
RUN mkdir -p /simde/build_ubuntu16.04_clang_native
WORKDIR /simde/build_ubuntu16.04_clang_native
RUN CC=/usr/bin/clang CXX=/usr/bin/clang++ CFLAGS="-Wall -Wextra -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING" CXXFLAGS="-Wall -Wextra -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING" meson .. \
&& ninja && ./test/run-tests

View file

@ -0,0 +1,11 @@
# bionic with gcc 7.4
FROM ubuntu:18.04
RUN apt-get update && apt-get install --no-install-recommends -y gcc g++ cmake make
COPY . /simde
WORKDIR /simde/test
RUN mkdir -p build_ubuntu18.04
WORKDIR /simde/test/build_ubuntu18.04
RUN CC=/usr/bin/gcc CXX=/usr/bin/g++ cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_C_FLAGS="-Wall -Wextra -Werror -O3" \
-DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -O3" .. \
&& make -j $(nproc) && ./run-tests

View file

@ -0,0 +1,26 @@
FROM debian:bullseye-slim
RUN apt-get update && apt-get install --no-install-recommends -y \
binfmt-support \
clang \
cmake \
gcc \
gcc-9-aarch64-linux-gnu \
g++-9-aarch64-linux-gnu \
make \
qemu-user-static
COPY . /simde
RUN mkdir -p /simde/test/build_gcc_arm64
WORKDIR /simde/test/build_gcc_arm64
RUN CC=/usr/bin/aarch64-linux-gnu-gcc-9 CXX=/usr/bin/aarch64-linux-gnu-g++-9 \
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-march=armv8-a" \
-DCMAKE_CXX_FLAGS="-march=armv8-a" ../ && make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/ /usr/bin/qemu-aarch64-static ./run-tests
RUN mkdir -p /simde/test/build_arm64_clang
WORKDIR /simde/test/build_arm64_clang
RUN CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -I/usr/aarch64-linux-gnu/include" \
-DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -I/usr/aarch64-linux-gnu/include" \
../ && make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/s390x-linux-gnu/ /usr/bin/qemu-s390x-static ./run-tests

View file

@ -0,0 +1,30 @@
FROM debian:bullseye-slim
RUN apt-get update && apt-get install --no-install-recommends -y \
binfmt-support \
clang-9 \
ninja-build \
python3-pip \
gcc \
gcc-10-arm-linux-gnueabihf \
g++-10-arm-linux-gnueabihf \
libstdc++-10-dev-armhf-cross \
make \
parallel \
qemu-user-static
RUN pip3 install meson
ENV QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
COPY . /simde
RUN mkdir -p /simde/build_gcc_arm7
WORKDIR /simde/build_gcc_arm7
RUN CC=/usr/bin/arm-linux-gnueabihf-gcc-10 CXX=/usr/bin/arm-linux-gnueabihf-g++-10 CFLAGS="-march=armv8-a -mfpu=neon" \
CXXFLAGS="-march=armv7-a -mfpu=neon" \
meson .. || (cat meson-logs/meson-log.txt; false) && ninja -v && \
./test/run-tests --list | grep -oP "^/([^/]+)/([^/]+)" | sort -u | xargs parallel ./test/run-tests --color always {} :::
RUN mkdir -p /simde/build_clang_arm7
WORKDIR /simde/build_clang_arm7
RUN CC=clang-9 CXX=clang++-9 CFLAGS="--target=arm-linux-gnueabihf -march=armv8-a -mfpu=neon -I/usr/arm-linux-gnueabihf/include" \
CXXFLAGS="--target=arm-linux-gnueabihf -march=armv7a -mfpu=neon -I/usr/arm-linux-gnueabihf/include" \
meson .. || (cat meson-logs/meson-log.txt; false) && ninja -v && \
./test/run-tests --list | grep -oP "^/([^/]+)/([^/]+)" | sort -u | xargs parallel ./test/run-tests --color always {} :::

View file

@ -0,0 +1,21 @@
FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
cmake \
gcc \
gnupg \
g++ \
libstdc++-9-dev \
make \
wget
RUN wget -q https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB -O- | apt-key add -
RUN echo deb https://apt.repos.intel.com/oneapi all main > /etc/apt/sources.list.d/inteloneapi.list
RUN apt-get update && apt-get install -y intel-oneapi-icc
COPY . /simde
WORKDIR /simde
RUN mkdir -p test/build_s390x
WORKDIR /simde/test/build_s390x
RUN bash -c 'source /opt/intel/inteloneapi/compiler/latest/env/vars.sh && \
CC=icc CXX=icpc cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-wd13200 -wd13203" -DCMAKE_CXX_FLAGS="-wd13200 -wd13203" ../ && \
make -j$(nproc)'
RUN ./run-tests

View file

@ -0,0 +1,9 @@
FROM debian:buster-slim
RUN apt-get update && apt-get install -y gcc-8-mipsel-linux-gnu g++-8-mipsel-linux-gnu qemu-user-static cmake binfmt-support
COPY . /simde
WORKDIR /simde
RUN mkdir -p test/build_mipsel
WORKDIR /simde/test/build_mipsel
RUN CC=/usr/bin/mipsel-linux-gnu-gcc-8 CXX=/usr/bin/mipsel-linux-gnu-g++-8 cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/mipsel-linux-gnu/ /usr/bin/qemu-mipsel-static ./run-tests

View file

@ -0,0 +1,26 @@
FROM debian:bullseye-slim
RUN apt-get update && apt-get install --no-install-recommends -y \
binfmt-support \
ca-certificates \
cmake \
curl \
binutils \
gcc-9-powerpc64le-linux-gnu \
g++-powerpc64le-linux-gnu \
libxml2-utils \
make \
qemu-user-static
COPY . /simde
WORKDIR /simde
# RUN mkdir -p test/build_ppc64le
# WORKDIR /simde/test/build_ppc64le
# RUN CC=/usr/bin/powerpc64le-linux-gnu-gcc-9 CXX=/usr/bin/powerpc64le-linux-gnu-g++-9 cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -mcpu=power8" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -mcpu=power8" ../ && \
# make -j$(nproc)
# RUN QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu/ /usr/bin/qemu-ppc64le-static ./run-tests
WORKDIR /simde
RUN ./test/native-aliases.sh
RUN mkdir -p test/build_ppc64le_native
WORKDIR /simde/test/build_ppc64le_native
RUN CC=/usr/bin/powerpc64le-linux-gnu-gcc-9 CXX=/usr/bin/powerpc64le-linux-gnu-g++-9 cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror -mcpu=power8 -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror -mcpu=power8 -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu/ /usr/bin/qemu-ppc64le-static ./run-tests

View file

@ -0,0 +1,22 @@
FROM debian:unstable-slim
RUN apt-get update && apt-get install --no-install-recommends -y \
binfmt-support \
clang \
cmake \
gcc \
gcc-9-s390x-linux-gnu \
g++-9-s390x-linux-gnu \
make \
qemu-user-static
COPY . /simde
WORKDIR /simde
RUN mkdir -p test/build_s390x_clang
WORKDIR /simde/test/build_s390x_clang
RUN CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror --target=s390x-linux-gnu -march=z196 -I/usr/s390x-linux-gnu/include -O3" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror --target=s390x-linux-gnu -march=z196 -I/usr/s390x-linux-gnu/include -O3" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/s390x-linux-gnu/ /usr/bin/qemu-s390x-static ./run-tests
RUN mkdir -p test/build_s390x_gnu
WORKDIR /simde/test/build_s390x_gnu
RUN CC=/usr/bin/s390x-linux-gnu-gcc-9 CXX=/usr/bin/s390x-linux-gnu-g++-9 cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/s390x-linux-gnu/ /usr/bin/qemu-s390x-static ./run-tests

View file

@ -0,0 +1,24 @@
FROM debian:bullseye-slim
RUN apt-get update && apt-get install --no-install-recommends -y \
binfmt-support \
clang \
cmake \
gcc \
gcc-9-s390x-linux-gnu \
g++-9-s390x-linux-gnu \
make \
qemu-user-static
COPY . /simde
RUN mkdir -p /simde/test/build_s390x_clang
WORKDIR /simde/test/build_s390x_clang
RUN CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_C_FLAGS="-Wall -Wextra -Werror --target=s390x-linux-gnu -march=z196 \
-I/usr/s390x-linux-gnu/include" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror \
--target=s390x-linux-gnu -march=z196 -I/usr/s390x-linux-gnu/include" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/s390x-linux-gnu/ /usr/bin/qemu-s390x-static ./run-tests
RUN mkdir -p test/build_s390x_gnu
WORKDIR /simde/test/build_s390x_gnu
RUN CC=/usr/bin/s390x-linux-gnu-gcc-9 CXX=/usr/bin/s390x-linux-gnu-g++-9 cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_C_FLAGS="-Wall -Wextra -Werror" -DCMAKE_CXX_FLAGS="-Wall -Wextra -Werror" ../ && \
make -j$(nproc)
RUN QEMU_LD_PREFIX=/usr/s390x-linux-gnu/ /usr/bin/qemu-s390x-static ./run-tests