Commit Graph
27 Commits
Author SHA1 Message Date
Jean-Christophe Fillion-Robin 92b57f511d Makefile: Introduce IMAGES variable
To confirm that the Makefiles works as expected after this patch, the
list of executed commands before and after is compared:

Before:

```
make --dry-run > ../dockcross-make-baseline
make test --dry-run > ../dockcross-make-test-baseline
```

After:

```
make --dry-run > ../dockcross-make-current;
make test --dry-run > ../dockcross-make-test-current

for target in make make-test; do
  diff ../dockcross-$target-current ../dockcross-$target-baseline > /dev/null 2>&1
  [[ $? == 1 ]] && \
    echo "" && \
    echo "Error: Problem with '${target}' target: Dry-run output before and after this commit do not match."
done
```
2016-09-25 17:37:08 -04:00
Jean-Christophe Fillion-Robin af75453ed0 base/dockcross: Run docker with "-ti" only if a tty or pts is attached
This commit reverts f07ca00 (base: Do not add -i -t flags to run command
by default) and ensure tty is available before specifying the flags.
2016-09-23 11:33:29 -04:00
Jean-Christophe Fillion-Robin aa2c24cb3b base/dockcross: Run docker using -t to support CTRL-C 2016-09-22 23:34:08 -04:00
Jean-Christophe Fillion-Robin 995c9091e5 manylinux: Grant current user password less sudo access.
This will allow build script like "build-wheels.sh" to run command like
the following (see [1]):

  sudo yum install -y atlas-devel

It will also allow to pip install using sudo and avoid error reported in [3].

That said, instead of running pip using sudo, the recommended approach
is to specify the "--user" flag [2]

[1] https://github.com/pypa/python-manylinux-demo/blob/893d92517e9e289b9d2ee063f19c3216a39534ab/travis/build-wheels.sh

[2] http://stackoverflow.com/questions/7143077/how-can-i-install-packages-in-my-home-folder-with-pip#7143496

[3] Error reported when running pip without "sudo pip install <packagename" or "pip install --user <packagename>"
```
Exception:
Traceback (most recent call last):
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_set.py", line 736, in install
    requirement.uninstall(auto_confirm=True)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_install.py", line 742, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/opt/_internal/cpython-2.7.11-ucs2/bin/easy_install'
```
2016-09-22 19:21:24 -04:00
Jean-Christophe Fillion-Robin 4876f14356 base/cmake: Do not pass toolchain option when using incompatible cmake option
Also revert the changes to ccmake.sh, the restriction doesn't apply to it.

Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2016-09-21 21:11:33 -04:00
Jean-Christophe Fillion-Robin c05d52310a dockcross: Ensure running "update commands" exits script with correct status 2016-09-21 20:25:11 -04:00
Jean-Christophe Fillion-Robin ff2512b785 manylinux-x64: Set DOCKCROSS_PASS_CMAKE_TOOLCHAIN_FILE to 0
Fixes #36
2016-09-21 19:09:41 -04:00
Jean-Christophe Fillion-Robin c525ad106e cmake/ccmake: Provide a mechanism to disable passing of toolchain file
By default the toolchain file is always passed as an option to cmake/ccmake

It can be explicitly disabled setting the environment variable
DOCKCROSS_PASS_CMAKE_TOOLCHAIN_FILE to 0
2016-09-21 19:06:51 -04:00
Jean-Christophe Fillion-Robin 43e46710e6 dockcross: Add support for special update commands. Fixes #34 2016-09-21 16:31:09 -04:00
Jean-Christophe Fillion-Robin 1eac15c210 dockcross: Add warning regarding location of DEFAULT_DOCKCROSS_IMAGE 2016-09-21 16:29:00 -04:00
Jean-Christophe Fillion-Robin 3c25505f52 Makefile: Add test targets
This commits add test targets for all images, this will facilitate local
testing.

In addition to the usual targets:

  make android-arm
  make browser-asmjs
  [...]

the following targets are now available:

  make tests
  make android-arm.test
  make browser-asmjs.test
  [...]

Note that the target "all" has been renamed into "images"
2016-07-16 02:45:23 -04:00
Jean-Christophe Fillion-Robin a082610bf6 circle/linux-armv7: Fix test
This commit fixes a regression introduced in e8830e9
2016-07-16 02:35:17 -04:00
Jean-Christophe Fillion-Robin f02cc5632b circle/linux-arm64: Fix path emulator
This commit fixes a regression introduced in e76eb01
2016-07-16 02:35:17 -04:00
Jean-Christophe Fillion-Robin c237fc9925 Makefile: Add "default" target
This commit adds a target named "default" at the top of the Makefile. Since
make will build the first target by default, simply typing "make" will
build all images.

See http://stackoverflow.com/questions/27242905/makefile-all-vs-default-targets/27243940#27243940

Note: Since "darwin-x64" needs some work, it has been excluded from the
default list.
2016-07-16 01:19:37 -04:00
Jean-Christophe Fillion-Robin a3b7b03058 Makefile: Fix target linux-x64
There are no linux-x64/Toolchain.cmake file
2016-07-16 01:19:37 -04:00
Jean-Christophe Fillion-Robin 96f3514bf2 Dockerfiles: Rename working directory from "/build" to "/work"
Since the directory will contain both sources and build, this commit
generalizes its name.
2016-07-16 01:12:58 -04:00
Jean-Christophe Fillion-Robin 4248ac2766 linux-x86: Update README
This commit updates the README to mention linux-x86 is a cross-compiler
associated with a Toolchain file. See f57b97b (linux-x86: Add toolchain
file and install libc6 and stdc++6 32-bit libraries)
2016-04-19 01:12:35 -04:00
Jean-Christophe Fillion-Robin 2c81b4957f linux-ppc64le: Specify system processor and fix library finding.
This commit updates the toolchain to ensure libraries associated with
ppc64le can be found.

Since the libraries are all installed on the system and not in dedicated
root, FIND_ROOT_PATH should *not* be specified.
2016-04-18 23:37:20 -04:00
Jean-Christophe Fillion-Robin f07fe2e3b9 linux-armv7: Install "common" additional packages
These packages also mirror the one already available in the base images
for x86_64.
2016-04-16 16:43:13 -04:00
Jean-Christophe Fillion-Robin bf42ff14c8 linux-x86: Install "common" additional packages
These packages also mirror the one already available in the base images
for x86_64.
2016-04-16 16:43:13 -04:00
Jean-Christophe Fillion-Robin dc871beb50 linux-x86: Set emulator path using a "noop" script without argument.
This will fix issue where emulator is used doing:

  COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} /path/to/prog arg1 arg2

Prior to this commit, it wasn't working because the following command
was used:

  /bin/sh -c /path/to/prog arg1 arg2
2016-04-16 16:43:13 -04:00
Jean-Christophe Fillion-Robin 4ccd459994 linux-x86: Avoid CMake issue by not setting CMAKE_AR. It is automatically set.
It is automatically set in CMakeFindBinUtils.cmake using the value
of _CMAKE_TOOLCHAIN_PREFIX extracted from the compiler name within
CMakeDetermineCCompiler.cmake.

The CMake issue is #15448 - https://cmake.org/Bug/view.php?id=15448
2016-04-16 16:43:13 -04:00
Jean-Christophe Fillion-Robin 44dd51cbe8 linux-armv7: Specify system processor and fix library finding.
This commit updates the toolchain to ensure libraries associated with arm
can be found. While a new root path needed to be set for armv6, the
most recent armv7 toolchain doesn't require to explicitly set a new
root.
2016-04-15 03:40:58 -04:00
Jean-Christophe Fillion-Robin aec085ce9b linux-armv6: Specify system processor and add missing find root path.
The additional find root path will ensure libraries like libm and libutils
are found.
2016-04-15 03:30:59 -04:00
Jean-Christophe Fillion-Robin 7527b8e6e3 linux-x86: Tweak toolchain comment associated with CMAKE_IGNORE_PATH 2016-04-15 03:29:07 -04:00
Jean-Christophe Fillion-Robin db0ed0a625 test_driver: Add --debug option to avoid deleting the build directory
This is particularly useful when debugging Toolchain
2016-04-13 19:54:28 -04:00
Jean-Christophe Fillion-Robin f57b97b06b linux-x86: Add toolchain file and install libc6 and stdc++6 32-bit libraries 2016-04-13 19:54:28 -04:00