diff --git a/.gitignore b/.gitignore index d084a094406cd442e8918e71c946841bc7ea1132..7229f1abc62e58b42bcf8686e65865e48ed457f9 100644 --- a/.gitignore +++ b/.gitignore @@ -143,6 +143,8 @@ windows/deps/sources64/ windows/deps/tarballs/ windows/exe/ windows/zip/ +dynare++/32-bit/ +dynare++/64-bit/ # MacOS stuff .DS_Store diff --git a/windows/build.sh b/windows/build.sh index b1d64e3751a3931589193183c4a02de28e0f2772..ede22b6ec26ed294d3d18008688fe0ca6e66e862 100755 --- a/windows/build.sh +++ b/windows/build.sh @@ -62,12 +62,12 @@ cd .. # Autoreconf if needed [[ -f configure ]] || autoreconf -si -## Compile preprocessor (32-bit), Dynare++ (32-bit) and documentation -./configure --host=i686-w64-mingw32 \ - --with-boost="$LIB32_MSYS2" \ - --with-blas="$LIB32_MSYS2"/lib/libopenblas.a \ - --with-lapack="$LIB32_MSYS2"/lib/libopenblas.a \ - --with-matio="$LIB32_MSYS2" \ +## Compile preprocessor (64-bit), Dynare++ (64-bit) and documentation +./configure --host=x86_64-w64-mingw32 \ + --with-boost="$LIB64_MSYS2" \ + --with-blas="$LIB64_MSYS2"/lib/libopenblas.a \ + --with-lapack="$LIB64_MSYS2"/lib/libopenblas.a \ + --with-matio="$LIB64_MSYS2" \ --disable-octave \ --disable-matlab \ PACKAGE_VERSION="$VERSION" \ @@ -78,20 +78,30 @@ if [[ -z $CI ]]; then make -j"$NTHREADS" pdf html fi make -j"$NTHREADS" -i686-w64-mingw32-strip matlab/preprocessor32/dynare_m.exe -i686-w64-mingw32-strip dynare++/src/dynare++.exe +x86_64-w64-mingw32-strip matlab/preprocessor64/dynare_m.exe +x86_64-w64-mingw32-strip dynare++/src/dynare++.exe +mkdir -p dynare++/64-bit/ +cp dynare++/src/dynare++.exe dynare++/64-bit/ -## Compile 64-bit preprocessor -cd preprocessor -make -C src clean # We don't want to clean the doc -./configure --host=x86_64-w64-mingw32 \ - --with-boost="$LIB64_MSYS2" \ +## Compile 32-bit preprocessor and Dynare++ +# We do not want to clean the doc +for d in preprocessor/src dynare++/integ dynare++/kord dynare++/parser/cc dynare++/src dynare++/sylv dynare++/tl dynare++/utils/cc; do + make -C "$d" clean +done +./configure --host=i686-w64-mingw32 \ + --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" \ PACKAGE_STRING="dynare $VERSION" make -j"$NTHREADS" -x86_64-w64-mingw32-strip src/dynare_m.exe -mkdir -p ../matlab/preprocessor64 -mv src/dynare_m.exe ../matlab/preprocessor64 +i686-w64-mingw32-strip matlab/preprocessor32/dynare_m.exe +i686-w64-mingw32-strip dynare++/src/dynare++.exe +mkdir -p dynare++/32-bit/ +cp dynare++/src/dynare++.exe dynare++/32-bit/ ## Define functions for building MEX files @@ -260,7 +270,7 @@ cp -pr examples "$ZIPDIR" mkdir -p "$ZIPDIR"/scripts cp -p scripts/dynare.el "$ZIPDIR"/scripts mkdir "$ZIPDIR"/dynare++ -cp -p dynare++/src/dynare++.exe "$ZIPDIR"/dynare++ +cp -pr dynare++/32-bit/ dynare++/64-bit/ "$ZIPDIR"/dynare++ mkdir -p "$ZIPDIR"/doc/dynare++ mkdir -p "$ZIPDIR"/doc/dynare-manual.html cp -pr doc/manual/build/html/* "$ZIPDIR"/doc/dynare-manual.html diff --git a/windows/dynare.nsi b/windows/dynare.nsi index 25454fa3108fdcf62079dde69ed90a51d59a5ff2..ede2f96923ccd37aa0afd5b8a6662ae149b831f2 100644 --- a/windows/dynare.nsi +++ b/windows/dynare.nsi @@ -152,8 +152,11 @@ SectionEnd Section /o "Dynare++ (standalone executable)" - SetOutPath $INSTDIR\dynare++ - File ..\dynare++\src\dynare++.exe + SetOutPath $INSTDIR\dynare++\32-bit + File ..\dynare++\32-bit\dynare++.exe + + SetOutPath $INSTDIR\dynare++\64-bit + File ..\dynare++\64-bit\dynare++.exe SetOutPath $INSTDIR\doc\dynare++ File ..\dynare++\doc\*.pdf