Windows package: use pre-compiled MSYS2 packages for most dependencies
We only need to recompile Slicot and x13as.time-shift
parent
2113deb0db
commit
533a4ff7db
|
@ -130,6 +130,8 @@ windows/deps/.MTREE
|
|||
windows/deps/.PKGINFO
|
||||
windows/deps/lib32/
|
||||
windows/deps/lib64/
|
||||
windows/deps/lib32-msys2/
|
||||
windows/deps/lib64-msys2/
|
||||
windows/deps/matlab32/
|
||||
windows/deps/matlab64/
|
||||
windows/deps/mingw32/
|
||||
|
|
|
@ -85,9 +85,9 @@ pkg_windows:
|
|||
- windows/deps/sources64/
|
||||
- windows/deps/lib32/
|
||||
- windows/deps/lib64/
|
||||
# We do not cache mingw{32,64}, octave{32,64} and matlab{32,64}, because
|
||||
# those are simply extracted from a tarball. It would be a waste of space
|
||||
# and of (re-compression) time.
|
||||
# We do not cache lib{32,64}-msys2, mingw{32,64}, octave{32,64} and
|
||||
# matlab{32,64}, because those are simply extracted from a tarball. It
|
||||
# would be a waste of space and of (re-compression) time.
|
||||
artifacts:
|
||||
paths:
|
||||
- windows/exe/*
|
||||
|
|
|
@ -53,6 +53,8 @@ BASENAME=dynare-$VERSION
|
|||
# Set directories for dependencies
|
||||
LIB32="$ROOT_DIRECTORY"/deps/lib32
|
||||
LIB64="$ROOT_DIRECTORY"/deps/lib64
|
||||
LIB32_MSYS2="$ROOT_DIRECTORY"/deps/lib32-msys2
|
||||
LIB64_MSYS2="$ROOT_DIRECTORY"/deps/lib64-msys2
|
||||
|
||||
# Go to source root directory
|
||||
cd ..
|
||||
|
@ -62,10 +64,10 @@ cd ..
|
|||
|
||||
## Compile preprocessor (32-bit), Dynare++ (32-bit) and documentation
|
||||
./configure --host=i686-w64-mingw32 \
|
||||
--with-boost="$LIB32"/Boost \
|
||||
--with-blas="$LIB32"/OpenBLAS/libopenblas.a \
|
||||
--with-lapack="$LIB32"/OpenBLAS/libopenblas.a \
|
||||
--with-matio="$LIB32"/matIO \
|
||||
--with-boost="$LIB32_MSYS2" \
|
||||
--with-blas="$LIB32_MSYS2"/lib/libopenblas.a \
|
||||
--with-lapack="$LIB32_MSYS2"/lib/libopenblas.a \
|
||||
--with-matio="$LIB32_MSYS2" \
|
||||
--disable-octave \
|
||||
--disable-matlab \
|
||||
PACKAGE_VERSION="$VERSION" \
|
||||
|
@ -83,7 +85,7 @@ i686-w64-mingw32-strip dynare++/src/dynare++.exe
|
|||
cd preprocessor
|
||||
make -C src clean # We don't want to clean the doc
|
||||
./configure --host=x86_64-w64-mingw32 \
|
||||
--with-boost="$LIB64"/Boost \
|
||||
--with-boost="$LIB64_MSYS2" \
|
||||
PACKAGE_VERSION="$VERSION" \
|
||||
PACKAGE_STRING="dynare $VERSION"
|
||||
make -j"$NTHREADS"
|
||||
|
@ -103,8 +105,8 @@ build_windows_matlab_mex_32 ()
|
|||
cd "$TMP_DIRECTORY"/matlab-win32/
|
||||
"$ROOT_DIRECTORY"/../mex/build/matlab/configure \
|
||||
--host=i686-w64-mingw32 \
|
||||
--with-gsl="$LIB32"/Gsl \
|
||||
--with-matio="$LIB32"/matIO \
|
||||
--with-gsl="$LIB32_MSYS2" \
|
||||
--with-matio="$LIB32_MSYS2" \
|
||||
--with-slicot="$LIB32"/Slicot/without-underscore \
|
||||
--with-matlab="$ROOT_DIRECTORY"/deps/matlab32/R2009b \
|
||||
MATLAB_VERSION=R2009b \
|
||||
|
@ -124,8 +126,8 @@ build_windows_matlab_mex_64_a ()
|
|||
cd "$TMP_DIRECTORY"/matlab-win64-a/
|
||||
"$ROOT_DIRECTORY"/../mex/build/matlab/configure \
|
||||
--host=x86_64-w64-mingw32 \
|
||||
--with-gsl="$LIB64"/Gsl \
|
||||
--with-matio="$LIB64"/matIO \
|
||||
--with-gsl="$LIB64_MSYS2" \
|
||||
--with-matio="$LIB64_MSYS2" \
|
||||
--with-slicot="$LIB64"/Slicot/without-underscore \
|
||||
--with-matlab="$ROOT_DIRECTORY"/deps/matlab64/R2009b \
|
||||
MATLAB_VERSION=R2009b \
|
||||
|
@ -145,8 +147,8 @@ build_windows_matlab_mex_64_b ()
|
|||
cd "$TMP_DIRECTORY"/matlab-win64-b/
|
||||
"$ROOT_DIRECTORY"/../mex/build/matlab/configure \
|
||||
--host=x86_64-w64-mingw32 \
|
||||
--with-gsl="$LIB64"/Gsl \
|
||||
--with-matio="$LIB64"/matIO \
|
||||
--with-gsl="$LIB64_MSYS2" \
|
||||
--with-matio="$LIB64_MSYS2" \
|
||||
--with-slicot="$LIB64"/Slicot/without-underscore \
|
||||
--with-matlab="$ROOT_DIRECTORY"/deps/matlab64/R2018a \
|
||||
MATLAB_VERSION=R2018a \
|
||||
|
@ -166,8 +168,8 @@ build_windows_octave_mex_32 ()
|
|||
cd "$TMP_DIRECTORY"/octave-32/
|
||||
"$ROOT_DIRECTORY"/../mex/build/octave/configure \
|
||||
--host=i686-w64-mingw32 \
|
||||
--with-gsl="$LIB32"/Gsl \
|
||||
--with-matio="$LIB32"/matIO \
|
||||
--with-gsl="$LIB32_MSYS2" \
|
||||
--with-matio="$LIB32_MSYS2" \
|
||||
--with-slicot="$LIB32"/Slicot/with-underscore \
|
||||
MKOCTFILE="$ROOT_DIRECTORY"/deps/mkoctfile32 \
|
||||
PACKAGE_VERSION="$VERSION" \
|
||||
|
@ -185,8 +187,8 @@ build_windows_octave_mex_64 ()
|
|||
cd "$TMP_DIRECTORY"/octave-64/
|
||||
"$ROOT_DIRECTORY"/../mex/build/octave/configure \
|
||||
--host=x86_64-w64-mingw32 \
|
||||
--with-gsl="$LIB64"/Gsl \
|
||||
--with-matio="$LIB64"/matIO \
|
||||
--with-gsl="$LIB64_MSYS2" \
|
||||
--with-matio="$LIB64_MSYS2" \
|
||||
--with-slicot="$LIB64"/Slicot/with-underscore \
|
||||
MKOCTFILE="$ROOT_DIRECTORY"/deps/mkoctfile64 \
|
||||
PACKAGE_VERSION="$VERSION" \
|
||||
|
|
|
@ -21,211 +21,25 @@ ROOT_PATH = $(realpath .)
|
|||
|
||||
WGET_OPTIONS := --no-verbose --no-use-server-timestamps --retry-connrefused --retry-on-host-error
|
||||
|
||||
.PHONY: clean-openblas-src clean-openblas-tar clean-openblas-all clean-libopenblas \
|
||||
clean-boost-src clean-boost-tar clean-boost-all clean-libboost \
|
||||
clean-gsl-src clean-gsl-tar clean-gsl-all clean-libgsl\
|
||||
clean-slicot-src clean-slicot-tar clean-slicot-all clean-libslicot \
|
||||
clean-matio-src clean-matio-tar clean-matio-all clean-libmatio\
|
||||
clean-zlib-src clean-zlib-tar clean-zlib-src clean-libzlib \
|
||||
clean-x13as-tar clean-x13as-src clean-x13as-bin clean-x13as-all \
|
||||
clean-src clean-all clean-lib clean-tar \
|
||||
build build-openblas build-slicot build-matio build-boost build-gsl \
|
||||
octave matlab mingw
|
||||
.PHONY: all build octave matlab msys2 \
|
||||
build build-slicot build-x13as \
|
||||
clean-lib clean-libslicot clean-matlab clean-octave clean-msys2 clean-x13as-bin \
|
||||
clean-src clean-slicot-src clean-x13as-src \
|
||||
clean-tar clean-slicot-tar clean-x13as-tar \
|
||||
clean-all clean-lib clean-src clean-tar
|
||||
|
||||
all: build octave matlab mingw
|
||||
all: build octave matlab msys2
|
||||
|
||||
build: build-openblas build-slicot build-matio build-boost build-gsl build-x13as
|
||||
build: build-slicot build-x13as
|
||||
|
||||
clean-lib: clean-libopenblas clean-libgsl clean-libzlib clean-libmatio clean-libslicot clean-libboost clean-matlab clean-octave clean-mingw clean-x13as-bin
|
||||
clean-lib: clean-libslicot clean-matlab clean-octave clean-msys2 clean-x13as-bin
|
||||
|
||||
clean-src: clean-openblas-src clean-boost-src clean-gsl-src clean-matio-src clean-slicot-src clean-zlib-src clean-x13as-src
|
||||
clean-src: clean-slicot-src clean-x13as-src
|
||||
|
||||
clean-tar: clean-openblas-tar clean-boost-tar clean-gsl-tar clean-matio-tar clean-slicot-tar clean-zlib-tar clean-x13as-tar
|
||||
clean-tar: clean-slicot-tar clean-x13as-tar
|
||||
|
||||
clean-all: clean-lib clean-src clean-tar
|
||||
|
||||
#
|
||||
# OpenBLAS library
|
||||
#
|
||||
|
||||
tarballs/openblas-${OPENBLAS_VERSION}.tar.gz:
|
||||
mkdir -p tarballs
|
||||
wget $(WGET_OPTIONS) -O $@ https://github.com/xianyi/OpenBLAS/archive/v${OPENBLAS_VERSION}.tar.gz
|
||||
|
||||
sources32/OpenBLAS-${OPENBLAS_VERSION}: tarballs/openblas-${OPENBLAS_VERSION}.tar.gz
|
||||
mkdir -p sources32
|
||||
rm -rf sources32/OpenBLAS-*
|
||||
tar xf $< --directory sources32
|
||||
patch $@/Makefile.rule < patches/openblas-w32.patch
|
||||
|
||||
sources64/OpenBLAS-${OPENBLAS_VERSION}: tarballs/openblas-${OPENBLAS_VERSION}.tar.gz
|
||||
mkdir -p sources64
|
||||
rm -rf sources64/OpenBLAS-*
|
||||
tar xf $< --directory sources64
|
||||
patch $@/Makefile.rule < patches/openblas-w64.patch
|
||||
|
||||
lib32/OpenBLAS/libopenblas.a: sources32/OpenBLAS-${OPENBLAS_VERSION}
|
||||
make -C $<
|
||||
i686-w64-mingw32-strip --strip-debug $</libopenblasp-r${OPENBLAS_VERSION}.a
|
||||
mkdir -p $(dir $@)
|
||||
cp $</libopenblasp-r${OPENBLAS_VERSION}.a $@
|
||||
|
||||
lib64/OpenBLAS/libopenblas.a: sources64/OpenBLAS-${OPENBLAS_VERSION}
|
||||
make -C $<
|
||||
x86_64-w64-mingw32-strip --strip-debug $</libopenblasp-r${OPENBLAS_VERSION}.a
|
||||
mkdir -p $(dir $@)
|
||||
cp $</libopenblasp-r${OPENBLAS_VERSION}.a $@
|
||||
|
||||
build-openblas: lib32/OpenBLAS/libopenblas.a lib64/OpenBLAS/libopenblas.a
|
||||
|
||||
clean-openblas-tar:
|
||||
rm -f tarballs/openblas-${OPENBLAS_VERSION}.tar.gz
|
||||
|
||||
clean-openblas-src:
|
||||
rm -rf sources32/OpenBLAS-${OPENBLAS_VERSION}
|
||||
rm -rf sources64/OpenBLAS-${OPENBLAS_VERSION}
|
||||
|
||||
clean-libopenblas:
|
||||
rm -rf lib32/OpenBLAS
|
||||
rm -rf lib64/OpenBLAS
|
||||
|
||||
clean-openblas-all: clean-openblas-src clean-openblas-tar clean-libopenblas
|
||||
|
||||
#
|
||||
# Boost library
|
||||
#
|
||||
|
||||
tarballs/boost_${BOOST_VERSION}.tar.bz2:
|
||||
mkdir -p tarballs
|
||||
wget $(WGET_OPTIONS) -O $@ https://dl.bintray.com/boostorg/release/$(subst _,.,${BOOST_VERSION})/source/$(notdir $@)
|
||||
|
||||
sources32/boost_${BOOST_VERSION}: tarballs/boost_${BOOST_VERSION}.tar.bz2
|
||||
mkdir -p sources32
|
||||
rm -rf sources32/boost_*
|
||||
tar xf $< --directory sources32
|
||||
echo "using gcc : mingw : i686-w64-mingw32-g++ ;" > $@/user-config.jam
|
||||
|
||||
sources64/boost_${BOOST_VERSION}: tarballs/boost_${BOOST_VERSION}.tar.bz2
|
||||
mkdir -p sources64
|
||||
rm -rf sources64/boost_*
|
||||
tar xf $< --directory sources64
|
||||
echo "using gcc : mingw : x86_64-w64-mingw32-g++ ;" > $@/user-config.jam
|
||||
|
||||
lib32/Boost: sources32/boost_${BOOST_VERSION}
|
||||
rm -rf lib32/Boost
|
||||
cd $< && ./bootstrap.sh --with-libraries=system,filesystem --prefix=${ROOT_PATH}/lib32/Boost && ./b2 -a -q --user-config=user-config.jam toolset=gcc-mingw target-os=windows address-model=32 variant=release install
|
||||
|
||||
lib64/Boost: sources64/boost_${BOOST_VERSION}
|
||||
rm -rf lib64/Boost
|
||||
cd $< && ./bootstrap.sh --with-libraries=system,filesystem --prefix=${ROOT_PATH}/lib64/Boost && ./b2 -a -q --user-config=user-config.jam toolset=gcc-mingw target-os=windows address-model=64 variant=release install
|
||||
|
||||
build-boost: lib32/Boost lib64/Boost
|
||||
|
||||
clean-boost-tar:
|
||||
rm -f tarballs/boost_${BOOST_VERSION}.tar.bz2
|
||||
|
||||
clean-boost-src:
|
||||
rm -rf sources32/boost_${BOOST_VERSION}
|
||||
rm -rf sources64/boost_${BOOST_VERSION}
|
||||
|
||||
clean-libboost:
|
||||
rm -rf lib32/Boost
|
||||
rm -rf lib64/Boost
|
||||
|
||||
clean-boost-all: clean-boost-src clean-boost-tar clean-libboost
|
||||
|
||||
#
|
||||
# Gsl
|
||||
#
|
||||
|
||||
tarballs/gsl-${GSL_VERSION}.tar.gz:
|
||||
mkdir -p tarballs
|
||||
wget $(WGET_OPTIONS) -O $@ https://ftp.gnu.org/gnu/gsl/$(notdir $@)
|
||||
|
||||
sources32/gsl-${GSL_VERSION}: tarballs/gsl-${GSL_VERSION}.tar.gz
|
||||
mkdir -p sources32
|
||||
rm -rf sources32/gsl-*
|
||||
tar xf $< --directory sources32
|
||||
|
||||
sources64/gsl-${GSL_VERSION}: tarballs/gsl-${GSL_VERSION}.tar.gz
|
||||
mkdir -p sources64
|
||||
rm -rf sources64/gsl-*
|
||||
tar xf $< --directory sources64
|
||||
|
||||
lib32/Gsl/lib/libgsl.a: sources32/gsl-${GSL_VERSION}
|
||||
rm -rf lib32/Gsl
|
||||
cd $< && ./configure --host=i686-w64-mingw32 --prefix=${ROOT_PATH}/lib32/Gsl --disable-shared --enable-static && make && make install
|
||||
|
||||
lib64/Gsl/lib/libgsl.a: sources64/gsl-${GSL_VERSION}
|
||||
rm -rf lib64/Gsl
|
||||
cd $< && ./configure --host=x86_64-w64-mingw32 --prefix=${ROOT_PATH}/lib64/Gsl --disable-shared --enable-static && make && make install
|
||||
|
||||
build-gsl: lib32/Gsl/lib/libgsl.a lib64/Gsl/lib/libgsl.a
|
||||
|
||||
clean-gsl-tar:
|
||||
rm -f tarballs/gsl-${GSL_VERSION}.tar.gz
|
||||
|
||||
clean-gsl-src:
|
||||
rm -rf sources32/gsl-${GSL_VERSION}
|
||||
rm -rf sources64/gsl-${GSL_VERSION}
|
||||
|
||||
clean-libgsl:
|
||||
rm -rf lib32/Gsl
|
||||
rm -rf lib64/Gsl
|
||||
|
||||
clean-gsl-all: clean-gsl-src clean-gsl-tar clean-libgsl
|
||||
|
||||
#
|
||||
# matIO
|
||||
#
|
||||
|
||||
tarballs/matio-${MATIO_VERSION}.tar.gz:
|
||||
mkdir -p tarballs
|
||||
wget $(WGET_OPTIONS) -O $@ https://sourceforge.net/projects/matio/files/matio/${MATIO_VERSION}/$(notdir $@)/download
|
||||
|
||||
sources32/matio-${MATIO_VERSION}: tarballs/matio-${MATIO_VERSION}.tar.gz
|
||||
mkdir -p sources32
|
||||
rm -rf sources32/matio-*
|
||||
tar xf $< --directory sources32
|
||||
touch $@
|
||||
|
||||
sources64/matio-${MATIO_VERSION}: tarballs/matio-${MATIO_VERSION}.tar.gz
|
||||
mkdir -p sources64
|
||||
rm -rf sources64/matio-*
|
||||
tar xf $< --directory sources64
|
||||
touch $@
|
||||
|
||||
# The "ac_cv_va_copy=C99" argument is a workaround for https://github.com/tbeu/matio/issues/78
|
||||
|
||||
lib32/matIO/lib/libmatio.a: sources32/matio-${MATIO_VERSION} lib32/Zlib/lib/libz.a
|
||||
rm -rf lib32/matIO
|
||||
cd $< && ./configure --host=i686-w64-mingw32 --disable-shared --with-zlib=${ROOT_PATH}/lib32/Zlib --prefix=${ROOT_PATH}/lib32/matIO ac_cv_va_copy=C99 && make install
|
||||
ln -sf ${ROOT_PATH}/lib32/Zlib/include/zconf.h ${ROOT_PATH}/lib32/matIO/include/zconf.h
|
||||
ln -sf ${ROOT_PATH}/lib32/Zlib/include/zlib.h ${ROOT_PATH}/lib32/matIO/include/zlib.h
|
||||
ln -sf ${ROOT_PATH}/lib32/Zlib/lib/libz.a ${ROOT_PATH}/lib32/matIO/lib/libz.a
|
||||
|
||||
lib64/matIO/lib/libmatio.a: sources64/matio-${MATIO_VERSION} lib64/Zlib/lib/libz.a
|
||||
rm -rf lib64/matIO
|
||||
cd $< && ./configure --host=x86_64-w64-mingw32 --disable-shared --with-zlib=${ROOT_PATH}/lib64/Zlib --prefix=${ROOT_PATH}/lib64/matIO ac_cv_va_copy=C99 && make install
|
||||
ln -sf ${ROOT_PATH}/lib64/Zlib/include/zconf.h ${ROOT_PATH}/lib64/matIO/include/zconf.h
|
||||
ln -sf ${ROOT_PATH}/lib64/Zlib/include/zlib.h ${ROOT_PATH}/lib64/matIO/include/zlib.h
|
||||
ln -sf ${ROOT_PATH}/lib64/Zlib/lib/libz.a ${ROOT_PATH}/lib64/matIO/lib/libz.a
|
||||
|
||||
build-matio: build-zlib lib32/matIO/lib/libmatio.a lib64/matIO/lib/libmatio.a
|
||||
|
||||
clean-matio-tar:
|
||||
rm -f tarballs/matio-${MATIO_VERSION}.tar.gz
|
||||
|
||||
clean-matio-src:
|
||||
rm -rf sources32/matio-${MATIO_VERSION}
|
||||
rm -rf sources64/matio-${MATIO_VERSION}
|
||||
|
||||
clean-libmatio:
|
||||
rm -rf lib32/matIO
|
||||
rm -rf lib64/matIO
|
||||
|
||||
clean-matio-all: clean-matio-src clean-matio-tar clean-libmatio
|
||||
|
||||
#
|
||||
# Slicot
|
||||
#
|
||||
|
@ -330,49 +144,6 @@ clean-libslicot:
|
|||
|
||||
clean-slicot-all: clean-slicot-src clean-slicot-tar clean-libslicot
|
||||
|
||||
#
|
||||
# Zlib
|
||||
#
|
||||
|
||||
tarballs/zlib-${ZLIB_VERSION}.tar.xz:
|
||||
mkdir -p tarballs
|
||||
wget $(WGET_OPTIONS) -O $@ https://zlib.net/$(notdir $@)
|
||||
|
||||
sources32/zlib-${ZLIB_VERSION}: tarballs/zlib-${ZLIB_VERSION}.tar.xz
|
||||
mkdir -p sources32
|
||||
rm -rf sources32/zlib-*
|
||||
tar xf $< --directory sources32
|
||||
touch $@
|
||||
|
||||
sources64/zlib-${ZLIB_VERSION}: tarballs/zlib-${ZLIB_VERSION}.tar.xz
|
||||
mkdir -p sources64
|
||||
rm -rf sources64/zlib-*
|
||||
tar xf $< --directory sources64
|
||||
touch $@
|
||||
|
||||
lib32/Zlib/lib/libz.a: sources32/zlib-${ZLIB_VERSION}
|
||||
rm -rf lib32/Zlib
|
||||
cd $< && CC=i686-w64-mingw32-gcc ./configure --static --prefix=${ROOT_PATH}/lib32/Zlib && make install
|
||||
|
||||
lib64/Zlib/lib/libz.a: sources64/zlib-${ZLIB_VERSION}
|
||||
rm -rf lib64/Zlib
|
||||
cd $< && CC=x86_64-w64-mingw32-gcc ./configure --static --prefix=${ROOT_PATH}/lib64/Zlib && make install
|
||||
|
||||
build-zlib: lib32/Zlib/lib/libz.a lib64/Zlib/lib/libz.a
|
||||
|
||||
clean-zlib-tar:
|
||||
rm -f tarballs/zlib-${ZLIB_VERSION}.tar.xz
|
||||
|
||||
clean-zlib-src:
|
||||
rm -rf sources32/zlib-${ZLIB_VERSION}
|
||||
rm -rf sources64/zlib-${ZLIB_VERSION}
|
||||
|
||||
clean-libzlib:
|
||||
rm -rf lib32/Zlib
|
||||
rm -rf lib64/Zlib
|
||||
|
||||
clean-zlib-all: clean-zlib-src clean-zlib-tar clean-libzlib
|
||||
|
||||
#
|
||||
# Octave
|
||||
#
|
||||
|
@ -442,10 +213,24 @@ clean-matlab:
|
|||
rm -rf matlab64
|
||||
|
||||
#
|
||||
# Embedded MinGW (for use_dll)
|
||||
# Stuff downloaded from MSYS2:
|
||||
# - several build dependencies
|
||||
# - the embedded MinGW compiler (for use_dll)
|
||||
#
|
||||
|
||||
mingw: mingw32 mingw64
|
||||
msys2: lib32-msys2 lib64-msys2 mingw32 mingw64
|
||||
|
||||
lib32-msys2: tarballs/mingw-w64-i686-boost-$(MINGW32_BOOST_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-gsl-$(MINGW32_GSL_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-openblas-$(MINGW32_OPENBLAS_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-matio-$(MINGW32_MATIO_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-zlib-$(MINGW32_ZLIB_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-hdf5-$(MINGW32_HDF5_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-szip-$(MINGW32_SZIP_VERSION)-any.pkg.tar.xz
|
||||
rm -rf $@
|
||||
mkdir $@
|
||||
for f in $^; do tar xf $$f --directory $@ --strip-components 1; done
|
||||
touch $@
|
||||
|
||||
lib64-msys2: tarballs/mingw-w64-x86_64-boost-$(MINGW64_BOOST_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-gsl-$(MINGW64_GSL_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-openblas-$(MINGW64_OPENBLAS_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-matio-$(MINGW64_MATIO_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-zlib-$(MINGW64_ZLIB_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-hdf5-$(MINGW64_HDF5_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-x86_64-szip-$(MINGW64_SZIP_VERSION)-any.pkg.tar.xz
|
||||
rm -rf $@
|
||||
mkdir $@
|
||||
for f in $^; do tar xf $$f --directory $@ --strip-components 1; done
|
||||
touch $@
|
||||
|
||||
mingw32: tarballs/mingw-w64-i686-gcc-$(MINGW32_GCC_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-gmp-$(MINGW32_GMP_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-binutils-$(MINGW32_BINUTILS_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-headers-git-$(MINGW32_HEADERS_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-crt-git-$(MINGW32_CRT_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-winpthreads-git-$(MINGW32_WINPTHREADS_VERSION)-any.pkg.tar.xz tarballs/mingw-w64-i686-libwinpthread-git-$(MINGW32_LIBWINPTHREAD_VERSION)-any.pkg.tar.xz
|
||||
rm -rf $@
|
||||
|
@ -463,7 +248,9 @@ tarballs/mingw-w64-i686-%-any.pkg.tar.xz:
|
|||
tarballs/mingw-w64-x86_64-%-any.pkg.tar.xz:
|
||||
wget $(WGET_OPTIONS) -O $@ http://repo.msys2.org/mingw/x86_64/$(notdir $@)
|
||||
|
||||
clean-mingw:
|
||||
clean-msys2:
|
||||
rm -rf lib32-msys2
|
||||
rm -rf lib64-msys2
|
||||
rm -rf mingw32
|
||||
rm -rf mingw64
|
||||
rm -f tarballs/mingw-w64-i686-*.tar.xz
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
--- OpenBLAS-0.3.6/Makefile.rule 2019-04-29 19:22:19.000000000 +0200
|
||||
+++ OpenBLAS-0.3.6-w32/Makefile.rule 2019-06-13 11:02:50.665872965 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
# TARGET = PENRYN
|
||||
|
||||
# If you want to support multiple architecture in one binary
|
||||
-# DYNAMIC_ARCH = 1
|
||||
+DYNAMIC_ARCH = 1
|
||||
|
||||
# If you want the full list of x86_64 architectures supported in DYNAMIC_ARCH
|
||||
# mode (including individual optimizied codes for PENRYN, DUNNINGTON, OPTERON,
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
# C compiler including binary type(32bit / 64bit). Default is gcc.
|
||||
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
|
||||
-# CC = gcc
|
||||
+CC = i686-w64-mingw32-gcc
|
||||
|
||||
# Fortran compiler. Default is g77.
|
||||
-# FC = gfortran
|
||||
+FC = i686-w64-mingw32-gfortran
|
||||
|
||||
# Even you can specify cross compiler. Meanwhile, please set HOSTCC.
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
# If you use the cross compiler, please set this host compiler.
|
||||
-# HOSTCC = gcc
|
||||
+HOSTCC = gcc
|
||||
|
||||
# If you need 32bit binary, define BINARY=32, otherwise define BINARY=64
|
||||
# Please note that AVX is not available on 32-bit.
|
||||
@@ -56,7 +56,7 @@
|
||||
# specify it.
|
||||
# For force setting for single threaded, specify USE_THREAD = 0
|
||||
# For force setting for multi threaded, specify USE_THREAD = 1
|
||||
-# USE_THREAD = 0
|
||||
+USE_THREAD = 1
|
||||
|
||||
# If you're going to use this library with OpenMP, please comment it in.
|
||||
# This flag is always set for POWER8. Don't set USE_OPENMP = 0 if you're targeting POWER8.
|
||||
@@ -82,7 +82,7 @@
|
||||
# value (eg. 32-256) if you expect your users to use that many threads. Due to the way
|
||||
# some internal structures are allocated, using a large NUM_THREADS value has a RAM
|
||||
# footprint penalty, even if users reduce the actual number of threads at runtime.
|
||||
-# NUM_THREADS = 24
|
||||
+NUM_THREADS = 2
|
||||
|
||||
# If you have enabled USE_OPENMP and your application would call
|
||||
# OpenBLAS's calculation API from multiple threads, please comment this in.
|
||||
@@ -95,7 +95,7 @@
|
||||
# NO_STATIC = 1
|
||||
|
||||
# If you don't need to generate the shared library, please comment this in.
|
||||
-# NO_SHARED = 1
|
||||
+NO_SHARED = 1
|
||||
|
||||
# If you don't need the CBLAS interface, please comment this in.
|
||||
# NO_CBLAS = 1
|
||||
@@ -109,7 +109,7 @@
|
||||
# NO_LAPACK = 1
|
||||
|
||||
# If you don't need LAPACKE (C Interface to LAPACK), please comment this in.
|
||||
-# NO_LAPACKE = 1
|
||||
+NO_LAPACKE = 1
|
||||
|
||||
# Build LAPACK Deprecated functions since LAPACK 3.6.0
|
||||
BUILD_LAPACK_DEPRECATED = 1
|
|
@ -1,77 +0,0 @@
|
|||
--- OpenBLAS-0.3.6/Makefile.rule 2019-04-29 19:22:19.000000000 +0200
|
||||
+++ OpenBLAS-0.3.6-w64/Makefile.rule 2019-06-13 11:04:44.433315864 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
# TARGET = PENRYN
|
||||
|
||||
# If you want to support multiple architecture in one binary
|
||||
-# DYNAMIC_ARCH = 1
|
||||
+DYNAMIC_ARCH = 1
|
||||
|
||||
# If you want the full list of x86_64 architectures supported in DYNAMIC_ARCH
|
||||
# mode (including individual optimizied codes for PENRYN, DUNNINGTON, OPTERON,
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
# C compiler including binary type(32bit / 64bit). Default is gcc.
|
||||
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
|
||||
-# CC = gcc
|
||||
+CC = x86_64-w64-mingw32-gcc
|
||||
|
||||
# Fortran compiler. Default is g77.
|
||||
-# FC = gfortran
|
||||
+FC = x86_64-w64-mingw32-gfortran
|
||||
|
||||
# Even you can specify cross compiler. Meanwhile, please set HOSTCC.
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
# If you use the cross compiler, please set this host compiler.
|
||||
-# HOSTCC = gcc
|
||||
+HOSTCC = gcc
|
||||
|
||||
# If you need 32bit binary, define BINARY=32, otherwise define BINARY=64
|
||||
# Please note that AVX is not available on 32-bit.
|
||||
@@ -56,7 +56,7 @@
|
||||
# specify it.
|
||||
# For force setting for single threaded, specify USE_THREAD = 0
|
||||
# For force setting for multi threaded, specify USE_THREAD = 1
|
||||
-# USE_THREAD = 0
|
||||
+USE_THREAD = 1
|
||||
|
||||
# If you're going to use this library with OpenMP, please comment it in.
|
||||
# This flag is always set for POWER8. Don't set USE_OPENMP = 0 if you're targeting POWER8.
|
||||
@@ -82,7 +82,7 @@
|
||||
# value (eg. 32-256) if you expect your users to use that many threads. Due to the way
|
||||
# some internal structures are allocated, using a large NUM_THREADS value has a RAM
|
||||
# footprint penalty, even if users reduce the actual number of threads at runtime.
|
||||
-# NUM_THREADS = 24
|
||||
+NUM_THREADS = 2
|
||||
|
||||
# If you have enabled USE_OPENMP and your application would call
|
||||
# OpenBLAS's calculation API from multiple threads, please comment this in.
|
||||
@@ -95,7 +95,7 @@
|
||||
# NO_STATIC = 1
|
||||
|
||||
# If you don't need to generate the shared library, please comment this in.
|
||||
-# NO_SHARED = 1
|
||||
+NO_SHARED = 1
|
||||
|
||||
# If you don't need the CBLAS interface, please comment this in.
|
||||
# NO_CBLAS = 1
|
||||
@@ -109,7 +109,7 @@
|
||||
# NO_LAPACK = 1
|
||||
|
||||
# If you don't need LAPACKE (C Interface to LAPACK), please comment this in.
|
||||
-# NO_LAPACKE = 1
|
||||
+NO_LAPACKE = 1
|
||||
|
||||
# Build LAPACK Deprecated functions since LAPACK 3.6.0
|
||||
BUILD_LAPACK_DEPRECATED = 1
|
||||
@@ -242,3 +242,7 @@
|
||||
#
|
||||
# End of user configuration
|
||||
#
|
||||
+
|
||||
+# Workaround for apparent MinGW bug with -march=skylake-avx512
|
||||
+# See https://sourceforge.net/p/mingw-w64/bugs/681/
|
||||
+NO_AVX512 = 1
|
|
@ -1,9 +1,4 @@
|
|||
BOOST_VERSION = 1_71_0
|
||||
GSL_VERSION = 2.5
|
||||
MATIO_VERSION = 1.5.17
|
||||
OPENBLAS_VERSION = 0.3.6
|
||||
SLICOT_VERSION = 5.0+20101122
|
||||
ZLIB_VERSION = 1.2.11
|
||||
X13AS_VERSION = 1.1_B39
|
||||
|
||||
OCTAVE_VERSION = 5.1.0
|
||||
|
@ -13,10 +8,50 @@ OCTAVE_W64_BUILD =
|
|||
MATLAB32_VERSION = 20181204
|
||||
MATLAB64_VERSION = 20181204
|
||||
|
||||
## MinGW packages
|
||||
|
||||
### MSYS2 packages
|
||||
# Determine the versions by:
|
||||
# - first running: pacman -Sy
|
||||
# - and then with appropriate queries using: pacman -Ss <regex>
|
||||
# Dependencies can be determined using: pacman -Si <pkg>
|
||||
# File lists can be determined using: pacman -Fl <pkg>
|
||||
# The same information can be gathered from: https://packages.msys2.org/search
|
||||
|
||||
## Build dependencies
|
||||
|
||||
# pacman -Ss .*-boost$
|
||||
MINGW32_BOOST_VERSION = 1.70.0-2
|
||||
MINGW64_BOOST_VERSION = 1.70.0-2
|
||||
|
||||
# pacman -Ss .*-gsl$
|
||||
MINGW32_GSL_VERSION = 2.6-1
|
||||
MINGW64_GSL_VERSION = 2.6-1
|
||||
|
||||
# pacman -Ss .*-openblas$
|
||||
MINGW32_OPENBLAS_VERSION = 0.3.7-1
|
||||
MINGW64_OPENBLAS_VERSION = 0.3.7-1
|
||||
|
||||
# pacman -Ss .*-matio$
|
||||
MINGW32_MATIO_VERSION = 1.5.14-1
|
||||
MINGW64_MATIO_VERSION = 1.5.14-1
|
||||
|
||||
# Dependency of matio
|
||||
# pacman -Ss .*-zlib$
|
||||
MINGW32_ZLIB_VERSION = 1.2.11-7
|
||||
MINGW64_ZLIB_VERSION = 1.2.11-7
|
||||
|
||||
# Dependency of matio
|
||||
# pacman -Ss .*-hdf5$
|
||||
# Can't yet update to 1.10 because of https://github.com/msys2/MINGW-packages/issues/5758
|
||||
MINGW32_HDF5_VERSION = 1.8.21-2
|
||||
MINGW64_HDF5_VERSION = 1.8.21-2
|
||||
|
||||
# Dependency of HDF5
|
||||
# pacman -Ss .*-szip$
|
||||
MINGW32_SZIP_VERSION = 2.1.1-2
|
||||
MINGW64_SZIP_VERSION = 2.1.1-2
|
||||
|
||||
## MinGW packages for the embedded compiler
|
||||
|
||||
# pacman -Ss mingw-w64-.*-gcc$
|
||||
MINGW32_GCC_VERSION = 9.1.0-2
|
||||
|
|
Loading…
Reference in New Issue