Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howtos:win32:msys2 [2022/10/16 10:56] – Update MSYS2 build information enrico | howtos:win32:msys2 [2025/02/01 17:04] (current) – use git clean -dfx as distclean may fail if there was no configure yet giuspen | ||
---|---|---|---|
Line 2: | Line 2: | ||
Msys2 is a successor to msys which offers a unix-like environment on Windows combined with a pacman-based package manager. | Msys2 is a successor to msys which offers a unix-like environment on Windows combined with a pacman-based package manager. | ||
- | It' | + | Its purpose is to simplify win32 compiliations, |
- | In fact, it's so good it should become the default method of compiling Geany on Windows. | + | |
See http:// | See http:// | ||
Line 11: | Line 10: | ||
===== Initial Setup ===== | ===== Initial Setup ===== | ||
- | Download the installer from https:// | + | Download the installer from https:// |
- | not whether you target a 32bit or 64bit compilation of Geany (this guide will always compile for 64bit). | + | |
Run the installer and follow the instructions. In the following we will assume that you installed the 64bit version to C:\mingw64. | Run the installer and follow the instructions. In the following we will assume that you installed the 64bit version to C:\mingw64. | ||
Line 34: | Line 32: | ||
pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb | pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb | ||
# make and Autotools | # make and Autotools | ||
- | pacman -S make mingw-w64-x86_64-libtool mingw-w64-x86_64-pkgconf autoconf automake gettext | + | pacman -S make mingw-w64-x86_64-libtool mingw-w64-x86_64-pkgconf autoconf automake gettext |
# gtk family | # gtk family | ||
pacman -S mingw-w64-x86_64-gtk3 | pacman -S mingw-w64-x86_64-gtk3 | ||
# for building html docs | # for building html docs | ||
- | pacman -S mingw-w64-x86_64-python3 | + | pacman -S mingw-w64-x86_64-python |
# and if you fancy building from git | # and if you fancy building from git | ||
pacman -S git | pacman -S git | ||
Line 44: | Line 42: | ||
pacman -S rsync | pacman -S rsync | ||
# for GTK bundle creation and release creation | # for GTK bundle creation and release creation | ||
- | pacman -S curl tar dos2unix zip unzip mingw-w64-x86_64-osslsigncode mingw-w64-x86_64-nsis | + | pacman -S curl tar dos2unix zip unzip mingw-w64-x86_64-osslsigncode mingw-w64-x86_64-nsis |
Make sure you have not installed both `gcc` and `mingw-w64-x86_64-gcc`, | Make sure you have not installed both `gcc` and `mingw-w64-x86_64-gcc`, | ||
- | At last, you might want to add `C:\msys64\mingw64\bin` to your `PATH` environment variable, in order to run Geany from the Windows Explorer. | + | At last, you might want to add `C:\geany\bin` to your `PATH` environment variable, in order to run Geany from the Windows Explorer. |
In case you want also compile the combined Geany-Plugins collection, you need the following dependencies: | In case you want also compile the combined Geany-Plugins collection, you need the following dependencies: | ||
Line 63: | Line 61: | ||
You can either clone the source code from the GIT repository or download a release tarball and unpack it. | You can either clone the source code from the GIT repository or download a release tarball and unpack it. | ||
- | cd | + | |
- | | + | |
- | unzip geany-master.zip | + | |
- | cd geany-master | + | cd geany |
# autogen.sh is not needed for release tarballs! | # autogen.sh is not needed for release tarballs! | ||
NOCONFIGURE=1 ./ | NOCONFIGURE=1 ./ | ||
# configure and make take a while, don't panic | # configure and make take a while, don't panic | ||
+ | export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=' | ||
./configure --prefix=/ | ./configure --prefix=/ | ||
- | make -j2 | + | make -j |
make install | make install | ||
Line 82: | Line 81: | ||
You can either clone the source code from the GIT repository or download a release tarball and unpack it. | You can either clone the source code from the GIT repository or download a release tarball and unpack it. | ||
- | cd | + | cd ~/git |
- | | + | |
- | unzip geany-plugins-master.zip | + | cd geany-plugins |
- | cd geany-plugins-master | + | |
# autogen.sh is not needed for release tarballs! | # autogen.sh is not needed for release tarballs! | ||
NOCONFIGURE=1 ./ | NOCONFIGURE=1 ./ | ||
# configure and make take a while, don't panic | # configure and make take a while, don't panic | ||
+ | export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=' | ||
./configure --prefix=/ | ./configure --prefix=/ | ||
- | make -j2 | + | make -j |
make install | make install | ||
Line 115: | Line 114: | ||
mkdir -p ~/ | mkdir -p ~/ | ||
cd ~/ | cd ~/ | ||
- | bash ~/geany-master/ | + | bash ~/git/ |
There are a few command line options for this script. Run it with " | There are a few command line options for this script. Run it with " | ||
Line 128: | Line 127: | ||
mkdir -p ~/ | mkdir -p ~/ | ||
cd ~/ | cd ~/ | ||
- | bash ~/ | + | bash ~/git/ |
===== Creating an installer / Making a release ===== | ===== Creating an installer / Making a release ===== | ||
Line 143: | Line 142: | ||
DESTINATON=$HOME/ | DESTINATON=$HOME/ | ||
- | VERSION=" | + | VERSION=" |
- | cd ~/geany-master | + | cd ~/git/geany |
- | | + | |
- | ./ | + | |
+ | export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=' | ||
mkdir _build | mkdir _build | ||
cd _build | cd _build | ||
../ | ../ | ||
- | make -j 2 | + | make -j |
make install | make install | ||
rm -rf $DESTINATON/ | rm -rf $DESTINATON/ | ||
+ | mkdir -p $DESTINATON/ | ||
rsync -a --delete ${DESTINATON}/ | rsync -a --delete ${DESTINATON}/ | ||
Line 180: | Line 181: | ||
DESTINATON=$HOME/ | DESTINATON=$HOME/ | ||
- | VERSION=" | + | VERSION=" |
- | cd ~/ | + | cd ~/git/ |
- | | + | |
- | ./ | + | |
+ | export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=' | ||
mkdir _build | mkdir _build | ||
cd _build | cd _build | ||
../ | ../ | ||
- | make -j 2 | + | make -j |
make DESTDIR=${DESTINATON}/ | make DESTDIR=${DESTINATON}/ | ||
+ | rm -rf $DESTINATON/ | ||
+ | mkdir -p $DESTINATON/ | ||
rsync -a --delete ${DESTINATON}/ | rsync -a --delete ${DESTINATON}/ | ||