Commit 9eee4563 authored by Amir Mohammadi's avatar Amir Mohammadi
Browse files

Add toolchain

parent 3c6f2a68
Pipeline #6249 passed with stages
in 42 minutes and 54 seconds
......@@ -38,13 +38,10 @@ build-linux-64:
<<: *build_job
before_script:
- unset CFLAGS CXXFLAGS
- export PATH=/opt/miniconda/bin:/usr/local/bin:$PATH
- export LD_LIBRARY_PATH=/opt/miniconda/lib:/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH
- export LIBRARY_PATH=/opt/miniconda/lib:/usr/local/lib64:/usr/local/lib:$LIBRARY_PATH
- export INCLUDE=/opt/miniconda/include:$INCLUDE
- export CFLAGS="${CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
- export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
artifacts:
paths:
......@@ -62,17 +59,7 @@ build-osx-64:
before_script:
- rm -f ~/.condarc || true
- rm -f /opt/conda/.condarc || true
- unset CC CXX FC CFLAGS CXXFLAGS LIBRARY_PATH C_INCLUDE_PATH
- export PATH=/opt/conda/bin:$PATH
- export MACOSX_VERSION_MIN="10.7"
- export MACOSX_DEPLOYMENT_TARGET="${MACOSX_VERSION_MIN}"
- export CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_VERSION_MIN}"
- export CFLAGS="${CFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
- export CXXFLAGS="${CXXFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
- export LDFLAGS="${LDFLAGS} -headerpad_max_install_names"
- export LDFLAGS="${LDFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
- export CFLAGS="${CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
- export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
artifacts:
paths:
......
......@@ -43,8 +43,9 @@ set -ex
# bob.ip.flandmark \
# bob \
# vlfeat \
# olefile \
for pkg in \
olefile \
toolchain \
;
do
git clone git@github.com:conda-forge/${pkg}-feedstock.git recipes/${pkg}
......
......@@ -12,17 +12,10 @@ source:
build:
skip: true # [win]
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
requirements:
build:
- toolchain
- pkg-config
- libtool
- yasm
......
......@@ -11,18 +11,11 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
skip: True # [win]
requirements:
build:
- toolchain
- gcc 4.8.5
run:
......
......@@ -11,18 +11,11 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
skip: true # [win]
requirements:
build:
- toolchain
- gcc 4.8.5
run:
- libgcc >=4.8.5
......
......@@ -10,18 +10,11 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
skip: true # [win]
requirements:
build:
- toolchain
- hdf5 1.8.17|1.8.17.*
- zlib 1.2.8
- gcc 4.8.5
......
......@@ -15,14 +15,6 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
features:
- vc9 # [win and py27]
- vc10 # [win and py34]
......@@ -30,6 +22,7 @@ build:
requirements:
build:
- toolchain
- python # [win]
- gcc 4.8.5
......
......@@ -12,18 +12,11 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
script: python setup.py install
requirements:
build:
- toolchain
- python
run:
......
......@@ -11,19 +11,12 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
detect_binary_files_with_prefix: true
skip: true # [win]
requirements:
build:
- toolchain
- libpng 1.6.22
- zlib 1.2.8
- xz 5.2.2
......
#!/bin/bash
if [ "$(uname)" == "Darwin" ]
then
# for Mac OSX
export MACOSX_VERSION_MIN="10.7"
export MACOSX_DEPLOYMENT_TARGET="${MACOSX_VERSION_MIN}"
export CMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_VERSION_MIN}"
export CFLAGS="${CFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
export CXXFLAGS="${CXXFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
export LDFLAGS="${LDFLAGS} -headerpad_max_install_names"
export LDFLAGS="${LDFLAGS} -mmacosx-version-min=${MACOSX_VERSION_MIN}"
export LINKFLAGS="${LDFLAGS}"
# tell boost not to cxx11 refrenes
export CPPFLAGS="${CPPFLAGS} -DBOOST_NO_CXX11_RVALUE_REFERENCES"
elif [ "$(uname)" == "Linux" ]
then
# for Linux
export CC=gcc
export CXX=g++
export CFLAGS="${CFLAGS}"
# Boost wants to enable `float128` support on Linux by default.
# However, we don't install `libquadmath` so it will fail to find
# the needed headers and fail to compile things. Adding this flag
# tells Boost not to support `float128` and avoids this search
# process. As it has confused a few people. We have added it here.
# The idea to add this flag was inspired by this Boost ticked.
#
# https://svn.boost.org/trac/boost/ticket/9240
#
export CXXFLAGS="${CXXFLAGS} -DBOOST_MATH_DISABLE_FLOAT128"
export LDFLAGS="${LDFLAGS}"
export LINKFLAGS="${LDFLAGS}"
else
echo "This system is unsupported by the toolchain."
exit 1
fi
export CFLAGS="${CFLAGS} -m${ARCH}"
export CXXFLAGS="${CXXFLAGS} -m${ARCH}"
export CFLAGS="${CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
# This file was automatically generated by conda-smithy. To update a component of this
# file, make changes to conda-forge.yml and/or recipe/meta.yaml, and run
# "conda smithy rerender".
environment:
CONDA_INSTALL_LOCN: "C:\\conda"
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: "cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd"
# We set a default Python version for the miniconda that is to be installed. This can be
# overridden in the matrix definition where appropriate.
CONDA_PY: "27"
BINSTAR_TOKEN:
# The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml.
secure: MP4hZYylDyUWEsrt3u3cod2sbFeRwUziH02mvQOdbjsTO/l1yIxDkP/76rSIjcGC
matrix:
- TARGET_ARCH: x86
- TARGET_ARCH: x64
# We always use a 64-bit machine, but can build x86 distributions
# with the TARGET_ARCH variable.
platform:
- x64
install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
# Cywing's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.)
- cmd: rmdir C:\cygwin /s /q
- appveyor DownloadFile "https://raw.githubusercontent.com/pelson/Obvious-CI/master/bootstrap-obvious-ci-and-miniconda.py"
- cmd: python bootstrap-obvious-ci-and-miniconda.py %CONDA_INSTALL_LOCN% %TARGET_ARCH% %CONDA_PY:~0,1% --without-obvci
# Add a hack to switch to `conda` version `4.1.12` before activating.
# This is required to handle a long path activation issue.
# Please see PR ( https://github.com/conda/conda/pull/3349 ).
- cmd: set "OLDPATH=%PATH%"
- cmd: set "PATH=%CONDA_INSTALL_LOCN%\\Scripts;%CONDA_INSTALL_LOCN%\\Library\\bin;%PATH%"
- cmd: conda install --yes --quiet conda=4.1.12
- cmd: set "PATH=%OLDPATH%"
- cmd: set "OLDPATH="
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- cmd: set PYTHONUNBUFFERED=1
- cmd: conda config --set show_channel_urls true
- cmd: conda install -c pelson/channel/development --yes --quiet obvious-ci
- cmd: conda config --add channels conda-forge
- cmd: conda install -n root --quiet --yes conda-forge-build-setup
- cmd: run_conda_forge_build_setup
# Skip .NET project specific build phase.
build: off
test_script:
- "%CMD_IN_ENV% conda build recipe --quiet"
deploy_script:
- cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main
setlocal EnableDelayedExpansion
:: Copy the [de]activate scripts to %LIBRARY_PREFIX%\etc\conda\[de]activate.d.
:: This will allow them to be run on environment activation.
FOR %%F IN (activate deactivate) DO (
IF NOT EXIST %LIBRARY_PREFIX%\etc\conda\%%F.d MKDIR %LIBRARY_PREFIX%\etc\conda\%%F.d
COPY %RECIPE_DIR%/%%F.bat %LIBRARY_PREFIX%\etc\conda\%%F.d\toolchain_%%F.bat
)
#!/bin/bash
# Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
# This will allow them to be run on environment activation.
for CHANGE in "activate" "deactivate"
do
mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/toolchain_${CHANGE}.sh"
done
#!/bin/bash
if [ "$(uname)" == "Darwin" ];
then
# for Mac OSX
unset CC
unset CXX
unset MACOSX_VERSION_MIN
unset MACOSX_DEPLOYMENT_TARGET
unset CMAKE_OSX_DEPLOYMENT_TARGET
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset LINKFLAGS
elif [ "$(uname)" == "Linux" ]
then
# for Linux
unset CC
unset CXX
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset LINKFLAGS
else
echo "This system is unsupported by our toolchain."
exit 1
fi
package:
name: toolchain
version: 2.0.0
build:
number: 0
test:
commands:
# Verify the scripts are in-place.
{% for state in ["activate", "deactivate"] %}
- test -f "${PREFIX}/etc/conda/{{ state }}.d/toolchain_{{ state }}.sh" # [unix]
- if not exist %LIBRARY_PREFIX%\\etc\\conda\\{{ state }}.d\\toolchain_{{ state }}.bat exit 1 # [win]
{% endfor %}
about:
home: https://github.com/conda-forge/toolchain-feedstock
license: BSD 3-Clause
summary: A meta-package to enable the right toolchain.
extra:
recipe-maintainers:
- jakirkham
- msarahan
- patricksnape
- pelson
......@@ -17,14 +17,6 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
features:
- vc9 # [win and py27]
- vc10 # [win and py34]
......@@ -32,6 +24,7 @@ build:
requirements:
build:
- toolchain
- python # [win]
- gcc 4.8.5 # [osx]
......
......@@ -11,18 +11,11 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
skip: true # [win]
requirements:
build:
- toolchain
- yasm
- gcc 4.8.5 # [osx]
......
......@@ -16,17 +16,10 @@ source:
build:
number: 0
script_env:
- CC # [osx]
- CXX # [osx]
- FC # [osx]
- CFLAGS
- CXXFLAGS
- LIBRARY_PATH # [osx]
- C_INCLUDE_PATH # [osx]
requirements:
build:
- toolchain
- python # [unix]
- gcc 4.8.5 # [osx]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment