commits on Nov 12 2018
success

builder: more minor mingw cross fixes Do not defer evaluating build env variables in mingw-cross.sh, this interferes with switching them between host/target. In build_dist() adjust the LDFLAGS and LIBS after pre_build has run, because host/target env setting happens in pre_build and adjustments get lost.

rkitover authored to master

error

builder: fix openssl parallel make patch Fix sed regex for the openssl POST_CONFIGURE to work with the mac/BSD sed (anchor to beginning of line.)

rkitover authored to master

error

builder: fix quoting issues introduced in 37869441 In host_env/target_env/etc. functions, quote all variables values so that they pass through eval correctly.

rkitover authored to master

success

builder: msys2 fixes + misc improvements - Fix leading spaces in build env vars. - Pass -Dcc="$CC" to the c2man metaconfig, it tries to use cc on msys2 which fails. - Pass LDFLAGS to openssl make to fix link errors. - Change the host_env, target_env and related functions to output a list of commands for eval. - Add a --host-env flag to output the host env for cross build environments. - Ignore symlink failures when installing dists, symlinks fail on msys2 sometimes for some reason. - Put libicu in the list of both host and target dists only in mingw-cross, the host libicu does not build on msys2, and everything works fine without it. - Add -j1 to openssl make args to disable parallel builds for the msys2 and cygwin host builds, because they fail otherwise. - Add "-ldl -lcatgets -lws2_32" to libicu LDFLAGS for the target build, ws2_32 may be necessary for 32 bit builds.

rkitover authored to master

success

cmake: support linuxbrew mingw toolchain Add default linuxbrew mingw toolchain root paths to cmake mingw toolchain files.

rkitover authored to master

commits on Oct 11 2018
error

builder: support gentoo crossdev + misc fixes Support the gentoo crossdev mingw environment for the mingw cross builder: - For the cmake toolchains, add /usr/<arch>/usr to root paths, as this is the mingw root for crossdev. - -Wno-error=all no longer works with gcc 8.2, instead remove all -Werror flags in dist_post_configure(). - Also remove all -I/usr/include flags in dist_post_configure(). - Don't prepend ROOT/host/bin to the PATH globally, only in set_host_env(). This way the target config scripts are correctly found in PATH. - Bump openssl 1.0.2o -> 1.0.2p, cmake 3.10.3 -> 3.13.0-rc1, gd 2.2.4 -> 2.2.5 and glib 2.57.2 -> 2.58.1. - Add libicu unicode handling library, needed by some deps. Put into the list of dists that must be built for both the host and the target. Use a whole bunch of patches from MSys2 for it. - Make openssl build in parallel by using a sed script to prepend a + to the appropriate make rules. - Replace fontconfig EXTRA_LIBS with MAKE_ARGS: LIBS="-lintl -liconv" because these libs were being stripped out from LIBS and LDFLAGS. - Add V=1 VERBOSE=1 to all make invocations for extra verbosity (to see compile/link invocations.) - As a consequence, use dist_ninja_args() for ninja, it will still take options in DIST_MAKE_ARGS. - Add CONFIGURE_TYPE "cmakeninja" which is like the "cmake" type except with -G Ninja to use the ninja generator and built with ninja. Nothing uses this yet. - Fix dist_patch() output for already applied patches. - Add -L/usr/<arch>/usr/lib64 to CFLAGS/CXXFLAGS/OBJCXXFLAGS/LDFLAGS, because crossdev libpthreads.a is in that directory and it's not in gcc search paths. It cannot go into CPPFLAGS because those are used for windres invocations, and windres errors out with non-cpp flags. - Add -DMINGW_HAS_SECURE_API to all flags to fix a problem with the mingw headers in crossdev. - Add -lpthread to a default LIBS env var so that it's often linked last against any libraries that ma

rkitover authored to master

error

WIP

rkitover authored to gentoo-crossdev

commits on Aug 10 2018
success

msys2: don't try to link msys librt and libpthread In cmake on Win32, don't try to find librt or libpthread using find_library(), and on mingw just include -lpthread. For some reason the msys versions of librt and libpthread were being picked up when find_library() was being used.

rkitover authored to master

success

disable gcc stack protector, segfault on 8.2.0 Make gcc -fstack-protector-strong and associated options controlled by the cmake option ENABLE_SSP which defaults to OFF. This option causes a segfault on startup with gcc 8.2.0.

rkitover authored to master

success

fix cmake regression introduced in bfe21aee Before calling list(REMOVE_ITEM ...) check if the variable exists, if it doesn't cmake throws an error.

rkitover authored to master

success

remove -fpermissive compiler flag Remove -fpermissive from the list of flags passed to gcc and clang. Remove -fpermissive from the cxxflags from wxWidgets config as well. When checking wxWidgets ABI compatibility version, temporarily add -fpermissive to compiler flags on Win32 because minhook requires it.

rkitover authored to master

success

support mac-hosted mingw builds, misc. fixes - Add the cross root from the mingw-w64 mac brew to the cmake toolchain files. - Remove strerror_r/strerror_s from ConfigManager.cpp because the mingw-w64 brew does not support strerror_s for some reason. - Strip the vbam executable from the builder script in the build_project phase. - Change the bzip2 URL to the github mirror because the bzip.org domain expired. - Add libuuid as it's required by the new fontconfig, use the mingw version for mingw builds, for mingw also set UUID_LIBS to '-luuid_mingw -luuid' in mingw.sh for fontconfig, the mingw version is called uuid_mingw because uuid is a core win32 library. - Lower glib version to 2.57.2 stable. - Update wxwidgets version to current master sha. - Fix a bug in flex-2.5.3 post_build where it tries to build flex current but flex has been removed, and it was just rebuilding 2.5.3. - Fix "aggressive" relocation and the relocation of .l[ao] and .pc files in install_dist to ignore /usr/local, and only match /usr. - Add a "project" pre_build and post_build hooks. - Add getopt to host-only dists in mingw-cross.sh. - Use perl instead of readlink -f to get the absolute path of the cmake toolchain files in mingw-cross.sh, as readlink -f is linux-only. - In mingw-cross.sh, replace the glib post_build to rebuild gettext-target instead of gettext --without-included-glib. - Add overridable functions set_host_env_hook and unset_host_env_hook in mingw.sh to override in other scripts, in this case mac-cross-builder. - Update mingw glib patches to current fedora versions. - Add tools/win/mac-cross-builder script to build mingw windows binaries on mac, it borrows some necessary parts from the mac native builder for host dists, and inherits from mingw-cross.sh. TODO: currently the resulting mac-built binary segfaults due to gcc 8.2.0, just as the msys2-built binary does, this is a separate issue.

rkitover authored to master