Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build for case-insensitive FS and add CI test for OSX #1951

Merged
merged 2 commits into from
Aug 23, 2019

Commits on Aug 22, 2019

  1. [python] Fix build for case-insensitive FS 🍎

    It turns out that the generated python binary for some builds are named `python.exe` instead of `python`. This depends on the File System where the build happens. It will be named `python.exe` when the FS is case-insensitive (Mac OSX and Cygwin), but it will be named `python` when the FS is case-sensitive (most GNU Linux distributions). The proposed solution consists in make a copy of the generated python binary with a given name (python3 or python2) so this way
    
    To achieve this goal we refactor a little our `HostPythonRecipe`:
      - add private property `HostPythonRecipe._exe_name` (the name of the python executable based on major version)
      - add public property `HostPythonRecipe.python_exe` (the full path of the python executable)
      - implement `HostPythonRecipe.should_build`
    
    And also it's affected the `GuestPythonRecipe`, because we need to use the generated python executable by `HostPythonRecipe`:
      - add private property `GuestPythonRecipe._libpython` (python's library name with extension...hardcoded for now...)
      - implement `GuestPythonRecipe.should_build`... to check the library instead of the executable so we avoid conflicts with case-insensitive FS
    
    We also need:
      - fix `PythonRecipe.real_hostpython_location` because the name of our host python executable will depend on major version
      - fix python2 interpreter (fix-interpreter-version.patch)
    
    Note: the variation of the name of the python's executable is mentioned at python's build docs (https://github.com/python/cpython/blob/3.7/README.rst#build-instructions)
    
    Note: @TheSin- , ¡¡¡thanks for your debugging sessions!!!
    opacam committed Aug 22, 2019
    Configuration menu
    Copy the full SHA
    50e3011 View commit details
    Browse the repository at this point in the history
  2. [ci] Add Mac OSX CI's test & refactor android's NDK/SDK installation

    To do so we:
      - create a makefile to install the necessary dependencies for Mac OS X: `ci/makefiles/osx.mk`
      - create a makefile to install android's SDK/NDK: `ci/makefiles/android.mk`
      - refactor docker files: make use of android's makefile
      - change OS, from `linux` to `osx`, for CI test `Python 3 armeabi-v7a`, so we don't increase the overall build time and jobs
      - rename the `Python 2` test to `Python 2 armeabi-v7a (with numpy)` to reflect the build arch and numpy's build.
    opacam committed Aug 22, 2019
    Configuration menu
    Copy the full SHA
    5a4484b View commit details
    Browse the repository at this point in the history