mirror of
https://gitlab.com/gnuwget/wget2.git
synced 2026-02-01 14:41:08 +00:00
119 lines
3.8 KiB
Bash
Executable File
119 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# just in case...
|
|
unset CC
|
|
unset CXX
|
|
|
|
#PREFIX=i686-w64-mingw32
|
|
PREFIX=x86_64-w64-mingw32
|
|
|
|
export PATH="/usr/$PREFIX/bin:$PATH"
|
|
export INSTALLDIR="$PWD/$PREFIX"
|
|
export PKG_CONFIG_PATH=$INSTALLDIR/lib/pkgconfig:/usr/$PREFIX/lib/pkgconfig
|
|
export PKG_CONFIG_LIBDIR="$INSTALLDIR/lib/pkgconfig"
|
|
export PKG_CONFIG="/usr/bin/${PREFIX}-pkg-config"
|
|
export CPPFLAGS="-I$INSTALLDIR/include"
|
|
export LDFLAGS="-L$INSTALLDIR/lib"
|
|
|
|
# somehow, the GnuTLS build needs a static gcc library. It comes with MinGW, but we have to find it's directory.
|
|
GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|head -1))
|
|
|
|
# without WINEPATH our local DLLs won't be find when running tests
|
|
export WINEPATH="$INSTALLDIR/bin;$INSTALLDIR/lib;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
|
|
|
|
# let mingw compiler be less verbose
|
|
export CFLAGS="-O2 -Wall -Wno-format"
|
|
|
|
rm -rf libiconv-*
|
|
wget -q -O- https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz | tar xz
|
|
cd libiconv-*
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --disable-shared --enable-static --prefix=$INSTALLDIR
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf libunistring-*
|
|
wget -q -O- https://ftp.gnu.org/gnu/libunistring/libunistring-latest.tar.gz | tar xz
|
|
cd libunistring-*
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --disable-shared --enable-static --prefix=$INSTALLDIR
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf libidn2-*
|
|
wget -q -O- https://ftp.gnu.org/gnu/libidn/libidn2-latest.tar.gz | tar xz
|
|
cd libidn2-*
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --disable-shared --enable-static --disable-doc --prefix=$INSTALLDIR
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf libpsl
|
|
git clone --recursive https://github.com/rockdaboot/libpsl.git
|
|
cd libpsl
|
|
./autogen.sh
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --disable-shared --enable-static --disable-gtk-doc --enable-runtime=libidn2 --enable-builtin=libidn2 --prefix=$INSTALLDIR
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf nettle
|
|
git clone https://git.lysator.liu.se/nettle/nettle.git
|
|
cd nettle
|
|
bash .bootstrap
|
|
./configure --host=$PREFIX --enable-mini-gmp --disable-shared --enable-static --disable-documentation --prefix=$INSTALLDIR
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf gnutls
|
|
git clone https://gitlab.com/gnutls/gnutls.git
|
|
cd gnutls
|
|
./bootstrap
|
|
autoreconf -fi
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --prefix=$INSTALLDIR \
|
|
--with-nettle-mini --disable-shared --enable-static --with-included-libtasn1 \
|
|
--with-included-unistring --without-p11-kit --disable-doc --disable-tests --disable-full-test-suite --disable-tools \
|
|
--disable-cxx --disable-maintainer-mode --disable-libdane --disable-hardware-acceleration --disable-guile
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf zlib-ng
|
|
git clone https://github.com/zlib-ng/zlib-ng
|
|
cd zlib-ng
|
|
sed -i '/^static: /s/ fuzzers / /' Makefile.in
|
|
CROSS_PREFIX="x86_64-w64-mingw32-" \
|
|
ARCH="x86_64" \
|
|
CFLAGS="-O2" \
|
|
CC=x86_64-w64-mingw32-gcc \
|
|
./configure --prefix=$INSTALLDIR --static --64 --zlib-compat
|
|
make -j1 V=1
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf nghttp2-*
|
|
wget -q -O- https://github.com/nghttp2/nghttp2/releases/download/v1.46.0/nghttp2-1.46.0.tar.gz | tar xz
|
|
cd nghttp2-*
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --prefix=$INSTALLDIR --disable-shared --enable-static \
|
|
--disable-python-bindings --disable-examples --disable-app --disable-failmalloc --disable-hpack-tools
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
rm -rf libmicrohttpd
|
|
wget -q -O- https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-latest.tar.gz | tar xz
|
|
cd libmicrohttpd-*
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --prefix=$INSTALLDIR --disable-doc --disable-examples --disable-shared --enable-static
|
|
make -j
|
|
make install
|
|
cd ..
|
|
|
|
./bootstrap
|
|
LDFLAGS="-Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive" \
|
|
./configure --build=x86_64-pc-linux-gnu --host=$PREFIX --disable-shared --enable-static --without-gpgme
|
|
make -j
|
|
make check -j LOG_COMPILER=wine
|