[OpenSmalltalk/opensmalltalk-vm] 721668: pkg-config hack: don't you use ln in windows PLEAS...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] 721668: pkg-config hack: don't you use ln in windows PLEAS...

Eliot Miranda-3
 
  Branch: refs/heads/build_pharo_win32_with_cygwin
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 721668e915f3e811007ef6c6142b8ee1bc54d96d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/721668e915f3e811007ef6c6142b8ee1bc54d96d
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M .appveyor.yml
    M build.win32x86/third-party/Makefile.pkgconfig

  Log Message:
  -----------
  pkg-config hack: don't you use ln in windows PLEASE

Use pebuilt libglib2.0-devel rather than rebuilding --with-internal-glib
Otherwise the compilation fails on modern cygwin with
 ‘g_win32_getlocale’ [-Werror=implicit-function-declaration]

Add required libiconv-devel package for the building machine
Also add perl required for building openssl
Also add cmake required for building libgit2
Install zlib for cross compile on mingw32 target arch


  Commit: a9096c1b578e8111945460834e96d90c1d3d6378
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a9096c1b578e8111945460834e96d90c1d3d6378
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M .appveyor.yml

  Log Message:
  -----------
  Add mingw32 target iconv required for compiling SDL2


  Commit: a25e48d0f41c83a00b2599b275430b534799557c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a25e48d0f41c83a00b2599b275430b534799557c
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.openssl

  Log Message:
  -----------
  Nuke the deadly openssl symlink

** Hack Hack Hack **
This is a horrible hack.
This is fragile because the mklink.pl file does not exist in 1.1.x version
But frankly, asking for a windows build to rely on symlink???? WTF???

I tried several unsuccessful workarounds
Configure no-symlinks
It does not work because then include/*.h are not built
I tried CYGWIN="winsymlinks" but it did not work (I don't even know if perl did take it into account)

With this, openssl almost build. Almost, because the generated makefile don't use the right cross-compilation windres...

    /bin/sh: gcc: command not found
    windres: preprocessing failed.
    i686-w64-mingw32-gcc: error: rc.o: No such file or directory


  Commit: af7874f31e3078125611267a7c53d734df3604cc
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/af7874f31e3078125611267a7c53d734df3604cc
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.openssl

  Log Message:
  -----------
  openssl: be sure that correct environment is passed to configure

Without this hack, the resource compiler failed to pick the cross-compile
flavour.


  Commit: 3e79be392cc25f156d16254db984d1f41c74edff
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e79be392cc25f156d16254db984d1f41c74edff
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libssh2

  Log Message:
  -----------
  Force cross compilation of libssh2 for mingw target


  Commit: f84b82d342d7e1140c3ad88d6635e84163f2d5e9
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f84b82d342d7e1140c3ad88d6635e84163f2d5e9
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libgit2
    A build.win32x86/third-party/Toolchain-cross-mingw32-cygwin.cmake

  Log Message:
  -----------
  Craft a specific CMAKE_TOOLCHAIN for cross compiling libgit2 for mingw32 from cygwin


  Commit: d1cfbb237d0fa9ff1acbdea669a12a4b30d66916
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d1cfbb237d0fa9ff1acbdea669a12a4b30d66916
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libsdl2

  Log Message:
  -----------
  Have libsdl2 cross compile for mingw32 from cygwin

Temporarily --disable-render-d3d because it causes an error:
 error: static declaration of 'IID_IDXGIFactory2' follows non-static declaration  static const GUID IID_IDXGIFactory2

According to https://github.com/StephanTLavavej/mingw-distro/issues/10
this should be fixed by SDL-2.0.5


  Commit: 4e292f5733e2404ef8c928f145ac04b99eaffe40
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e292f5733e2404ef8c928f145ac04b99eaffe40
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libsdl2
    M third-party/libsdl2.spec

  Log Message:
  -----------
  SDL2: upgrade to 2.0.5 and restore enable-render-d3d option


  Commit: e351096e5da271cc7a389d98ab52b37a362783fd
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e351096e5da271cc7a389d98ab52b37a362783fd
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.zlib
    M third-party/zlib.spec

  Log Message:
  -----------
  Upgrade zlib to 1.2.11 and use correct prefix for cross compiling for mingw32 from cygwin


  Commit: 02518b3f1d3381b01506045cf8839b7ca13decfe
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/02518b3f1d3381b01506045cf8839b7ca13decfe
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libpng
    M third-party/libpng.spec.win

  Log Message:
  -----------
  Upgrade libpng to 1.6.28 and have it compiled for mingw32 from cygwin


  Commit: e21daea4368696f5c0716d9713599f515272d260
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e21daea4368696f5c0716d9713599f515272d260
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libpng

  Log Message:
  -----------
  libpng.pc is rceated as a symbolic link. Replace that with a copy.


  Commit: 3b88de8936989b8b6f413a413e7e8ceae50e844e
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3b88de8936989b8b6f413a413e7e8ceae50e844e
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.freetype2

  Log Message:
  -----------
  Tell freetype2 to cross compile for mingw32

Unfortunately, build with autotool fails from cygwin because apinames.exe fails with cygwin path:
could not open '/cygdrive/y/Smalltalk/opensmalltalk-vm/build.win32x86/pharo.cog.spur/build/third-party/freetype-2.6.5/include/freetype/ttnameid.h' for writing
See https://lists.nongnu.org/archive/html/freetype/2015-11/msg00034.html


  Commit: e81e1d912aad20413ad578806bfc7b137909bc58
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e81e1d912aad20413ad578806bfc7b137909bc58
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.freetype2
    M third-party/freetype2.spec

  Log Message:
  -----------
  Use cmake rather than autotools for compiling freetype2

This does workaround the apinames.exe problem not understanding cygwin path
Note that the generated DLL name generated by cmake does not have the -6, so reflect that in the spec.


  Commit: ba3ecee0c79251f0bdb602f661f3de41f4e52c7a
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ba3ecee0c79251f0bdb602f661f3de41f4e52c7a
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.freetype2

  Log Message:
  -----------
  cleanup: nuke unused THIRDPARTY_LDFLAGS from freetype2


  Commit: a3e4540cedfb78419b06c705a98545cfbd13b1d5
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a3e4540cedfb78419b06c705a98545cfbd13b1d5
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.pixman

  Log Message:
  -----------
  Let pixman cross-compile for mingw from cygwin


  Commit: 222f655dc5fc097721bf4e59704d8bdcf44c7285
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/222f655dc5fc097721bf4e59704d8bdcf44c7285
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.cairo

  Log Message:
  -----------
  Let cairo cross compile for mingw from cygwin


  Commit: f7d3c98eaa001d2d07c1f2b75cad00fa16f86a73
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f7d3c98eaa001d2d07c1f2b75cad00fa16f86a73
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.cairo

  Log Message:
  -----------
  cairo: remove _SSIZE_T_DEFINED hack that is now un-necessary


  Commit: 7a31b5115eb98f521adf424c619483dd703b5aaf
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a31b5115eb98f521adf424c619483dd703b5aaf
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M third-party/cairo.spec

  Log Message:
  -----------
  cairo: upgrade to 1.14.8

This does not solve the issue I have with cygwin build:
there are trailing lines generated at end of tests/cairo-test-constructors.c that make the compilation fail


  Commit: eee7663456f2825c1d78583f5cdf486443866ec4
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eee7663456f2825c1d78583f5cdf486443866ec4
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.cairo

  Log Message:
  -----------
  cairo: ugly patch to workaround not truncated file on cygwin

We remove the file if it exists before regenerating it
With this, the trailing lines generated at end of tests/cairo-test-constructors.c are gone


  Commit: 2fa25585a7db1944e78328001868a79b6b27de27
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2fa25585a7db1944e78328001868a79b6b27de27
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M platforms/win32/plugins/SqueakSSL/Makefile
    M platforms/win32/plugins/SqueakSSL/Makefile.plugin

  Log Message:
  -----------
  SqueakSSL: don't hardcode mingw library path we want to build thru cygwin cross-compile


  Commit: 38b7022611df2d07c22add42994cd71e42b8c975
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/38b7022611df2d07c22add42994cd71e42b8c975
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M build.win32x86/third-party/Makefile.libgcc

  Log Message:
  -----------
  copy iconv.dll and libwindpthread along with libgcc to pharo build directory

NOTA: maybe we can force linker option -static-libgcc in SDL2
by adding configuration option enable_shared_with_static_runtimes?


  Commit: ecbb2298f4045aaf9c77f28eb722c15310b40920
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ecbb2298f4045aaf9c77f28eb722c15310b40920
  Author: nicolas-cellier-aka-nice <[hidden email]>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M .appveyor.yml

  Log Message:
  -----------
  Add win32 pharo.cog.spur build to appveyor


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/721668e915f3^...ecbb2298f404