updated mingw64 docker

This commit is contained in:
Scott E. Graves 2024-02-08 22:06:54 -06:00
parent 31c5b6f1db
commit 311e1b318a

View File

@ -58,6 +58,7 @@ RUN apk add \
binutils \ binutils \
bison \ bison \
bzip2 \ bzip2 \
clang17-extra-tools \
cmake \ cmake \
flex \ flex \
g++ \ g++ \
@ -69,6 +70,7 @@ RUN apk add \
gperf \ gperf \
gtkmm3-dev \ gtkmm3-dev \
intltool \ intltool \
isl-dev \
libtool \ libtool \
linux-headers \ linux-headers \
make \ make \
@ -85,8 +87,8 @@ RUN apk add \
python3 \ python3 \
ruby \ ruby \
unzip \ unzip \
wine \
wget \ wget \
wine \
xz \ xz \
zlib \ zlib \
zlib-dev zlib-dev
@ -148,22 +150,40 @@ RUN set -ex \
&& mkdir gcc \ && mkdir gcc \
&& cd gcc \ && cd gcc \
&& ../gcc-${MY_GCC_VERSION}/configure \ && ../gcc-${MY_GCC_VERSION}/configure \
--disable-libssp \
--disable-libstdcxx-debug \ --disable-libstdcxx-debug \
--disable-libstdcxx-pch \ --disable-libstdcxx-pch \
--disable-lto \
--disable-multilib \ --disable-multilib \
--disable-nls \ --disable-nls \
--disable-rpath \
--disable-symvers \
--disable-werror \ --disable-werror \
--disable-win32-registry \
--enable-checking=release \
--enable-fully-dynamic-string \
--enable-graphite \ --enable-graphite \
--enable-languages=c,c++ \ --enable-languages=c,c++ \
--enable-libatomic \ --enable-libatomic \
--enable-libgomp \ --enable-libgomp \
--enable-libstdcxx-filesystem-ts \
--enable-libstdcxx-time \
--enable-lto \
--enable-shared \ --enable-shared \
--enable-static \ --enable-static \
--enable-threads=posix \ --enable-threads=posix \
--libexecdir=/usr/local/lib \
--prefix=/usr/local \ --prefix=/usr/local \
--target=${MY_MINGW_PREFIX} \ --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-system-zlib \
--with-tune=generic \
--with-{gmp,mpfr,mpc,isl}=/usr/local \
&& make -j${MY_NUM_JOBS} all-gcc \ && make -j${MY_NUM_JOBS} all-gcc \
&& make install-gcc && make install-gcc
@ -954,7 +974,32 @@ RUN set -ex \
&& cd ${MY_WORKDIR} \ && cd ${MY_WORKDIR} \
&& rm -r googletest-${MY_GTEST_VERSION} && 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 \ RUN set -ex \
\ \
&& mv ${MY_MINGW}/lib/*.dll ${MY_MINGW}/bin \ && mv ${MY_MINGW}/lib/*.dll ${MY_MINGW}/bin \
&& mv ${MY_MINGW}/lib/gcc_x64_dll/*.dll ${MY_MINGW}/bin/ \
&& chmod 0777 -R ${MY_MINGW} && chmod 0777 -R ${MY_MINGW}