From 311e1b318a997e7241e7babcc6dfbd90839ec019 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 8 Feb 2024 22:06:54 -0600 Subject: [PATCH] updated mingw64 docker --- docker/64_bit/mingw64 | 49 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/docker/64_bit/mingw64 b/docker/64_bit/mingw64 index 70d36c7e..ef508682 100644 --- a/docker/64_bit/mingw64 +++ b/docker/64_bit/mingw64 @@ -58,6 +58,7 @@ RUN apk add \ binutils \ bison \ bzip2 \ + clang17-extra-tools \ cmake \ flex \ g++ \ @@ -69,6 +70,7 @@ RUN apk add \ gperf \ gtkmm3-dev \ intltool \ + isl-dev \ libtool \ linux-headers \ make \ @@ -85,8 +87,8 @@ RUN apk add \ python3 \ ruby \ unzip \ - wine \ wget \ + wine \ xz \ zlib \ zlib-dev @@ -148,22 +150,40 @@ RUN set -ex \ && mkdir gcc \ && cd gcc \ && ../gcc-${MY_GCC_VERSION}/configure \ + --disable-libssp \ --disable-libstdcxx-debug \ --disable-libstdcxx-pch \ - --disable-lto \ --disable-multilib \ --disable-nls \ + --disable-rpath \ + --disable-symvers \ --disable-werror \ + --disable-win32-registry \ + --enable-checking=release \ + --enable-fully-dynamic-string \ --enable-graphite \ --enable-languages=c,c++ \ --enable-libatomic \ --enable-libgomp \ + --enable-libstdcxx-filesystem-ts \ + --enable-libstdcxx-time \ + --enable-lto \ --enable-shared \ --enable-static \ --enable-threads=posix \ + --libexecdir=/usr/local/lib \ --prefix=/usr/local \ --target=${MY_MINGW_PREFIX} \ + --with-arch=nocona \ + --with-boot-ldflags="-static-libstdc++" \ + --with-gnu-as \ + --with-gnu-ld \ + --with-libiconv \ + --with-native-system-header-dir=/usr/local/include \ + --with-stage1-ldflags="-static-libstdc++" \ --with-system-zlib \ + --with-tune=generic \ + --with-{gmp,mpfr,mpc,isl}=/usr/local \ && make -j${MY_NUM_JOBS} all-gcc \ && make install-gcc @@ -954,7 +974,32 @@ RUN set -ex \ && cd ${MY_WORKDIR} \ && rm -r googletest-${MY_GTEST_VERSION} +ARG ROCKSDB_VERSION=8.10.0 +ENV MY_ROCKSDB_VERSION=${ROCKSDB_VERSION} +RUN set -ex \ + \ + && wget -q https://github.com/facebook/rocksdb/archive/refs/tags/v${MY_ROCKSDB_VERSION}.tar.gz -O - | tar -xz \ + && cd rocksdb-${MY_ROCKSDB_VERSION} \ + && echo -e "add_definitions(-include cstdint)">>CMakeLists.txt \ + && mkdir build \ + && cd build \ + && cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MY_MINGW} \ + -DPORTABLE=ON \ + -DROCKSDB_INSTALL_ON_WINDOWS=ON \ + -DWITH_BENCHMARK_TOOLS=OFF \ + -DWITH_CORE_TOOLS=OFF \ + -DWITH_TESTS=OFF \ + -DWITH_TOOLS=OFF \ + -DWITH_ZLIB=ON \ + && make -j${MY_NUM_JOBS} \ + && make install \ + && cd ${MY_WORKDIR} \ + && rm -r rocksdb-${MY_ROCKSDB_VERSION} + RUN set -ex \ \ && mv ${MY_MINGW}/lib/*.dll ${MY_MINGW}/bin \ + && mv ${MY_MINGW}/lib/gcc_x64_dll/*.dll ${MY_MINGW}/bin/ \ && chmod 0777 -R ${MY_MINGW}