# Clone repository #?#git clone http://sourceware.org/git/cygwin-apps/setup.git git clone http://cygwin.com/git/cygwin-setup.git => ??? #export PATH=/cygdrive/c/mingw64/bin:$PATH # Create builddirs mkdir build-32 mkdir build-64 # Bootstrap /home/lassauge/DEVEL/setup-work/cygwin-setup/bootstrap.sh /home/lassauge/DEVEL/setup-work/cygwin-setup/bootstrap.sh --host=x86_64-w64-mingw32 # Check git version git describe --match release_\* --abbrev=6 HEAD # Apply the patches #git apply --binary --apply --3way ../000x-changes.patch # if it doesn't work use the patch command # gitify #------- # git add . # for modified and added files # git commit -m "release_2.882-FR" # set new fr tag # git tag -a release_2.882-FR # create the path files git format-patch -U -o .. -N origin # Build - Verify value of GITVER ## INFOS from GIT README HOW TO BUILD: ------------- Cygwin ------ Setup should build out-of-the-box on any Cygwin environment that has all the required packages and their dependencies installed: - make - mingw64-${arch}-headers - mingw64-${arch}-gcc-g++ - mingw64-${arch}-libgcrypt - mingw64-${arch}-libsolv - mingw64-${arch}-bzip2 - mingw64-${arch}-xz - mingw64-${arch}-zlib - upx (optional) The ${arch} needs to be replaced with either "i686" or "x86_64" depending on the target architecture to build for. The following additional packages are required if building from Git, or if you want to make changes to the build system. - autoconf - automake - libtool - flex - bison Fedora ------ Setup should also build out-of-the-box in a Fedora environment that has all the required packages and their dependencies installed: - make - libtool - mingw${arch}-gcc-c++ - mingw${arch}-zlib-static - mingw${arch}-libgcrypt-static - mingw${arch}-libgnurx-static (*) - mingw${arch}-libsolv-static - mingw${arch}-bzip2-static - mingw${arch}-xz-libs-static - mingw${arch}-winpthreads-static - upx (optional) The ${arch} needs to be replaced with either "32" or "64" depending on the target architecture to build for. (*) Requires 'dnf copr enable jturney/mingw-libsolv' Build commands: 0) If building from git, obtain this project's code: $ git clone git://sourceware.org/git/cygwin-apps/setup.git $ cd setup 1) Configure using this option $ /path/to/setup/bootstrap.sh This will automatically rebuild configure files and run configure in the current directory. If you have installed toolchains for both i686 and x86_64 architectures, then you need to select for which architecture you want to build: $ /path/to/setup/bootstrap.sh --host=i686-w64-mingw32 $ /path/to/setup/bootstrap.sh --host=x86_64-w64-mingw32 2) $ make 3) Wondering why your binary is so much bigger than the official releases? This removes debugging symbols: $ make strip This additionally compresses it using UPX (requires package upx to be installed): $ make upx CODING GUIDELINES: ------------------ setup has a number of different code formats in it. This is ok as long as it stays readable. When submitting a patch, make sure that you use the coding-style of the surrounding code. For new code, use the GNU standards as much as possible. We understand that this is not a precise fit for C++ code but you can use Cygwin itself as a guide.