From 4316bd35089a07307fe6b7acd8f378452661b179 Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Tue, 23 Jun 2020 12:34:46 +0000 Subject: [PATCH 01/78] MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.3, and conda-forge-pinning 2020.06.23.06.07.46 --- .azure-pipelines/azure-pipelines-linux.yml | 27 +++---- .azure-pipelines/azure-pipelines-osx.yml | 79 ++++--------------- .azure-pipelines/azure-pipelines-win.yml | 60 +++++++------- ....yaml => linux_python3.6.____cpython.yaml} | 4 +- ....yaml => linux_python3.7.____cpython.yaml} | 4 +- .ci_support/linux_python3.7.yaml | 32 -------- .ci_support/osx_python2.7.yaml | 16 ---- ....6.yaml => osx_python3.6.____cpython.yaml} | 2 +- ....7.yaml => osx_python3.7.____cpython.yaml} | 2 +- ...14.yaml => win_python3.6.____cpython.yaml} | 9 +-- ...14.yaml => win_python3.7.____cpython.yaml} | 9 +-- .gitattributes | 11 ++- .github/CODEOWNERS | 2 +- {.azure-pipelines => .scripts}/build_steps.sh | 5 +- .../run_docker_build.sh | 8 +- .scripts/run_osx_build.sh | 56 +++++++++++++ README.md | 43 ++++------ build-locally.py | 15 ++-- 18 files changed, 165 insertions(+), 219 deletions(-) rename .ci_support/{linux_python2.7.yaml => linux_python3.6.____cpython.yaml} (94%) rename .ci_support/{linux_python3.6.yaml => linux_python3.7.____cpython.yaml} (94%) delete mode 100644 .ci_support/linux_python3.7.yaml delete mode 100644 .ci_support/osx_python2.7.yaml rename .ci_support/{osx_python3.6.yaml => osx_python3.6.____cpython.yaml} (93%) rename .ci_support/{osx_python3.7.yaml => osx_python3.7.____cpython.yaml} (93%) rename .ci_support/{win_python3.7vc14.yaml => win_python3.6.____cpython.yaml} (68%) rename .ci_support/{win_python3.6vc14.yaml => win_python3.7.____cpython.yaml} (68%) rename {.azure-pipelines => .scripts}/build_steps.sh (82%) rename {.azure-pipelines => .scripts}/run_docker_build.sh (89%) create mode 100755 .scripts/run_osx_build.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index d7535a10..ae06597d 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -6,22 +6,19 @@ jobs: - job: linux pool: vmImage: ubuntu-16.04 - timeoutInMinutes: 360 strategy: - maxParallel: 8 matrix: - linux_python2.7: - CONFIG: linux_python2.7 - UPLOAD_PACKAGES: True - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.6: - CONFIG: linux_python3.6 - UPLOAD_PACKAGES: True + linux_python3.6.____cpython: + CONFIG: linux_python3.6.____cpython + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7: - CONFIG: linux_python3.7 - UPLOAD_PACKAGES: True + linux_python3.7.____cpython: + CONFIG: linux_python3.7.____cpython + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 + maxParallel: 8 + timeoutInMinutes: 360 + steps: # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static @@ -34,7 +31,9 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - .azure-pipelines/run_docker_build.sh + .scripts/run_docker_build.sh displayName: Run docker build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 15f3ff21..d5376115 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,78 +5,27 @@ jobs: - job: osx pool: - vmImage: macOS-10.13 - timeoutInMinutes: 360 + vmImage: macOS-10.14 strategy: - maxParallel: 8 matrix: - osx_python2.7: - CONFIG: osx_python2.7 - UPLOAD_PACKAGES: True - osx_python3.6: - CONFIG: osx_python3.6 - UPLOAD_PACKAGES: True - osx_python3.7: - CONFIG: osx_python3.7 - UPLOAD_PACKAGES: True + osx_python3.6.____cpython: + CONFIG: osx_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + osx_python3.7.____cpython: + CONFIG: osx_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + maxParallel: 8 + timeoutInMinutes: 360 steps: # TODO: Fast finish on azure pipelines? - script: | - echo "Fast Finish" - - - - script: | - echo "Removing homebrew from Azure to avoid conflicts." - curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew - chmod +x ~/uninstall_homebrew - ~/uninstall_homebrew -fq - rm ~/uninstall_homebrew - displayName: Remove homebrew - - - bash: | - echo "##vso[task.prependpath]$CONDA/bin" - sudo chown -R $USER $CONDA - displayName: Add conda to PATH - - - script: | - source activate base - conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - displayName: 'Add conda-forge-ci-setup=2' - - - script: | - source activate base - echo "Configuring conda." - - setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml export CI=azure - source run_conda_forge_build_setup - conda update --yes --quiet --override-channels -c conda-forge -c defaults --all - env: { - OSX_FORCE_SDK_DOWNLOAD: "1" - } - displayName: Configure conda and conda-build - - - script: | - source activate base - mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Mangle compiler - - - script: | - source activate base - make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Generate build number clobber file - - - script: | - source activate base - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - displayName: Build recipe - - - script: | - source activate base + export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Upload recipe + ./.scripts/run_osx_build.sh + displayName: Run OSX build env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) \ No newline at end of file + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 84097bfa..7fc64330 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -6,24 +6,20 @@ jobs: - job: win pool: vmImage: vs2017-win2016 - timeoutInMinutes: 360 strategy: - maxParallel: 4 matrix: - win_python3.6vc14: - CONFIG: win_python3.6vc14 - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - win_python3.7vc14: - CONFIG: win_python3.7vc14 - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - steps: - # TODO: Fast finish on azure pipelines? - - script: | - ECHO ON - + win_python3.6.____cpython: + CONFIG: win_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + win_python3.7.____cpython: + CONFIG: win_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + maxParallel: 4 + timeoutInMinutes: 360 + variables: + CONDA_BLD_PATH: D:\\bld\\ + steps: - script: | choco install vcpython27 -fdv -y --debug condition: contains(variables['CONFIG'], 'vs2008') @@ -60,31 +56,32 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=2' # Optional + packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional installOptions: "-c conda-forge" - updateConda: false + updateConda: true displayName: Install conda-build and activate environment - script: set PYTHONUNBUFFERED=1 + displayName: Set PYTHONUNBUFFERED # Configure the VM - - script: setup_conda_rc .\ .\recipe .\.ci_support\%CONFIG%.yaml + - script: | + call activate base + setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml + displayName: conda-forge CI setup # Configure the VM. - script: | set "CI=azure" + call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - script: | - rmdir C:\strawberry /s /q - continueOnError: true - displayName: remove strawberryperl - # Special cased version setting some more things! - script: | - conda.exe build recipe -m .ci_support\%CONFIG%.yaml + call activate base + conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml displayName: Build recipe (vs2008) env: VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" @@ -92,15 +89,24 @@ jobs: condition: contains(variables['CONFIG'], 'vs2008') - script: | - conda.exe build recipe -m .ci_support\%CONFIG%.yaml + call activate base + conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml displayName: Build recipe env: PYTHONUNBUFFERED: 1 condition: not(contains(variables['CONFIG'], 'vs2008')) + - script: | + call activate base + validate_recipe_outputs "tensorflow-feedstock" + displayName: Validate Recipe Outputs - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - upload_package .\ .\recipe .ci_support\%CONFIG%.yaml + call activate base + upload_package --validate --feedstock-name="tensorflow-feedstock" .\ ".\recipe" .ci_support\%CONFIG%.yaml + displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.ci_support/linux_python2.7.yaml b/.ci_support/linux_python3.6.____cpython.yaml similarity index 94% rename from .ci_support/linux_python2.7.yaml rename to .ci_support/linux_python3.6.____cpython.yaml index 44b0f4f7..2a50bff8 100644 --- a/.ci_support/linux_python2.7.yaml +++ b/.ci_support/linux_python3.6.____cpython.yaml @@ -13,7 +13,7 @@ cxx_compiler_version: docker_image: - condaforge/linux-anvil-comp7 libcurl: -- '7.64' +- '7' libpng: - '1.6' pin_run_as_build: @@ -27,6 +27,6 @@ pin_run_as_build: zlib: max_pin: x.x python: -- '2.7' +- 3.6.* *_cpython zlib: - '1.2' diff --git a/.ci_support/linux_python3.6.yaml b/.ci_support/linux_python3.7.____cpython.yaml similarity index 94% rename from .ci_support/linux_python3.6.yaml rename to .ci_support/linux_python3.7.____cpython.yaml index c638bdee..e3cb045e 100644 --- a/.ci_support/linux_python3.6.yaml +++ b/.ci_support/linux_python3.7.____cpython.yaml @@ -13,7 +13,7 @@ cxx_compiler_version: docker_image: - condaforge/linux-anvil-comp7 libcurl: -- '7.64' +- '7' libpng: - '1.6' pin_run_as_build: @@ -27,6 +27,6 @@ pin_run_as_build: zlib: max_pin: x.x python: -- '3.6' +- 3.7.* *_cpython zlib: - '1.2' diff --git a/.ci_support/linux_python3.7.yaml b/.ci_support/linux_python3.7.yaml deleted file mode 100644 index 16e31856..00000000 --- a/.ci_support/linux_python3.7.yaml +++ /dev/null @@ -1,32 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '5.4' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '5.4' -docker_image: -- condaforge/linux-anvil-comp7 -libcurl: -- '7.64' -libpng: -- '1.6' -pin_run_as_build: - libcurl: - max_pin: x - libpng: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x - zlib: - max_pin: x.x -python: -- '3.7' -zlib: -- '1.2' diff --git a/.ci_support/osx_python2.7.yaml b/.ci_support/osx_python2.7.yaml deleted file mode 100644 index 3af243b3..00000000 --- a/.ci_support/osx_python2.7.yaml +++ /dev/null @@ -1,16 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -macos_machine: -- x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- '2.7' diff --git a/.ci_support/osx_python3.6.yaml b/.ci_support/osx_python3.6.____cpython.yaml similarity index 93% rename from .ci_support/osx_python3.6.yaml rename to .ci_support/osx_python3.6.____cpython.yaml index 13a96819..79a1eaea 100644 --- a/.ci_support/osx_python3.6.yaml +++ b/.ci_support/osx_python3.6.____cpython.yaml @@ -13,4 +13,4 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.6' +- 3.6.* *_cpython diff --git a/.ci_support/osx_python3.7.yaml b/.ci_support/osx_python3.7.____cpython.yaml similarity index 93% rename from .ci_support/osx_python3.7.yaml rename to .ci_support/osx_python3.7.____cpython.yaml index 91ac285c..b8ea8577 100644 --- a/.ci_support/osx_python3.7.yaml +++ b/.ci_support/osx_python3.7.____cpython.yaml @@ -13,4 +13,4 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.7' +- 3.7.* *_cpython diff --git a/.ci_support/win_python3.7vc14.yaml b/.ci_support/win_python3.6.____cpython.yaml similarity index 68% rename from .ci_support/win_python3.7vc14.yaml rename to .ci_support/win_python3.6.____cpython.yaml index 5e318b39..2f96e5b7 100644 --- a/.ci_support/win_python3.7vc14.yaml +++ b/.ci_support/win_python3.6.____cpython.yaml @@ -6,12 +6,5 @@ pin_run_as_build: python: min_pin: x.x max_pin: x.x - vc: - max_pin: x python: -- '3.7' -vc: -- '14' -zip_keys: -- - python - - vc +- 3.6.* *_cpython diff --git a/.ci_support/win_python3.6vc14.yaml b/.ci_support/win_python3.7.____cpython.yaml similarity index 68% rename from .ci_support/win_python3.6vc14.yaml rename to .ci_support/win_python3.7.____cpython.yaml index f5330709..ddc04bf0 100644 --- a/.ci_support/win_python3.6vc14.yaml +++ b/.ci_support/win_python3.7.____cpython.yaml @@ -6,12 +6,5 @@ pin_run_as_build: python: min_pin: x.x max_pin: x.x - vc: - max_pin: x python: -- '3.6' -vc: -- '14' -zip_keys: -- - python - - vc +- 3.7.* *_cpython diff --git a/.gitattributes b/.gitattributes index e7c7437e..9060b272 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,14 +9,17 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.drone/* linguist-generated=true +.drone.yml linguist-generated=true .github/* linguist-generated=true .travis/* linguist-generated=true -.appveyor.yml linguist-generated=true -.gitattributes linguist-generated=true +.appveyor.yml linguist-generated=true +.gitattributes linguist-generated=true .gitignore linguist-generated=true .travis.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +.scripts/* linguist-generated=true +LICENSE.txt linguist-generated=true +README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 477c0d9a..f8949f19 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @dougalsutherland @farhantejani @ghego @gilbertfrancois @hajapy @jjhelmus @njzjz @waitingkuo \ No newline at end of file +* @farhantejani @ghego @gilbertfrancois @hajapy @jschueller @njzjz @waitingkuo \ No newline at end of file diff --git a/.azure-pipelines/build_steps.sh b/.scripts/build_steps.sh similarity index 82% rename from .azure-pipelines/build_steps.sh rename to .scripts/build_steps.sh index 8a4af44f..09266df6 100755 --- a/.azure-pipelines/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,7 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=2 conda-build -c conda-forge +conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -31,9 +31,10 @@ make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" +validate_recipe_outputs "tensorflow-feedstock" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + upload_package --validate --feedstock-name="tensorflow-feedstock" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.azure-pipelines/run_docker_build.sh b/.scripts/run_docker_build.sh similarity index 89% rename from .azure-pipelines/run_docker_build.sh rename to .scripts/run_docker_build.sh index 066a8575..360fc69c 100755 --- a/.azure-pipelines/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -52,13 +52,15 @@ mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it " + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ -e CONFIG \ -e BINSTAR_TOKEN \ @@ -67,6 +69,8 @@ docker run ${DOCKER_RUN_ARGS} \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ $DOCKER_IMAGE \ bash \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh new file mode 100755 index 00000000..06efb843 --- /dev/null +++ b/.scripts/run_osx_build.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +set -x + +echo -e "\n\nInstalling a fresh version of Miniforge." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:install_miniforge\\r' +fi +MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" +MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +bash $MINIFORGE_FILE -b +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:install_miniforge\\r' +fi + +echo -e "\n\nConfiguring conda." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:configure_conda\\r' +fi + +source ${HOME}/miniforge3/etc/profile.d/conda.sh +conda activate base + +echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." +conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip + + + +echo -e "\n\nSetting up the condarc and mangling the compiler." +setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml +mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml + +echo -e "\n\nMangling homebrew in the CI to avoid conflicts." +/usr/bin/sudo mangle_homebrew +/usr/bin/sudo -k + +echo -e "\n\nRunning the build setup script." +source run_conda_forge_build_setup + + +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:configure_conda\\r' +fi + +set -e + +echo -e "\n\nMaking the build clobber file and running the build." +make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml +validate_recipe_outputs "tensorflow-feedstock" + +if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + echo -e "\n\nUploading the packages." + upload_package --validate --feedstock-name="tensorflow-feedstock" ./ ./recipe ./.ci_support/${CONFIG}.yaml +fi \ No newline at end of file diff --git a/README.md b/README.md index 44df2101..225746f2 100644 --- a/README.md +++ b/README.md @@ -32,59 +32,45 @@ Current build status - + - + - + - + - + - + - - - - - - @@ -147,7 +133,7 @@ A feedstock is made up of a conda recipe (the instructions on what and how to bu the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.org/) it is possible to build and upload installable +and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the [conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. @@ -196,12 +182,11 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== -* [@dougalsutherland](https://github.com/dougalsutherland/) * [@farhantejani](https://github.com/farhantejani/) * [@ghego](https://github.com/ghego/) * [@gilbertfrancois](https://github.com/gilbertfrancois/) * [@hajapy](https://github.com/hajapy/) -* [@jjhelmus](https://github.com/jjhelmus/) +* [@jschueller](https://github.com/jschueller/) * [@njzjz](https://github.com/njzjz/) * [@waitingkuo](https://github.com/waitingkuo/) diff --git a/build-locally.py b/build-locally.py index 51d6a6e5..8f7ecca4 100755 --- a/build-locally.py +++ b/build-locally.py @@ -15,11 +15,14 @@ def setup_environment(ns): def run_docker_build(ns): - script = glob.glob(".*/run_docker_build.sh")[0] - subprocess.check_call(script) + script = ".scripts/run_docker_build.sh" + subprocess.check_call([script]) + def verify_config(ns): - valid_configs = {os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml")} + valid_configs = { + os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") + } print(f"valid configs are {valid_configs}") if ns.config in valid_configs: print("Using " + ns.config + " configuration") @@ -39,8 +42,10 @@ def verify_config(ns): else: raise ValueError("config " + ns.config + " is not valid") # Remove the following, as implemented - if not ns.config.startswith('linux'): - raise ValueError(f"only Linux configs currently supported, got {ns.config}") + if not ns.config.startswith("linux"): + raise ValueError( + f"only Linux configs currently supported, got {ns.config}" + ) def main(args=None): From 9460660d7b97df27553d34d7e412a30a253e3d69 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 23 Jun 2020 14:32:00 +0200 Subject: [PATCH 02/78] Update to 2.2.0 --- recipe/build.sh | 24 ++++++++++-------- recipe/meta.yaml | 65 ++++++++++++++++++++++-------------------------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 560182e6..e15ec70d 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -16,15 +16,6 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include -export TF_SYSTEM_LIBS="llvm,zlib_archive,curl,nsync" - -# do not build with MKL support -export TF_NEED_MKL=0 -export BAZEL_MKL_OPT="" - -mkdir -p ./bazel_output_base -export BAZEL_OPTS="--batch " - # do not build with MKL support export TF_NEED_MKL=0 export BAZEL_MKL_OPT="" @@ -86,11 +77,24 @@ else --linkopt=-lrt --verbose_failures ${BAZEL_MKL_OPT} - --config=opt" + --config=opt + --jobs=${CPU_COUNT}" export TF_ENABLE_XLA=1 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" fi +# TODO: publish 2.0 branch in bazel-feedstock +export BAZEL_VERSION=2.0.0 +export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" +mkdir bazel_local +cd bazel_local +curl -sSOL https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip +unzip bazel-${BAZEL_VERSION}-dist.zip +./compile.sh +cd .. +export PATH="$PWD/bazel_local/output:$PATH" +bazel version + # Python settings export PYTHON_BIN_PATH=${PYTHON} export PYTHON_LIB_PATH=${SP_DIR} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index efffe810..5cb60374 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.13.2" %} +{% set version = "2.2.0" %} {% set pyver = "cp{}{}".format(PY_VER[0], PY_VER[2]) %} {% set platform = "macosx_10_11_x86_64" %} # [osx] @@ -13,42 +13,42 @@ package: source: fn: {{ fn }} url: https://github.com/tensorflow/tensorflow/archive/v{{ version }}.tar.gz # [linux] - sha256: abe3bf0c47845a628b7df4c57646f41a10ee70f914f1b018a5c761be75e1f1a9 # [linux] + sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 # [linux] url: https://pypi.io/packages/{{ pyver }}/t/tensorflow/{{ fn }} # [not linux] - sha256: ffff3545f0ade3c1d2919dfb8c9399a923d929d221e349fcd4ae5f69774996e1 # [osx and py==27] - sha256: 8e02c7fab31a02396cd926412762f8fd9cae3cb653be3c57797b85a95834be79 # [osx and py==36] - sha256: ef1566863acdfb84924e8bbfcafc8da90933ba4313f094a74086b083c7a4f776 # [osx and py==37] - sha256: 1e6ab2b4e2ece7747b787a5e85d01aeb8b47677fa15453417a485cde904635f7 # [win and py==36] - sha256: 0beda4bf6a5af64905b93988e3b878e91b13e44b42d16df439fbd3112062754d # [win and py==37] + sha256: 6735486ee9c3cb0807476e2b36ef7a4cd6c597cb24abf496e66b703360e1e54e # [osx and py==36] + sha256: c332c7fc5cfd54cb86d5da99787c9693e3a924848097c54df1b71ee595a39c93 # [osx and py==37] + sha256: bbcfb04738099bd46822db91584db74703fdddacf4cd0a76acfc5e086956b5ba # [osx and py==38] + sha256: 3ee8819732d8594913b7d22ded7b22e48a49aa015050d8dd8464eaa010ba2e41 # [win and py==36] + sha256: 68ea22aee9c269a6a0c1061c141f1ec1cd1b1be7569390519c1bf4773f434a40 # [win and py==37] + sha256: 784ab8217e4b0eb4d121c28430c6cdc2ce56c02634a9720d84fb30598b338b8c # [win and py==38] patches: - - patches/0001-add-rt-to-linkopts.patch # [linux] - - patches/0002-stable-image-rotate-test.patch # [linux] - - patches/0003-relax-tolerence-in-special_math_test.patch # [linux] - - patches/0004-skip-read-only-debugger_cli_common-test.patch # [linux] - - patches/0005-fix-lookup_ops-test.patch # [linux] - - patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] + #- patches/0001-add-rt-to-linkopts.patch # [linux] + #- patches/0002-stable-image-rotate-test.patch # [linux] + #- patches/0003-relax-tolerence-in-special_math_test.patch # [linux] + #- patches/0004-skip-read-only-debugger_cli_common-test.patch # [linux] + #- patches/0005-fix-lookup_ops-test.patch # [linux] + #- patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] #- patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch # [osx] #- patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch # [osx] - - patches/unbundle_llvm.patch # [linux] + #- patches/unbundle_llvm.patch # [linux] build: number: 0 skip: True # [not x86_64] - skip: True # [win and vc<14] requirements: build: - {{ compiler('c') }} # [linux] - {{ compiler('cxx') }} # [linux] - - bazel >=0.19.0,<=0.21.0 # [linux] + #- bazel ==2.0.0 # [linux] - nasm # [linux] + - swig # [linux] host: # conda build requirements - python - pip - - setuptools <=39.1.0 - - swig # [linux] + #- setuptools <=39.1.0 # requirements specified by the package itself - absl-py >=0.1.6 - astor >=0.6.0 @@ -59,17 +59,17 @@ requirements: - zlib # [linux] - libpng # [linux] - libcurl # [linux] + - unzip # [linux] + - zip # [linux] + - openjdk >=8 # [linux] - nsync # [linux] - - numpy 1.16.1 + - numpy >=1.16.1 - six >=1.10.0 - protobuf >=3.6.1 - termcolor >=1.1.0 - grpcio >=1.8.6 - wheel >=0.26 # [linux] - - mock >=2.0.0 # [py==27] - - backports.weakref >=1.0rc1 # [py==27] - - enum34 >=1.1.6 # [py==27] - - tensorflow-estimator >=1.13.0,<1.14.0a0 + - tensorflow-estimator >=2.2.0,<2.3.0a0 run: - {{ pin_subpackage('tensorflow-base', exact=True) }} @@ -96,23 +96,19 @@ outputs: # conda build requirements - python - pip - - setuptools <=39.1.0 # requirements specified by the package itself - absl-py >=0.1.6 - astor >=0.6.0 - gast >=0.2.0 - keras-applications >=1.0.6 - keras-preprocessing >=1.0.5 - - numpy 1.16.1 + - numpy >=1.16.1 - six >=1.10.0 - protobuf >=3.6.1 - termcolor >=1.1.0 - grpcio >=1.8.6 - wheel >=0.26 # [unix] - - mock >=2.0.0 # [py==27] - - backports.weakref >=1.0rc1 # [py==27] - - enum34 >=1.1.6 # [py==27] - - tensorflow-estimator >=1.13.0,<1.14.0a0 + - tensorflow-estimator >=2.2.0,<2.3.0a0 # pin - zlib # [linux] - libpng # [linux] @@ -121,6 +117,7 @@ outputs: - python - absl-py >=0.1.6 - astor >=0.6.0 + - astunparse - gast >=0.2.0 - keras-applications >=1.0.6 - keras-preprocessing >=1.0.5 @@ -133,11 +130,8 @@ outputs: - protobuf >=3.6.1 - termcolor >=1.1.0 - grpcio >=1.8.6 - - mock >=2.0.0 # [py==27] - - backports.weakref >=1.0rc1 # [py==27] - - enum34 >=1.1.6 # [py==27] - - tensorflow-estimator >=1.13.0,<1.14.0a0 - - tensorboard >=1.13.0,<1.14.0a0 + - tensorflow-estimator >=2.2.0,<2.3.0a0 + - tensorboard >=2.2.0,<2.3.0a0 test: imports: - tensorflow @@ -198,7 +192,7 @@ outputs: about: home: http://tensorflow.org/ - license: Apache 2.0 + license: Apache-2.0 license_file: LICENSE license_family: Apache summary: TensorFlow is an open source machine learning framework for everyone. @@ -218,3 +212,4 @@ extra: - gilbertfrancois - farhantejani - njzjz + - jschueller From bd05923f73e23cc39ab585aa95c635eae51a9a33 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 23 Jun 2020 16:34:58 +0200 Subject: [PATCH 03/78] deps --- recipe/build.sh | 3 +-- recipe/meta.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index e15ec70d..31ac72bf 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -77,8 +77,7 @@ else --linkopt=-lrt --verbose_failures ${BAZEL_MKL_OPT} - --config=opt - --jobs=${CPU_COUNT}" + --config=opt" export TF_ENABLE_XLA=1 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" fi diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5cb60374..ad5e0459 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -99,8 +99,10 @@ outputs: # requirements specified by the package itself - absl-py >=0.1.6 - astor >=0.6.0 + - astunparse - gast >=0.2.0 - - keras-applications >=1.0.6 + - google-pasta + - h5py - keras-preprocessing >=1.0.5 - numpy >=1.16.1 - six >=1.10.0 @@ -109,24 +111,22 @@ outputs: - grpcio >=1.8.6 - wheel >=0.26 # [unix] - tensorflow-estimator >=2.2.0,<2.3.0a0 - # pin - - zlib # [linux] - - libpng # [linux] - - libcurl # [linux] + - zlib # [linux] + - libpng # [linux] + - libcurl # [linux] run: - python - absl-py >=0.1.6 - astor >=0.6.0 - astunparse - gast >=0.2.0 - - keras-applications >=1.0.6 + - google-pasta + - h5py + - opt_einsum - keras-preprocessing >=1.0.5 - - {{ pin_compatible('numpy') }} # [linux] - - numpy >=1.16.1 # [not linux] + - {{ pin_compatible('numpy') }} + - scipy - six >=1.10.0 - - zlib # [linux] - - libpng # [linux] - - libcurl # [linux] - protobuf >=3.6.1 - termcolor >=1.1.0 - grpcio >=1.8.6 From dfba61f2b8e5d195f057be0520c47f7b8157c9b0 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 23 Jun 2020 16:43:32 +0200 Subject: [PATCH 04/78] Remove build_pkg scripts --- recipe/{build_pkg.bat => bld.bat} | 0 recipe/build.sh | 17 +++++++++++++---- recipe/build_pkg.sh | 5 ----- recipe/build_pkg_osx.sh | 5 ----- recipe/meta.yaml | 3 --- 5 files changed, 13 insertions(+), 17 deletions(-) rename recipe/{build_pkg.bat => bld.bat} (100%) delete mode 100644 recipe/build_pkg.sh delete mode 100644 recipe/build_pkg_osx.sh diff --git a/recipe/build_pkg.bat b/recipe/bld.bat similarity index 100% rename from recipe/build_pkg.bat rename to recipe/bld.bat diff --git a/recipe/build.sh b/recipe/build.sh index 31ac72bf..3b1c3efe 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -2,12 +2,17 @@ set -ex -if [[ "$target_platform" == linux* ]]; then -# revert osx - if [[ "$target_platform" == "osx-64" ]]; then export CC=clang export CXX=clang++ + + # install the whl using pip + pip install --no-deps *.whl + + # The tensorboard package has the proper entrypoint + rm -f ${PREFIX}/bin/tensorboard + + exit 0 fi export PATH="$PWD:$PATH" @@ -118,4 +123,8 @@ bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} mkdir -p $SRC_DIR/tensorflow_pkg bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg -fi +# install the whl using pip +pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl + +# The tensorboard package has the proper entrypoint +rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/build_pkg.sh b/recipe/build_pkg.sh deleted file mode 100644 index 893a9792..00000000 --- a/recipe/build_pkg.sh +++ /dev/null @@ -1,5 +0,0 @@ -# install the whl using pip -pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl - -# The tensorboard package has the proper entrypoint -rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/build_pkg_osx.sh b/recipe/build_pkg_osx.sh deleted file mode 100644 index 26dd3c4b..00000000 --- a/recipe/build_pkg_osx.sh +++ /dev/null @@ -1,5 +0,0 @@ -# install the whl using pip -pip install --no-deps *.whl - -# The tensorboard package has the proper entrypoint -rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ad5e0459..5cf8919f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -75,9 +75,6 @@ requirements: outputs: - name: tensorflow-base - script: build_pkg.sh # [linux] - script: build_pkg_osx.sh # [osx] - script: build_pkg.bat # [win] build: entry_points: - freeze_graph = tensorflow.python.tools.freeze_graph:run_main From 6c2d236b93459b4edd6fad05188b700d5c6e8e00 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 23 Jun 2020 17:18:39 +0200 Subject: [PATCH 05/78] cleanuos --- recipe/build.sh | 24 +++++------------------- recipe/meta.yaml | 2 +- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 3b1c3efe..cde1a8eb 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -3,14 +3,11 @@ set -ex if [[ "$target_platform" == "osx-64" ]]; then - export CC=clang - export CXX=clang++ - # install the whl using pip pip install --no-deps *.whl # The tensorboard package has the proper entrypoint - rm -f ${PREFIX}/bin/tensorboard +# rm -f ${PREFIX}/bin/tensorboard exit 0 fi @@ -26,18 +23,7 @@ export TF_NEED_MKL=0 export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base -export BAZEL_OPTS="--batch " - -echo "#!/bin/bash" > compiler-wrapper -echo "export C_INCLUDE_PATH=$PREFIX/include" >> compiler-wrapper -echo "export CPLUS_INCLUDE_PATH=$PREFIX/include" >> compiler-wrapper -echo "export CONDA_BUILD_SYSROOT=$CONDA_BUILD_SYSROOT" >> compiler-wrapper -echo "export MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET" >> compiler-wrapper -chmod +x "compiler-wrapper" -cp compiler-wrapper $CC -cp compiler-wrapper $CXX -echo "exec $BUILD_PREFIX/bin/$CC -L$PREFIX/lib \"\$@\" -Wno-unused-command-line-argument" >> $CC -echo "exec $BUILD_PREFIX/bin/$CXX -L$PREFIX/lib \"\$@\" -Wno-unused-command-line-argument" >> $CXX +export BAZEL_OPTS="" if [[ "$target_platform" == "osx-64" ]]; then # set up bazel config file for conda provided clang toolchain @@ -65,7 +51,8 @@ else # the following arguments are useful for debugging # --logging=6 # --subcommands - + # jobs can be used to limit parallel builds and reduce resource needs + # --jobs=20 # Set compiler and linker flags as bazel does not account for CFLAGS, # CXXFLAGS and LDFLAGS. BUILD_OPTS=" @@ -79,7 +66,6 @@ else --cxxopt=-fmessage-length=0 --linkopt=-zrelro --linkopt=-znow - --linkopt=-lrt --verbose_failures ${BAZEL_MKL_OPT} --config=opt" @@ -127,4 +113,4 @@ bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl # The tensorboard package has the proper entrypoint -rm -f ${PREFIX}/bin/tensorboard +# rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5cf8919f..a8929ccc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -83,7 +83,7 @@ outputs: - toco = tensorflow.lite.python.tflite_convert:main - saved_model_cli = tensorflow.python.tools.saved_model_cli:main - tf_upgrade_v2 = tensorflow.tools.compatibility.tf_upgrade_v2_main:main - - tensorboard = tensorboard.main:run_main + #- tensorboard = tensorboard.main:run_main requirements: # build requirements needs to pick up the compiler run_exports build: From 393fdfbca54f3292608b96359ce9d4e4f0e9825b Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Tue, 23 Jun 2020 17:30:17 +0200 Subject: [PATCH 06/78] entrypoints --- recipe/build.sh | 6 ++++-- recipe/meta.yaml | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index cde1a8eb..2845da69 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -92,10 +92,12 @@ export USE_DEFAULT_PYTHON_LIB_PATH=1 # additional settings export CC_OPT_FLAGS="-march=nocona -mtune=haswell" -export TF_NEED_IGNITE=1 export TF_NEED_OPENCL=0 export TF_NEED_OPENCL_SYCL=0 +export TF_NEED_COMPUTECPP=0 export TF_NEED_CUDA=0 +export TF_CUDA_CLANG=0 +export TF_NEED_TENSORRT=0 export TF_NEED_ROCM=0 export TF_NEED_MPI=0 export TF_DOWNLOAD_CLANG=0 @@ -113,4 +115,4 @@ bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl # The tensorboard package has the proper entrypoint -# rm -f ${PREFIX}/bin/tensorboard +rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a8929ccc..a8df789a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -77,13 +77,14 @@ outputs: - name: tensorflow-base build: entry_points: - - freeze_graph = tensorflow.python.tools.freeze_graph:run_main - toco_from_protos = tensorflow.lite.toco.python.toco_from_protos:main - tflite_convert = tensorflow.lite.python.tflite_convert:main - toco = tensorflow.lite.python.tflite_convert:main - saved_model_cli = tensorflow.python.tools.saved_model_cli:main + # The tensorboard package adds this entry point. + # - tensorboard = tensorboard.main:run_main - tf_upgrade_v2 = tensorflow.tools.compatibility.tf_upgrade_v2_main:main - #- tensorboard = tensorboard.main:run_main + - estimator_ckpt_converter = tensorflow_estimator.python.estimator.tools.checkpoint_converter:main requirements: # build requirements needs to pick up the compiler run_exports build: From f1a46ed4b5ba92ffad067dca938b1fa90aed92d1 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 08:50:18 +0200 Subject: [PATCH 07/78] disable xla --- recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index 2845da69..83fa70c0 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -69,7 +69,7 @@ else --verbose_failures ${BAZEL_MKL_OPT} --config=opt" - export TF_ENABLE_XLA=1 + export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" fi From d26eab837706e24fa7c613fc5f0a1cbb7fff296d Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 09:28:58 +0200 Subject: [PATCH 08/78] llvm --- recipe/build.sh | 4 +++ recipe/meta.yaml | 2 +- recipe/patches/unbundle_llvm.patch | 42 +++++++++++++++++++----------- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 83fa70c0..cc3447ed 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -4,9 +4,11 @@ set -ex if [[ "$target_platform" == "osx-64" ]]; then # install the whl using pip + which pip pip install --no-deps *.whl # The tensorboard package has the proper entrypoint + ls -l ${PREFIX}/bin/ # rm -f ${PREFIX}/bin/tensorboard exit 0 @@ -18,6 +20,8 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include +export TF_SYSTEM_LIBS="llvm,zlib,swig,curl,nasm,nsync" + # do not build with MKL support export TF_NEED_MKL=0 export BAZEL_MKL_OPT="" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a8df789a..d4ff0280 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -31,7 +31,7 @@ source: #- patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] #- patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch # [osx] #- patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch # [osx] - #- patches/unbundle_llvm.patch # [linux] + - patches/unbundle_llvm.patch # [linux] build: number: 0 diff --git a/recipe/patches/unbundle_llvm.patch b/recipe/patches/unbundle_llvm.patch index b4dc19e2..5c680bbe 100644 --- a/recipe/patches/unbundle_llvm.patch +++ b/recipe/patches/unbundle_llvm.patch @@ -4,21 +4,30 @@ Date: Thu Aug 15 02:50:37 2019 +0000 Unbundle LLVM +--- + tensorflow/workspace.bzl | 1 + + third_party/systemlibs/generate_llvm_build.py | 321 +++++ + third_party/systemlibs/llvm.BUILD | 1089 +++++++++++++++++ + third_party/systemlibs/syslibs_configure.bzl | 1 + + 4 files changed, 1412 insertions(+) + create mode 100644 third_party/systemlibs/generate_llvm_build.py + create mode 100644 third_party/systemlibs/llvm.BUILD + diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl -index dff151246a..ad183bdcf9 100755 +index 262da77e..4f14f7b6 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl -@@ -498,6 +498,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""): - tf_http_archive( - name = "llvm", - build_file = clean_dep("//third_party/llvm:llvm.autogenerated.BUILD"), -+ system_build_file = clean_dep("//third_party/systemlibs:llvm.BUILD"), - sha256 = "55769c91b9f5b5255d58a1ecd88e690a4e192dc8cbdf8f984596649abe3b5433", - strip_prefix = "llvm-2ba3294845dedcbb27dc49287bfbcdb49aa1e6b7", - urls = [ +@@ -612,6 +612,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): + name = "llvm-project", + sha256 = LLVM_SHA256, + strip_prefix = "llvm-project-" + LLVM_COMMIT, ++ system_build_file = clean_dep("//third_party/systemlibs:llvm.BUILD"), + urls = LLVM_URLS, + additional_build_files = { + clean_dep("//third_party/llvm:llvm.autogenerated.BUILD"): "llvm/BUILD", diff --git a/third_party/systemlibs/generate_llvm_build.py b/third_party/systemlibs/generate_llvm_build.py new file mode 100644 -index 0000000000..77070d3e28 +index 00000000..77070d3e --- /dev/null +++ b/third_party/systemlibs/generate_llvm_build.py @@ -0,0 +1,321 @@ @@ -345,7 +354,7 @@ index 0000000000..77070d3e28 + exec(f.read()) diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD new file mode 100644 -index 0000000000..c6e9b9b1f2 +index 00000000..c6e9b9b1 --- /dev/null +++ b/third_party/systemlibs/llvm.BUILD @@ -0,0 +1,1089 @@ @@ -1439,14 +1448,17 @@ index 0000000000..c6e9b9b1f2 + ], +) diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl -index 1b971eca8a..0a61242cf6 100644 +index 217c0131..9e895232 100644 --- a/third_party/systemlibs/syslibs_configure.bzl +++ b/third_party/systemlibs/syslibs_configure.bzl -@@ -29,6 +29,7 @@ VALID_LIBS = [ - "jpeg", +@@ -30,6 +30,7 @@ VALID_LIBS = [ + "icu", "jsoncpp_git", - "keras_applications_archive", + "libjpeg_turbo", + "llvm", "lmdb", "nasm", "nsync", +-- +2.17.1 + From 300bee8ade9f2d2a5d87fe9da236cd1c3c301422 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 09:41:47 +0200 Subject: [PATCH 09/78] debug --- recipe/build.sh | 5 +++-- recipe/meta.yaml | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index cc3447ed..5ff1b837 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -4,11 +4,10 @@ set -ex if [[ "$target_platform" == "osx-64" ]]; then # install the whl using pip - which pip pip install --no-deps *.whl # The tensorboard package has the proper entrypoint - ls -l ${PREFIX}/bin/ + ls -l ${SP_DIR} # rm -f ${PREFIX}/bin/tensorboard exit 0 @@ -28,6 +27,8 @@ export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base export BAZEL_OPTS="" +which bazel +bazel version if [[ "$target_platform" == "osx-64" ]]; then # set up bazel config file for conda provided clang toolchain diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d4ff0280..03d98865 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,10 +25,10 @@ source: patches: #- patches/0001-add-rt-to-linkopts.patch # [linux] #- patches/0002-stable-image-rotate-test.patch # [linux] - #- patches/0003-relax-tolerence-in-special_math_test.patch # [linux] - #- patches/0004-skip-read-only-debugger_cli_common-test.patch # [linux] + - patches/0003-relax-tolerence-in-special_math_test.patch # [linux] + - patches/0004-skip-read-only-debugger_cli_common-test.patch # [linux] #- patches/0005-fix-lookup_ops-test.patch # [linux] - #- patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] + - patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] #- patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch # [osx] #- patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch # [osx] - patches/unbundle_llvm.patch # [linux] From c0e6e8c65bc5be4991e7129993eef9efff178d27 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 13:57:25 +0200 Subject: [PATCH 10/78] debug --- recipe/build.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 5ff1b837..3a72324d 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -27,8 +27,6 @@ export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base export BAZEL_OPTS="" -which bazel -bazel version if [[ "$target_platform" == "osx-64" ]]; then # set up bazel config file for conda provided clang toolchain From db5be3abc3384b84fc0307e5b22cbd4d36ad8f13 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 14:30:29 +0200 Subject: [PATCH 11/78] nasm --- recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index 3a72324d..b8a4c191 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -19,7 +19,7 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include -export TF_SYSTEM_LIBS="llvm,zlib,swig,curl,nasm,nsync" +export TF_SYSTEM_LIBS="llvm,zlib,swig,curl,nsync" # do not build with MKL support export TF_NEED_MKL=0 From b34ad77c490470143b9c5a09d0e44d1b618d47f5 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 24 Jun 2020 15:28:30 +0200 Subject: [PATCH 12/78] debug --- recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index b8a4c191..c9c04dbf 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -19,7 +19,7 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include -export TF_SYSTEM_LIBS="llvm,zlib,swig,curl,nsync" +export TF_SYSTEM_LIBS="llvm,swig" # do not build with MKL support export TF_NEED_MKL=0 From dfac069c202cc1a10ed687feb325a7889a8f1000 Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Mon, 6 Jul 2020 19:09:03 +0000 Subject: [PATCH 13/78] MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.4, and conda-forge-pinning 2020.07.06.18.43.00 --- .azure-pipelines/azure-pipelines-linux.yml | 6 ++++++ .azure-pipelines/azure-pipelines-osx.yml | 1 + .azure-pipelines/azure-pipelines-win.yml | 6 ++++-- .scripts/build_steps.sh | 5 +++-- .scripts/run_docker_build.sh | 8 +++++++- .scripts/run_osx_build.sh | 6 +++--- README.md | 4 ++-- 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index ae06597d..27cf8b71 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -20,6 +20,11 @@ jobs: timeoutInMinutes: 360 steps: + - script: | + rm -rf /opt/ghc + df -h + displayName: Manage disk space + # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -31,6 +36,7 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) .scripts/run_docker_build.sh displayName: Run docker build env: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index d5376115..9b475928 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -23,6 +23,7 @@ jobs: export CI=azure export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) ./.scripts/run_osx_build.sh displayName: Run OSX build env: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 7fc64330..cea47b4d 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -96,14 +96,16 @@ jobs: PYTHONUNBUFFERED: 1 condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - validate_recipe_outputs "tensorflow-feedstock" + validate_recipe_outputs "%FEEDSTOCK_NAME%" displayName: Validate Recipe Outputs - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - upload_package --validate --feedstock-name="tensorflow-feedstock" .\ ".\recipe" .ci_support\%CONFIG%.yaml + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 09266df6..0d5ef1c1 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -30,11 +30,12 @@ source run_conda_forge_build_setup make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -validate_recipe_outputs "tensorflow-feedstock" +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package --validate --feedstock-name="tensorflow-feedstock" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 360fc69c..e4d5baba 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -13,6 +13,10 @@ PROVIDER_DIR="$(basename $THISDIR)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -63,12 +67,14 @@ docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ $DOCKER_IMAGE \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 06efb843..d7e3c065 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -47,10 +47,10 @@ set -e echo -e "\n\nMaking the build clobber file and running the build." make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -validate_recipe_outputs "tensorflow-feedstock" +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then echo -e "\n\nUploading the packages." - upload_package --validate --feedstock-name="tensorflow-feedstock" ./ ./recipe ./.ci_support/${CONFIG}.yaml + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi \ No newline at end of file diff --git a/README.md b/README.md index 225746f2..5bda9fac 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ About tensorflow Home: http://tensorflow.org/ -Package license: Apache 2.0 +Package license: Apache-2.0 -Feedstock license: BSD 3-Clause +Feedstock license: BSD-3-Clause Summary: TensorFlow is an open source machine learning framework for everyone. From 89d9deca77da77c45af020e16a2af40cd463b6cf Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Mon, 6 Jul 2020 20:20:04 +0100 Subject: [PATCH 14/78] Fix tests --- recipe/cp_libtensorflow.sh | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipe/cp_libtensorflow.sh b/recipe/cp_libtensorflow.sh index 20f03209..525d78a9 100644 --- a/recipe/cp_libtensorflow.sh +++ b/recipe/cp_libtensorflow.sh @@ -1,12 +1,7 @@ # copy libraries mkdir -p ${PREFIX}/lib -cp bazel-bin/tensorflow/libtensorflow.so ${PREFIX}/lib/ -cp bazel-bin/tensorflow/libtensorflow_framework.so ${PREFIX}/lib/ +cp bazel-bin/tensorflow/*.so ${PREFIX}/lib/ # copy includes -mkdir -p ${PREFIX}/include/tensorflow mkdir -p ${PREFIX}/include/tensorflow/c -mkdir -p ${PREFIX}/include/tensorflow/c/eager -cp tensorflow/c/c_api.h ${PREFIX}/include/tensorflow/c/ -cp tensorflow/c/c_api_experimental.h ${PREFIX}/include/tensorflow/c/ -cp tensorflow/c/eager/c_api.h ${PREFIX}/include/tensorflow/c/eager/ +cp -R tensorflow/c/* ${PREFIX}/include/tensorflow/c/. From f621e3040cedcce471e7258015501e1635d80f37 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Mon, 6 Jul 2020 20:21:59 +0100 Subject: [PATCH 15/78] MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.4, and conda-forge-pinning 2020.07.06.18.43.00 --- .azure-pipelines/azure-pipelines-linux.yml | 6 ++++++ .azure-pipelines/azure-pipelines-osx.yml | 1 + .azure-pipelines/azure-pipelines-win.yml | 6 ++++-- .scripts/build_steps.sh | 5 +++-- .scripts/run_docker_build.sh | 8 +++++++- .scripts/run_osx_build.sh | 6 +++--- README.md | 4 ++-- 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index ae06597d..27cf8b71 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -20,6 +20,11 @@ jobs: timeoutInMinutes: 360 steps: + - script: | + rm -rf /opt/ghc + df -h + displayName: Manage disk space + # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -31,6 +36,7 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) .scripts/run_docker_build.sh displayName: Run docker build env: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index d5376115..9b475928 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -23,6 +23,7 @@ jobs: export CI=azure export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) ./.scripts/run_osx_build.sh displayName: Run OSX build env: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 7fc64330..cea47b4d 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -96,14 +96,16 @@ jobs: PYTHONUNBUFFERED: 1 condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - validate_recipe_outputs "tensorflow-feedstock" + validate_recipe_outputs "%FEEDSTOCK_NAME%" displayName: Validate Recipe Outputs - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - upload_package --validate --feedstock-name="tensorflow-feedstock" .\ ".\recipe" .ci_support\%CONFIG%.yaml + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 09266df6..0d5ef1c1 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -30,11 +30,12 @@ source run_conda_forge_build_setup make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -validate_recipe_outputs "tensorflow-feedstock" +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package --validate --feedstock-name="tensorflow-feedstock" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 360fc69c..e4d5baba 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -13,6 +13,10 @@ PROVIDER_DIR="$(basename $THISDIR)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -63,12 +67,14 @@ docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ $DOCKER_IMAGE \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 06efb843..d7e3c065 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -47,10 +47,10 @@ set -e echo -e "\n\nMaking the build clobber file and running the build." make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -validate_recipe_outputs "tensorflow-feedstock" +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then echo -e "\n\nUploading the packages." - upload_package --validate --feedstock-name="tensorflow-feedstock" ./ ./recipe ./.ci_support/${CONFIG}.yaml + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi \ No newline at end of file diff --git a/README.md b/README.md index 225746f2..5bda9fac 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ About tensorflow Home: http://tensorflow.org/ -Package license: Apache 2.0 +Package license: Apache-2.0 -Feedstock license: BSD 3-Clause +Feedstock license: BSD-3-Clause Summary: TensorFlow is an open source machine learning framework for everyone. From 5e3337ff2703e40cbbf82615f8b2f6a7530b56c2 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Mon, 6 Jul 2020 20:38:10 +0100 Subject: [PATCH 16/78] Remove pinned compiler --- recipe/conda_build_config.yaml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index 87f4f7c8..00000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Builds fail on linux with gcc 7.x, see -# https://github.com/tensorflow/tensorflow/issues/25323 -c_compiler_version: # [unix] - - 5.4 # [linux] - - 8.0 # [osx] -cxx_compiler_version: # [unix] - - 5.4 # [linux] - - 8.0 # [osx] From 3d1221c13b472a585187d972a7112b332d78b32d Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Mon, 6 Jul 2020 20:38:43 +0100 Subject: [PATCH 17/78] MNT: Re-rendered with conda-build 3.19.2, conda-smithy 3.7.4, and conda-forge-pinning 2020.07.06.18.43.00 --- .ci_support/linux_python3.6.____cpython.yaml | 4 ++-- .ci_support/linux_python3.7.____cpython.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.ci_support/linux_python3.6.____cpython.yaml b/.ci_support/linux_python3.6.____cpython.yaml index 2a50bff8..7a50a190 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_python3.6.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '5.4' +- '7' channel_sources: - conda-forge,defaults channel_targets: @@ -9,7 +9,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '5.4' +- '7' docker_image: - condaforge/linux-anvil-comp7 libcurl: diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_python3.7.____cpython.yaml index e3cb045e..edf2d27d 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_python3.7.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '5.4' +- '7' channel_sources: - conda-forge,defaults channel_targets: @@ -9,7 +9,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '5.4' +- '7' docker_image: - condaforge/linux-anvil-comp7 libcurl: From 5ade0206adc01128e62f91898026c10ad917d4ed Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Fri, 13 Nov 2020 14:18:57 +0000 Subject: [PATCH 18/78] MNT: Re-rendered with conda-build 3.20.5, conda-smithy 3.8.5, and conda-forge-pinning 2020.11.12.21.52.18 --- .azure-pipelines/azure-pipelines-linux.yml | 17 +++--- .azure-pipelines/azure-pipelines-osx.yml | 14 +++-- .azure-pipelines/azure-pipelines-win.yml | 14 +++-- ...ml => linux_64_python3.6.____cpython.yaml} | 9 ++- ...ml => linux_64_python3.7.____cpython.yaml} | 9 ++- .../linux_64_python3.8.____cpython.yaml | 39 +++++++++++++ ...yaml => osx_64_python3.6.____cpython.yaml} | 4 +- ...yaml => osx_64_python3.7.____cpython.yaml} | 4 +- .ci_support/osx_64_python3.8.____cpython.yaml | 16 ++++++ ...yaml => win_64_python3.6.____cpython.yaml} | 2 + ...yaml => win_64_python3.7.____cpython.yaml} | 2 + .ci_support/win_64_python3.8.____cpython.yaml | 12 ++++ .scripts/build_steps.sh | 26 ++++++--- .scripts/run_docker_build.sh | 2 + .scripts/run_osx_build.sh | 5 +- LICENSE.txt | 2 +- README.md | 57 ++++++++++++------- azure-pipelines.yml | 4 +- build-locally.py | 12 ++++ 19 files changed, 194 insertions(+), 56 deletions(-) rename .ci_support/{linux_python3.6.____cpython.yaml => linux_64_python3.6.____cpython.yaml} (73%) rename .ci_support/{linux_python3.7.____cpython.yaml => linux_64_python3.7.____cpython.yaml} (73%) create mode 100644 .ci_support/linux_64_python3.8.____cpython.yaml rename .ci_support/{osx_python3.6.____cpython.yaml => osx_64_python3.6.____cpython.yaml} (89%) rename .ci_support/{osx_python3.7.____cpython.yaml => osx_64_python3.7.____cpython.yaml} (89%) create mode 100644 .ci_support/osx_64_python3.8.____cpython.yaml rename .ci_support/{win_python3.6.____cpython.yaml => win_64_python3.6.____cpython.yaml} (86%) rename .ci_support/{win_python3.7.____cpython.yaml => win_64_python3.7.____cpython.yaml} (86%) create mode 100644 .ci_support/win_64_python3.8.____cpython.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 27cf8b71..60029261 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,15 +8,18 @@ jobs: vmImage: ubuntu-16.04 strategy: matrix: - linux_python3.6.____cpython: - CONFIG: linux_python3.6.____cpython + linux_64_python3.6.____cpython: + CONFIG: linux_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7.____cpython: - CONFIG: linux_python3.7.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_python3.7.____cpython: + CONFIG: linux_64_python3.7.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - maxParallel: 8 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_python3.8.____cpython: + CONFIG: linux_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 9b475928..3b6ec892 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,16 +5,18 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 + vmImage: macOS-10.15 strategy: matrix: - osx_python3.6.____cpython: - CONFIG: osx_python3.6.____cpython + osx_64_python3.6.____cpython: + CONFIG: osx_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - osx_python3.7.____cpython: - CONFIG: osx_python3.7.____cpython + osx_64_python3.7.____cpython: + CONFIG: osx_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.8.____cpython: + CONFIG: osx_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 8 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index cea47b4d..1244454f 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,13 +8,15 @@ jobs: vmImage: vs2017-win2016 strategy: matrix: - win_python3.6.____cpython: - CONFIG: win_python3.6.____cpython + win_64_python3.6.____cpython: + CONFIG: win_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - win_python3.7.____cpython: - CONFIG: win_python3.7.____cpython + win_64_python3.7.____cpython: + CONFIG: win_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.8.____cpython: + CONFIG: win_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 4 timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ @@ -56,7 +58,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional + packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment diff --git a/.ci_support/linux_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml similarity index 73% rename from .ci_support/linux_python3.6.____cpython.yaml rename to .ci_support/linux_64_python3.6.____cpython.yaml index 7a50a190..26fde42f 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -2,6 +2,8 @@ c_compiler: - gcc c_compiler_version: - '7' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -11,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '7' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 libcurl: - '7' libpng: @@ -28,5 +30,10 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version zlib: - '1.2' diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml similarity index 73% rename from .ci_support/linux_python3.7.____cpython.yaml rename to .ci_support/linux_64_python3.7.____cpython.yaml index edf2d27d..cb66d5c3 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -2,6 +2,8 @@ c_compiler: - gcc c_compiler_version: - '7' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -11,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '7' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 libcurl: - '7' libpng: @@ -28,5 +30,10 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version zlib: - '1.2' diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..d0c5e866 --- /dev/null +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -0,0 +1,39 @@ +c_compiler: +- gcc +c_compiler_version: +- '7' +cdt_name: +- cos6 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- quay.io/condaforge/linux-anvil-comp7 +libcurl: +- '7' +libpng: +- '1.6' +pin_run_as_build: + libcurl: + max_pin: x + libpng: + max_pin: x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/osx_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.6.____cpython.yaml rename to .ci_support/osx_64_python3.6.____cpython.yaml index 79a1eaea..e5f17c2b 100644 --- a/.ci_support/osx_python3.6.____cpython.yaml +++ b/.ci_support/osx_64_python3.6.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.7.____cpython.yaml rename to .ci_support/osx_64_python3.7.____cpython.yaml index b8ea8577..163d3ce6 100644 --- a/.ci_support/osx_python3.7.____cpython.yaml +++ b/.ci_support/osx_64_python3.7.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..63cee21d --- /dev/null +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -0,0 +1,16 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/win_python3.6.____cpython.yaml b/.ci_support/win_64_python3.6.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.6.____cpython.yaml rename to .ci_support/win_64_python3.6.____cpython.yaml index 2f96e5b7..96be81f2 100644 --- a/.ci_support/win_python3.6.____cpython.yaml +++ b/.ci_support/win_64_python3.6.____cpython.yaml @@ -8,3 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.7.____cpython.yaml rename to .ci_support/win_64_python3.7.____cpython.yaml index ddc04bf0..281bd460 100644 --- a/.ci_support/win_python3.7.____cpython.yaml +++ b/.ci_support/win_64_python3.7.____cpython.yaml @@ -8,3 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..0840c1a9 --- /dev/null +++ b/.ci_support/win_64_python3.8.____cpython.yaml @@ -0,0 +1,12 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- win-64 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 0d5ef1c1..aa9727b9 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,7 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,13 +29,25 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -validate_recipe_outputs "${FEEDSTOCK_NAME}" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + # Drop into an interactive shell + /bin/bash +else + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index e4d5baba..87ba4db0 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -74,6 +74,8 @@ docker run ${DOCKER_RUN_ARGS} \ -e CI \ -e FEEDSTOCK_NAME \ -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index d7e3c065..c299b792 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,7 +23,7 @@ source ${HOME}/miniforge3/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip @@ -47,7 +47,8 @@ set -e echo -e "\n\nMaking the build clobber file and running the build." make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then diff --git a/LICENSE.txt b/LICENSE.txt index cba42cff..5f302793 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +Copyright (c) 2015-2020, conda-forge contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index 5bda9fac..38d9c56b 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,14 @@ Home: http://tensorflow.org/ Package license: Apache-2.0 -Feedstock license: BSD-3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/tensorflow-feedstock/blob/master/LICENSE.txt) Summary: TensorFlow is an open source machine learning framework for everyone. +Development: https://github.com/tensorflow/tensorflow + +Documentation: https://www.tensorflow.org/get_started/get_started + TensorFlow provides multiple APIs.The lowest level API, TensorFlow Core provides you with complete programming control. Base package contains only tensorflow, not tensorflow-tensorboard. @@ -32,45 +36,66 @@ Current build status
VariantStatus
linux_python2.7linux_python3.6.____cpython - variant + variant
linux_python3.6linux_python3.7.____cpython - variant + variant
linux_python3.7osx_python3.6.____cpython - variant + variant
osx_python2.7osx_python3.7.____cpython - variant + variant
osx_python3.6win_python3.6.____cpython - variant + variant
osx_python3.7win_python3.7.____cpython - variant - -
win_python3.6vc14 - - variant - -
win_python3.7vc14 - - variant + variant
- + - + - + - + - + - + + + + + + + + + + @@ -79,12 +104,6 @@ Current build status - - - -
VariantStatus
linux_python3.6.____cpythonlinux_64_python3.6.____cpython - variant + variant
linux_python3.7.____cpythonlinux_64_python3.7.____cpython - variant + variant
osx_python3.6.____cpythonlinux_64_python3.8.____cpython - variant + variant
osx_python3.7.____cpythonosx_64_python3.6.____cpython - variant + variant
win_python3.6.____cpythonosx_64_python3.7.____cpython - variant + variant
win_python3.7.____cpythonosx_64_python3.8.____cpython - variant + variant + +
win_64_python3.6.____cpython + + variant + +
win_64_python3.7.____cpython + + variant + +
win_64_python3.8.____cpython + + variant
Linux_ppc64le - ppc64le disabled -
Current release info diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e5306da9..6b346f50 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-win.yml + - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 8f7ecca4..3453cfe6 100755 --- a/build-locally.py +++ b/build-locally.py @@ -12,6 +12,10 @@ def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + if ns.debug: + os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" + if ns.output_id: + os.environ["BUILD_OUTPUT_ID"] = ns.output_id def run_docker_build(ns): @@ -51,6 +55,14 @@ def verify_config(ns): def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--debug", + action="store_true", + help="Setup debug environment using `conda debug`", + ) + p.add_argument( + "--output-id", help="If running debug, specify the output to setup." + ) ns = p.parse_args(args=args) verify_config(ns) From 5e7349a55cbf19edfa9b63d840b93a701bbdc561 Mon Sep 17 00:00:00 2001 From: conda-forge-linter Date: Tue, 1 Dec 2020 08:58:17 +0000 Subject: [PATCH 19/78] MNT: Re-rendered with conda-build 3.20.5, conda-smithy 3.8.5, and conda-forge-pinning 2020.11.30.18.15.16 --- .ci_support/linux_64_python3.6.____cpython.yaml | 4 ++-- .ci_support/linux_64_python3.7.____cpython.yaml | 4 ++-- .ci_support/linux_64_python3.8.____cpython.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci_support/linux_64_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml index 26fde42f..7000dd05 100644 --- a/.ci_support/linux_64_python3.6.____cpython.yaml +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: - quay.io/condaforge/linux-anvil-comp7 libcurl: diff --git a/.ci_support/linux_64_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml index cb66d5c3..26c8f124 100644 --- a/.ci_support/linux_64_python3.7.____cpython.yaml +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: - quay.io/condaforge/linux-anvil-comp7 libcurl: diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml index d0c5e866..9dacee97 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '7' +- '9' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '7' +- '9' docker_image: - quay.io/condaforge/linux-anvil-comp7 libcurl: From f33999470a51c56a2e18f74e0f9205eedaceb6be Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 21:19:55 +0100 Subject: [PATCH 20/78] MNT: Re-rendered with conda-build 3.21.1, conda-smithy 3.8.6, and conda-forge-pinning 2021.01.11.19.34.08 --- .azure-pipelines/azure-pipelines-linux.yml | 17 +++--- .azure-pipelines/azure-pipelines-osx.yml | 14 +++-- .azure-pipelines/azure-pipelines-win.yml | 14 +++-- ...ml => linux_64_python3.6.____cpython.yaml} | 15 ++++- ...ml => linux_64_python3.7.____cpython.yaml} | 15 ++++- .../linux_64_python3.8.____cpython.yaml | 41 +++++++++++++ ...yaml => osx_64_python3.6.____cpython.yaml} | 4 +- ...yaml => osx_64_python3.7.____cpython.yaml} | 4 +- .ci_support/osx_64_python3.8.____cpython.yaml | 16 +++++ ...yaml => win_64_python3.6.____cpython.yaml} | 4 +- ...yaml => win_64_python3.7.____cpython.yaml} | 4 +- .ci_support/win_64_python3.8.____cpython.yaml | 12 ++++ .github/CODEOWNERS | 2 +- .scripts/build_steps.sh | 26 +++++--- .scripts/run_docker_build.sh | 14 +++-- .scripts/run_osx_build.sh | 5 +- README.md | 60 ++++++++++++------- 17 files changed, 200 insertions(+), 67 deletions(-) rename .ci_support/{linux_python3.6.____cpython.yaml => linux_64_python3.6.____cpython.yaml} (67%) rename .ci_support/{linux_python3.7.____cpython.yaml => linux_64_python3.7.____cpython.yaml} (67%) create mode 100644 .ci_support/linux_64_python3.8.____cpython.yaml rename .ci_support/{osx_python3.6.____cpython.yaml => osx_64_python3.6.____cpython.yaml} (89%) rename .ci_support/{osx_python3.7.____cpython.yaml => osx_64_python3.7.____cpython.yaml} (89%) create mode 100644 .ci_support/osx_64_python3.8.____cpython.yaml rename .ci_support/{win_python3.6.____cpython.yaml => win_64_python3.6.____cpython.yaml} (86%) rename .ci_support/{win_python3.7.____cpython.yaml => win_64_python3.7.____cpython.yaml} (86%) create mode 100644 .ci_support/win_64_python3.8.____cpython.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 27cf8b71..60029261 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,15 +8,18 @@ jobs: vmImage: ubuntu-16.04 strategy: matrix: - linux_python3.6.____cpython: - CONFIG: linux_python3.6.____cpython + linux_64_python3.6.____cpython: + CONFIG: linux_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7.____cpython: - CONFIG: linux_python3.7.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_python3.7.____cpython: + CONFIG: linux_64_python3.7.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: condaforge/linux-anvil-comp7 - maxParallel: 8 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_python3.8.____cpython: + CONFIG: linux_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 9b475928..3b6ec892 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,16 +5,18 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 + vmImage: macOS-10.15 strategy: matrix: - osx_python3.6.____cpython: - CONFIG: osx_python3.6.____cpython + osx_64_python3.6.____cpython: + CONFIG: osx_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - osx_python3.7.____cpython: - CONFIG: osx_python3.7.____cpython + osx_64_python3.7.____cpython: + CONFIG: osx_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.8.____cpython: + CONFIG: osx_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 8 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index cea47b4d..1244454f 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,13 +8,15 @@ jobs: vmImage: vs2017-win2016 strategy: matrix: - win_python3.6.____cpython: - CONFIG: win_python3.6.____cpython + win_64_python3.6.____cpython: + CONFIG: win_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - win_python3.7.____cpython: - CONFIG: win_python3.7.____cpython + win_64_python3.7.____cpython: + CONFIG: win_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.8.____cpython: + CONFIG: win_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 4 timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ @@ -56,7 +58,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional + packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment diff --git a/.ci_support/linux_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml similarity index 67% rename from .ci_support/linux_python3.6.____cpython.yaml rename to .ci_support/linux_64_python3.6.____cpython.yaml index 2a50bff8..fff0dc25 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -1,7 +1,9 @@ c_compiler: - gcc c_compiler_version: -- '5.4' +- '9' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -9,9 +11,9 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '5.4' +- '9' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 libcurl: - '7' libpng: @@ -28,5 +30,12 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image zlib: - '1.2' diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml similarity index 67% rename from .ci_support/linux_python3.7.____cpython.yaml rename to .ci_support/linux_64_python3.7.____cpython.yaml index e3cb045e..5dcecbcd 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -1,7 +1,9 @@ c_compiler: - gcc c_compiler_version: -- '5.4' +- '9' +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -9,9 +11,9 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '5.4' +- '9' docker_image: -- condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-comp7 libcurl: - '7' libpng: @@ -28,5 +30,12 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image zlib: - '1.2' diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..3cf1d810 --- /dev/null +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -0,0 +1,41 @@ +c_compiler: +- gcc +c_compiler_version: +- '9' +cdt_name: +- cos6 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '9' +docker_image: +- quay.io/condaforge/linux-anvil-comp7 +libcurl: +- '7' +libpng: +- '1.6' +pin_run_as_build: + libcurl: + max_pin: x + libpng: + max_pin: x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/osx_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.6.____cpython.yaml rename to .ci_support/osx_64_python3.6.____cpython.yaml index 79a1eaea..e5f17c2b 100644 --- a/.ci_support/osx_python3.6.____cpython.yaml +++ b/.ci_support/osx_64_python3.6.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.7.____cpython.yaml rename to .ci_support/osx_64_python3.7.____cpython.yaml index b8ea8577..163d3ce6 100644 --- a/.ci_support/osx_python3.7.____cpython.yaml +++ b/.ci_support/osx_64_python3.7.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..63cee21d --- /dev/null +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -0,0 +1,16 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/win_python3.6.____cpython.yaml b/.ci_support/win_64_python3.6.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.6.____cpython.yaml rename to .ci_support/win_64_python3.6.____cpython.yaml index 1d03e60c..96be81f2 100644 --- a/.ci_support/win_python3.6.____cpython.yaml +++ b/.ci_support/win_64_python3.6.____cpython.yaml @@ -8,5 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython -vc: -- '14' +target_platform: +- win-64 diff --git a/.ci_support/win_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.7.____cpython.yaml rename to .ci_support/win_64_python3.7.____cpython.yaml index f83ccf0d..281bd460 100644 --- a/.ci_support/win_python3.7.____cpython.yaml +++ b/.ci_support/win_64_python3.7.____cpython.yaml @@ -8,5 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython -vc: -- '14' +target_platform: +- win-64 diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml new file mode 100644 index 00000000..0840c1a9 --- /dev/null +++ b/.ci_support/win_64_python3.8.____cpython.yaml @@ -0,0 +1,12 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- win-64 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9f02335a..f8949f19 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @farhantejani @ghego @gilbertfrancois @hajapy @njzjz @waitingkuo \ No newline at end of file +* @farhantejani @ghego @gilbertfrancois @hajapy @jschueller @njzjz @waitingkuo \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 0d5ef1c1..aa9727b9 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,7 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,13 +29,25 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -validate_recipe_outputs "${FEEDSTOCK_NAME}" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + # Drop into an interactive shell + /bin/bash +else + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index e4d5baba..36dacd6e 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -45,8 +45,12 @@ fi if [ -z "${DOCKER_IMAGE}" ]; then SHYAML_INSTALLED="$(shyaml -h || echo NO)" if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7" + DOCKER_IMAGE="condaforge/linux-anvil-comp7" + fi else DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" fi @@ -64,8 +68,8 @@ fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ @@ -74,6 +78,8 @@ docker run ${DOCKER_RUN_ARGS} \ -e CI \ -e FEEDSTOCK_NAME \ -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index d7e3c065..c299b792 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,7 +23,7 @@ source ${HOME}/miniforge3/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip @@ -47,7 +47,8 @@ set -e echo -e "\n\nMaking the build clobber file and running the build." make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then diff --git a/README.md b/README.md index c5a285c6..38d9c56b 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,16 @@ About tensorflow Home: http://tensorflow.org/ -Package license: Apache 2.0 +Package license: Apache-2.0 -Feedstock license: BSD-3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/tensorflow-feedstock/blob/master/LICENSE.txt) Summary: TensorFlow is an open source machine learning framework for everyone. +Development: https://github.com/tensorflow/tensorflow + +Documentation: https://www.tensorflow.org/get_started/get_started + TensorFlow provides multiple APIs.The lowest level API, TensorFlow Core provides you with complete programming control. Base package contains only tensorflow, not tensorflow-tensorboard. @@ -32,45 +36,66 @@ Current build status - + - + - + - + - + - + + + + + + + + + + @@ -79,12 +104,6 @@ Current build status - - - -
VariantStatus
linux_python3.6.____cpythonlinux_64_python3.6.____cpython - variant + variant
linux_python3.7.____cpythonlinux_64_python3.7.____cpython - variant + variant
osx_python3.6.____cpythonlinux_64_python3.8.____cpython - variant + variant
osx_python3.7.____cpythonosx_64_python3.6.____cpython - variant + variant
win_python3.6.____cpythonosx_64_python3.7.____cpython - variant + variant
win_python3.7.____cpythonosx_64_python3.8.____cpython - variant + variant + +
win_64_python3.6.____cpython + + variant + +
win_64_python3.7.____cpython + + variant + +
win_64_python3.8.____cpython + + variant
Linux_ppc64le - ppc64le disabled -
Current release info @@ -186,6 +205,7 @@ Feedstock Maintainers * [@ghego](https://github.com/ghego/) * [@gilbertfrancois](https://github.com/gilbertfrancois/) * [@hajapy](https://github.com/hajapy/) +* [@jschueller](https://github.com/jschueller/) * [@njzjz](https://github.com/njzjz/) * [@waitingkuo](https://github.com/waitingkuo/) From 2ac12474353598ed631a0a1dc7a103ceb7327c3a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 21:38:49 +0100 Subject: [PATCH 21/78] clean up patches --- recipe/meta.yaml | 8 +- ...elax-tolerence-in-special_math_test.patch} | 10 +- ...-read-only-debugger_cli_common-test.patch} | 8 +- ...lax-precision-in-matrix_log_op_test.patch} | 10 +- ...le_llvm.patch => 0004-Unbundle-LLVM.patch} | 1560 ++++++++++++++--- 5 files changed, 1304 insertions(+), 292 deletions(-) rename recipe/patches/{0003-relax-tolerence-in-special_math_test.patch => 0001-relax-tolerence-in-special_math_test.patch} (75%) rename recipe/patches/{0004-skip-read-only-debugger_cli_common-test.patch => 0002-skip-read-only-debugger_cli_common-test.patch} (86%) rename recipe/patches/{0006-relax-precision-in-matrix_log_op_test.patch => 0003-relax-precision-in-matrix_log_op_test.patch} (77%) rename recipe/patches/{unbundle_llvm.patch => 0004-Unbundle-LLVM.patch} (56%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 72d77d3c..c96e60ac 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,13 +25,13 @@ source: patches: #- patches/0001-add-rt-to-linkopts.patch # [linux] #- patches/0002-stable-image-rotate-test.patch # [linux] - - patches/0003-relax-tolerence-in-special_math_test.patch # [linux] - - patches/0004-skip-read-only-debugger_cli_common-test.patch # [linux] + - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] + - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] #- patches/0005-fix-lookup_ops-test.patch # [linux] - - patches/0006-relax-precision-in-matrix_log_op_test.patch # [linux] + - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] #- patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch # [osx] #- patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch # [osx] - - patches/unbundle_llvm.patch # [linux] + - patches/0004-Unbundle-LLVM.patch # [linux] build: number: 0 diff --git a/recipe/patches/0003-relax-tolerence-in-special_math_test.patch b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch similarity index 75% rename from recipe/patches/0003-relax-tolerence-in-special_math_test.patch rename to recipe/patches/0001-relax-tolerence-in-special_math_test.patch index 340ac357..a36dc1d9 100644 --- a/recipe/patches/0003-relax-tolerence-in-special_math_test.patch +++ b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch @@ -1,14 +1,14 @@ -From b2944e66ace811cd2adf565277a00e78522effbd Mon Sep 17 00:00:00 2001 +From 3ce7b37b14b9d849e1bb283ad599ef128cf98a98 Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Tue, 20 Jun 2017 15:13:14 -0500 -Subject: [PATCH 3/8] relax tolerence in special_math_test +Subject: [PATCH 1/4] relax tolerence in special_math_test --- - tensorflow/python/kernel_tests/distributions/special_math_test.py | 2 +- + .../python/kernel_tests/distributions/special_math_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/python/kernel_tests/distributions/special_math_test.py b/tensorflow/python/kernel_tests/distributions/special_math_test.py -index d97fcfa..ea4b53c 100644 +index ce2cd8614f5..091753b4ef5 100644 --- a/tensorflow/python/kernel_tests/distributions/special_math_test.py +++ b/tensorflow/python/kernel_tests/distributions/special_math_test.py @@ -256,7 +256,7 @@ class LogNdtrTestUpper(NdtrTest): @@ -21,5 +21,5 @@ index d97fcfa..ea4b53c 100644 -- -2.7.4 +2.29.2.windows.3 diff --git a/recipe/patches/0004-skip-read-only-debugger_cli_common-test.patch b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch similarity index 86% rename from recipe/patches/0004-skip-read-only-debugger_cli_common-test.patch rename to recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch index 3bb2a0a2..ccb8bf27 100644 --- a/recipe/patches/0004-skip-read-only-debugger_cli_common-test.patch +++ b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch @@ -1,7 +1,7 @@ -From 3146c288d1a3d1943911082ee013564d068a4344 Mon Sep 17 00:00:00 2001 +From 1d47b6cf0af5da59d192f0752bc437d9bd8c87bb Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Thu, 4 Jan 2018 17:17:23 -0600 -Subject: [PATCH 4/8] skip read only debugger_cli_common test +Subject: [PATCH 2/4] skip read only debugger_cli_common test If tensorflow is built as root the debugger_cli_common::testCommandHistoryHandlesWritingIOErrorGracoiusly test @@ -12,7 +12,7 @@ that depends on the read-only behavior of the log. 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tensorflow/python/debug/cli/debugger_cli_common_test.py b/tensorflow/python/debug/cli/debugger_cli_common_test.py -index aba95e5..9c8bc60 100644 +index eb46a0a4062..36b620234fd 100644 --- a/tensorflow/python/debug/cli/debugger_cli_common_test.py +++ b/tensorflow/python/debug/cli/debugger_cli_common_test.py @@ -1057,7 +1057,9 @@ class CommandHistoryTest(test_util.TensorFlowTestCase): @@ -27,5 +27,5 @@ index aba95e5..9c8bc60 100644 self._restoreFileReadWritePermissions(self._history_file_path) -- -2.7.4 +2.29.2.windows.3 diff --git a/recipe/patches/0006-relax-precision-in-matrix_log_op_test.patch b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch similarity index 77% rename from recipe/patches/0006-relax-precision-in-matrix_log_op_test.patch rename to recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch index 1a1d1024..1e89e5fa 100644 --- a/recipe/patches/0006-relax-precision-in-matrix_log_op_test.patch +++ b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch @@ -1,17 +1,17 @@ -From cc7517cd6c0890ffd572c14001cdb9a259ec05b9 Mon Sep 17 00:00:00 2001 +From 4fd78e4e883b9f40329bee5bc9af7ef2f04c18d0 Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 20 Aug 2018 12:19:04 -0500 -Subject: [PATCH 6/8] relax precision in matrix_log_op_test +Subject: [PATCH 3/4] relax precision in matrix_log_op_test --- tensorflow/python/kernel_tests/matrix_logarithm_op_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py b/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py -index 682ac12..4c576a2 100644 +index 0f5da8b27a4..782a389e601 100644 --- a/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py +++ b/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py -@@ -45,7 +45,7 @@ class LogarithmOpTest(test.TestCase): +@@ -44,7 +44,7 @@ class LogarithmOpTest(test.TestCase): tf_ans = linalg_impl.matrix_exponential( gen_linalg_ops.matrix_logarithm(inp)) out = self.evaluate(tf_ans) @@ -21,5 +21,5 @@ index 682ac12..4c576a2 100644 def _verifyLogarithmComplex(self, x): for np_type in [np.complex64, np.complex128]: -- -2.7.4 +2.29.2.windows.3 diff --git a/recipe/patches/unbundle_llvm.patch b/recipe/patches/0004-Unbundle-LLVM.patch similarity index 56% rename from recipe/patches/unbundle_llvm.patch rename to recipe/patches/0004-Unbundle-LLVM.patch index 5c680bbe..825de23e 100644 --- a/recipe/patches/unbundle_llvm.patch +++ b/recipe/patches/0004-Unbundle-LLVM.patch @@ -1,43 +1,41 @@ -commit 510c285f2ad0c4294a26730474e042742fd53454 -Author: Isuru Fernando -Date: Thu Aug 15 02:50:37 2019 +0000 - - Unbundle LLVM +From b56de6090f7f1e8818b55d2d5e669696dde19f23 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Thu, 15 Aug 2019 02:50:37 +0000 +Subject: [PATCH 4/4] Unbundle LLVM --- tensorflow/workspace.bzl | 1 + - third_party/systemlibs/generate_llvm_build.py | 321 +++++ - third_party/systemlibs/llvm.BUILD | 1089 +++++++++++++++++ + third_party/systemlibs/generate_llvm_build.py | 301 +++ + third_party/systemlibs/llvm.BUILD | 2122 +++++++++++++++++ third_party/systemlibs/syslibs_configure.bzl | 1 + - 4 files changed, 1412 insertions(+) + 4 files changed, 2425 insertions(+) create mode 100644 third_party/systemlibs/generate_llvm_build.py create mode 100644 third_party/systemlibs/llvm.BUILD diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl -index 262da77e..4f14f7b6 100755 +index 262da77e0c2..9824c6c7b68 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl @@ -612,6 +612,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): name = "llvm-project", sha256 = LLVM_SHA256, strip_prefix = "llvm-project-" + LLVM_COMMIT, -+ system_build_file = clean_dep("//third_party/systemlibs:llvm.BUILD"), ++ system_build_file = clean_dep("//third_party/systemlibs:llvm.BUILD"), urls = LLVM_URLS, additional_build_files = { clean_dep("//third_party/llvm:llvm.autogenerated.BUILD"): "llvm/BUILD", diff --git a/third_party/systemlibs/generate_llvm_build.py b/third_party/systemlibs/generate_llvm_build.py new file mode 100644 -index 00000000..77070d3e +index 00000000000..54745b46f10 --- /dev/null +++ b/third_party/systemlibs/generate_llvm_build.py -@@ -0,0 +1,321 @@ +@@ -0,0 +1,301 @@ +# Bazel BUILD file generator for system LLVM. + +import os + +llvm_libs = [ + "AArch64AsmParser", -+ "AArch64AsmPrinter", + "AArch64CodeGen", + "AArch64Desc", + "AArch64Disassembler", @@ -45,7 +43,6 @@ index 00000000..77070d3e + "AArch64Utils", + "AggressiveInstCombine", + "AMDGPUAsmParser", -+ "AMDGPUAsmPrinter", + "AMDGPUCodeGen", + "AMDGPUDesc", + "AMDGPUDisassembler", @@ -53,7 +50,6 @@ index 00000000..77070d3e + "AMDGPUUtils", + "Analysis", + "ARMAsmParser", -+ "ARMAsmPrinter", + "ARMCodeGen", + "ARMDesc", + "ARMDisassembler", @@ -61,17 +57,11 @@ index 00000000..77070d3e + "ARMUtils", + "AsmParser", + "AsmPrinter", -+ "AVRAsmParser", -+ "AVRCodeGen", -+ "AVRDesc", -+ "AVRDisassembler", -+ "AVRInfo", + "BinaryFormat", + "BitReader", + "BitstreamReader", + "BitWriter", + "BPFAsmParser", -+ "BPFAsmPrinter", + "BPFCodeGen", + "BPFDesc", + "BPFDisassembler", @@ -103,7 +93,6 @@ index 00000000..77070d3e + "IRReader", + "JITLink", + "LanaiAsmParser", -+ "LanaiAsmPrinter", + "LanaiCodeGen", + "LanaiDesc", + "LanaiDisassembler", @@ -118,19 +107,16 @@ index 00000000..77070d3e + "MCJIT", + "MCParser", + "MipsAsmParser", -+ "MipsAsmPrinter", + "MipsCodeGen", + "MipsDesc", + "MipsDisassembler", + "MipsInfo", + "MIRParser", + "MSP430AsmParser", -+ "MSP430AsmPrinter", + "MSP430CodeGen", + "MSP430Desc", + "MSP430Disassembler", + "MSP430Info", -+ "NVPTXAsmPrinter", + "NVPTXCodeGen", + "NVPTXDesc", + "NVPTXInfo", @@ -138,11 +124,9 @@ index 00000000..77070d3e + "Object", + "ObjectYAML", + "Option", -+ "OptRemarks", + "OrcJIT", + "Passes", + "PowerPCAsmParser", -+ "PowerPCAsmPrinter", + "PowerPCCodeGen", + "PowerPCDesc", + "PowerPCDisassembler", @@ -159,7 +143,6 @@ index 00000000..77070d3e + "ScalarOpts", + "SelectionDAG", + "SparcAsmParser", -+ "SparcAsmPrinter", + "SparcCodeGen", + "SparcDesc", + "SparcDisassembler", @@ -174,25 +157,21 @@ index 00000000..77070d3e + "SystemZInfo", + "TableGen", + "Target", -+ "TestingSupport", + "TextAPI", + "TransformUtils", + "Vectorize", + "WebAssemblyAsmParser", -+ "WebAssemblyAsmPrinter", + "WebAssemblyCodeGen", + "WebAssemblyDesc", + "WebAssemblyDisassembler", + "WebAssemblyInfo", + "WindowsManifest", + "X86AsmParser", -+ "X86AsmPrinter", + "X86CodeGen", + "X86Desc", + "X86Disassembler", + "X86Info", + "X86Utils", -+ "XCoreAsmPrinter", + "XCoreCodeGen", + "XCoreDesc", + "XCoreDisassembler", @@ -354,10 +333,10 @@ index 00000000..77070d3e + exec(f.read()) diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD new file mode 100644 -index 00000000..c6e9b9b1 +index 00000000000..909684a445c --- /dev/null +++ b/third_party/systemlibs/llvm.BUILD -@@ -0,0 +1,1089 @@ +@@ -0,0 +1,2122 @@ + +# Bazel BUILD file for system LLVM +# @@ -438,23 +417,10 @@ index 00000000..c6e9b9b1 +) + +cc_library( -+ name = "aarch64_asm_printer", -+ linkopts = ["-lLLVMAArch64AsmPrinter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aarch64_utils", -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( + name = "aarch64_code_gen", + linkopts = ["-lLLVMAArch64CodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_asm_printer", + ":aarch64_desc", + ":aarch64_info", + ":aarch64_utils", @@ -477,8 +443,8 @@ index 00000000..c6e9b9b1 + linkopts = ["-lLLVMAArch64Desc"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_asm_printer", + ":aarch64_info", ++ ":aarch64_utils", + ":config", + ":mc", + ":support", @@ -555,9 +521,9 @@ index 00000000..c6e9b9b1 + linkopts = ["-lLLVMAMDGPUDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_asm_printer", + ":amdgpu_info", + ":amdgpu_utils", ++ ":binary_format", + ":config", + ":core", + ":mc", @@ -600,6 +566,7 @@ index 00000000..c6e9b9b1 + deps = [ + ":amdgpu_r600_target_gen", + ":amdgpu_target_gen", ++ ":binary_format", + ":config", + ":core", + ":mc", @@ -623,68 +590,97 @@ index 00000000..c6e9b9b1 +) + +cc_library( -+ name = "amdgpu_asm_printer", -+ linkopts = ["-lLLVMAMDGPUAsmPrinter"], ++ name = "amdgpu_code_gen", ++ linkopts = ["-lLLVMAMDGPUCodeGen"], + visibility = ["//visibility:public"], + deps = [ ++ ":amdgpu_desc", ++ ":amdgpu_info", + ":amdgpu_utils", ++ ":analysis", ++ ":asm_printer", ++ ":binary_format", ++ ":code_gen", + ":config", ++ ":core", ++ ":global_i_sel", ++ ":ipo", + ":mc", ++ ":mir_parser", ++ ":scalar", ++ ":selection_dag", + ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", + ], +) + +cc_library( -+ name = "amdgpu_code_gen", -+ linkopts = ["-lLLVMAMDGPUCodeGen"], ++ name = "arc_code_gen", ++ linkopts = ["-lLLVMSparcCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_asm_printer", -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", + ":analysis", ++ ":arc_desc", ++ ":arc_info", + ":asm_printer", + ":code_gen", + ":config", + ":core", -+ ":global_i_sel", -+ ":ipo", + ":mc", -+ ":scalar", + ":selection_dag", + ":support", + ":target", + ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "arm_asm_parser", -+ linkopts = ["-lLLVMARMAsmParser"], ++ name = "arc_desc", ++ linkopts = ["-lLLVMSparcDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":arm_asm_printer", -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", ++ ":arc_info", + ":config", + ":mc", -+ ":mc_parser", + ":support", + ], +) + +cc_library( -+ name = "arm_asm_printer", -+ linkopts = ["-lLLVMARMAsmPrinter"], ++ name = "arc_disassembler", ++ linkopts = ["-lLLVMSparcDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arc_info", ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arc_info", ++ linkopts = ["-lLLVMSparcInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arm_asm_parser", ++ linkopts = ["-lLLVMARMAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":arm_desc", + ":arm_info", + ":arm_utils", + ":config", + ":mc", ++ ":mc_parser", + ":support", + ], +) @@ -695,7 +691,6 @@ index 00000000..c6e9b9b1 + visibility = ["//visibility:public"], + deps = [ + ":analysis", -+ ":arm_asm_printer", + ":arm_desc", + ":arm_info", + ":arm_utils", @@ -718,8 +713,8 @@ index 00000000..c6e9b9b1 + linkopts = ["-lLLVMARMDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":arm_asm_printer", + ":arm_info", ++ ":arm_utils", + ":config", + ":mc", + ":mc_disassembler", @@ -764,378 +759,1222 @@ index 00000000..c6e9b9b1 +) + +cc_library( -+ name = "asm_parser", -+ linkopts = ["-lLLVMAsmParser"], ++ name = "avr_asm_parser", ++ linkopts = ["-lLLVMavr_asm_parser"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":avr_desc", ++ ":avr_info", + ":config", -+ ":core", ++ ":mc", ++ ":mc_parser", + ":support", + ], +) + +cc_library( -+ name = "asm_printer", -+ linkopts = ["-lLLVMAsmPrinter"], ++ name = "avr_code_gen", ++ linkopts = ["-lLLVMavr_code_gen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":binary_format", ++ ":asm_printer", ++ ":avr_desc", ++ ":avr_info", + ":code_gen", + ":config", + ":core", -+ ":debug_info_code_view", -+ ":debug_info_msf", + ":mc", -+ ":mc_parser", ++ ":selection_dag", + ":support", + ":target", + ], +) + +cc_library( -+ name = "binary_format", -+ linkopts = ["-lLLVMBinaryFormat"], ++ name = "avr_desc", ++ linkopts = ["-lLLVMavr_desc"], + visibility = ["//visibility:public"], + deps = [ ++ ":avr_info", + ":config", ++ ":mc", + ":support", + ], +) + +cc_library( -+ name = "bit_reader", -+ linkopts = ["-lLLVMBitReader"], ++ name = "avr_disassembler", ++ linkopts = ["-lLLVMavr_disassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":avr_info", + ":config", -+ ":core", ++ ":mc_disassembler", + ":support", + ], +) + +cc_library( -+ name = "bit_writer", -+ linkopts = ["-lLLVMBitWriter"], ++ name = "avr_info", ++ linkopts = ["-lLLVMavr_info"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", + ":config", -+ ":core", + ":mc", -+ ":object", + ":support", + ], +) + +cc_library( -+ name = "code_gen", -+ linkopts = ["-lLLVMCodeGen"], ++ name = "asm_parser", ++ linkopts = ["-lLLVMAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "asm_printer", ++ linkopts = ["-lLLVMAsmPrinter"], + visibility = ["//visibility:public"], + deps = [ + ":analysis", -+ ":bit_reader", -+ ":bit_writer", ++ ":binary_format", ++ ":code_gen", + ":config", + ":core", -+ ":instrumentation", ++ ":debug_info_code_view", ++ ":debug_info_dwarf", ++ ":debug_info_msf", + ":mc", -+ ":profile_data", -+ ":scalar", ++ ":mc_parser", ++ ":remarks", + ":support", + ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "core", -+ linkopts = ["-lLLVMCore"], ++ name = "bpf_asm_parser", ++ linkopts = ["-lLLVMBPFAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":bpf_desc", ++ ":bpf_info", + ":config", ++ ":mc", ++ ":mc_parser", + ":support", + ], +) + +cc_library( -+ name = "debug_info_code_view", -+ linkopts = ["-lLLVMDebugInfoCodeView"], ++ name = "bpf_code_gen", ++ linkopts = ["-lLLVMBPFCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":asm_printer", ++ ":bpf_desc", ++ ":bpf_info", ++ ":code_gen", + ":config", -+ ":debug_info_msf", ++ ":core", ++ ":mc", ++ ":selection_dag", + ":support", ++ ":target", + ], +) + +cc_library( -+ name = "debug_info_msf", -+ linkopts = ["-lLLVMDebugInfoMSF"], ++ name = "bpf_desc", ++ linkopts = ["-lLLVMBPFDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":bpf_info", + ":config", ++ ":mc", + ":support", + ], +) + +cc_library( -+ name = "demangle", -+ linkopts = ["-lLLVMDemangle"], ++ name = "bpf_disassembler", ++ linkopts = ["-lLLVMBPFDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":bpf_info", + ":config", ++ ":mc_disassembler", ++ ":support", + ], +) + +cc_library( -+ name = "execution_engine", -+ linkopts = ["-lLLVMExecutionEngine"], ++ name = "bpf_info", ++ linkopts = ["-lLLVMBPFInfo"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":core", -+ ":mc", -+ ":object", -+ ":runtime_dyld", + ":support", -+ ":target", + ], +) + +cc_library( -+ name = "global_i_sel", -+ linkopts = ["-lLLVMGlobalISel"], ++ name = "binary_format", ++ linkopts = ["-lLLVMBinaryFormat"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":code_gen", + ":config", -+ ":core", -+ ":mc", + ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "instrumentation", -+ linkopts = ["-lLLVMInstrumentation"], ++ name = "bit_reader", ++ linkopts = ["-lLLVMBitReader"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", + ":config", + ":core", -+ ":mc", -+ ":profile_data", + ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "inst_combine", -+ linkopts = ["-lLLVMInstCombine"], ++ name = "bit_writer", ++ linkopts = ["-lLLVMBitWriter"], + visibility = ["//visibility:public"], + deps = [ + ":analysis", + ":config", + ":core", ++ ":mc", ++ ":object", + ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "ipo", -+ linkopts = ["-lLLVMipo"], ++ name = "code_gen", ++ linkopts = ["-lLLVMCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", + ":analysis", + ":bit_reader", + ":bit_writer", + ":config", + ":core", -+ ":inst_combine", + ":instrumentation", -+ ":ir_reader", -+ ":linker", -+ ":object", ++ ":mc", + ":profile_data", + ":scalar", + ":support", ++ ":target", + ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "ir_reader", -+ linkopts = ["-lLLVMIRReader"], ++ name = "core", ++ linkopts = ["-lLLVMCore"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_parser", -+ ":bit_reader", ++ ":binary_format", + ":config", -+ ":core", ++ ":remarks", + ":support", + ], +) + +cc_library( -+ name = "linker", -+ linkopts = ["-lLLVMLinker"], ++ name = "coroutines", ++ linkopts = ["-lLLVMCoroutines"], + visibility = ["//visibility:public"], + deps = [ ++ ":analysis", + ":config", + ":core", ++ ":ipo", ++ ":scalar", + ":support", + ":transform_utils", + ], +) + +cc_library( -+ name = "mc", -+ linkopts = ["-lLLVMMC"], ++ name = "coverage", ++ linkopts = ["-lLLVMCoverage"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", + ":config", -+ ":debug_info_code_view", ++ ":core", ++ ":object", ++ ":profile_data", + ":support", + ], +) + +cc_library( -+ name = "mc_disassembler", -+ linkopts = ["-lLLVMMCDisassembler"], ++ name = "debug_info_code_view", ++ linkopts = ["-lLLVMDebugInfoCodeView"], + visibility = ["//visibility:public"], + deps = [ ++ ":binary_format", + ":config", -+ ":mc", ++ ":debug_info_msf", + ":support", + ], +) + +cc_library( -+ name = "mc_parser", -+ linkopts = ["-lLLVMMCParser"], ++ name = "debug_info_dwarf", ++ linkopts = ["-lLLVMDebugInfoDWARF"], + visibility = ["//visibility:public"], + deps = [ ++ ":binary_format", + ":config", + ":mc", ++ ":object", + ":support", + ], +) + +cc_library( -+ name = "nvptx_asm_printer", -+ linkopts = ["-lLLVMNVPTXAsmPrinter"], ++ name = "debug_info_msf", ++ linkopts = ["-lLLVMDebugInfoMSF"], + visibility = ["//visibility:public"], + deps = [ -+ "nvptx_target_gen", + ":config", -+ ":mc", -+ ":nvptx_info", + ":support", + ], +) + +cc_library( -+ name = "nvptx_code_gen", -+ linkopts = ["-lLLVMNVPTXCodeGen"], ++ name = "debug_info_pdb", ++ linkopts = ["-lLLVMDebugInfoPDB"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", + ":config", -+ ":core", -+ ":ipo", -+ ":mc", -+ ":nvptx_asm_printer", -+ ":nvptx_desc", -+ ":nvptx_info", -+ ":scalar", -+ ":selection_dag", ++ ":debug_info_code_view", ++ ":debug_info_msf", ++ ":object", + ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "nvptx_desc", -+ linkopts = ["-lLLVMNVPTXDesc"], ++ name = "demangle", ++ linkopts = ["-lLLVMDemangle"], + visibility = ["//visibility:public"], + deps = [ -+ "nvptx_target_gen", + ":config", -+ ":mc", -+ ":nvptx_asm_printer", -+ ":nvptx_info", -+ ":support", + ], +) + +cc_library( -+ name = "nvptx_info", -+ linkopts = ["-lLLVMNVPTXInfo"], ++ name = "dlltool_driver", ++ linkopts = ["-lLLVMDlltoolDriver"], + visibility = ["//visibility:public"], + deps = [ -+ "nvptx_target_gen", + ":config", -+ ":core", ++ ":object", ++ ":option", + ":support", -+ ":target", + ], +) + +cc_library( -+ name = "object", ++ name = "execution_engine", ++ linkopts = ["-lLLVMExecutionEngine"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":mc", ++ ":object", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "fuzz_mutate", ++ linkopts = ["-lLLVMFuzzMutate"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":config", ++ ":core", ++ ":scalar", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "global_i_sel", ++ linkopts = ["-lLLVMGlobalISel"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "instrumentation", ++ linkopts = ["-lLLVMInstrumentation"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":mc", ++ ":profile_data", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "inst_combine", ++ linkopts = ["-lLLVMInstCombine"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "interpreter", ++ linkopts = ["-lLLVMInterpreter"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":code_gen", ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_asm_parser", ++ linkopts = ["-lLLVMHexagonAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_code_gen", ++ linkopts = ["-lLLVMHexagonCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":hexagon_asm_parser", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":ipo", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_desc", ++ linkopts = ["-lLLVMHexagonDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_info", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_disassembler", ++ linkopts = ["-lLLVMHexagonDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_info", ++ linkopts = ["-lLLVMHexagonInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "ipo", ++ linkopts = ["-lLLVMipo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":config", ++ ":core", ++ ":inst_combine", ++ ":instrumentation", ++ ":ir_reader", ++ ":linker", ++ ":object", ++ ":profile_data", ++ ":scalar", ++ ":support", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "ir_reader", ++ linkopts = ["-lLLVMIRReader"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_parser", ++ ":bit_reader", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "jit_link", ++ linkopts = ["-lLLVMJITLink"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lto", ++ linkopts = ["-lLLVMLTO"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":inst_combine", ++ ":ipo", ++ ":linker", ++ ":mc", ++ ":objc_arc", ++ ":object", ++ ":passes", ++ ":scalar", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "lanai_asm_parser", ++ linkopts = ["-lLLVMLanaiAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_code_gen", ++ linkopts = ["-lLLVMLanaiCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":lanai_asm_parser", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "lanai_desc", ++ linkopts = ["-lLLVMLanaiDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_disassembler", ++ linkopts = ["-lLLVMLanaiDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_info", ++ linkopts = ["-lLLVMLanaiInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lib_driver", ++ linkopts = ["-lLLVMLibDriver"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":object", ++ ":option", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "line_editor", ++ linkopts = ["-lLLVMLineEditor"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "linker", ++ linkopts = ["-lLLVMLinker"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "mc", ++ linkopts = ["-lLLVMMC"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":debug_info_code_view", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mca", ++ linkopts = ["-lLLVMMCA"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mc_disassembler", ++ linkopts = ["-lLLVMMCDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mcjit", ++ linkopts = ["-lLLVMMCJIT"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":object", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "mc_parser", ++ linkopts = ["-lLLVMMCParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mir_parser", ++ linkopts = ["-lLLVMMIRParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_parser", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "msp430_asm_parser", ++ linkopts = ["-lLLVMMSP430AsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":msp430_desc", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_code_gen", ++ linkopts = ["-lLLVMMSP430CodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":msp430_desc", ++ ":msp430_info", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "msp430_desc", ++ linkopts = ["-lLLVMMSP430Desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_disassembler", ++ linkopts = ["-lLLVMMSP430Disassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_info", ++ linkopts = ["-lLLVMMSP430Info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_asm_parser", ++ linkopts = ["-lLLVMMipsAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":mips_desc", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_code_gen", ++ linkopts = ["-lLLVMMipsCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":mips_desc", ++ ":mips_info", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "mips_desc", ++ linkopts = ["-lLLVMMipsDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_disassembler", ++ linkopts = ["-lLLVMMipsDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_info", ++ linkopts = ["-lLLVMMipsInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_code_gen", ++ linkopts = ["-lLLVMNVPTXCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":ipo", ++ ":mc", ++ ":nvptx_desc", ++ ":nvptx_info", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_desc", ++ linkopts = ["-lLLVMNVPTXDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ "nvptx_target_gen", ++ ":config", ++ ":mc", ++ ":nvptx_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_info", ++ linkopts = ["-lLLVMNVPTXInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ "nvptx_target_gen", ++ ":config", ++ ":core", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "object", + linkopts = ["-lLLVMObject"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", -+ ":bit_reader", ++ ":binary_format", ++ ":bit_reader", ++ ":config", ++ ":core", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "objc_arc", ++ linkopts = ["-lLLVMObjCARCOpts"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "object_yaml", ++ linkopts = ["-lLLVMObjectYAML"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":debug_info_code_view", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "option", ++ linkopts = ["-lLLVMOption"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "orc_jit", ++ linkopts = ["-lLLVMOrcJIT"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":jit_link", ++ ":mc", ++ ":object", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "passes", ++ linkopts = ["-lLLVMPasses"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":inst_combine", ++ ":instrumentation", ++ ":ipo", ++ ":scalar", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_asm_parser", ++ linkopts = ["-lLLVMPowerPCAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":powerpc_desc", ++ ":powerpc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_code_gen", ++ linkopts = ["-lLLVMPowerPCCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":powerpc_desc", ++ ":powerpc_info", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_desc", ++ linkopts = ["-lLLVMPowerPCDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":powerpc_info", ++ ":powerpc_target_gen", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_disassembler", ++ linkopts = ["-lLLVMPowerPCDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":powerpc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_info", ++ linkopts = ["-lLLVMPowerPCInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":powerpc_target_gen", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "profile_data", ++ linkopts = ["-lLLVMProfileData"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_asm_parser", ++ linkopts = ["-lLLVMRISCVAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":riscv_desc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_code_gen", ++ linkopts = ["-lLLVMRISCVCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":riscv_desc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "riscv_desc", ++ linkopts = ["-lLLVMRISCVDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_disassembler", ++ linkopts = ["-lLLVMRISCVDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":riscv_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_info", ++ linkopts = ["-lLLVMRISCVInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_utils", ++ linkopts = ["-lLLVMRISCVUtils"], ++ visibility = ["//visibility:public"], ++ deps = [ + ":config", -+ ":core", -+ ":mc", -+ ":mc_parser", + ":support", + ], +) + +cc_library( -+ name = "objc_arc", -+ linkopts = ["-lLLVMObjCARCOpts"], ++ name = "remarks", ++ linkopts = ["-lLLVMRemarks"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", + ":config", -+ ":core", + ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "orc_jit", -+ linkopts = ["-lLLVMOrcJIT"], ++ name = "runtime_dyld", ++ linkopts = ["-lLLVMRuntimeDyld"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":core", -+ ":execution_engine", + ":mc", ++ ":mc_disassembler", + ":object", -+ ":runtime_dyld", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "scalar", ++ linkopts = ["-lLLVMScalarOpts"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":config", ++ ":core", ++ ":inst_combine", + ":support", + ":target", + ":transform_utils", @@ -1143,157 +1982,179 @@ index 00000000..c6e9b9b1 +) + +cc_library( -+ name = "powerpc_asm_parser", -+ linkopts = ["-lLLVMPowerPCAsmParser"], ++ name = "selection_dag", ++ linkopts = ["-lLLVMSelectionDAG"], + visibility = ["//visibility:public"], + deps = [ ++ ":analysis", ++ ":code_gen", + ":config", ++ ":core", + ":mc", -+ ":mc_parser", -+ ":powerpc_desc", -+ ":powerpc_info", + ":support", ++ ":target", ++ ":transform_utils", + ], +) + +cc_library( -+ name = "powerpc_asm_printer", -+ linkopts = ["-lLLVMPowerPCAsmPrinter"], ++ name = "sparc_asm_parser", ++ linkopts = ["-lLLVMSparcAsmParser"], + visibility = ["//visibility:public"], + deps = [ + ":config", + ":mc", -+ ":powerpc_info", -+ ":powerpc_target_gen", ++ ":mc_parser", ++ ":sparc_desc", ++ ":sparc_info", + ":support", + ], +) + +cc_library( -+ name = "powerpc_code_gen", -+ linkopts = ["-lLLVMPowerPCCodeGen"], ++ name = "sparc_code_gen", ++ linkopts = ["-lLLVMSparcCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", + ":asm_printer", + ":code_gen", + ":config", + ":core", + ":mc", -+ ":powerpc_asm_printer", -+ ":powerpc_desc", -+ ":powerpc_info", -+ ":scalar", + ":selection_dag", ++ ":sparc_desc", ++ ":sparc_info", + ":support", + ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "powerpc_desc", -+ linkopts = ["-lLLVMPowerPCDesc"], ++ name = "sparc_desc", ++ linkopts = ["-lLLVMSparcDesc"], + visibility = ["//visibility:public"], + deps = [ + ":config", + ":mc", -+ ":powerpc_asm_printer", -+ ":powerpc_info", -+ ":powerpc_target_gen", ++ ":sparc_info", + ":support", + ], +) + +cc_library( -+ name = "powerpc_disassembler", -+ linkopts = ["-lLLVMPowerPCDisassembler"], ++ name = "sparc_disassembler", ++ linkopts = ["-lLLVMSparcDisassembler"], + visibility = ["//visibility:public"], + deps = [ + ":config", + ":mc_disassembler", -+ ":powerpc_info", ++ ":sparc_info", + ":support", + ], +) + +cc_library( -+ name = "powerpc_info", -+ linkopts = ["-lLLVMPowerPCInfo"], ++ name = "sparc_info", ++ linkopts = ["-lLLVMSparcInfo"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":core", -+ ":powerpc_target_gen", + ":support", -+ ":target", + ], +) + +cc_library( -+ name = "profile_data", -+ linkopts = ["-lLLVMProfileData"], ++ name = "support", ++ linkopts = ["-lLLVMSupport"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":core", -+ ":support", ++ ":demangle", ++ "@zlib_archive//:zlib", + ], +) + +cc_library( -+ name = "runtime_dyld", -+ linkopts = ["-lLLVMRuntimeDyld"], ++ name = "symbolize", ++ linkopts = ["-lLLVMSymbolize"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":mc", -+ ":mc_disassembler", ++ ":debug_info_dwarf", ++ ":debug_info_pdb", ++ ":demangle", + ":object", + ":support", + ], +) + +cc_library( -+ name = "scalar", -+ linkopts = ["-lLLVMScalarOpts"], ++ name = "system_z_asm_parser", ++ linkopts = ["-lLLVMSystemZAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", + ":config", -+ ":core", -+ ":inst_combine", ++ ":mc", ++ ":mc_parser", + ":support", -+ ":target", -+ ":transform_utils", ++ ":system_z_desc", ++ ":system_z_info", + ], +) + +cc_library( -+ name = "selection_dag", -+ linkopts = ["-lLLVMSelectionDAG"], ++ name = "system_z_code_gen", ++ linkopts = ["-lLLVMSystemZCodeGen"], + visibility = ["//visibility:public"], + deps = [ + ":analysis", ++ ":asm_printer", + ":code_gen", + ":config", + ":core", + ":mc", ++ ":scalar", ++ ":selection_dag", + ":support", ++ ":system_z_desc", ++ ":system_z_info", + ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "support", -+ linkopts = ["-lLLVMSupport"], ++ name = "system_z_desc", ++ linkopts = ["-lLLVMSystemZDesc"], + visibility = ["//visibility:public"], + deps = [ + ":config", -+ ":demangle", -+ "@zlib_archive//:zlib", ++ ":mc", ++ ":support", ++ ":system_z_info", ++ ], ++) ++ ++cc_library( ++ name = "system_z_disassembler", ++ linkopts = ["-lLLVMSystemZDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ":system_z_desc", ++ ":system_z_info", ++ ], ++) ++ ++cc_library( ++ name = "system_z_info", ++ linkopts = ["-lLLVMSystemZInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", + ], +) + @@ -1322,6 +2183,27 @@ index 00000000..c6e9b9b1 +) + +cc_library( ++ name = "testing_support", ++ linkopts = ["-lLLVMtesting_support"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "text_api", ++ linkopts = ["-lLLVMTextAPI"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( + name = "transform_utils", + linkopts = ["-lLLVMTransformUtils"], + visibility = ["//visibility:public"], @@ -1348,30 +2230,96 @@ index 00000000..c6e9b9b1 +) + +cc_library( -+ name = "x86_asm_parser", -+ linkopts = ["-lLLVMX86AsmParser"], ++ name = "web_assembly_asm_parser", ++ linkopts = ["-lLLVMWebAssemblyAsmParser"], + visibility = ["//visibility:public"], + deps = [ + ":config", + ":mc", + ":mc_parser", + ":support", -+ ":x86_asm_printer", -+ ":x86_desc", -+ ":x86_info", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_code_gen", ++ linkopts = ["-lLLVMWebAssemblyCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":web_assembly_desc", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_desc", ++ linkopts = ["-lLLVMWebAssemblyDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_disassembler", ++ linkopts = ["-lLLVMWebAssemblyDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ":web_assembly_desc", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_info", ++ linkopts = ["-lLLVMWebAssemblyInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "windows_manifest", ++ linkopts = ["-lLLVMWindowsManifest"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", + ], +) + +cc_library( -+ name = "x86_asm_printer", -+ linkopts = ["-lLLVMX86AsmPrinter"], ++ name = "x86_asm_parser", ++ linkopts = ["-lLLVMX86AsmParser"], + visibility = ["//visibility:public"], + deps = [ + ":config", + ":mc", ++ ":mc_parser", + ":support", ++ ":x86_desc", + ":x86_info", -+ ":x86_utils", + ], +) + @@ -1391,7 +2339,6 @@ index 00000000..c6e9b9b1 + ":selection_dag", + ":support", + ":target", -+ ":x86_asm_printer", + ":x86_defs", + ":x86_desc", + ":x86_info", @@ -1409,8 +2356,8 @@ index 00000000..c6e9b9b1 + ":mc_disassembler", + ":object", + ":support", -+ ":x86_asm_printer", + ":x86_info", ++ ":x86_utils", + ], +) + @@ -1447,8 +2394,73 @@ index 00000000..c6e9b9b1 + ":support", + ], +) ++ ++cc_library( ++ name = "x_core_code_gen", ++ linkopts = ["-lLLVMXCoreCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":x_core_desc", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_desc", ++ linkopts = ["-lLLVMXCoreDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_disassembler", ++ linkopts = ["-lLLVMXCoreDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_info", ++ linkopts = ["-lLLVMXCoreInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "x_ray", ++ linkopts = ["-lLLVMXRay"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":object", ++ ":support", ++ ], ++) diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl -index 217c0131..9e895232 100644 +index 217c0131186..9e89523266a 100644 --- a/third_party/systemlibs/syslibs_configure.bzl +++ b/third_party/systemlibs/syslibs_configure.bzl @@ -30,6 +30,7 @@ VALID_LIBS = [ @@ -1460,5 +2472,5 @@ index 217c0131..9e895232 100644 "nasm", "nsync", -- -2.17.1 +2.29.2.windows.3 From c7a021ba8054cedaeacecac20074e73d02dd48f3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 22:11:39 +0100 Subject: [PATCH 22/78] move old patches out of the way --- recipe/meta.yaml | 5 ----- recipe/patches/{ => legacy}/0001-add-rt-to-linkopts.patch | 0 .../patches/{ => legacy}/0002-stable-image-rotate-test.patch | 0 recipe/patches/{ => legacy}/0005-fix-lookup_ops-test.patch | 0 ...7-Add-init-symbol-names-prefixed-with-an-underscore.patch | 0 ...dd-alternate-clock_gettime-implementation-for-macOS.patch | 0 6 files changed, 5 deletions(-) rename recipe/patches/{ => legacy}/0001-add-rt-to-linkopts.patch (100%) rename recipe/patches/{ => legacy}/0002-stable-image-rotate-test.patch (100%) rename recipe/patches/{ => legacy}/0005-fix-lookup_ops-test.patch (100%) rename recipe/patches/{ => legacy}/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch (100%) rename recipe/patches/{ => legacy}/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch (100%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c96e60ac..067c1b53 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,14 +23,9 @@ source: sha256: 784ab8217e4b0eb4d121c28430c6cdc2ce56c02634a9720d84fb30598b338b8c # [win and py==38] patches: - #- patches/0001-add-rt-to-linkopts.patch # [linux] - #- patches/0002-stable-image-rotate-test.patch # [linux] - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] - #- patches/0005-fix-lookup_ops-test.patch # [linux] - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] - #- patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch # [osx] - #- patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch # [osx] - patches/0004-Unbundle-LLVM.patch # [linux] build: diff --git a/recipe/patches/0001-add-rt-to-linkopts.patch b/recipe/patches/legacy/0001-add-rt-to-linkopts.patch similarity index 100% rename from recipe/patches/0001-add-rt-to-linkopts.patch rename to recipe/patches/legacy/0001-add-rt-to-linkopts.patch diff --git a/recipe/patches/0002-stable-image-rotate-test.patch b/recipe/patches/legacy/0002-stable-image-rotate-test.patch similarity index 100% rename from recipe/patches/0002-stable-image-rotate-test.patch rename to recipe/patches/legacy/0002-stable-image-rotate-test.patch diff --git a/recipe/patches/0005-fix-lookup_ops-test.patch b/recipe/patches/legacy/0005-fix-lookup_ops-test.patch similarity index 100% rename from recipe/patches/0005-fix-lookup_ops-test.patch rename to recipe/patches/legacy/0005-fix-lookup_ops-test.patch diff --git a/recipe/patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch b/recipe/patches/legacy/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch similarity index 100% rename from recipe/patches/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch rename to recipe/patches/legacy/0007-Add-init-symbol-names-prefixed-with-an-underscore.patch diff --git a/recipe/patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch b/recipe/patches/legacy/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch similarity index 100% rename from recipe/patches/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch rename to recipe/patches/legacy/0008-Add-alternate-clock_gettime-implementation-for-macOS.patch From 94bd4c8bc3a10c87076706852f2078339071c803 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 21:45:39 +0100 Subject: [PATCH 23/78] use bazel from conda-forge --- recipe/build.sh | 12 ------------ recipe/meta.yaml | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index c9c04dbf..4f241cb4 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -76,18 +76,6 @@ else export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" fi -# TODO: publish 2.0 branch in bazel-feedstock -export BAZEL_VERSION=2.0.0 -export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" -mkdir bazel_local -cd bazel_local -curl -sSOL https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip -unzip bazel-${BAZEL_VERSION}-dist.zip -./compile.sh -cd .. -export PATH="$PWD/bazel_local/output:$PATH" -bazel version - # Python settings export PYTHON_BIN_PATH=${PYTHON} export PYTHON_LIB_PATH=${SP_DIR} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 067c1b53..260ff638 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,7 +36,7 @@ requirements: build: - {{ compiler('c') }} # [linux] - {{ compiler('cxx') }} # [linux] - #- bazel ==2.0.0 # [linux] + - bazel # [linux] - nasm # [linux] - swig # [linux] host: From 5a4628e5627d26c2d9f389051646a67bdd951d30 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 21:47:24 +0100 Subject: [PATCH 24/78] remove some upper version limits --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 260ff638..4202e7ae 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -51,7 +51,7 @@ requirements: - google-pasta >=0.1.6 - keras-applications >=1.0.6 - keras-preprocessing >=1.0.5 - - llvmdev >=9.0.0,<10.0.0 # [linux] + - llvmdev >=9.0.0 # [linux] - zlib # [linux] - libpng # [linux] - libcurl # [linux] @@ -176,7 +176,7 @@ outputs: - libcurl # [linux] - zlib # [linux] run: - - libprotobuf >=3.6.1,<3.7 + - libprotobuf >=3.6.1 - nsync test: files: From 97404d97b2208c01451b3e0f7ae9be875a4b3cc1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 22:12:18 +0100 Subject: [PATCH 25/78] align some selectors --- recipe/meta.yaml | 60 ++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4202e7ae..b128feae 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,8 +1,8 @@ {% set version = "2.2.0" %} {% set pyver = "cp{}{}".format(PY_VER[0], PY_VER[2]) %} -{% set platform = "macosx_10_11_x86_64" %} # [osx] -{% set platform = "win_amd64" %} # [win] +{% set platform = "macosx_10_11_x86_64" %} # [osx] +{% set platform = "win_amd64" %} # [win] {% set fn = "{}-{}-{}-{}m-{}.whl".format("tensorflow", version, pyver, pyver, platform) %} # [not linux] {% set fn = "tensorflow-{{ version }}.tar.gz" %} # [linux] @@ -13,20 +13,20 @@ package: source: fn: {{ fn }} url: https://github.com/tensorflow/tensorflow/archive/v{{ version }}.tar.gz # [linux] - sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 # [linux] - url: https://pypi.io/packages/{{ pyver }}/t/tensorflow/{{ fn }} # [not linux] - sha256: 6735486ee9c3cb0807476e2b36ef7a4cd6c597cb24abf496e66b703360e1e54e # [osx and py==36] - sha256: c332c7fc5cfd54cb86d5da99787c9693e3a924848097c54df1b71ee595a39c93 # [osx and py==37] - sha256: bbcfb04738099bd46822db91584db74703fdddacf4cd0a76acfc5e086956b5ba # [osx and py==38] - sha256: 3ee8819732d8594913b7d22ded7b22e48a49aa015050d8dd8464eaa010ba2e41 # [win and py==36] - sha256: 68ea22aee9c269a6a0c1061c141f1ec1cd1b1be7569390519c1bf4773f434a40 # [win and py==37] - sha256: 784ab8217e4b0eb4d121c28430c6cdc2ce56c02634a9720d84fb30598b338b8c # [win and py==38] + sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 # [linux] + url: https://pypi.io/packages/{{ pyver }}/t/tensorflow/{{ fn }} # [not linux] + sha256: 6735486ee9c3cb0807476e2b36ef7a4cd6c597cb24abf496e66b703360e1e54e # [osx and py==36] + sha256: c332c7fc5cfd54cb86d5da99787c9693e3a924848097c54df1b71ee595a39c93 # [osx and py==37] + sha256: bbcfb04738099bd46822db91584db74703fdddacf4cd0a76acfc5e086956b5ba # [osx and py==38] + sha256: 3ee8819732d8594913b7d22ded7b22e48a49aa015050d8dd8464eaa010ba2e41 # [win and py==36] + sha256: 68ea22aee9c269a6a0c1061c141f1ec1cd1b1be7569390519c1bf4773f434a40 # [win and py==37] + sha256: 784ab8217e4b0eb4d121c28430c6cdc2ce56c02634a9720d84fb30598b338b8c # [win and py==38] patches: - - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] - - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] - - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] - - patches/0004-Unbundle-LLVM.patch # [linux] + - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] + - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] + - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] + - patches/0004-Unbundle-LLVM.patch # [linux] build: number: 0 @@ -55,10 +55,10 @@ requirements: - zlib # [linux] - libpng # [linux] - libcurl # [linux] - - unzip # [linux] - - zip # [linux] - - openjdk >=8 # [linux] - - nsync # [linux] + - unzip # [linux] + - zip # [linux] + - openjdk >=8 # [linux] + - nsync # [linux] - numpy >=1.16.1 - six >=1.10.0 - protobuf >=3.6.1 @@ -107,9 +107,9 @@ outputs: - grpcio >=1.8.6 - wheel >=0.26 # [unix] - tensorflow-estimator >=2.2.0,<2.3.0a0 - - zlib # [linux] - - libpng # [linux] - - libcurl # [linux] + - zlib # [linux] + - libpng # [linux] + - libcurl # [linux] run: - python - absl-py >=0.7.0 @@ -135,14 +135,14 @@ outputs: commands: - freeze_graph --help - saved_model_cli --help - - tflite_convert --help # [not win] - - toco_from_protos --help # [not win] - - toco --help # [not win] + - tflite_convert --help # [not win] + - toco_from_protos --help # [not win] + - toco --help # [not win] - name: libtensorflow - script: cp_libtensorflow.sh # [unix] + script: cp_libtensorflow.sh # [unix] build: - skip: true # [not linux] + skip: true # [not linux] requirements: # build requirements needs to pick up the compiler run_exports build: @@ -150,8 +150,8 @@ outputs: - {{ compiler('cxx') }} # [linux] # host requirements to pick up run_exports host: - - libcurl # [linux] - - zlib # [linux] + - libcurl # [linux] + - zlib # [linux] test: files: @@ -173,8 +173,8 @@ outputs: - {{ compiler('cxx') }} # [linux] # host requirements to pick up run_exports host: - - libcurl # [linux] - - zlib # [linux] + - libcurl # [linux] + - zlib # [linux] run: - libprotobuf >=3.6.1 - nsync From ae2734d3a8a8b52df690edead4eaab2b2451f161 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 22:29:29 +0100 Subject: [PATCH 26/78] repin bazel --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b128feae..5fb577f7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,7 +36,7 @@ requirements: build: - {{ compiler('c') }} # [linux] - {{ compiler('cxx') }} # [linux] - - bazel # [linux] + - bazel =2.0.0 # [linux] - nasm # [linux] - swig # [linux] host: From 65b66489feae9142362b2f9f308751b3d381e297 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Tue, 12 Jan 2021 17:07:50 -0500 Subject: [PATCH 27/78] update the script for libtensorflow_cc --- recipe/cp_libtensorflow_cc.sh | 37 +++++++++++++++-------------------- recipe/meta.yaml | 4 +--- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index c5c8e38a..a45db713 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -1,22 +1,17 @@ -# copy libraries -mkdir -p ${PREFIX}/lib -cp bazel-bin/tensorflow/libtensorflow_cc.so ${PREFIX}/lib/ -cp bazel-bin/tensorflow/libtensorflow_framework.so ${PREFIX}/lib/ +mkdir -p $PREFIX/lib +# copy library +cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $PREFIX/lib/ +cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $PREFIX/lib/ +cp -d $PREFIX/lib/libtensorflow_framework.so.2 $PREFIX/lib/libtensorflow_framework.so -# remove cc files -find bazel-genfiles/ -name "*.cc" -type f -delete -find tensorflow/cc -name "*.cc" -type f -delete -find tensorflow/core -name "*.cc" -type f -delete -find third_party -name "*.cc" -type f -delete -find bazel-work/external/com_google_absl/absl -name "*.cc" -type f -delete - -# copy includes -mkdir -p ${PREFIX}/include/tensorflow -cp -r bazel-genfiles/* ${PREFIX}/include/ -cp -r tensorflow/cc/ ${PREFIX}/include/tensorflow -cp -r tensorflow/core/ ${PREFIX}/include/tensorflow -cp -r third_party/ ${PREFIX}/include - -cp -r bazel-work/external/com_google_absl/absl/ ${PREFIX}/include -cp -r bazel-work/external/eigen_archive/Eigen/ ${PREFIX}/include -cp -r bazel-work/external/eigen_archive/unsupported/ ${PREFIX}/include +mkdir -p $PREFIX/include +mkdir -p $PREFIX/include/tensorflow +# copy headers +rsync -avzh --exclude '_virtual_includes/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ +rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ +rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ +rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ +rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ +rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ +rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_protobuf/src/google/ $PREFIX/include/google/ +rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_absl/absl/ $PREFIX/include/absl/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5fb577f7..1d25141d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -171,13 +171,11 @@ outputs: build: - {{ compiler('c') }} # [linux] - {{ compiler('cxx') }} # [linux] + - rsync # [linux] # host requirements to pick up run_exports host: - libcurl # [linux] - zlib # [linux] - run: - - libprotobuf >=3.6.1 - - nsync test: files: - test_cc.cc From afcc7a783ddb682a6790354be4535c4159c54939 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 22:55:05 +0100 Subject: [PATCH 28/78] regenerate llvm.BUILD and refactor patches to do this more easily when rebasing --- recipe/meta.yaml | 1 + ...relax-tolerence-in-special_math_test.patch | 2 +- ...p-read-only-debugger_cli_common-test.patch | 2 +- ...elax-precision-in-matrix_log_op_test.patch | 2 +- recipe/patches/0004-Unbundle-LLVM.patch | 2142 +-------------- .../0005-rerun-generate_llvm_build.py.patch | 2324 +++++++++++++++++ 6 files changed, 2334 insertions(+), 2139 deletions(-) create mode 100644 recipe/patches/0005-rerun-generate_llvm_build.py.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1d25141d..2cb3130d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,6 +27,7 @@ source: - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] - patches/0004-Unbundle-LLVM.patch # [linux] + - patches/0005-rerun-generate_llvm_build.py.patch # [linux] build: number: 0 diff --git a/recipe/patches/0001-relax-tolerence-in-special_math_test.patch b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch index a36dc1d9..943c20ea 100644 --- a/recipe/patches/0001-relax-tolerence-in-special_math_test.patch +++ b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch @@ -1,7 +1,7 @@ From 3ce7b37b14b9d849e1bb283ad599ef128cf98a98 Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Tue, 20 Jun 2017 15:13:14 -0500 -Subject: [PATCH 1/4] relax tolerence in special_math_test +Subject: [PATCH 1/5] relax tolerence in special_math_test --- .../python/kernel_tests/distributions/special_math_test.py | 2 +- diff --git a/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch index ccb8bf27..47104c43 100644 --- a/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch +++ b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch @@ -1,7 +1,7 @@ From 1d47b6cf0af5da59d192f0752bc437d9bd8c87bb Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Thu, 4 Jan 2018 17:17:23 -0600 -Subject: [PATCH 2/4] skip read only debugger_cli_common test +Subject: [PATCH 2/5] skip read only debugger_cli_common test If tensorflow is built as root the debugger_cli_common::testCommandHistoryHandlesWritingIOErrorGracoiusly test diff --git a/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch index 1e89e5fa..ea5c1611 100644 --- a/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch +++ b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch @@ -1,7 +1,7 @@ From 4fd78e4e883b9f40329bee5bc9af7ef2f04c18d0 Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 20 Aug 2018 12:19:04 -0500 -Subject: [PATCH 3/4] relax precision in matrix_log_op_test +Subject: [PATCH 3/5] relax precision in matrix_log_op_test --- tensorflow/python/kernel_tests/matrix_logarithm_op_test.py | 2 +- diff --git a/recipe/patches/0004-Unbundle-LLVM.patch b/recipe/patches/0004-Unbundle-LLVM.patch index 825de23e..1ce69b35 100644 --- a/recipe/patches/0004-Unbundle-LLVM.patch +++ b/recipe/patches/0004-Unbundle-LLVM.patch @@ -1,16 +1,14 @@ -From b56de6090f7f1e8818b55d2d5e669696dde19f23 Mon Sep 17 00:00:00 2001 +From 08297dea9f83024876e0be3f203a83b777ee1ea4 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 15 Aug 2019 02:50:37 +0000 -Subject: [PATCH 4/4] Unbundle LLVM +Subject: [PATCH 4/5] Unbundle LLVM --- - tensorflow/workspace.bzl | 1 + - third_party/systemlibs/generate_llvm_build.py | 301 +++ - third_party/systemlibs/llvm.BUILD | 2122 +++++++++++++++++ - third_party/systemlibs/syslibs_configure.bzl | 1 + - 4 files changed, 2425 insertions(+) + tensorflow/workspace.bzl | 1 + + third_party/systemlibs/generate_llvm_build.py | 301 ++++++++++++++++++ + third_party/systemlibs/syslibs_configure.bzl | 1 + + 3 files changed, 303 insertions(+) create mode 100644 third_party/systemlibs/generate_llvm_build.py - create mode 100644 third_party/systemlibs/llvm.BUILD diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl index 262da77e0c2..9824c6c7b68 100755 @@ -331,2134 +329,6 @@ index 00000000000..54745b46f10 +print(INIT_TEXT) +with open(build_path, "r") as f: + exec(f.read()) -diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD -new file mode 100644 -index 00000000000..909684a445c ---- /dev/null -+++ b/third_party/systemlibs/llvm.BUILD -@@ -0,0 +1,2122 @@ -+ -+# Bazel BUILD file for system LLVM -+# -+# Auto-generated by generate_llvm_build.py -+ -+licenses(["notice"]) -+ -+filegroup( -+ name = "LICENSE.TXT", -+ visibility = ["//visibility:public"], -+) -+ -+load( -+ "@org_tensorflow//third_party/llvm:llvm.bzl", -+ "cmake_var_string", -+ "expand_cmake_vars", -+ "gentbl", -+ "llvm_all_cmake_vars", -+ "llvm_copts", -+ "llvm_defines", -+ "llvm_linkopts", -+ "llvm_support_platform_specific_srcs_glob", -+) -+ -+# Binary targets used by Tensorflow. -+genrule( -+ name = "lnllvmtblgenlink", -+ outs = ["llvmtblgenlink"], -+ cmd = "ln -s $$(which llvm-tblgen) $@", -+) -+ -+sh_binary( -+ name = "llvm-tblgen", -+ srcs = ["llvmtblgenlink"], -+ visibility = ["//visibility:public"], -+) -+ -+genrule( -+ name = "lnfilecheck", -+ outs = ["filechecklink"], -+ cmd = "ln -s $$(which FileCheck) $@", -+) -+ -+sh_binary( -+ name = "FileCheck", -+ srcs = ["filechecklink"], -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "config", -+ defines = llvm_defines, -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "x86_defs", -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ] -+) -+ -+ -+cc_library( -+ name = "aarch64_asm_parser", -+ linkopts = ["-lLLVMAArch64AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "aarch64_code_gen", -+ linkopts = ["-lLLVMAArch64CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "aarch64_desc", -+ linkopts = ["-lLLVMAArch64Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aarch64_info", -+ ":aarch64_utils", -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "aarch64_disassembler", -+ linkopts = ["-lLLVMAArch64Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "aarch64_info", -+ linkopts = ["-lLLVMAArch64Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":code_gen", -+ ":config", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "aarch64_utils", -+ linkopts = ["-lLLVMAArch64Utils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "aggressive_inst_combine", -+ linkopts = ["-lLLVMAggressiveInstCombine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "analysis", -+ linkopts = ["-lLLVMAnalysis"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":core", -+ ":object", -+ ":profile_data", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_desc", -+ linkopts = ["-lLLVMAMDGPUDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":binary_format", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_disassembler", -+ linkopts = ["-lLLVMAMDGPUDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_info", -+ linkopts = ["-lLLVMAMDGPUInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_r600_target_gen", -+ ":amdgpu_target_gen", -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_utils", -+ linkopts = ["-lLLVMAMDGPUUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_r600_target_gen", -+ ":amdgpu_target_gen", -+ ":binary_format", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_asm_parser", -+ linkopts = ["-lLLVMAMDGPUAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "amdgpu_code_gen", -+ linkopts = ["-lLLVMAMDGPUCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":analysis", -+ ":asm_printer", -+ ":binary_format", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":global_i_sel", -+ ":ipo", -+ ":mc", -+ ":mir_parser", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", -+ ], -+) -+ -+cc_library( -+ name = "arc_code_gen", -+ linkopts = ["-lLLVMSparcCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":arc_desc", -+ ":arc_info", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "arc_desc", -+ linkopts = ["-lLLVMSparcDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":arc_info", -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arc_disassembler", -+ linkopts = ["-lLLVMSparcDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":arc_info", -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arc_info", -+ linkopts = ["-lLLVMSparcInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arm_asm_parser", -+ linkopts = ["-lLLVMARMAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arm_code_gen", -+ linkopts = ["-lLLVMARMCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "arm_desc", -+ linkopts = ["-lLLVMARMDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":arm_info", -+ ":arm_utils", -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arm_disassembler", -+ linkopts = ["-lLLVMARMDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "arm_info", -+ linkopts = ["-lLLVMARMInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "arm_utils", -+ linkopts = ["-lLLVMARMUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "avr_asm_parser", -+ linkopts = ["-lLLVMavr_asm_parser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":avr_desc", -+ ":avr_info", -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "avr_code_gen", -+ linkopts = ["-lLLVMavr_code_gen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_printer", -+ ":avr_desc", -+ ":avr_info", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "avr_desc", -+ linkopts = ["-lLLVMavr_desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":avr_info", -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "avr_disassembler", -+ linkopts = ["-lLLVMavr_disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":avr_info", -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "avr_info", -+ linkopts = ["-lLLVMavr_info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "asm_parser", -+ linkopts = ["-lLLVMAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "asm_printer", -+ linkopts = ["-lLLVMAsmPrinter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":binary_format", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":debug_info_code_view", -+ ":debug_info_dwarf", -+ ":debug_info_msf", -+ ":mc", -+ ":mc_parser", -+ ":remarks", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "bpf_asm_parser", -+ linkopts = ["-lLLVMBPFAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":bpf_desc", -+ ":bpf_info", -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "bpf_code_gen", -+ linkopts = ["-lLLVMBPFCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_printer", -+ ":bpf_desc", -+ ":bpf_info", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "bpf_desc", -+ linkopts = ["-lLLVMBPFDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":bpf_info", -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "bpf_disassembler", -+ linkopts = ["-lLLVMBPFDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":bpf_info", -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "bpf_info", -+ linkopts = ["-lLLVMBPFInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "binary_format", -+ linkopts = ["-lLLVMBinaryFormat"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "bit_reader", -+ linkopts = ["-lLLVMBitReader"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "bit_writer", -+ linkopts = ["-lLLVMBitWriter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":mc", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "code_gen", -+ linkopts = ["-lLLVMCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", -+ ":config", -+ ":core", -+ ":instrumentation", -+ ":mc", -+ ":profile_data", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "core", -+ linkopts = ["-lLLVMCore"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":remarks", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "coroutines", -+ linkopts = ["-lLLVMCoroutines"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":ipo", -+ ":scalar", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "coverage", -+ linkopts = ["-lLLVMCoverage"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":object", -+ ":profile_data", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "debug_info_code_view", -+ linkopts = ["-lLLVMDebugInfoCodeView"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":debug_info_msf", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "debug_info_dwarf", -+ linkopts = ["-lLLVMDebugInfoDWARF"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":mc", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "debug_info_msf", -+ linkopts = ["-lLLVMDebugInfoMSF"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "debug_info_pdb", -+ linkopts = ["-lLLVMDebugInfoPDB"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":debug_info_code_view", -+ ":debug_info_msf", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "demangle", -+ linkopts = ["-lLLVMDemangle"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "dlltool_driver", -+ linkopts = ["-lLLVMDlltoolDriver"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":object", -+ ":option", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "execution_engine", -+ linkopts = ["-lLLVMExecutionEngine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":mc", -+ ":object", -+ ":runtime_dyld", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "fuzz_mutate", -+ linkopts = ["-lLLVMFuzzMutate"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", -+ ":config", -+ ":core", -+ ":scalar", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "global_i_sel", -+ linkopts = ["-lLLVMGlobalISel"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "instrumentation", -+ linkopts = ["-lLLVMInstrumentation"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":mc", -+ ":profile_data", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "inst_combine", -+ linkopts = ["-lLLVMInstCombine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "interpreter", -+ linkopts = ["-lLLVMInterpreter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":code_gen", -+ ":config", -+ ":core", -+ ":execution_engine", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "hexagon_asm_parser", -+ linkopts = ["-lLLVMHexagonAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "hexagon_code_gen", -+ linkopts = ["-lLLVMHexagonCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":hexagon_asm_parser", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":ipo", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "hexagon_desc", -+ linkopts = ["-lLLVMHexagonDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":hexagon_info", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "hexagon_disassembler", -+ linkopts = ["-lLLVMHexagonDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "hexagon_info", -+ linkopts = ["-lLLVMHexagonInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "ipo", -+ linkopts = ["-lLLVMipo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", -+ ":config", -+ ":core", -+ ":inst_combine", -+ ":instrumentation", -+ ":ir_reader", -+ ":linker", -+ ":object", -+ ":profile_data", -+ ":scalar", -+ ":support", -+ ":transform_utils", -+ ":vectorize", -+ ], -+) -+ -+cc_library( -+ name = "ir_reader", -+ linkopts = ["-lLLVMIRReader"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_parser", -+ ":bit_reader", -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "jit_link", -+ linkopts = ["-lLLVMJITLink"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "lto", -+ linkopts = ["-lLLVMLTO"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":inst_combine", -+ ":ipo", -+ ":linker", -+ ":mc", -+ ":objc_arc", -+ ":object", -+ ":passes", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "lanai_asm_parser", -+ linkopts = ["-lLLVMLanaiAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "lanai_code_gen", -+ linkopts = ["-lLLVMLanaiCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":lanai_asm_parser", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "lanai_desc", -+ linkopts = ["-lLLVMLanaiDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":lanai_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "lanai_disassembler", -+ linkopts = ["-lLLVMLanaiDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "lanai_info", -+ linkopts = ["-lLLVMLanaiInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "lib_driver", -+ linkopts = ["-lLLVMLibDriver"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":object", -+ ":option", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "line_editor", -+ linkopts = ["-lLLVMLineEditor"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "linker", -+ linkopts = ["-lLLVMLinker"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "mc", -+ linkopts = ["-lLLVMMC"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":debug_info_code_view", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mca", -+ linkopts = ["-lLLVMMCA"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mc_disassembler", -+ linkopts = ["-lLLVMMCDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mcjit", -+ linkopts = ["-lLLVMMCJIT"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":execution_engine", -+ ":object", -+ ":runtime_dyld", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "mc_parser", -+ linkopts = ["-lLLVMMCParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mir_parser", -+ linkopts = ["-lLLVMMIRParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_parser", -+ ":binary_format", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "msp430_asm_parser", -+ linkopts = ["-lLLVMMSP430AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":msp430_desc", -+ ":msp430_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "msp430_code_gen", -+ linkopts = ["-lLLVMMSP430CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":msp430_desc", -+ ":msp430_info", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "msp430_desc", -+ linkopts = ["-lLLVMMSP430Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":msp430_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "msp430_disassembler", -+ linkopts = ["-lLLVMMSP430Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":msp430_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "msp430_info", -+ linkopts = ["-lLLVMMSP430Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mips_asm_parser", -+ linkopts = ["-lLLVMMipsAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":mips_desc", -+ ":mips_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mips_code_gen", -+ linkopts = ["-lLLVMMipsCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":mips_desc", -+ ":mips_info", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "mips_desc", -+ linkopts = ["-lLLVMMipsDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mips_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mips_disassembler", -+ linkopts = ["-lLLVMMipsDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":mips_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "mips_info", -+ linkopts = ["-lLLVMMipsInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "nvptx_code_gen", -+ linkopts = ["-lLLVMNVPTXCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":ipo", -+ ":mc", -+ ":nvptx_desc", -+ ":nvptx_info", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", -+ ], -+) -+ -+cc_library( -+ name = "nvptx_desc", -+ linkopts = ["-lLLVMNVPTXDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ "nvptx_target_gen", -+ ":config", -+ ":mc", -+ ":nvptx_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "nvptx_info", -+ linkopts = ["-lLLVMNVPTXInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ "nvptx_target_gen", -+ ":config", -+ ":core", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "object", -+ linkopts = ["-lLLVMObject"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":bit_reader", -+ ":config", -+ ":core", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "objc_arc", -+ linkopts = ["-lLLVMObjCARCOpts"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "object_yaml", -+ linkopts = ["-lLLVMObjectYAML"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":debug_info_code_view", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "option", -+ linkopts = ["-lLLVMOption"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "orc_jit", -+ linkopts = ["-lLLVMOrcJIT"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":execution_engine", -+ ":jit_link", -+ ":mc", -+ ":object", -+ ":runtime_dyld", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "passes", -+ linkopts = ["-lLLVMPasses"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":inst_combine", -+ ":instrumentation", -+ ":ipo", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", -+ ], -+) -+ -+cc_library( -+ name = "powerpc_asm_parser", -+ linkopts = ["-lLLVMPowerPCAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":powerpc_desc", -+ ":powerpc_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "powerpc_code_gen", -+ linkopts = ["-lLLVMPowerPCCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":powerpc_desc", -+ ":powerpc_info", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "powerpc_desc", -+ linkopts = ["-lLLVMPowerPCDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":powerpc_info", -+ ":powerpc_target_gen", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "powerpc_disassembler", -+ linkopts = ["-lLLVMPowerPCDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":powerpc_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "powerpc_info", -+ linkopts = ["-lLLVMPowerPCInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":powerpc_target_gen", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "profile_data", -+ linkopts = ["-lLLVMProfileData"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "riscv_asm_parser", -+ linkopts = ["-lLLVMRISCVAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":riscv_desc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "riscv_code_gen", -+ linkopts = ["-lLLVMRISCVCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":riscv_desc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "riscv_desc", -+ linkopts = ["-lLLVMRISCVDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "riscv_disassembler", -+ linkopts = ["-lLLVMRISCVDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":riscv_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "riscv_info", -+ linkopts = ["-lLLVMRISCVInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "riscv_utils", -+ linkopts = ["-lLLVMRISCVUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "remarks", -+ linkopts = ["-lLLVMRemarks"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "runtime_dyld", -+ linkopts = ["-lLLVMRuntimeDyld"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "scalar", -+ linkopts = ["-lLLVMScalarOpts"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":config", -+ ":core", -+ ":inst_combine", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "selection_dag", -+ linkopts = ["-lLLVMSelectionDAG"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "sparc_asm_parser", -+ linkopts = ["-lLLVMSparcAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":sparc_desc", -+ ":sparc_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "sparc_code_gen", -+ linkopts = ["-lLLVMSparcCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":sparc_desc", -+ ":sparc_info", -+ ":support", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "sparc_desc", -+ linkopts = ["-lLLVMSparcDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":sparc_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "sparc_disassembler", -+ linkopts = ["-lLLVMSparcDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":sparc_info", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "sparc_info", -+ linkopts = ["-lLLVMSparcInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "support", -+ linkopts = ["-lLLVMSupport"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":demangle", -+ "@zlib_archive//:zlib", -+ ], -+) -+ -+cc_library( -+ name = "symbolize", -+ linkopts = ["-lLLVMSymbolize"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":debug_info_dwarf", -+ ":debug_info_pdb", -+ ":demangle", -+ ":object", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "system_z_asm_parser", -+ linkopts = ["-lLLVMSystemZAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", -+ ], -+) -+ -+cc_library( -+ name = "system_z_code_gen", -+ linkopts = ["-lLLVMSystemZCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", -+ ":target", -+ ], -+) -+ -+cc_library( -+ name = "system_z_desc", -+ linkopts = ["-lLLVMSystemZDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ":system_z_info", -+ ], -+) -+ -+cc_library( -+ name = "system_z_disassembler", -+ linkopts = ["-lLLVMSystemZDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", -+ ], -+) -+ -+cc_library( -+ name = "system_z_info", -+ linkopts = ["-lLLVMSystemZInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "table_gen", -+ linkopts = ["-lLLVMTableGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "target", -+ linkopts = ["-lLLVMTarget"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "testing_support", -+ linkopts = ["-lLLVMtesting_support"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "text_api", -+ linkopts = ["-lLLVMTextAPI"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "transform_utils", -+ linkopts = ["-lLLVMTransformUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "vectorize", -+ linkopts = ["-lLLVMVectorize"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":config", -+ ":core", -+ ":scalar", -+ ":support", -+ ":transform_utils", -+ ], -+) -+ -+cc_library( -+ name = "web_assembly_asm_parser", -+ linkopts = ["-lLLVMWebAssemblyAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":web_assembly_info", -+ ], -+) -+ -+cc_library( -+ name = "web_assembly_code_gen", -+ linkopts = ["-lLLVMWebAssemblyCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":binary_format", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":web_assembly_desc", -+ ":web_assembly_info", -+ ], -+) -+ -+cc_library( -+ name = "web_assembly_desc", -+ linkopts = ["-lLLVMWebAssemblyDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ":web_assembly_info", -+ ], -+) -+ -+cc_library( -+ name = "web_assembly_disassembler", -+ linkopts = ["-lLLVMWebAssemblyDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ":web_assembly_desc", -+ ":web_assembly_info", -+ ], -+) -+ -+cc_library( -+ name = "web_assembly_info", -+ linkopts = ["-lLLVMWebAssemblyInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "windows_manifest", -+ linkopts = ["-lLLVMWindowsManifest"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "x86_asm_parser", -+ linkopts = ["-lLLVMX86AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":x86_desc", -+ ":x86_info", -+ ], -+) -+ -+cc_library( -+ name = "x86_code_gen", -+ linkopts = ["-lLLVMX86CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":profile_data", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":x86_defs", -+ ":x86_desc", -+ ":x86_info", -+ ":x86_utils", -+ ], -+) -+ -+cc_library( -+ name = "x86_desc", -+ linkopts = ["-lLLVMX86Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":object", -+ ":support", -+ ":x86_info", -+ ":x86_utils", -+ ], -+) -+ -+cc_library( -+ name = "x86_disassembler", -+ linkopts = ["-lLLVMX86Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ":x86_info", -+ ], -+) -+ -+cc_library( -+ name = "x86_info", -+ linkopts = ["-lLLVMX86Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "x86_utils", -+ linkopts = ["-lLLVMX86Utils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":code_gen", -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "x_core_code_gen", -+ linkopts = ["-lLLVMXCoreCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", -+ ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":x_core_desc", -+ ":x_core_info", -+ ], -+) -+ -+cc_library( -+ name = "x_core_desc", -+ linkopts = ["-lLLVMXCoreDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc", -+ ":support", -+ ":x_core_info", -+ ], -+) -+ -+cc_library( -+ name = "x_core_disassembler", -+ linkopts = ["-lLLVMXCoreDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":mc_disassembler", -+ ":support", -+ ":x_core_info", -+ ], -+) -+ -+cc_library( -+ name = "x_core_info", -+ linkopts = ["-lLLVMXCoreInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "x_ray", -+ linkopts = ["-lLLVMXRay"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ":object", -+ ":support", -+ ], -+) diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl index 217c0131186..9e89523266a 100644 --- a/third_party/systemlibs/syslibs_configure.bzl diff --git a/recipe/patches/0005-rerun-generate_llvm_build.py.patch b/recipe/patches/0005-rerun-generate_llvm_build.py.patch new file mode 100644 index 00000000..b14aefe8 --- /dev/null +++ b/recipe/patches/0005-rerun-generate_llvm_build.py.patch @@ -0,0 +1,2324 @@ +From 76b34b80cd7c05dcddfe798323e1593766f4999f Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Mon, 11 Jan 2021 22:49:01 +0100 +Subject: [PATCH 5/5] rerun generate_llvm_build.py + +From repository base, run: +python third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD +--- + third_party/systemlibs/llvm.BUILD | 2303 +++++++++++++++++++++++++++++ + 1 file changed, 2303 insertions(+) + create mode 100644 third_party/systemlibs/llvm.BUILD + +diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD +new file mode 100644 +index 00000000000..0a15904c097 +--- /dev/null ++++ b/third_party/systemlibs/llvm.BUILD +@@ -0,0 +1,2303 @@ ++ ++# Bazel BUILD file for system LLVM ++# ++# Auto-generated by generate_llvm_build.py ++ ++licenses(["notice"]) ++ ++filegroup( ++ name = "LICENSE.TXT", ++ visibility = ["//visibility:public"], ++) ++ ++load( ++ "@org_tensorflow//third_party/llvm:llvm.bzl", ++ "cmake_var_string", ++ "expand_cmake_vars", ++ "gentbl", ++ "llvm_all_cmake_vars", ++ "llvm_copts", ++ "llvm_defines", ++ "llvm_linkopts", ++ "llvm_support_platform_specific_srcs_glob", ++) ++ ++# Binary targets used by Tensorflow. ++genrule( ++ name = "lnllvmtblgenlink", ++ outs = ["llvmtblgenlink"], ++ cmd = "ln -s $$(which llvm-tblgen) $@", ++) ++ ++sh_binary( ++ name = "llvm-tblgen", ++ srcs = ["llvmtblgenlink"], ++ visibility = ["//visibility:public"], ++) ++ ++genrule( ++ name = "lnfilecheck", ++ outs = ["filechecklink"], ++ cmd = "ln -s $$(which FileCheck) $@", ++) ++ ++sh_binary( ++ name = "FileCheck", ++ srcs = ["filechecklink"], ++ visibility = ["//visibility:public"], ++) ++ ++cc_library( ++ name = "config", ++ defines = llvm_defines, ++ visibility = ["//visibility:public"], ++) ++ ++cc_library( ++ name = "x86_defs", ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ] ++) ++ ++ ++cc_library( ++ name = "utils_tablegen", ++ linkopts = ["-lLLVMutils_tablegen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":tablegen", ++ ], ++) ++ ++cc_library( ++ name = "all_targets", ++ linkopts = ["-lLLVMall_targets"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_code_gen", ++ ":amdgpu_code_gen", ++ ":arm_code_gen", ++ ":nvptx_code_gen", ++ ":powerpc_code_gen", ++ ":x86_code_gen", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_asm_parser", ++ linkopts = ["-lLLVMAArch64AsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_desc", ++ ":aarch64_info", ++ ":aarch64_utils", ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_code_gen", ++ linkopts = ["-lLLVMAArch64CodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_desc", ++ ":aarch64_info", ++ ":aarch64_utils", ++ ":analysis", ++ ":asm_printer", ++ ":cf_guard", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_desc", ++ linkopts = ["-lLLVMAArch64Desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_info", ++ ":aarch64_utils", ++ ":config", ++ ":mc", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_disassembler", ++ linkopts = ["-lLLVMAArch64Disassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_desc", ++ ":aarch64_info", ++ ":aarch64_utils", ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_info", ++ linkopts = ["-lLLVMAArch64Info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":code_gen", ++ ":config", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "aarch64_utils", ++ linkopts = ["-lLLVMAArch64Utils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_asm_parser", ++ linkopts = ["-lLLVMAMDGPUAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_desc", ++ ":amdgpu_info", ++ ":amdgpu_utils", ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_code_gen", ++ linkopts = ["-lLLVMAMDGPUCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_desc", ++ ":amdgpu_info", ++ ":amdgpu_utils", ++ ":analysis", ++ ":asm_printer", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":ipo", ++ ":mc", ++ ":mir_parser", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_desc", ++ linkopts = ["-lLLVMAMDGPUDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_info", ++ ":amdgpu_utils", ++ ":binary_format", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_disassembler", ++ linkopts = ["-lLLVMAMDGPUDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_desc", ++ ":amdgpu_info", ++ ":amdgpu_utils", ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_info", ++ linkopts = ["-lLLVMAMDGPUInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_r600_target_gen", ++ ":amdgpu_target_gen", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "amdgpu_utils", ++ linkopts = ["-lLLVMAMDGPUUtils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":amdgpu_r600_target_gen", ++ ":amdgpu_target_gen", ++ ":binary_format", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arc_code_gen", ++ linkopts = ["-lLLVMSparcCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":arc_desc", ++ ":arc_info", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "arc_desc", ++ linkopts = ["-lLLVMSparcDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arc_info", ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arc_disassembler", ++ linkopts = ["-lLLVMSparcDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arc_info", ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arc_info", ++ linkopts = ["-lLLVMSparcInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arm_asm_parser", ++ linkopts = ["-lLLVMARMAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arm_desc", ++ ":arm_info", ++ ":arm_utils", ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arm_code_gen", ++ linkopts = ["-lLLVMARMCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":arm_desc", ++ ":arm_info", ++ ":arm_utils", ++ ":asm_printer", ++ ":cf_guard", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "arm_desc", ++ linkopts = ["-lLLVMARMDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arm_info", ++ ":arm_utils", ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arm_disassembler", ++ linkopts = ["-lLLVMARMDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":arm_desc", ++ ":arm_info", ++ ":arm_utils", ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "arm_info", ++ linkopts = ["-lLLVMARMInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "arm_utils", ++ linkopts = ["-lLLVMARMUtils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "avr_asm_parser", ++ linkopts = ["-lLLVMavr_asm_parser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":avr_desc", ++ ":avr_info", ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "avr_code_gen", ++ linkopts = ["-lLLVMavr_code_gen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":avr_desc", ++ ":avr_info", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "avr_desc", ++ linkopts = ["-lLLVMavr_desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":avr_info", ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "avr_disassembler", ++ linkopts = ["-lLLVMavr_disassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":avr_info", ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "avr_info", ++ linkopts = ["-lLLVMavr_info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "aggressive_inst_combine", ++ linkopts = ["-lLLVMAggressiveInstCombine"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "analysis", ++ linkopts = ["-lLLVMAnalysis"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":core", ++ ":object", ++ ":profile_data", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "asm_parser", ++ linkopts = ["-lLLVMAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "asm_printer", ++ linkopts = ["-lLLVMAsmPrinter"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":debug_info_code_view", ++ ":debug_info_dwarf", ++ ":debug_info_msf", ++ ":mc", ++ ":mc_parser", ++ ":remarks", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "bpf_asm_parser", ++ linkopts = ["-lLLVMBPFAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":bpf_desc", ++ ":bpf_info", ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bpf_code_gen", ++ linkopts = ["-lLLVMBPFCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":bpf_desc", ++ ":bpf_info", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "bpf_desc", ++ linkopts = ["-lLLVMBPFDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":bpf_info", ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bpf_disassembler", ++ linkopts = ["-lLLVMBPFDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":bpf_info", ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bpf_info", ++ linkopts = ["-lLLVMBPFInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "binary_format", ++ linkopts = ["-lLLVMBinaryFormat"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bit_reader", ++ linkopts = ["-lLLVMBitReader"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":bitstream_reader", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bit_writer", ++ linkopts = ["-lLLVMBitWriter"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":mc", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "bitstream_reader", ++ linkopts = ["-lLLVMBitstreamReader"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "cf_guard", ++ linkopts = ["-lLLVMcf_guard"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "code_gen", ++ linkopts = ["-lLLVMCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":config", ++ ":core", ++ ":instrumentation", ++ ":mc", ++ ":profile_data", ++ ":scalar", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "core", ++ linkopts = ["-lLLVMCore"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aarch64_enums_gen", ++ ":amdgcn_enums_gen", ++ ":arm_enums_gen", ++ ":binary_format", ++ ":bpf_enums_gen", ++ ":config", ++ ":hexagon_enums_gen", ++ ":mips_enums_gen", ++ ":nvvm_enums_gen", ++ ":ppc_enums_gen", ++ ":r600_enums_gen", ++ ":remarks", ++ ":riscv_enums_gen", ++ ":s390_enums_gen", ++ ":support", ++ ":wasm_enums_gen", ++ ":x86_enums_gen", ++ ":xcore_enums_gen", ++ ], ++) ++ ++cc_library( ++ name = "coroutines", ++ linkopts = ["-lLLVMCoroutines"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":ipo", ++ ":scalar", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "coverage", ++ linkopts = ["-lLLVMCoverage"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":object", ++ ":profile_data", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "dwarf_linker", ++ linkopts = ["-lLLVMdwarf_linker"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":debug_info_dwarf", ++ ":mc", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "debug_info_code_view", ++ linkopts = ["-lLLVMDebugInfoCodeView"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":debug_info_msf", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "debug_info_dwarf", ++ linkopts = ["-lLLVMDebugInfoDWARF"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":mc", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "debug_info_gsym", ++ linkopts = ["-lLLVMDebugInfoGSYM"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":debug_info_dwarf", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "debug_info_msf", ++ linkopts = ["-lLLVMDebugInfoMSF"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "debug_info_pdb", ++ linkopts = ["-lLLVMDebugInfoPDB"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":debug_info_code_view", ++ ":debug_info_msf", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "demangle", ++ linkopts = ["-lLLVMDemangle"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "dlltool_driver", ++ linkopts = ["-lLLVMDlltoolDriver"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":object", ++ ":option", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "execution_engine", ++ linkopts = ["-lLLVMExecutionEngine"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":mc", ++ ":object", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "frontend_open_mp", ++ linkopts = ["-lLLVMfrontend_open_mp"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "fuzz_mutate", ++ linkopts = ["-lLLVMFuzzMutate"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":config", ++ ":core", ++ ":scalar", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "global_i_sel", ++ linkopts = ["-lLLVMGlobalISel"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_asm_parser", ++ linkopts = ["-lLLVMHexagonAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_code_gen", ++ linkopts = ["-lLLVMHexagonCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":hexagon_asm_parser", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":ipo", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_desc", ++ linkopts = ["-lLLVMHexagonDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_info", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_disassembler", ++ linkopts = ["-lLLVMHexagonDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":hexagon_desc", ++ ":hexagon_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "hexagon_info", ++ linkopts = ["-lLLVMHexagonInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "ipo", ++ linkopts = ["-lLLVMipo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":config", ++ ":core", ++ ":frontend_open_mp", ++ ":inst_combine", ++ ":instrumentation", ++ ":ir_reader", ++ ":linker", ++ ":object", ++ ":profile_data", ++ ":scalar", ++ ":support", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "ir_reader", ++ linkopts = ["-lLLVMIRReader"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_parser", ++ ":bit_reader", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "inst_combine", ++ linkopts = ["-lLLVMInstCombine"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "instrumentation", ++ linkopts = ["-lLLVMInstrumentation"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":mc", ++ ":profile_data", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "interpreter", ++ linkopts = ["-lLLVMInterpreter"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":code_gen", ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "jit_link", ++ linkopts = ["-lLLVMJITLink"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lto", ++ linkopts = ["-lLLVMLTO"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":bit_reader", ++ ":bit_writer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":inst_combine", ++ ":ipo", ++ ":linker", ++ ":mc", ++ ":objc_arc", ++ ":object", ++ ":passes", ++ ":remarks", ++ ":scalar", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "lanai_asm_parser", ++ linkopts = ["-lLLVMLanaiAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_code_gen", ++ linkopts = ["-lLLVMLanaiCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":lanai_asm_parser", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "lanai_desc", ++ linkopts = ["-lLLVMLanaiDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_disassembler", ++ linkopts = ["-lLLVMLanaiDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":lanai_desc", ++ ":lanai_info", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lanai_info", ++ linkopts = ["-lLLVMLanaiInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "lib_driver", ++ linkopts = ["-lLLVMLibDriver"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":bit_reader", ++ ":config", ++ ":object", ++ ":option", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "line_editor", ++ linkopts = ["-lLLVMLineEditor"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "linker", ++ linkopts = ["-lLLVMLinker"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "mc", ++ linkopts = ["-lLLVMMC"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":debug_info_code_view", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mca", ++ linkopts = ["-lLLVMMCA"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mc_disassembler", ++ linkopts = ["-lLLVMMCDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mcjit", ++ linkopts = ["-lLLVMMCJIT"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":object", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "mc_parser", ++ linkopts = ["-lLLVMMCParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mir_parser", ++ linkopts = ["-lLLVMMIRParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_parser", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "msp430_asm_parser", ++ linkopts = ["-lLLVMMSP430AsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":msp430_desc", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_code_gen", ++ linkopts = ["-lLLVMMSP430CodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":msp430_desc", ++ ":msp430_info", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "msp430_desc", ++ linkopts = ["-lLLVMMSP430Desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_disassembler", ++ linkopts = ["-lLLVMMSP430Disassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":msp430_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "msp430_info", ++ linkopts = ["-lLLVMMSP430Info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_asm_parser", ++ linkopts = ["-lLLVMMipsAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":mips_desc", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_code_gen", ++ linkopts = ["-lLLVMMipsCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":mips_desc", ++ ":mips_info", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "mips_desc", ++ linkopts = ["-lLLVMMipsDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_disassembler", ++ linkopts = ["-lLLVMMipsDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":mips_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "mips_info", ++ linkopts = ["-lLLVMMipsInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_code_gen", ++ linkopts = ["-lLLVMNVPTXCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":ipo", ++ ":mc", ++ ":nvptx_desc", ++ ":nvptx_info", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_desc", ++ linkopts = ["-lLLVMNVPTXDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ "nvptx_target_gen", ++ ":config", ++ ":mc", ++ ":nvptx_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "nvptx_info", ++ linkopts = ["-lLLVMNVPTXInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ "nvptx_target_gen", ++ ":config", ++ ":core", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "objc_arc", ++ linkopts = ["-lLLVMObjCARCOpts"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "object", ++ linkopts = ["-lLLVMObject"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":bit_reader", ++ ":config", ++ ":core", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ":text_api", ++ ], ++) ++ ++cc_library( ++ name = "object_yaml", ++ linkopts = ["-lLLVMObjectYAML"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":debug_info_code_view", ++ ":mc", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "option", ++ linkopts = ["-lLLVMOption"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "orc_error", ++ linkopts = ["-lLLVMorc_error"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "orc_jit", ++ linkopts = ["-lLLVMOrcJIT"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":execution_engine", ++ ":jit_link", ++ ":mc", ++ ":object", ++ ":orc_error", ++ ":passes", ++ ":runtime_dyld", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "passes", ++ linkopts = ["-lLLVMPasses"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":coroutines", ++ ":inst_combine", ++ ":instrumentation", ++ ":ipo", ++ ":scalar", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":vectorize", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_asm_parser", ++ linkopts = ["-lLLVMPowerPCAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":powerpc_desc", ++ ":powerpc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_code_gen", ++ linkopts = ["-lLLVMPowerPCCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":powerpc_desc", ++ ":powerpc_info", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_desc", ++ linkopts = ["-lLLVMPowerPCDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":object", ++ ":powerpc_info", ++ ":powerpc_target_gen", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_disassembler", ++ linkopts = ["-lLLVMPowerPCDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":powerpc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "powerpc_info", ++ linkopts = ["-lLLVMPowerPCInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":powerpc_target_gen", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "profile_data", ++ linkopts = ["-lLLVMProfileData"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_asm_parser", ++ linkopts = ["-lLLVMRISCVAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":riscv_desc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_code_gen", ++ linkopts = ["-lLLVMRISCVCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":riscv_desc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "riscv_desc", ++ linkopts = ["-lLLVMRISCVDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":riscv_info", ++ ":riscv_utils", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_disassembler", ++ linkopts = ["-lLLVMRISCVDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":riscv_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_info", ++ linkopts = ["-lLLVMRISCVInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "riscv_utils", ++ linkopts = ["-lLLVMRISCVUtils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "remarks", ++ linkopts = ["-lLLVMRemarks"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":bitstream_reader", ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "runtime_dyld", ++ linkopts = ["-lLLVMRuntimeDyld"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "scalar", ++ linkopts = ["-lLLVMScalarOpts"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":aggressive_inst_combine", ++ ":analysis", ++ ":config", ++ ":core", ++ ":inst_combine", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "selection_dag", ++ linkopts = ["-lLLVMSelectionDAG"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "sparc_asm_parser", ++ linkopts = ["-lLLVMSparcAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":sparc_desc", ++ ":sparc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "sparc_code_gen", ++ linkopts = ["-lLLVMSparcCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":sparc_desc", ++ ":sparc_info", ++ ":support", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "sparc_desc", ++ linkopts = ["-lLLVMSparcDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":sparc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "sparc_disassembler", ++ linkopts = ["-lLLVMSparcDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":sparc_info", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "sparc_info", ++ linkopts = ["-lLLVMSparcInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "support", ++ linkopts = ["-lLLVMSupport"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":demangle", ++ "@zlib", ++ ], ++) ++ ++cc_library( ++ name = "symbolize", ++ linkopts = ["-lLLVMSymbolize"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":debug_info_dwarf", ++ ":debug_info_pdb", ++ ":demangle", ++ ":object", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "system_z_asm_parser", ++ linkopts = ["-lLLVMSystemZAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ":system_z_desc", ++ ":system_z_info", ++ ], ++) ++ ++cc_library( ++ name = "system_z_code_gen", ++ linkopts = ["-lLLVMSystemZCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":system_z_desc", ++ ":system_z_info", ++ ":target", ++ ], ++) ++ ++cc_library( ++ name = "system_z_desc", ++ linkopts = ["-lLLVMSystemZDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":system_z_info", ++ ], ++) ++ ++cc_library( ++ name = "system_z_disassembler", ++ linkopts = ["-lLLVMSystemZDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ":system_z_desc", ++ ":system_z_info", ++ ], ++) ++ ++cc_library( ++ name = "system_z_info", ++ linkopts = ["-lLLVMSystemZInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "tablegen", ++ linkopts = ["-lLLVMTableGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "target", ++ linkopts = ["-lLLVMTarget"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "testing_support", ++ linkopts = ["-lLLVMtesting_support"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "text_api", ++ linkopts = ["-lLLVMTextAPI"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":binary_format", ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "transform_utils", ++ linkopts = ["-lLLVMTransformUtils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "ve_asm_printer", ++ linkopts = ["-lLLVMve_asm_printer"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "ve_code_gen", ++ linkopts = ["-lLLVMve_code_gen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":ve_asm_printer", ++ ":ve_desc", ++ ":ve_info", ++ ], ++) ++ ++cc_library( ++ name = "ve_desc", ++ linkopts = ["-lLLVMve_desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":ve_asm_printer", ++ ":ve_info", ++ ], ++) ++ ++cc_library( ++ name = "ve_info", ++ linkopts = ["-lLLVMve_info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "vectorize", ++ linkopts = ["-lLLVMVectorize"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":config", ++ ":core", ++ ":scalar", ++ ":support", ++ ":transform_utils", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_asm_parser", ++ linkopts = ["-lLLVMWebAssemblyAsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_code_gen", ++ linkopts = ["-lLLVMWebAssemblyCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":binary_format", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":scalar", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":web_assembly_desc", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_desc", ++ linkopts = ["-lLLVMWebAssemblyDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_disassembler", ++ linkopts = ["-lLLVMWebAssemblyDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":support", ++ ":web_assembly_desc", ++ ":web_assembly_info", ++ ], ++) ++ ++cc_library( ++ name = "web_assembly_info", ++ linkopts = ["-lLLVMWebAssemblyInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "windows_manifest", ++ linkopts = ["-lLLVMWindowsManifest"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "x86_asm_parser", ++ linkopts = ["-lLLVMX86AsmParser"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_parser", ++ ":support", ++ ":x86_desc", ++ ":x86_info", ++ ], ++) ++ ++cc_library( ++ name = "x86_code_gen", ++ linkopts = ["-lLLVMX86CodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":cf_guard", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":global_i_sel", ++ ":mc", ++ ":profile_data", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":x86_defs", ++ ":x86_desc", ++ ":x86_info", ++ ":x86_utils", ++ ], ++) ++ ++cc_library( ++ name = "x86_desc", ++ linkopts = ["-lLLVMX86Desc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":mc_disassembler", ++ ":object", ++ ":support", ++ ":x86_info", ++ ":x86_utils", ++ ], ++) ++ ++cc_library( ++ name = "x86_disassembler", ++ linkopts = ["-lLLVMX86Disassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ":x86_info", ++ ], ++) ++ ++cc_library( ++ name = "x86_info", ++ linkopts = ["-lLLVMX86Info"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "x86_utils", ++ linkopts = ["-lLLVMX86Utils"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":code_gen", ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "x_core_code_gen", ++ linkopts = ["-lLLVMXCoreCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":analysis", ++ ":asm_printer", ++ ":code_gen", ++ ":config", ++ ":core", ++ ":mc", ++ ":selection_dag", ++ ":support", ++ ":target", ++ ":transform_utils", ++ ":x_core_desc", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_desc", ++ linkopts = ["-lLLVMXCoreDesc"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc", ++ ":support", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_disassembler", ++ linkopts = ["-lLLVMXCoreDisassembler"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":mc_disassembler", ++ ":support", ++ ":x_core_info", ++ ], ++) ++ ++cc_library( ++ name = "x_core_info", ++ linkopts = ["-lLLVMXCoreInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":support", ++ ], ++) ++ ++cc_library( ++ name = "x_ray", ++ linkopts = ["-lLLVMXRay"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":config", ++ ":object", ++ ":support", ++ ], ++) +-- +2.29.2.windows.3 + From 992a52b14ddc614172e75b38623a6b16e8b5d5a6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 22:18:55 +0100 Subject: [PATCH 29/78] let's build from source everywhere --- recipe/meta.yaml | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2cb3130d..f546d6a8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,26 +1,12 @@ {% set version = "2.2.0" %} -{% set pyver = "cp{}{}".format(PY_VER[0], PY_VER[2]) %} -{% set platform = "macosx_10_11_x86_64" %} # [osx] -{% set platform = "win_amd64" %} # [win] -{% set fn = "{}-{}-{}-{}m-{}.whl".format("tensorflow", version, pyver, pyver, platform) %} # [not linux] -{% set fn = "tensorflow-{{ version }}.tar.gz" %} # [linux] - package: name: tensorflow version: {{ version }} source: - fn: {{ fn }} - url: https://github.com/tensorflow/tensorflow/archive/v{{ version }}.tar.gz # [linux] - sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 # [linux] - url: https://pypi.io/packages/{{ pyver }}/t/tensorflow/{{ fn }} # [not linux] - sha256: 6735486ee9c3cb0807476e2b36ef7a4cd6c597cb24abf496e66b703360e1e54e # [osx and py==36] - sha256: c332c7fc5cfd54cb86d5da99787c9693e3a924848097c54df1b71ee595a39c93 # [osx and py==37] - sha256: bbcfb04738099bd46822db91584db74703fdddacf4cd0a76acfc5e086956b5ba # [osx and py==38] - sha256: 3ee8819732d8594913b7d22ded7b22e48a49aa015050d8dd8464eaa010ba2e41 # [win and py==36] - sha256: 68ea22aee9c269a6a0c1061c141f1ec1cd1b1be7569390519c1bf4773f434a40 # [win and py==37] - sha256: 784ab8217e4b0eb4d121c28430c6cdc2ce56c02634a9720d84fb30598b338b8c # [win and py==38] + url: https://github.com/tensorflow/tensorflow/archive/v{{ version }}.tar.gz + sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 patches: - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] From c88dd324859367f5a2509f1029015a593731d146 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 23:11:39 +0100 Subject: [PATCH 30/78] remove (a-priori) unnecessary selectors --- recipe/meta.yaml | 74 ++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f546d6a8..f6ef0b2a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,11 +9,11 @@ source: sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 patches: - - patches/0001-relax-tolerence-in-special_math_test.patch # [linux] - - patches/0002-skip-read-only-debugger_cli_common-test.patch # [linux] - - patches/0003-relax-precision-in-matrix_log_op_test.patch # [linux] - - patches/0004-Unbundle-LLVM.patch # [linux] - - patches/0005-rerun-generate_llvm_build.py.patch # [linux] + - patches/0001-relax-tolerence-in-special_math_test.patch + - patches/0002-skip-read-only-debugger_cli_common-test.patch + - patches/0003-relax-precision-in-matrix_log_op_test.patch + - patches/0004-Unbundle-LLVM.patch + - patches/0005-rerun-generate_llvm_build.py.patch build: number: 0 @@ -21,11 +21,11 @@ build: requirements: build: - - {{ compiler('c') }} # [linux] - - {{ compiler('cxx') }} # [linux] - - bazel =2.0.0 # [linux] - - nasm # [linux] - - swig # [linux] + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - bazel =2.0.0 + - nasm + - swig host: # conda build requirements - python @@ -38,21 +38,21 @@ requirements: - google-pasta >=0.1.6 - keras-applications >=1.0.6 - keras-preprocessing >=1.0.5 - - llvmdev >=9.0.0 # [linux] - - zlib # [linux] - - libpng # [linux] - - libcurl # [linux] - - unzip # [linux] - - zip # [linux] - - openjdk >=8 # [linux] - - nsync # [linux] + - llvmdev >=9.0.0 + - zlib + - libpng + - libcurl + - unzip + - zip + - openjdk >=8 + - nsync - numpy >=1.16.1 - six >=1.10.0 - protobuf >=3.6.1 - termcolor >=1.1.0 - wrapt >=1.11.1 - grpcio >=1.8.6 - - wheel >=0.26 # [linux] + - wheel >=0.26 - tensorflow-estimator >=2.2.0,<2.3.0a0 run: - {{ pin_subpackage('tensorflow-base', exact=True) }} @@ -72,8 +72,8 @@ outputs: requirements: # build requirements needs to pick up the compiler run_exports build: - - {{ compiler('c') }} # [linux] - - {{ compiler('cxx') }} # [linux] + - {{ compiler('c') }} + - {{ compiler('cxx') }} host: # conda build requirements - python @@ -92,11 +92,11 @@ outputs: - termcolor >=1.1.0 - wrapt >=1.11.1 - grpcio >=1.8.6 - - wheel >=0.26 # [unix] + - wheel >=0.26 - tensorflow-estimator >=2.2.0,<2.3.0a0 - - zlib # [linux] - - libpng # [linux] - - libcurl # [linux] + - zlib + - libpng + - libcurl run: - python - absl-py >=0.7.0 @@ -127,18 +127,18 @@ outputs: - toco --help # [not win] - name: libtensorflow - script: cp_libtensorflow.sh # [unix] + script: cp_libtensorflow.sh build: skip: true # [not linux] requirements: # build requirements needs to pick up the compiler run_exports build: - - {{ compiler('c') }} # [linux] - - {{ compiler('cxx') }} # [linux] + - {{ compiler('c') }} + - {{ compiler('cxx') }} # host requirements to pick up run_exports host: - - libcurl # [linux] - - zlib # [linux] + - libcurl + - zlib test: files: @@ -150,19 +150,19 @@ outputs: - $CC -o test_c -L${PREFIX}/lib/ -ltensorflow -I${PREFIX}/include/ test_c.c && ./test_c # [not win] - name: libtensorflow_cc - script: cp_libtensorflow_cc.sh # [unix] + script: cp_libtensorflow_cc.sh build: - skip: true # [not linux] + skip: true # [not linux] requirements: # build requirements needs to pick up the compiler run_exports build: - - {{ compiler('c') }} # [linux] - - {{ compiler('cxx') }} # [linux] - - rsync # [linux] + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - rsync # host requirements to pick up run_exports host: - - libcurl # [linux] - - zlib # [linux] + - libcurl + - zlib test: files: - test_cc.cc From 55b17a0a7b796439e909bc743e853f3be912616c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 22:25:41 +0100 Subject: [PATCH 31/78] bump to 2.4.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f6ef0b2a..c348f71a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.2.0" %} +{% set version = "2.4.0" %} package: name: tensorflow @@ -6,7 +6,7 @@ package: source: url: https://github.com/tensorflow/tensorflow/archive/v{{ version }}.tar.gz - sha256: 69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3 + sha256: 26c833b7e1873936379e810a39d14700281125257ddda8cd822c89111db6f6ae patches: - patches/0001-relax-tolerence-in-special_math_test.patch From 266a1ace0b5fce1d4d16d23dab6b856101766089 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 23:12:03 +0100 Subject: [PATCH 32/78] update dependencies for 2.4.0 --- recipe/meta.yaml | 102 ++++++++++++++++++++++++++--------------------- 1 file changed, 56 insertions(+), 46 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c348f71a..54385375 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,21 +23,15 @@ requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - bazel =2.0.0 + # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion + - bazel ==3.1.0 - nasm - swig host: # conda build requirements - python - pip - #- setuptools <=39.1.0 - # requirements specified by the package itself - - absl-py >=0.7.0 - - astor >=0.6.0 - - gast >=0.2.0 - - google-pasta >=0.1.6 - - keras-applications >=1.0.6 - - keras-preprocessing >=1.0.5 + # TODO: potentially remove these? - llvmdev >=9.0.0 - zlib - libpng @@ -46,14 +40,27 @@ requirements: - zip - openjdk >=8 - nsync - - numpy >=1.16.1 - - six >=1.10.0 - - protobuf >=3.6.1 + # requirements specified by the package itself, see + # github.com/tensorflow/tensorflow/blob/v{{ version }}/tensorflow/tools/pip_package/setup.py + - absl-py >=0.10.0 + - astunparse >=1.6.3 + - flatbuffers >=1.12.0 + - google-pasta >=0.2 + - h5py >=2.10 + - keras-preprocessing >=1.1.2 + - numpy >=1.19.2 + - opt_einsum >=3.3.0 + - protobuf >=3.9.2 + - six >=1.15.0 - termcolor >=1.1.0 + - typing_extensions >=3.7.4 + - wheel >=0.35 - wrapt >=1.11.1 - - grpcio >=1.8.6 - - wheel >=0.26 - - tensorflow-estimator >=2.2.0,<2.3.0a0 + # upstream wants exact pin for gast + - gast ==0.3.3 + # TF-API needs to move in sync + - tensorboard >=2.4.0,<2.5 + - tensorflow-estimator >=2.4.0,<2.5 run: - {{ pin_subpackage('tensorflow-base', exact=True) }} @@ -79,43 +86,46 @@ outputs: - python - pip # requirements specified by the package itself - - absl-py >=0.7.0 - - astor >=0.6.0 - - astunparse - - gast >=0.2.0 - - google-pasta - - h5py - - keras-preprocessing >=1.0.5 - - numpy >=1.16.1 - - six >=1.10.0 - - protobuf >=3.6.1 + - absl-py >=0.10.0 + - astunparse >=1.6.3 + - flatbuffers >=1.12.0 + - google-pasta >=0.2 + - h5py >=2.10 + - keras-preprocessing >=1.1.2 + - numpy >=1.19.2 + - opt_einsum >=3.3.0 + - protobuf >=3.9.2 + - six >=1.15.0 - termcolor >=1.1.0 + - typing_extensions >=3.7.4 + - wheel >=0.35 - wrapt >=1.11.1 - - grpcio >=1.8.6 - - wheel >=0.26 - - tensorflow-estimator >=2.2.0,<2.3.0a0 - - zlib - - libpng - - libcurl + # upstream wants exact pin for gast + - gast ==0.3.3 + # TF-API needs to move in sync + - tensorboard >=2.4.0,<2.5 + - tensorflow-estimator >=2.4.0,<2.5 run: - python - - absl-py >=0.7.0 - - astor >=0.6.0 - - astunparse - - gast >=0.2.0 - - google-pasta - - h5py - - opt_einsum - - keras-preprocessing >=1.0.5 - - {{ pin_compatible('numpy') }} - - scipy - - six >=1.10.0 - - protobuf >=3.6.1 + - absl-py >=0.10.0 + - astunparse >=1.6.3 + - flatbuffers >=1.12.0 + - google-pasta >=0.2 + - h5py >=2.10 + - keras-preprocessing >=1.1.2 + - numpy >=1.19.2 + - opt_einsum >=3.3.0 + - protobuf >=3.9.2 + - six >=1.15.0 - termcolor >=1.1.0 + - typing_extensions >=3.7.4 + - wheel >=0.35 - wrapt >=1.11.1 - - grpcio >=1.8.6 - - tensorflow-estimator >=2.2.0,<2.3.0a0 - - tensorboard >=2.2.0,<2.3.0a0 + # upstream wants exact pin for gast + - gast ==0.3.3 + # TF-API needs to move in sync + - tensorboard >=2.4.0,<2.5 + - tensorflow-estimator >=2.4.0,<2.5 test: imports: - tensorflow From 5cec8010aa3473cdef989cbde33941c063b0a189 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 22:44:31 +0100 Subject: [PATCH 33/78] rebase patches for 2.4.0 --- ...relax-tolerence-in-special_math_test.patch | 2 +- ...p-read-only-debugger_cli_common-test.patch | 4 +- ...elax-precision-in-matrix_log_op_test.patch | 6 +- recipe/patches/0004-Unbundle-LLVM.patch | 10 +- .../0005-rerun-generate_llvm_build.py.patch | 2072 +++++++++-------- 5 files changed, 1093 insertions(+), 1001 deletions(-) diff --git a/recipe/patches/0001-relax-tolerence-in-special_math_test.patch b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch index 943c20ea..0b857b9d 100644 --- a/recipe/patches/0001-relax-tolerence-in-special_math_test.patch +++ b/recipe/patches/0001-relax-tolerence-in-special_math_test.patch @@ -1,4 +1,4 @@ -From 3ce7b37b14b9d849e1bb283ad599ef128cf98a98 Mon Sep 17 00:00:00 2001 +From 59ddc914ccd9a223c8411dc8a00eab9206971cd6 Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Tue, 20 Jun 2017 15:13:14 -0500 Subject: [PATCH 1/5] relax tolerence in special_math_test diff --git a/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch index 47104c43..2153e586 100644 --- a/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch +++ b/recipe/patches/0002-skip-read-only-debugger_cli_common-test.patch @@ -1,4 +1,4 @@ -From 1d47b6cf0af5da59d192f0752bc437d9bd8c87bb Mon Sep 17 00:00:00 2001 +From 5d04da7f2b31df87f38bebc5ed806589880e7eed Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Thu, 4 Jan 2018 17:17:23 -0600 Subject: [PATCH 2/5] skip read only debugger_cli_common test @@ -12,7 +12,7 @@ that depends on the read-only behavior of the log. 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tensorflow/python/debug/cli/debugger_cli_common_test.py b/tensorflow/python/debug/cli/debugger_cli_common_test.py -index eb46a0a4062..36b620234fd 100644 +index 93df845c4c5..814ddf13a16 100644 --- a/tensorflow/python/debug/cli/debugger_cli_common_test.py +++ b/tensorflow/python/debug/cli/debugger_cli_common_test.py @@ -1057,7 +1057,9 @@ class CommandHistoryTest(test_util.TensorFlowTestCase): diff --git a/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch index ea5c1611..42b39f8f 100644 --- a/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch +++ b/recipe/patches/0003-relax-precision-in-matrix_log_op_test.patch @@ -1,4 +1,4 @@ -From 4fd78e4e883b9f40329bee5bc9af7ef2f04c18d0 Mon Sep 17 00:00:00 2001 +From 2e72112b3dd2e6e8c234546935bcad5dbd05280d Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 20 Aug 2018 12:19:04 -0500 Subject: [PATCH 3/5] relax precision in matrix_log_op_test @@ -8,10 +8,10 @@ Subject: [PATCH 3/5] relax precision in matrix_log_op_test 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py b/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py -index 0f5da8b27a4..782a389e601 100644 +index 5004a9c5588..62c2bfe1abe 100644 --- a/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py +++ b/tensorflow/python/kernel_tests/matrix_logarithm_op_test.py -@@ -44,7 +44,7 @@ class LogarithmOpTest(test.TestCase): +@@ -45,7 +45,7 @@ class LogarithmOpTest(test.TestCase): tf_ans = linalg_impl.matrix_exponential( gen_linalg_ops.matrix_logarithm(inp)) out = self.evaluate(tf_ans) diff --git a/recipe/patches/0004-Unbundle-LLVM.patch b/recipe/patches/0004-Unbundle-LLVM.patch index 1ce69b35..9a914bd0 100644 --- a/recipe/patches/0004-Unbundle-LLVM.patch +++ b/recipe/patches/0004-Unbundle-LLVM.patch @@ -1,4 +1,4 @@ -From 08297dea9f83024876e0be3f203a83b777ee1ea4 Mon Sep 17 00:00:00 2001 +From 17d3c28a3ff5e877f4286cb8b4f804447618fa6f Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 15 Aug 2019 02:50:37 +0000 Subject: [PATCH 4/5] Unbundle LLVM @@ -11,10 +11,10 @@ Subject: [PATCH 4/5] Unbundle LLVM create mode 100644 third_party/systemlibs/generate_llvm_build.py diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl -index 262da77e0c2..9824c6c7b68 100755 +index 3397d1070d1..716757ade64 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl -@@ -612,6 +612,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): +@@ -691,6 +691,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): name = "llvm-project", sha256 = LLVM_SHA256, strip_prefix = "llvm-project-" + LLVM_COMMIT, @@ -330,10 +330,10 @@ index 00000000000..54745b46f10 +with open(build_path, "r") as f: + exec(f.read()) diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl -index 217c0131186..9e89523266a 100644 +index 265fe968003..67bf3553f09 100644 --- a/third_party/systemlibs/syslibs_configure.bzl +++ b/third_party/systemlibs/syslibs_configure.bzl -@@ -30,6 +30,7 @@ VALID_LIBS = [ +@@ -31,6 +31,7 @@ VALID_LIBS = [ "icu", "jsoncpp_git", "libjpeg_turbo", diff --git a/recipe/patches/0005-rerun-generate_llvm_build.py.patch b/recipe/patches/0005-rerun-generate_llvm_build.py.patch index b14aefe8..8c120941 100644 --- a/recipe/patches/0005-rerun-generate_llvm_build.py.patch +++ b/recipe/patches/0005-rerun-generate_llvm_build.py.patch @@ -1,4 +1,4 @@ -From 76b34b80cd7c05dcddfe798323e1593766f4999f Mon Sep 17 00:00:00 2001 +From ab0bb5c2f810d75c61da91ed61d1278d1f1c2400 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Jan 2021 22:49:01 +0100 Subject: [PATCH 5/5] rerun generate_llvm_build.py @@ -6,16 +6,16 @@ Subject: [PATCH 5/5] rerun generate_llvm_build.py From repository base, run: python third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD --- - third_party/systemlibs/llvm.BUILD | 2303 +++++++++++++++++++++++++++++ - 1 file changed, 2303 insertions(+) + third_party/systemlibs/llvm.BUILD | 2395 +++++++++++++++++++++++++++++ + 1 file changed, 2395 insertions(+) create mode 100644 third_party/systemlibs/llvm.BUILD diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD new file mode 100644 -index 00000000000..0a15904c097 +index 00000000000..f0c5120e908 --- /dev/null +++ b/third_party/systemlibs/llvm.BUILD -@@ -0,0 +1,2303 @@ +@@ -0,0 +1,2395 @@ + +# Bazel BUILD file for system LLVM +# @@ -81,641 +81,687 @@ index 00000000000..0a15904c097 + + +cc_library( -+ name = "utils_tablegen", -+ linkopts = ["-lLLVMutils_tablegen"], ++ name = "tblgen", ++ linkopts = ["-lLLVMtblgen"], + visibility = ["//visibility:public"], + deps = [ -+ ":tablegen", ++ ":MC", ++ ":Support", ++ ":TableGen", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "FileCheckLib", ++ linkopts = ["-lLLVMFileCheckLib"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Support", + ], +) + +cc_library( -+ name = "all_targets", -+ linkopts = ["-lLLVMall_targets"], ++ name = "AllTargetsCodeGens", ++ linkopts = ["-lLLVMAllTargetsCodeGens"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_code_gen", -+ ":amdgpu_code_gen", -+ ":arm_code_gen", -+ ":nvptx_code_gen", -+ ":powerpc_code_gen", -+ ":x86_code_gen", ++ "AArch64CodeGen", ++ "AMDGPUCodeGen", ++ "ARMCodeGen", ++ "NVPTXCodeGen", ++ "PowerPCCodeGen", ++ "SystemZCodeGen", ++ "X86CodeGen", + ], +) + +cc_library( -+ name = "aarch64_asm_parser", ++ name = "Analysis", ++ linkopts = ["-lLLVMAnalysis"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":BinaryFormat", ++ ":Core", ++ ":Object", ++ ":ProfileData", ++ ":Support", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "AArch64AsmParser", + linkopts = ["-lLLVMAArch64AsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", ++ ":AArch64Desc", ++ ":AArch64Info", ++ ":AArch64Utils", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "aarch64_code_gen", ++ name = "AArch64CodeGen", + linkopts = ["-lLLVMAArch64CodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", -+ ":analysis", -+ ":asm_printer", -+ ":cf_guard", -+ ":code_gen", ++ ":AArch64Desc", ++ ":AArch64Info", ++ ":AArch64Utils", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CFGuard", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "aarch64_desc", ++ name = "AArch64Desc", + linkopts = ["-lLLVMAArch64Desc"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_info", -+ ":aarch64_utils", ++ ":AArch64CommonTableGen", ++ ":AArch64Info", ++ ":AArch64Utils", ++ ":BinaryFormat", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "aarch64_disassembler", ++ name = "AArch64Disassembler", + linkopts = ["-lLLVMAArch64Disassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":aarch64_desc", -+ ":aarch64_info", -+ ":aarch64_utils", ++ ":AArch64Desc", ++ ":AArch64Info", ++ ":AArch64Utils", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "aarch64_info", ++ name = "AArch64Info", + linkopts = ["-lLLVMAArch64Info"], + visibility = ["//visibility:public"], + deps = [ -+ ":code_gen", ++ ":CodeGen", ++ ":Support", ++ ":Target", + ":config", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "aarch64_utils", ++ name = "AArch64Utils", + linkopts = ["-lLLVMAArch64Utils"], + visibility = ["//visibility:public"], + deps = [ ++ ":AArch64CommonTableGen", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "amdgpu_asm_parser", ++ name = "AMDGPUAsmParser", + linkopts = ["-lLLVMAMDGPUAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", ++ ":AMDGPUDesc", ++ ":AMDGPUInfo", ++ ":AMDGPUUtils", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "amdgpu_code_gen", ++ name = "AMDGPUCodeGen", + linkopts = ["-lLLVMAMDGPUCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":analysis", -+ ":asm_printer", -+ ":binary_format", -+ ":code_gen", ++ ":AMDGPUDesc", ++ ":AMDGPUInfo", ++ ":AMDGPUUtils", ++ ":Analysis", ++ ":AsmPrinter", ++ ":BinaryFormat", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":IPO", ++ ":MC", ++ ":MIRParser", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", ++ ":Vectorize", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":ipo", -+ ":mc", -+ ":mir_parser", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "amdgpu_desc", ++ name = "AMDGPUDesc", + linkopts = ["-lLLVMAMDGPUDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_info", -+ ":amdgpu_utils", -+ ":binary_format", ++ ":AMDGPUInfo", ++ ":AMDGPUUtils", ++ ":BinaryFormat", ++ ":Core", ++ ":MC", ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "amdgpu_disassembler", ++ name = "AMDGPUDisassembler", + linkopts = ["-lLLVMAMDGPUDisassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_desc", -+ ":amdgpu_info", -+ ":amdgpu_utils", ++ ":AMDGPUDesc", ++ ":AMDGPUInfo", ++ ":AMDGPUUtils", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "amdgpu_info", ++ name = "AMDGPUInfo", + linkopts = ["-lLLVMAMDGPUInfo"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_r600_target_gen", -+ ":amdgpu_target_gen", ++ ":AMDGPUCommonTableGen", ++ ":Core", ++ ":Support", + ":config", -+ ":core", -+ ":support", ++ ":r600_target_gen", + ], +) + +cc_library( -+ name = "amdgpu_utils", ++ name = "AMDGPUUtils", + linkopts = ["-lLLVMAMDGPUUtils"], + visibility = ["//visibility:public"], + deps = [ -+ ":amdgpu_r600_target_gen", -+ ":amdgpu_target_gen", -+ ":binary_format", ++ ":AMDGPUCommonTableGen", ++ ":BinaryFormat", ++ ":Core", ++ ":MC", ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":support", ++ ":r600_target_gen", + ], +) + +cc_library( -+ name = "arc_code_gen", -+ linkopts = ["-lLLVMSparcCodeGen"], ++ name = "ARCCodeGen", ++ linkopts = ["-lLLVMARCCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":arc_desc", -+ ":arc_info", -+ ":asm_printer", -+ ":code_gen", ++ ":ARCDesc", ++ ":ARCInfo", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "arc_desc", -+ linkopts = ["-lLLVMSparcDesc"], ++ name = "ARCDesc", ++ linkopts = ["-lLLVMARCDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":arc_info", ++ ":ARCInfo", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "arc_disassembler", -+ linkopts = ["-lLLVMSparcDisassembler"], ++ name = "ARCDisassembler", ++ linkopts = ["-lLLVMARCDisassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":arc_info", ++ ":ARCInfo", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "arc_info", -+ linkopts = ["-lLLVMSparcInfo"], ++ name = "ARCInfo", ++ linkopts = ["-lLLVMARCInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "arm_asm_parser", ++ name = "ARMAsmParser", + linkopts = ["-lLLVMARMAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", ++ ":ARMDesc", ++ ":ARMInfo", ++ ":ARMUtils", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "arm_code_gen", ++ name = "ARMCodeGen", + linkopts = ["-lLLVMARMCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", -+ ":asm_printer", -+ ":cf_guard", -+ ":code_gen", ++ ":ARMDesc", ++ ":ARMInfo", ++ ":ARMUtils", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CFGuard", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "arm_desc", ++ name = "ARMDesc", + linkopts = ["-lLLVMARMDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":arm_info", -+ ":arm_utils", ++ ":ARMCommonTableGen", ++ ":ARMInfo", ++ ":ARMUtils", ++ ":BinaryFormat", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "arm_disassembler", ++ name = "ARMDisassembler", + linkopts = ["-lLLVMARMDisassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":arm_desc", -+ ":arm_info", -+ ":arm_utils", ++ ":ARMDesc", ++ ":ARMInfo", ++ ":ARMUtils", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "arm_info", ++ name = "ARMInfo", + linkopts = ["-lLLVMARMInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":ARMCommonTableGen", ++ ":Support", ++ ":Target", + ":config", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "arm_utils", ++ name = "ARMUtils", + linkopts = ["-lLLVMARMUtils"], + visibility = ["//visibility:public"], + deps = [ ++ ":ARMCommonTableGen", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "avr_asm_parser", -+ linkopts = ["-lLLVMavr_asm_parser"], ++ name = "AVRAsmParser", ++ linkopts = ["-lLLVMAVRAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":avr_desc", -+ ":avr_info", ++ ":AVRDesc", ++ ":AVRInfo", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "avr_code_gen", -+ linkopts = ["-lLLVMavr_code_gen"], ++ name = "AVRCodeGen", ++ linkopts = ["-lLLVMAVRCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_printer", -+ ":avr_desc", -+ ":avr_info", -+ ":code_gen", ++ ":AVRDesc", ++ ":AVRInfo", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "avr_desc", -+ linkopts = ["-lLLVMavr_desc"], ++ name = "AVRDesc", ++ linkopts = ["-lLLVMAVRDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":avr_info", ++ ":AVRInfo", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "avr_disassembler", -+ linkopts = ["-lLLVMavr_disassembler"], ++ name = "AVRDisassembler", ++ linkopts = ["-lLLVMAVRDisassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":avr_info", ++ ":AVRInfo", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "avr_info", -+ linkopts = ["-lLLVMavr_info"], ++ name = "AVRInfo", ++ linkopts = ["-lLLVMAVRInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "aggressive_inst_combine", ++ name = "AggressiveInstCombine", + linkopts = ["-lLLVMAggressiveInstCombine"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "analysis", -+ linkopts = ["-lLLVMAnalysis"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":binary_format", -+ ":config", -+ ":core", -+ ":object", -+ ":profile_data", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "asm_parser", ++ name = "AsmParser", + linkopts = ["-lLLVMAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":Core", ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "asm_printer", ++ name = "AsmPrinter", + linkopts = ["-lLLVMAsmPrinter"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":binary_format", -+ ":code_gen", ++ ":Analysis", ++ ":BinaryFormat", ++ ":CodeGen", ++ ":Core", ++ ":DebugInfoCodeView", ++ ":DebugInfoDWARF", ++ ":DebugInfoMSF", ++ ":MC", ++ ":MCParser", ++ ":Remarks", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":debug_info_code_view", -+ ":debug_info_dwarf", -+ ":debug_info_msf", -+ ":mc", -+ ":mc_parser", -+ ":remarks", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "bpf_asm_parser", ++ name = "BPFAsmParser", + linkopts = ["-lLLVMBPFAsmParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":bpf_desc", -+ ":bpf_info", ++ ":BPFDesc", ++ ":BPFInfo", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "bpf_code_gen", ++ name = "BPFCodeGen", + linkopts = ["-lLLVMBPFCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_printer", -+ ":bpf_desc", -+ ":bpf_info", -+ ":code_gen", ++ ":AsmPrinter", ++ ":BPFDesc", ++ ":BPFInfo", ++ ":CodeGen", ++ ":Core", ++ ":IPO", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "bpf_desc", ++ name = "BPFDesc", + linkopts = ["-lLLVMBPFDesc"], + visibility = ["//visibility:public"], + deps = [ -+ ":bpf_info", ++ ":BPFInfo", ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "bpf_disassembler", ++ name = "BPFDisassembler", + linkopts = ["-lLLVMBPFDisassembler"], + visibility = ["//visibility:public"], + deps = [ -+ ":bpf_info", ++ ":BPFInfo", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "bpf_info", ++ name = "BPFInfo", + linkopts = ["-lLLVMBPFInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "binary_format", ++ name = "BinaryFormat", + linkopts = ["-lLLVMBinaryFormat"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "bit_reader", ++ name = "BitReader", + linkopts = ["-lLLVMBitReader"], + visibility = ["//visibility:public"], + deps = [ -+ ":bitstream_reader", ++ ":BitstreamReader", ++ ":Core", ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "bit_writer", ++ name = "BitWriter", + linkopts = ["-lLLVMBitWriter"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":MC", ++ ":Object", ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "bitstream_reader", ++ name = "BitstreamReader", + linkopts = ["-lLLVMBitstreamReader"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "CFGuard", ++ linkopts = ["-lLLVMCFGuard"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Core", ++ ":Support", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "CSKYCodeGen", ++ linkopts = ["-lLLVMCSKYCodeGen"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":CSKYInfo", ++ ":CodeGen", ++ ":Core", ++ ":Support", ++ ":Target", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "cf_guard", -+ linkopts = ["-lLLVMcf_guard"], ++ name = "CSKYInfo", ++ linkopts = ["-lLLVMCSKYInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "code_gen", ++ name = "CodeGen", + linkopts = ["-lLLVMCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", ++ ":Analysis", ++ ":BitReader", ++ ":BitWriter", ++ ":Core", ++ ":Instrumentation", ++ ":MC", ++ ":ProfileData", ++ ":Scalar", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":instrumentation", -+ ":mc", -+ ":profile_data", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "core", ++ name = "Core", + linkopts = ["-lLLVMCore"], + visibility = ["//visibility:public"], + deps = [ ++ ":BinaryFormat", ++ ":Remarks", ++ ":Support", + ":aarch64_enums_gen", + ":amdgcn_enums_gen", + ":arm_enums_gen", -+ ":binary_format", + ":bpf_enums_gen", + ":config", + ":hexagon_enums_gen", @@ -723,10 +769,8 @@ index 00000000000..0a15904c097 + ":nvvm_enums_gen", + ":ppc_enums_gen", + ":r600_enums_gen", -+ ":remarks", + ":riscv_enums_gen", + ":s390_enums_gen", -+ ":support", + ":wasm_enums_gen", + ":x86_enums_gen", + ":xcore_enums_gen", @@ -734,110 +778,112 @@ index 00000000000..0a15904c097 +) + +cc_library( -+ name = "coroutines", ++ name = "Coroutines", + linkopts = ["-lLLVMCoroutines"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":IPO", ++ ":Scalar", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":ipo", -+ ":scalar", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "coverage", ++ name = "Coverage", + linkopts = ["-lLLVMCoverage"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":Object", ++ ":ProfileData", ++ ":Support", + ":config", -+ ":core", -+ ":object", -+ ":profile_data", -+ ":support", + ], +) + +cc_library( -+ name = "dwarf_linker", -+ linkopts = ["-lLLVMdwarf_linker"], ++ name = "DWARFLinker", ++ linkopts = ["-lLLVMDWARFLinker"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_printer", -+ ":code_gen", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":DebugInfoDWARF", ++ ":MC", ++ ":Object", ++ ":Support", + ":config", -+ ":debug_info_dwarf", -+ ":mc", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "debug_info_code_view", ++ name = "DebugInfoCodeView", + linkopts = ["-lLLVMDebugInfoCodeView"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":DebugInfoMSF", ++ ":Support", + ":config", -+ ":debug_info_msf", -+ ":support", + ], +) + +cc_library( -+ name = "debug_info_dwarf", ++ name = "DebugInfoDWARF", + linkopts = ["-lLLVMDebugInfoDWARF"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":MC", ++ ":Object", ++ ":Support", + ":config", -+ ":mc", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "debug_info_gsym", ++ name = "DebugInfoGSYM", + linkopts = ["-lLLVMDebugInfoGSYM"], + visibility = ["//visibility:public"], + deps = [ ++ ":DebugInfoDWARF", ++ ":MC", ++ ":Object", ++ ":Support", + ":config", -+ ":debug_info_dwarf", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "debug_info_msf", ++ name = "DebugInfoMSF", + linkopts = ["-lLLVMDebugInfoMSF"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "debug_info_pdb", ++ name = "DebugInfoPDB", + linkopts = ["-lLLVMDebugInfoPDB"], + visibility = ["//visibility:public"], + deps = [ ++ ":BinaryFormat", ++ ":DebugInfoCodeView", ++ ":DebugInfoMSF", ++ ":Object", ++ ":Support", + ":config", -+ ":debug_info_code_view", -+ ":debug_info_msf", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "demangle", ++ name = "Demangle", + linkopts = ["-lLLVMDemangle"], + visibility = ["//visibility:public"], + deps = [ @@ -846,1477 +892,1523 @@ index 00000000000..0a15904c097 +) + +cc_library( -+ name = "dlltool_driver", ++ name = "DlltoolDriver", + linkopts = ["-lLLVMDlltoolDriver"], + visibility = ["//visibility:public"], + deps = [ ++ ":Object", ++ ":Option", ++ ":Support", + ":config", -+ ":object", -+ ":option", -+ ":support", + ], +) + +cc_library( -+ name = "execution_engine", ++ name = "ExecutionEngine", + linkopts = ["-lLLVMExecutionEngine"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":MC", ++ ":Object", ++ ":RuntimeDyld", ++ ":Support", ++ ":Target", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "Extensions", ++ linkopts = ["-lLLVMExtensions"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":object", -+ ":runtime_dyld", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "frontend_open_mp", -+ linkopts = ["-lLLVMfrontend_open_mp"], ++ name = "FrontendOpenMP", ++ linkopts = ["-lLLVMFrontendOpenMP"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":support", -+ ":transform_utils", ++ ":omp_gen", ++ ":omp_gen_impl", + ], +) + +cc_library( -+ name = "fuzz_mutate", ++ name = "FuzzMutate", + linkopts = ["-lLLVMFuzzMutate"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", ++ ":Analysis", ++ ":BitReader", ++ ":BitWriter", ++ ":Core", ++ ":Scalar", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":scalar", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "global_i_sel", ++ name = "GlobalISel", + linkopts = ["-lLLVMGlobalISel"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":code_gen", ++ ":Analysis", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "hexagon_asm_parser", ++ name = "HelloNew", ++ linkopts = ["-lLLVMHelloNew"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Core", ++ ":Support", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "HexagonAsmParser", + linkopts = ["-lLLVMHexagonAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":HexagonDesc", ++ ":HexagonInfo", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "hexagon_code_gen", ++ name = "HexagonCodeGen", + linkopts = ["-lLLVMHexagonCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":HexagonAsmParser", ++ ":HexagonDesc", ++ ":HexagonInfo", ++ ":IPO", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":hexagon_asm_parser", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":ipo", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "hexagon_desc", ++ name = "HexagonDesc", + linkopts = ["-lLLVMHexagonDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":HexagonInfo", ++ ":MC", ++ ":Support", + ":config", -+ ":hexagon_info", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "hexagon_disassembler", ++ name = "HexagonDisassembler", + linkopts = ["-lLLVMHexagonDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":HexagonDesc", ++ ":HexagonInfo", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":hexagon_desc", -+ ":hexagon_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "hexagon_info", ++ name = "HexagonInfo", + linkopts = ["-lLLVMHexagonInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "ipo", -+ linkopts = ["-lLLVMipo"], ++ name = "IPO", ++ linkopts = ["-lLLVMIPO"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", ++ ":AggressiveInstCombine", ++ ":Analysis", ++ ":BitReader", ++ ":BitWriter", ++ ":Core", ++ ":FrontendOpenMP", ++ ":IRReader", ++ ":InstCombine", ++ ":Instrumentation", ++ ":Linker", ++ ":Object", ++ ":ProfileData", ++ ":Scalar", ++ ":Support", ++ ":TransformUtils", ++ ":Vectorize", + ":config", -+ ":core", -+ ":frontend_open_mp", -+ ":inst_combine", -+ ":instrumentation", -+ ":ir_reader", -+ ":linker", -+ ":object", -+ ":profile_data", -+ ":scalar", -+ ":support", -+ ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "ir_reader", ++ name = "IRReader", + linkopts = ["-lLLVMIRReader"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_parser", -+ ":bit_reader", ++ ":AsmParser", ++ ":BitReader", ++ ":Core", ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "inst_combine", ++ name = "InstCombine", + linkopts = ["-lLLVMInstCombine"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":InstCombineTableGen", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "instrumentation", ++ name = "Instrumentation", + linkopts = ["-lLLVMInstrumentation"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":MC", ++ ":ProfileData", ++ ":Support", ++ ":TransformUtils", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "InterfaceStub", ++ linkopts = ["-lLLVMInterfaceStub"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Object", ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":profile_data", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "interpreter", ++ name = "Interpreter", + linkopts = ["-lLLVMInterpreter"], + visibility = ["//visibility:public"], + deps = [ -+ ":code_gen", ++ ":CodeGen", ++ ":Core", ++ ":ExecutionEngine", ++ ":Support", + ":config", -+ ":core", -+ ":execution_engine", -+ ":support", + ], +) + +cc_library( -+ name = "jit_link", ++ name = "JITLink", + linkopts = ["-lLLVMJITLink"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":Object", ++ ":Support", + ":config", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "lto", ++ name = "LTO", + linkopts = ["-lLLVMLTO"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":bit_reader", -+ ":bit_writer", -+ ":code_gen", ++ ":AggressiveInstCombine", ++ ":Analysis", ++ ":BinaryFormat", ++ ":BitReader", ++ ":BitWriter", ++ ":CodeGen", ++ ":Core", ++ ":Extensions", ++ ":IPO", ++ ":InstCombine", ++ ":Linker", ++ ":MC", ++ ":ObjCARC", ++ ":Object", ++ ":Passes", ++ ":Remarks", ++ ":Scalar", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":inst_combine", -+ ":ipo", -+ ":linker", -+ ":mc", -+ ":objc_arc", -+ ":object", -+ ":passes", -+ ":remarks", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "lanai_asm_parser", ++ name = "LanaiAsmParser", + linkopts = ["-lLLVMLanaiAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":LanaiDesc", ++ ":LanaiInfo", ++ ":MC", ++ ":MCParser", ++ ":Support", + ":config", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":mc_parser", -+ ":support", + ], +) + +cc_library( -+ name = "lanai_code_gen", ++ name = "LanaiCodeGen", + linkopts = ["-lLLVMLanaiCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":LanaiAsmParser", ++ ":LanaiDesc", ++ ":LanaiInfo", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":lanai_asm_parser", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "lanai_desc", ++ name = "LanaiDesc", + linkopts = ["-lLLVMLanaiDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":LanaiInfo", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":lanai_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "lanai_disassembler", ++ name = "LanaiDisassembler", + linkopts = ["-lLLVMLanaiDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":LanaiDesc", ++ ":LanaiInfo", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", + ":config", -+ ":lanai_desc", -+ ":lanai_info", -+ ":mc", -+ ":mc_disassembler", -+ ":support", + ], +) + +cc_library( -+ name = "lanai_info", ++ name = "LanaiInfo", + linkopts = ["-lLLVMLanaiInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "lib_driver", ++ name = "LibDriver", + linkopts = ["-lLLVMLibDriver"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", -+ ":bit_reader", ++ ":BinaryFormat", ++ ":BitReader", ++ ":Object", ++ ":Option", ++ ":Support", + ":config", -+ ":object", -+ ":option", -+ ":support", + ], +) + +cc_library( -+ name = "line_editor", ++ name = "LineEditor", + linkopts = ["-lLLVMLineEditor"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "linker", ++ name = "Linker", + linkopts = ["-lLLVMLinker"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "mc", ++ name = "MC", + linkopts = ["-lLLVMMC"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":DebugInfoCodeView", ++ ":Support", + ":config", -+ ":debug_info_code_view", -+ ":support", + ], +) + +cc_library( -+ name = "mca", ++ name = "MCA", + linkopts = ["-lLLVMMCA"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "mc_disassembler", ++ name = "MCDisassembler", + linkopts = ["-lLLVMMCDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "mcjit", ++ name = "MCJIT", + linkopts = ["-lLLVMMCJIT"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":ExecutionEngine", ++ ":Object", ++ ":RuntimeDyld", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":execution_engine", -+ ":object", -+ ":runtime_dyld", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "mc_parser", ++ name = "MCParser", + linkopts = ["-lLLVMMCParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "mir_parser", ++ name = "MIRParser", + linkopts = ["-lLLVMMIRParser"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_parser", -+ ":binary_format", -+ ":code_gen", ++ ":AsmParser", ++ ":BinaryFormat", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "msp430_asm_parser", ++ name = "MSP430AsmParser", + linkopts = ["-lLLVMMSP430AsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":MSP430Desc", ++ ":MSP430Info", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":msp430_desc", -+ ":msp430_info", -+ ":support", + ], +) + +cc_library( -+ name = "msp430_code_gen", ++ name = "MSP430CodeGen", + linkopts = ["-lLLVMMSP430CodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_printer", -+ ":code_gen", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":MSP430Desc", ++ ":MSP430Info", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":msp430_desc", -+ ":msp430_info", -+ ":selection_dag", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "msp430_desc", ++ name = "MSP430Desc", + linkopts = ["-lLLVMMSP430Desc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MSP430Info", ++ ":Support", + ":config", -+ ":mc", -+ ":msp430_info", -+ ":support", + ], +) + +cc_library( -+ name = "msp430_disassembler", ++ name = "MSP430Disassembler", + linkopts = ["-lLLVMMSP430Disassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":MSP430Info", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":msp430_info", -+ ":support", + ], +) + +cc_library( -+ name = "msp430_info", ++ name = "MSP430Info", + linkopts = ["-lLLVMMSP430Info"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "mips_asm_parser", ++ name = "MipsAsmParser", + linkopts = ["-lLLVMMipsAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":MipsDesc", ++ ":MipsInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":mips_desc", -+ ":mips_info", -+ ":support", + ], +) + +cc_library( -+ name = "mips_code_gen", ++ name = "MipsCodeGen", + linkopts = ["-lLLVMMipsCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":MipsDesc", ++ ":MipsInfo", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":mips_desc", -+ ":mips_info", -+ ":selection_dag", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "mips_desc", ++ name = "MipsDesc", + linkopts = ["-lLLVMMipsDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MipsInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":mips_info", -+ ":support", + ], +) + +cc_library( -+ name = "mips_disassembler", ++ name = "MipsDisassembler", + linkopts = ["-lLLVMMipsDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":MipsInfo", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":mips_info", -+ ":support", + ], +) + +cc_library( -+ name = "mips_info", ++ name = "MipsInfo", + linkopts = ["-lLLVMMipsInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "nvptx_code_gen", ++ name = "NVPTXCodeGen", + linkopts = ["-lLLVMNVPTXCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":IPO", ++ ":MC", ++ ":NVPTXDesc", ++ ":NVPTXInfo", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", ++ ":Vectorize", + ":config", -+ ":core", -+ ":ipo", -+ ":mc", -+ ":nvptx_desc", -+ ":nvptx_info", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "nvptx_desc", ++ name = "NVPTXDesc", + linkopts = ["-lLLVMNVPTXDesc"], + visibility = ["//visibility:public"], + deps = [ -+ "nvptx_target_gen", ++ ":MC", ++ ":NVPTXCommonTableGen", ++ ":NVPTXInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":nvptx_info", -+ ":support", + ], +) + +cc_library( -+ name = "nvptx_info", ++ name = "NVPTXInfo", + linkopts = ["-lLLVMNVPTXInfo"], + visibility = ["//visibility:public"], + deps = [ -+ "nvptx_target_gen", ++ ":Core", ++ ":NVPTXCommonTableGen", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "objc_arc", -+ linkopts = ["-lLLVMObjCARCOpts"], ++ name = "ObjCARC", ++ linkopts = ["-lLLVMObjCARC"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "object", ++ name = "Object", + linkopts = ["-lLLVMObject"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", -+ ":bit_reader", ++ ":BinaryFormat", ++ ":BitReader", ++ ":Core", ++ ":MC", ++ ":MCParser", ++ ":Support", ++ ":TextAPI", + ":config", -+ ":core", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":text_api", + ], +) + +cc_library( -+ name = "object_yaml", ++ name = "ObjectYAML", + linkopts = ["-lLLVMObjectYAML"], + visibility = ["//visibility:public"], + deps = [ ++ ":BinaryFormat", ++ ":DebugInfoCodeView", ++ ":MC", ++ ":Object", ++ ":Support", + ":config", -+ ":debug_info_code_view", -+ ":mc", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "option", ++ name = "Option", + linkopts = ["-lLLVMOption"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "orc_error", -+ linkopts = ["-lLLVMorc_error"], ++ name = "OrcError", ++ linkopts = ["-lLLVMOrcError"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "orc_jit", ++ name = "OrcJIT", + linkopts = ["-lLLVMOrcJIT"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":ExecutionEngine", ++ ":JITLink", ++ ":MC", ++ ":Object", ++ ":OrcError", ++ ":Passes", ++ ":RuntimeDyld", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":execution_engine", -+ ":jit_link", -+ ":mc", -+ ":object", -+ ":orc_error", -+ ":passes", -+ ":runtime_dyld", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "passes", ++ name = "Passes", + linkopts = ["-lLLVMPasses"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", -+ ":code_gen", ++ ":AggressiveInstCombine", ++ ":Analysis", ++ ":CodeGen", ++ ":Core", ++ ":Coroutines", ++ ":HelloNew", ++ ":IPO", ++ ":InstCombine", ++ ":Instrumentation", ++ ":ObjCARC", ++ ":Scalar", ++ ":Support", ++ ":Target", ++ ":TransformUtils", ++ ":Vectorize", + ":config", -+ ":core", -+ ":coroutines", -+ ":inst_combine", -+ ":instrumentation", -+ ":ipo", -+ ":scalar", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":vectorize", + ], +) + +cc_library( -+ name = "powerpc_asm_parser", ++ name = "PowerPCAsmParser", + linkopts = ["-lLLVMPowerPCAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":PowerPCDesc", ++ ":PowerPCInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":powerpc_desc", -+ ":powerpc_info", -+ ":support", + ], +) + +cc_library( -+ name = "powerpc_code_gen", ++ name = "PowerPCCodeGen", + linkopts = ["-lLLVMPowerPCCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":PowerPCDesc", ++ ":PowerPCInfo", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":mc", -+ ":powerpc_desc", -+ ":powerpc_info", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "powerpc_desc", ++ name = "PowerPCDesc", + linkopts = ["-lLLVMPowerPCDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":BinaryFormat", ++ ":MC", ++ ":PowerPCCommonTableGen", ++ ":PowerPCInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":object", -+ ":powerpc_info", -+ ":powerpc_target_gen", -+ ":support", + ], +) + +cc_library( -+ name = "powerpc_disassembler", ++ name = "PowerPCDisassembler", + linkopts = ["-lLLVMPowerPCDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":PowerPCInfo", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":powerpc_info", -+ ":support", + ], +) + +cc_library( -+ name = "powerpc_info", ++ name = "PowerPCInfo", + linkopts = ["-lLLVMPowerPCInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":PowerPCCommonTableGen", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":powerpc_target_gen", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "profile_data", ++ name = "ProfileData", + linkopts = ["-lLLVMProfileData"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":Demangle", ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "riscv_asm_parser", ++ name = "RISCVAsmParser", + linkopts = ["-lLLVMRISCVAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":RISCVDesc", ++ ":RISCVInfo", ++ ":RISCVUtils", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":riscv_desc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":support", + ], +) + +cc_library( -+ name = "riscv_code_gen", ++ name = "RISCVCodeGen", + linkopts = ["-lLLVMRISCVCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":RISCVDesc", ++ ":RISCVInfo", ++ ":RISCVUtils", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":riscv_desc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":selection_dag", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "riscv_desc", ++ name = "RISCVDesc", + linkopts = ["-lLLVMRISCVDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":RISCVInfo", ++ ":RISCVUtils", ++ ":Support", + ":config", -+ ":mc", -+ ":riscv_info", -+ ":riscv_utils", -+ ":support", + ], +) + +cc_library( -+ name = "riscv_disassembler", ++ name = "RISCVDisassembler", + linkopts = ["-lLLVMRISCVDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":RISCVInfo", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":riscv_info", -+ ":support", + ], +) + +cc_library( -+ name = "riscv_info", ++ name = "RISCVInfo", + linkopts = ["-lLLVMRISCVInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "riscv_utils", ++ name = "RISCVUtils", + linkopts = ["-lLLVMRISCVUtils"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "remarks", ++ name = "Remarks", + linkopts = ["-lLLVMRemarks"], + visibility = ["//visibility:public"], + deps = [ -+ ":bitstream_reader", ++ ":BitstreamReader", ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "runtime_dyld", ++ name = "RuntimeDyld", + linkopts = ["-lLLVMRuntimeDyld"], + visibility = ["//visibility:public"], + deps = [ ++ ":Core", ++ ":MC", ++ ":MCDisassembler", ++ ":Object", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "scalar", -+ linkopts = ["-lLLVMScalarOpts"], ++ name = "Scalar", ++ linkopts = ["-lLLVMScalar"], + visibility = ["//visibility:public"], + deps = [ -+ ":aggressive_inst_combine", -+ ":analysis", ++ ":AggressiveInstCombine", ++ ":Analysis", ++ ":Core", ++ ":InstCombine", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":inst_combine", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "selection_dag", ++ name = "SelectionDAG", + linkopts = ["-lLLVMSelectionDAG"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":code_gen", ++ ":Analysis", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":Support", ++ ":Target", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":mc", -+ ":support", -+ ":target", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "sparc_asm_parser", ++ name = "SparcAsmParser", + linkopts = ["-lLLVMSparcAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":SparcDesc", ++ ":SparcInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":sparc_desc", -+ ":sparc_info", -+ ":support", + ], +) + +cc_library( -+ name = "sparc_code_gen", ++ name = "SparcCodeGen", + linkopts = ["-lLLVMSparcCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":asm_printer", -+ ":code_gen", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":SparcDesc", ++ ":SparcInfo", ++ ":Support", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":sparc_desc", -+ ":sparc_info", -+ ":support", -+ ":target", + ], +) + +cc_library( -+ name = "sparc_desc", ++ name = "SparcDesc", + linkopts = ["-lLLVMSparcDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":SparcInfo", ++ ":Support", + ":config", -+ ":mc", -+ ":sparc_info", -+ ":support", + ], +) + +cc_library( -+ name = "sparc_disassembler", ++ name = "SparcDisassembler", + linkopts = ["-lLLVMSparcDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":SparcInfo", ++ ":Support", + ":config", -+ ":mc_disassembler", -+ ":sparc_info", -+ ":support", + ], +) + +cc_library( -+ name = "sparc_info", ++ name = "SparcInfo", + linkopts = ["-lLLVMSparcInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "support", ++ name = "Support", + linkopts = ["-lLLVMSupport"], + visibility = ["//visibility:public"], + deps = [ ++ ":Demangle", + ":config", -+ ":demangle", + "@zlib", + ], +) + +cc_library( -+ name = "symbolize", ++ name = "Symbolize", + linkopts = ["-lLLVMSymbolize"], + visibility = ["//visibility:public"], + deps = [ ++ ":DebugInfoDWARF", ++ ":DebugInfoPDB", ++ ":Demangle", ++ ":Object", ++ ":Support", + ":config", -+ ":debug_info_dwarf", -+ ":debug_info_pdb", -+ ":demangle", -+ ":object", -+ ":support", + ], +) + +cc_library( -+ name = "system_z_asm_parser", ++ name = "SystemZAsmParser", + linkopts = ["-lLLVMSystemZAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":Support", ++ ":SystemZDesc", ++ ":SystemZInfo", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", + ], +) + +cc_library( -+ name = "system_z_code_gen", ++ name = "SystemZCodeGen", + linkopts = ["-lLLVMSystemZCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":SystemZDesc", ++ ":SystemZInfo", ++ ":Target", + ":config", -+ ":core", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", -+ ":target", + ], +) + +cc_library( -+ name = "system_z_desc", ++ name = "SystemZDesc", + linkopts = ["-lLLVMSystemZDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", ++ ":SystemZCommonTableGen", ++ ":SystemZInfo", + ":config", -+ ":mc", -+ ":support", -+ ":system_z_info", + ], +) + +cc_library( -+ name = "system_z_disassembler", ++ name = "SystemZDisassembler", + linkopts = ["-lLLVMSystemZDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCDisassembler", ++ ":Support", ++ ":SystemZDesc", ++ ":SystemZInfo", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ":system_z_desc", -+ ":system_z_info", + ], +) + +cc_library( -+ name = "system_z_info", ++ name = "SystemZInfo", + linkopts = ["-lLLVMSystemZInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", ++ ":SystemZCommonTableGen", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "tablegen", ++ name = "TableGen", + linkopts = ["-lLLVMTableGen"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "target", ++ name = "Target", + linkopts = ["-lLLVMTarget"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":MC", ++ ":Support", + ":config", -+ ":core", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "testing_support", -+ linkopts = ["-lLLVMtesting_support"], ++ name = "TestingSupport", ++ linkopts = ["-lLLVMTestingSupport"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "text_api", ++ name = "TextAPI", + linkopts = ["-lLLVMTextAPI"], + visibility = ["//visibility:public"], + deps = [ -+ ":binary_format", ++ ":BinaryFormat", ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "transform_utils", ++ name = "TransformUtils", + linkopts = ["-lLLVMTransformUtils"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":Support", + ":config", -+ ":core", -+ ":support", + ], +) + +cc_library( -+ name = "ve_asm_printer", -+ linkopts = ["-lLLVMve_asm_printer"], ++ name = "VEAsmParser", ++ linkopts = ["-lLLVMVEAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":Support", ++ ":VEDesc", ++ ":VEInfo", + ":config", -+ ":mc", -+ ":support", + ], +) + +cc_library( -+ name = "ve_code_gen", -+ linkopts = ["-lLLVMve_code_gen"], ++ name = "VECodeGen", ++ linkopts = ["-lLLVMVECodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":VEDesc", ++ ":VEInfo", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":ve_asm_printer", -+ ":ve_desc", -+ ":ve_info", + ], +) + +cc_library( -+ name = "ve_desc", -+ linkopts = ["-lLLVMve_desc"], ++ name = "VEDesc", ++ linkopts = ["-lLLVMVEDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", ++ ":VEInfo", + ":config", -+ ":mc", -+ ":support", -+ ":ve_asm_printer", -+ ":ve_info", + ], +) + +cc_library( -+ name = "ve_info", -+ linkopts = ["-lLLVMve_info"], ++ name = "VEDisassembler", ++ linkopts = ["-lLLVMVEDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":Support", ++ ":VEInfo", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "vectorize", ++ name = "VEInfo", ++ linkopts = ["-lLLVMVEInfo"], ++ visibility = ["//visibility:public"], ++ deps = [ ++ ":Support", ++ ":config", ++ ], ++) ++ ++cc_library( ++ name = "Vectorize", + linkopts = ["-lLLVMVectorize"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", ++ ":Analysis", ++ ":Core", ++ ":Scalar", ++ ":Support", ++ ":TransformUtils", + ":config", -+ ":core", -+ ":scalar", -+ ":support", -+ ":transform_utils", + ], +) + +cc_library( -+ name = "web_assembly_asm_parser", ++ name = "WebAssemblyAsmParser", + linkopts = ["-lLLVMWebAssemblyAsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":Support", ++ ":WebAssemblyInfo", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":web_assembly_info", + ], +) + +cc_library( -+ name = "web_assembly_code_gen", ++ name = "WebAssemblyCodeGen", + linkopts = ["-lLLVMWebAssemblyCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":binary_format", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":BinaryFormat", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":Scalar", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", ++ ":WebAssemblyDesc", ++ ":WebAssemblyInfo", + ":config", -+ ":core", -+ ":mc", -+ ":scalar", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":web_assembly_desc", -+ ":web_assembly_info", + ], +) + +cc_library( -+ name = "web_assembly_desc", ++ name = "WebAssemblyDesc", + linkopts = ["-lLLVMWebAssemblyDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", ++ ":WebAssemblyInfo", + ":config", -+ ":mc", -+ ":support", -+ ":web_assembly_info", + ], +) + +cc_library( -+ name = "web_assembly_disassembler", ++ name = "WebAssemblyDisassembler", + linkopts = ["-lLLVMWebAssemblyDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCDisassembler", ++ ":Support", ++ ":WebAssemblyDesc", ++ ":WebAssemblyInfo", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":support", -+ ":web_assembly_desc", -+ ":web_assembly_info", + ], +) + +cc_library( -+ name = "web_assembly_info", ++ name = "WebAssemblyInfo", + linkopts = ["-lLLVMWebAssemblyInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "windows_manifest", ++ name = "WindowsManifest", + linkopts = ["-lLLVMWindowsManifest"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "x86_asm_parser", ++ name = "X86AsmParser", + linkopts = ["-lLLVMX86AsmParser"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":MCParser", ++ ":Support", ++ ":X86Desc", ++ ":X86Info", + ":config", -+ ":mc", -+ ":mc_parser", -+ ":support", -+ ":x86_desc", -+ ":x86_info", + ], +) + +cc_library( -+ name = "x86_code_gen", ++ name = "X86CodeGen", + linkopts = ["-lLLVMX86CodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":cf_guard", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CFGuard", ++ ":CodeGen", ++ ":Core", ++ ":GlobalISel", ++ ":MC", ++ ":ProfileData", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":X86Desc", ++ ":X86Info", + ":config", -+ ":core", -+ ":global_i_sel", -+ ":mc", -+ ":profile_data", -+ ":selection_dag", -+ ":support", -+ ":target", + ":x86_defs", -+ ":x86_desc", -+ ":x86_info", -+ ":x86_utils", + ], +) + +cc_library( -+ name = "x86_desc", ++ name = "X86Desc", + linkopts = ["-lLLVMX86Desc"], + visibility = ["//visibility:public"], + deps = [ ++ ":BinaryFormat", ++ ":MC", ++ ":MCDisassembler", ++ ":Support", ++ ":X86Info", + ":config", -+ ":mc", -+ ":mc_disassembler", -+ ":object", -+ ":support", -+ ":x86_info", -+ ":x86_utils", + ], +) + +cc_library( -+ name = "x86_disassembler", ++ name = "X86Disassembler", + linkopts = ["-lLLVMX86Disassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":Support", ++ ":X86Info", + ":config", -+ ":mc_disassembler", -+ ":support", -+ ":x86_info", + ], +) + +cc_library( -+ name = "x86_info", ++ name = "X86Info", + linkopts = ["-lLLVMX86Info"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", ++ ":X86CommonTableGen", + ":config", -+ ":mc", -+ ":support", -+ ], -+) -+ -+cc_library( -+ name = "x86_utils", -+ linkopts = ["-lLLVMX86Utils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":code_gen", -+ ":config", -+ ":support", + ], +) + +cc_library( -+ name = "x_core_code_gen", ++ name = "XCoreCodeGen", + linkopts = ["-lLLVMXCoreCodeGen"], + visibility = ["//visibility:public"], + deps = [ -+ ":analysis", -+ ":asm_printer", -+ ":code_gen", ++ ":Analysis", ++ ":AsmPrinter", ++ ":CodeGen", ++ ":Core", ++ ":MC", ++ ":SelectionDAG", ++ ":Support", ++ ":Target", ++ ":TransformUtils", ++ ":XCoreDesc", ++ ":XCoreInfo", + ":config", -+ ":core", -+ ":mc", -+ ":selection_dag", -+ ":support", -+ ":target", -+ ":transform_utils", -+ ":x_core_desc", -+ ":x_core_info", + ], +) + +cc_library( -+ name = "x_core_desc", ++ name = "XCoreDesc", + linkopts = ["-lLLVMXCoreDesc"], + visibility = ["//visibility:public"], + deps = [ ++ ":MC", ++ ":Support", ++ ":XCoreInfo", + ":config", -+ ":mc", -+ ":support", -+ ":x_core_info", + ], +) + +cc_library( -+ name = "x_core_disassembler", ++ name = "XCoreDisassembler", + linkopts = ["-lLLVMXCoreDisassembler"], + visibility = ["//visibility:public"], + deps = [ ++ ":MCDisassembler", ++ ":Support", ++ ":XCoreInfo", + ":config", -+ ":mc_disassembler", -+ ":support", -+ ":x_core_info", + ], +) + +cc_library( -+ name = "x_core_info", ++ name = "XCoreInfo", + linkopts = ["-lLLVMXCoreInfo"], + visibility = ["//visibility:public"], + deps = [ ++ ":Support", + ":config", -+ ":support", + ], +) + +cc_library( -+ name = "x_ray", ++ name = "XRay", + linkopts = ["-lLLVMXRay"], + visibility = ["//visibility:public"], + deps = [ ++ ":Object", ++ ":Support", + ":config", -+ ":object", -+ ":support", + ], +) -- From eef63433da5a2a5b0c8ad5e7294c1e6963cf08a7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 22:46:14 +0100 Subject: [PATCH 34/78] no distinction in build.sh between osx/linux --- recipe/build.sh | 81 ++++++++++++++----------------------------------- 1 file changed, 23 insertions(+), 58 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 4f241cb4..a43635fc 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -2,17 +2,6 @@ set -ex -if [[ "$target_platform" == "osx-64" ]]; then - # install the whl using pip - pip install --no-deps *.whl - - # The tensorboard package has the proper entrypoint - ls -l ${SP_DIR} -# rm -f ${PREFIX}/bin/tensorboard - - exit 0 -fi - export PATH="$PWD:$PATH" export CC=$(basename $CC) export CXX=$(basename $CXX) @@ -28,53 +17,29 @@ export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base export BAZEL_OPTS="" -if [[ "$target_platform" == "osx-64" ]]; then - # set up bazel config file for conda provided clang toolchain - cp -r ${RECIPE_DIR}/custom_clang_toolchain . - pushd custom_clang_toolchain - cp ../$CC cc_wrapper.sh - sed -e "s:\${PREFIX}:${BUILD_PREFIX}:" \ - -e "s:\${LD}:${LD}:" \ - -e "s:\${NM}:${NM}:" \ - -e "s:\${STRIP}:${STRIP}:" \ - -e "s:\${LIBTOOL}:${LIBTOOL}:" \ - -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ - CROSSTOOL.template > CROSSTOOL - popd - export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 - BUILD_OPTS=" - --crosstool_top=//custom_clang_toolchain:toolchain - --verbose_failures - ${BAZEL_MKL_OPT} - --config=opt" - export TF_ENABLE_XLA=0 - export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package" -else - # Linux - # the following arguments are useful for debugging - # --logging=6 - # --subcommands - # jobs can be used to limit parallel builds and reduce resource needs - # --jobs=20 - # Set compiler and linker flags as bazel does not account for CFLAGS, - # CXXFLAGS and LDFLAGS. - BUILD_OPTS=" - --copt=-march=nocona - --copt=-mtune=haswell - --copt=-ftree-vectorize - --copt=-fPIC - --copt=-fstack-protector-strong - --copt=-O2 - --cxxopt=-fvisibility-inlines-hidden - --cxxopt=-fmessage-length=0 - --linkopt=-zrelro - --linkopt=-znow - --verbose_failures - ${BAZEL_MKL_OPT} - --config=opt" - export TF_ENABLE_XLA=0 - export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" -fi +# the following arguments are useful for debugging +# --logging=6 +# --subcommands +# jobs can be used to limit parallel builds and reduce resource needs +# --jobs=20 +# Set compiler and linker flags as bazel does not account for CFLAGS, +# CXXFLAGS and LDFLAGS. +BUILD_OPTS=" +--copt=-march=nocona +--copt=-mtune=haswell +--copt=-ftree-vectorize +--copt=-fPIC +--copt=-fstack-protector-strong +--copt=-O2 +--cxxopt=-fvisibility-inlines-hidden +--cxxopt=-fmessage-length=0 +--linkopt=-zrelro +--linkopt=-znow +--verbose_failures +${BAZEL_MKL_OPT} +--config=opt" +export TF_ENABLE_XLA=0 +export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" # Python settings export PYTHON_BIN_PATH=${PYTHON} From af5cef9b47cc07d078437ea15926eeec447bb9d4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 23:08:57 +0100 Subject: [PATCH 35/78] try adapting windows build script too --- recipe/bld.bat | 72 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index e46d7647..0809246c 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,2 +1,70 @@ -pip install --no-deps -vv *.whl -for %%f in (*.whl) do pip install --no-deps -vv "%%f" +@echo on + +set "PATH=%CD%:%PATH%" +set LIBDIR=%LIBRARY_BIN% +set INCLUDEDIR=%LIBRARY_INC% + +set "TF_SYSTEM_LIBS=llvm,swig" + +:: do not build with MKL support +set TF_NEED_MKL=0 +set BAZEL_MKL_OPT= + +mkdir -p ./bazel_output_base +set BAZEL_OPTS= + +:: the following arguments are useful for debugging +:: --logging=6 +:: --subcommands +:: jobs can be used to limit parallel builds and reduce resource needs +:: --jobs=20 +:: Set compiler and linker flags as bazel does not account for CFLAGS, +:: CXXFLAGS and LDFLAGS. +BUILD_OPTS=" +--copt=-march=nocona +--copt=-mtune=haswell +--copt=-ftree-vectorize +--copt=-fPIC +--copt=-fstack-protector-strong +--copt=-O2 +--cxxopt=-fvisibility-inlines-hidden +--cxxopt=-fmessage-length=0 +--linkopt=-zrelro +--linkopt=-znow +--verbose_failures +%BAZEL_MKL_OPT% +--config=opt" +set TF_ENABLE_XLA=0 +set BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" + +:: Python settings +set PYTHON_BIN_PATH=%PYTHON% +set PYTHON_LIB_PATH=%SP_DIR% +set USE_DEFAULT_PYTHON_LIB_PATH=1 + +:: additional settings +set CC_OPT_FLAGS="-march=nocona -mtune=haswell" +set TF_NEED_OPENCL=0 +set TF_NEED_OPENCL_SYCL=0 +set TF_NEED_COMPUTECPP=0 +set TF_NEED_CUDA=0 +set TF_CUDA_CLANG=0 +set TF_NEED_TENSORRT=0 +set TF_NEED_ROCM=0 +set TF_NEED_MPI=0 +set TF_DOWNLOAD_CLANG=0 +set TF_SET_ANDROID_WORKSPACE=0 +./configure + +:: build using bazel +bazel %BAZEL_OPTS% build %BUILD_OPTS% %BUILD_TARGET% + +:: build a whl file +mkdir -p %SRC_DIR%\\tensorflow_pkg +bazel-bin\\tensorflow\\tools\\pip_package\\build_pip_package %SRC_DIR%\\tensorflow_pkg + +:: install the whl using pip +pip install --no-deps %SRC_DIR%\\tensorflow_pkg\\*.whl + +:: The tensorboard package has the proper entrypoint +rm -f %LIBRARY_BIN%\\tensorboard From ffc86fde32b4222e0595434ddea86bd61d3d054f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 14 Jan 2021 23:18:00 +0100 Subject: [PATCH 36/78] Revert (morally speaking) "use bazel from conda-forge" Unfortunately, bazel 3.1.0 isn't built in conda-forge, starts again at 3.4.1 for unix, 3.6.0 for windows This reverts commit 94bd4c8bc3a10c87076706852f2078339071c803. --- recipe/bld.bat | 12 ++++++++++++ recipe/build.sh | 12 ++++++++++++ recipe/meta.yaml | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 0809246c..ab40fa4c 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -37,6 +37,18 @@ BUILD_OPTS=" set TF_ENABLE_XLA=0 set BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" +:: TODO: publish 3.1 branch in bazel-feedstock +set BAZEL_VERSION=3.1.0 +set EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" +mkdir bazel_local +cd bazel_local +curl -sSOL https://github.com/bazelbuild/bazel/releases/download/%BAZEL_VERSION%/bazel-%BAZEL_VERSION%-dist.zip +unzip bazel-%BAZEL_VERSION%-dist.zip +./compile.sh +cd .. +set "PATH="%cd%/bazel_local/output:%PATH%" +bazel version + :: Python settings set PYTHON_BIN_PATH=%PYTHON% set PYTHON_LIB_PATH=%SP_DIR% diff --git a/recipe/build.sh b/recipe/build.sh index a43635fc..5951da5f 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -41,6 +41,18 @@ ${BAZEL_MKL_OPT} export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" +# TODO: publish 3.1 branch in bazel-feedstock +export BAZEL_VERSION=3.1.0 +export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" +mkdir bazel_local +cd bazel_local +curl -sSOL https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip +unzip bazel-${BAZEL_VERSION}-dist.zip +./compile.sh +cd .. +export PATH="$PWD/bazel_local/output:$PATH" +bazel version + # Python settings export PYTHON_BIN_PATH=${PYTHON} export PYTHON_LIB_PATH=${SP_DIR} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 54385375..69f100d6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion - - bazel ==3.1.0 + #- bazel ==3.1.0 - nasm - swig host: From f62c3756c520e266c21e1a82012345cb162f9d26 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 15 Jan 2021 00:10:43 +0100 Subject: [PATCH 37/78] use m2-versions of zip/unzip on windows --- recipe/meta.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 69f100d6..ba4e2168 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,8 +36,10 @@ requirements: - zlib - libpng - libcurl - - unzip - - zip + - unzip # [not win] + - zip # [not win] + - m2-unzip # [win] + - m2-zip # [win] - openjdk >=8 - nsync # requirements specified by the package itself, see From 50b01bdef3f0f7dd1e782c35256c275d09472c8c Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Fri, 15 Jan 2021 10:35:36 +0100 Subject: [PATCH 38/78] removed swig from TF_SYSTEM_LIBS to follow upstream Co-authored-by: Jinzhe Zeng --- recipe/build.sh | 2 +- recipe/meta.yaml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 5951da5f..daa7cbc7 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -8,7 +8,7 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include -export TF_SYSTEM_LIBS="llvm,swig" +export TF_SYSTEM_LIBS="llvm" # do not build with MKL support export TF_NEED_MKL=0 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ba4e2168..f898aadb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -26,7 +26,6 @@ requirements: # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion #- bazel ==3.1.0 - nasm - - swig host: # conda build requirements - python From 05a1f275929c92c846e9576d0bbbef52a359231a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 15 Jan 2021 12:21:50 +0100 Subject: [PATCH 39/78] add curl on win --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f898aadb..787ab632 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -35,6 +35,7 @@ requirements: - zlib - libpng - libcurl + - curl # [win] - unzip # [not win] - zip # [not win] - m2-unzip # [win] From 175b26bf4bcd55c8f6bf785c77144b0e1aaa1491 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 15 Jan 2021 23:26:07 +0100 Subject: [PATCH 40/78] add review suggestion to tell bazel about resource constraints --- recipe/build.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index daa7cbc7..f5199e33 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -73,7 +73,10 @@ export TF_SET_ANDROID_WORKSPACE=0 ./configure # build using bazel -bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} +bazel --host_jvm_args="-Xms512m" --host_jvm_args="-Xmx4096m" \ + ${BAZEL_OPTS} build \ + --local_cpu_resources ${CPU_COUNT} --local_ram_resources 7168 \ + ${BUILD_OPTS} ${BUILD_TARGET} # build a whl file mkdir -p $SRC_DIR/tensorflow_pkg From 9cf3ad4f3a22ab3d0f5cc4512025ed5b5220166f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 15 Jan 2021 23:26:37 +0100 Subject: [PATCH 41/78] exclude pip_package from rsync in cp_libtensorflow_cc.sh --- recipe/cp_libtensorflow_cc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index a45db713..c1204919 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -7,7 +7,7 @@ cp -d $PREFIX/lib/libtensorflow_framework.so.2 $PREFIX/lib/libtensorflow_framewo mkdir -p $PREFIX/include mkdir -p $PREFIX/include/tensorflow # copy headers -rsync -avzh --exclude '_virtual_includes/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ +rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ From fb497d1f29a201efb2ca186d335bf947719e1497 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 16 Jan 2021 10:34:23 +0100 Subject: [PATCH 42/78] Revert "add review suggestion to tell bazel about resource constraints" This reverts commit 175b26bf4bcd55c8f6bf785c77144b0e1aaa1491. --- recipe/build.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index f5199e33..daa7cbc7 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -73,10 +73,7 @@ export TF_SET_ANDROID_WORKSPACE=0 ./configure # build using bazel -bazel --host_jvm_args="-Xms512m" --host_jvm_args="-Xmx4096m" \ - ${BAZEL_OPTS} build \ - --local_cpu_resources ${CPU_COUNT} --local_ram_resources 7168 \ - ${BUILD_OPTS} ${BUILD_TARGET} +bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} # build a whl file mkdir -p $SRC_DIR/tensorflow_pkg From 77c31fbab2e3bbe4acfb40070785dad3ba12dbea Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 17 Jan 2021 13:56:12 +0100 Subject: [PATCH 43/78] use bazel 3.1.0 from conda-forge --- recipe/bld.bat | 12 ------------ recipe/build.sh | 12 ------------ recipe/meta.yaml | 2 +- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index ab40fa4c..0809246c 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -37,18 +37,6 @@ BUILD_OPTS=" set TF_ENABLE_XLA=0 set BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" -:: TODO: publish 3.1 branch in bazel-feedstock -set BAZEL_VERSION=3.1.0 -set EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" -mkdir bazel_local -cd bazel_local -curl -sSOL https://github.com/bazelbuild/bazel/releases/download/%BAZEL_VERSION%/bazel-%BAZEL_VERSION%-dist.zip -unzip bazel-%BAZEL_VERSION%-dist.zip -./compile.sh -cd .. -set "PATH="%cd%/bazel_local/output:%PATH%" -bazel version - :: Python settings set PYTHON_BIN_PATH=%PYTHON% set PYTHON_LIB_PATH=%SP_DIR% diff --git a/recipe/build.sh b/recipe/build.sh index daa7cbc7..2548affa 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -41,18 +41,6 @@ ${BAZEL_MKL_OPT} export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" -# TODO: publish 3.1 branch in bazel-feedstock -export BAZEL_VERSION=3.1.0 -export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" -mkdir bazel_local -cd bazel_local -curl -sSOL https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip -unzip bazel-${BAZEL_VERSION}-dist.zip -./compile.sh -cd .. -export PATH="$PWD/bazel_local/output:$PATH" -bazel version - # Python settings export PYTHON_BIN_PATH=${PYTHON} export PYTHON_LIB_PATH=${SP_DIR} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 787ab632..0da4fce3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion - #- bazel ==3.1.0 + - bazel ==3.1.0 - nasm host: # conda build requirements From 974331fd3924cacdfccb1cc8e2a771fa38a954ed Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 17 Jan 2021 13:57:27 +0100 Subject: [PATCH 44/78] remove custom_clang_toolchain --- recipe/custom_clang_toolchain/BUILD | 39 ------- .../custom_clang_toolchain/CROSSTOOL.template | 82 -------------- recipe/custom_clang_toolchain/WORKSPACE | 1 - .../cc_wrapper.sh.template | 106 ------------------ 4 files changed, 228 deletions(-) delete mode 100755 recipe/custom_clang_toolchain/BUILD delete mode 100755 recipe/custom_clang_toolchain/CROSSTOOL.template delete mode 100644 recipe/custom_clang_toolchain/WORKSPACE delete mode 100755 recipe/custom_clang_toolchain/cc_wrapper.sh.template diff --git a/recipe/custom_clang_toolchain/BUILD b/recipe/custom_clang_toolchain/BUILD deleted file mode 100755 index 9ebaf9ff..00000000 --- a/recipe/custom_clang_toolchain/BUILD +++ /dev/null @@ -1,39 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -filegroup( - name = "empty", - srcs = [], -) - -filegroup( - name = "cc_wrapper", - srcs = ["cc_wrapper.sh"], -) - -filegroup( - name = "compiler_deps", - srcs = glob(["extra_tools/**"]) + [":cc_wrapper"], -) - -cc_toolchain_suite( - name = "toolchain", - toolchains = { - "darwin|compiler": ":cc-compiler-darwin", - "darwin": ":cc-compiler-darwin", - }, -) - -cc_toolchain( - name = "cc-compiler-darwin", - all_files = ":compiler_deps", - compiler_files = ":compiler_deps", - cpu = "darwin", - toolchain_identifier = "local", - dwp_files = ":empty", - dynamic_runtime_libs = [":empty"], - linker_files = ":compiler_deps", - objcopy_files = ":empty", - static_runtime_libs = [":empty"], - strip_files = ":empty", - supports_param_files = 0, -) diff --git a/recipe/custom_clang_toolchain/CROSSTOOL.template b/recipe/custom_clang_toolchain/CROSSTOOL.template deleted file mode 100755 index 3999152b..00000000 --- a/recipe/custom_clang_toolchain/CROSSTOOL.template +++ /dev/null @@ -1,82 +0,0 @@ -major_version: "local" -minor_version: "" -default_target_cpu: "same_as_host" - -default_toolchain { - cpu: "darwin" - toolchain_identifier: "local" -} - -toolchain { - toolchain_identifier: "local" - abi_version: "local" - abi_libc_version: "local" - builtin_sysroot: "" - compiler: "compiler" - host_system_name: "local" - needsPic: true - supports_gold_linker: false - supports_incremental_linker: false - supports_fission: false - supports_interface_shared_objects: false - supports_normalizing_ar: false - supports_start_end_lib: false - target_libc: "macosx" - target_cpu: "darwin" - target_system_name: "local" - cxx_flag: "-stdlib=libc++" - cxx_flag: "-fvisibility-inlines-hidden" - cxx_flag: "-std=c++14" - cxx_flag: "-fmessage-length=0" - linker_flag: "-Wl,-pie" - linker_flag: "-headerpad_max_install_names" - linker_flag: "-Wl,-dead_strip_dylibs" - linker_flag: "-lc++" - linker_flag: "-undefined" - linker_flag: "dynamic_lookup" - cxx_builtin_include_directory: "${PREFIX}/include/c++/v1" - cxx_builtin_include_directory: "${PREFIX}/lib/clang/4.0.1/include" - cxx_builtin_include_directory: "${CONDA_BUILD_SYSROOT}/usr/include" - cxx_builtin_include_directory: "${CONDA_BUILD_SYSROOT}/System/Library/Frameworks" - objcopy_embed_flag: "-I" - objcopy_embed_flag: "binary" - unfiltered_cxx_flag: "-no-canonical-prefixes" - unfiltered_cxx_flag: "-Wno-builtin-macro-redefined" - unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" - unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" - unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" - compiler_flag: "-march=core2" - compiler_flag: "-mtune=haswell" - compiler_flag: "-mssse3" - compiler_flag: "-ftree-vectorize" - compiler_flag: "-fPIC" - compiler_flag: "-fPIE" - compiler_flag: "-fstack-protector-strong" - compiler_flag: "-O1" - compiler_flag: "-pipe" - tool_path {name: "ld" path: "${LD}" } - tool_path {name: "cpp" path: "/usr/bin/cpp" } - tool_path {name: "dwp" path: "/usr/bin/dwp" } - tool_path {name: "gcov" path: "/usr/bin/gcov" } - tool_path {name: "nm" path: "${NM}" } - tool_path {name: "objcopy" path: "/usr/bin/objcopy" } - tool_path {name: "objdump" path: "/usr/bin/objdump" } - tool_path {name: "strip" path: "${STRIP}" } - tool_path {name: "gcc" path: "cc_wrapper.sh" } - tool_path {name: "ar" path: "${LIBTOOL}" } - - compilation_mode_flags { - mode: DBG - compiler_flag: "-g" - } - compilation_mode_flags { - mode: OPT - compiler_flag: "-g0" - compiler_flag: "-O1" - compiler_flag: "-D_FORTIFY_SOURCE=1" - compiler_flag: "-DNDEBUG" - compiler_flag: "-ffunction-sections" - compiler_flag: "-fdata-sections" - } - linking_mode_flags { mode: DYNAMIC } -} diff --git a/recipe/custom_clang_toolchain/WORKSPACE b/recipe/custom_clang_toolchain/WORKSPACE deleted file mode 100644 index 12558650..00000000 --- a/recipe/custom_clang_toolchain/WORKSPACE +++ /dev/null @@ -1 +0,0 @@ -workspace(name = "local_config_cc") diff --git a/recipe/custom_clang_toolchain/cc_wrapper.sh.template b/recipe/custom_clang_toolchain/cc_wrapper.sh.template deleted file mode 100755 index 069d37b0..00000000 --- a/recipe/custom_clang_toolchain/cc_wrapper.sh.template +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# -# Copyright 2015 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# OS X relpath is not really working. This is a wrapper script around gcc -# to simulate relpath behavior. -# -# This wrapper uses install_name_tool to replace all paths in the binary -# (bazel-out/.../path/to/original/library.so) by the paths relative to -# the binary. It parses the command line to behave as rpath is supposed -# to work. -# -# See https://blogs.oracle.com/dipol/entry/dynamic_libraries_rpath_and_mac -# on how to set those paths for Mach-O binaries. -# -set -eu - -INSTALL_NAME_TOOL="${INSTALL_NAME_TOOL}" - -LIBS= -LIB_DIRS= -RPATHS= -OUTPUT= -# let parse the option list -for i in "$@"; do - if [[ "${OUTPUT}" = "1" ]]; then - OUTPUT=$i - elif [[ "$i" =~ ^-l(.*)$ ]]; then - LIBS="${BASH_REMATCH[1]} $LIBS" - elif [[ "$i" =~ ^-L(.*)$ ]]; then - LIB_DIRS="${BASH_REMATCH[1]} $LIB_DIRS" - elif [[ "$i" =~ ^-Wl,-rpath,\@loader_path/(.*)$ ]]; then - RPATHS="${BASH_REMATCH[1]} ${RPATHS}" - elif [[ "$i" = "-o" ]]; then - # output is coming - OUTPUT=1 - fi -done - -# Set-up the environment - - -# Call the C++ compiler -CONDA_BUILD_SYSROOT=${CONDA_BUILD_SYSROOT} ${CLANG} "$@" - -function get_library_path() { - for libdir in ${LIB_DIRS}; do - if [ -f ${libdir}/lib$1.so ]; then - echo "${libdir}/lib$1.so" - elif [ -f ${libdir}/lib$1.dylib ]; then - echo "${libdir}/lib$1.dylib" - fi - done -} - -# A convenient method to return the actual path even for non symlinks -# and multi-level symlinks. -function get_realpath() { - local previous="$1" - local next=$(readlink "${previous}") - while [ -n "${next}" ]; do - previous="${next}" - next=$(readlink "${previous}") - done - echo "${previous}" -} - -# Get the path of a lib inside a tool -function get_otool_path() { - # the lib path is the path of the original lib relative to the workspace - get_realpath $1 | sed 's|^.*/bazel-out/|bazel-out/|' -} - -# Do replacements in the output -for rpath in ${RPATHS}; do - for lib in ${LIBS}; do - unset libname - if [ -f "$(dirname ${OUTPUT})/${rpath}/lib${lib}.so" ]; then - libname="lib${lib}.so" - elif [ -f "$(dirname ${OUTPUT})/${rpath}/lib${lib}.dylib" ]; then - libname="lib${lib}.dylib" - fi - # ${libname-} --> return $libname if defined, or undefined otherwise. This is to make - # this set -e friendly - if [[ -n "${libname-}" ]]; then - libpath=$(get_library_path ${lib}) - if [ -n "${libpath}" ]; then - ${INSTALL_NAME_TOOL} -change $(get_otool_path "${libpath}") \ - "@loader_path/${rpath}/${libname}" "${OUTPUT}" - fi - fi - done -done - From cd460d836033ce53edc6a68a42cde90b08507cd1 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Wed, 3 Feb 2021 15:30:36 -0500 Subject: [PATCH 45/78] fix libtensorflow --- recipe/cp_libtensorflow.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/cp_libtensorflow.sh b/recipe/cp_libtensorflow.sh index 525d78a9..aa1e3ca9 100644 --- a/recipe/cp_libtensorflow.sh +++ b/recipe/cp_libtensorflow.sh @@ -5,3 +5,5 @@ cp bazel-bin/tensorflow/*.so ${PREFIX}/lib/ # copy includes mkdir -p ${PREFIX}/include/tensorflow/c cp -R tensorflow/c/* ${PREFIX}/include/tensorflow/c/. +mkdir -p ${PREFIX}/include/tensorflow/core/platform/ +cp tensorflow/core/platform/ctstring.h ${PREFIX}/include/tensorflow/core/platform/ From f02b37ce706590d8c42bd2902f3f6494a0496d9c Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Wed, 3 Feb 2021 15:33:10 -0500 Subject: [PATCH 46/78] add files to outputs.tensorflow --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0da4fce3..a53c5550 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -68,6 +68,8 @@ requirements: outputs: - name: tensorflow-base + files: + - "lib/python*/site-packages/tensorflow" build: entry_points: - toco_from_protos = tensorflow.lite.toco.python.toco_from_protos:main From b6cea1ea823387bf7e330a90ce6a3759a9edbedf Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Wed, 3 Feb 2021 17:43:38 -0500 Subject: [PATCH 47/78] use python-flatbuffers --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a53c5550..4391eb34 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -46,7 +46,7 @@ requirements: # github.com/tensorflow/tensorflow/blob/v{{ version }}/tensorflow/tools/pip_package/setup.py - absl-py >=0.10.0 - astunparse >=1.6.3 - - flatbuffers >=1.12.0 + - python-flatbuffers >=1.12.0 - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 @@ -92,7 +92,7 @@ outputs: # requirements specified by the package itself - absl-py >=0.10.0 - astunparse >=1.6.3 - - flatbuffers >=1.12.0 + - python-flatbuffers >=1.12.0 - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 @@ -113,7 +113,7 @@ outputs: - python - absl-py >=0.10.0 - astunparse >=1.6.3 - - flatbuffers >=1.12.0 + - python-flatbuffers >=1.12.0 - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 From 938d5b6d9b46a3e4c07116a02ddd9785418a704b Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Wed, 3 Feb 2021 23:01:45 -0500 Subject: [PATCH 48/78] try to fix bugs --- recipe/bld.bat | 5 ----- recipe/build.sh | 5 ----- recipe/build_pkg.bat | 5 +++++ recipe/build_pkg.sh | 5 +++++ recipe/cp_libtensorflow.sh | 2 +- recipe/meta.yaml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 recipe/build_pkg.bat create mode 100644 recipe/build_pkg.sh diff --git a/recipe/bld.bat b/recipe/bld.bat index 0809246c..bca26ebf 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -63,8 +63,3 @@ bazel %BAZEL_OPTS% build %BUILD_OPTS% %BUILD_TARGET% mkdir -p %SRC_DIR%\\tensorflow_pkg bazel-bin\\tensorflow\\tools\\pip_package\\build_pip_package %SRC_DIR%\\tensorflow_pkg -:: install the whl using pip -pip install --no-deps %SRC_DIR%\\tensorflow_pkg\\*.whl - -:: The tensorboard package has the proper entrypoint -rm -f %LIBRARY_BIN%\\tensorboard diff --git a/recipe/build.sh b/recipe/build.sh index 2548affa..9ba168ca 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -67,8 +67,3 @@ bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} mkdir -p $SRC_DIR/tensorflow_pkg bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg -# install the whl using pip -pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl - -# The tensorboard package has the proper entrypoint -rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/build_pkg.bat b/recipe/build_pkg.bat new file mode 100644 index 00000000..f7cb14ea --- /dev/null +++ b/recipe/build_pkg.bat @@ -0,0 +1,5 @@ +:: install the whl using pip +pip install --no-deps %SRC_DIR%\\tensorflow_pkg\\*.whl + +:: The tensorboard package has the proper entrypoint +rm -f %LIBRARY_BIN%\\tensorboard diff --git a/recipe/build_pkg.sh b/recipe/build_pkg.sh new file mode 100644 index 00000000..893a9792 --- /dev/null +++ b/recipe/build_pkg.sh @@ -0,0 +1,5 @@ +# install the whl using pip +pip install --no-deps $SRC_DIR/tensorflow_pkg/*.whl + +# The tensorboard package has the proper entrypoint +rm -f ${PREFIX}/bin/tensorboard diff --git a/recipe/cp_libtensorflow.sh b/recipe/cp_libtensorflow.sh index aa1e3ca9..3dc2f3aa 100644 --- a/recipe/cp_libtensorflow.sh +++ b/recipe/cp_libtensorflow.sh @@ -6,4 +6,4 @@ cp bazel-bin/tensorflow/*.so ${PREFIX}/lib/ mkdir -p ${PREFIX}/include/tensorflow/c cp -R tensorflow/c/* ${PREFIX}/include/tensorflow/c/. mkdir -p ${PREFIX}/include/tensorflow/core/platform/ -cp tensorflow/core/platform/ctstring.h ${PREFIX}/include/tensorflow/core/platform/ +cp tensorflow/core/platform/*.h ${PREFIX}/include/tensorflow/core/platform/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4391eb34..bca4d4d3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -68,8 +68,8 @@ requirements: outputs: - name: tensorflow-base - files: - - "lib/python*/site-packages/tensorflow" + script: build_pkg.sh # [not win] + script: build_pkg.bat # [win] build: entry_points: - toco_from_protos = tensorflow.lite.toco.python.toco_from_protos:main From 365f900bf7b4ee0050f5716b2ef093b5afaaea00 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Thu, 4 Feb 2021 01:59:17 -0500 Subject: [PATCH 49/78] update tests; update build c lib scripts --- recipe/build.sh | 2 +- recipe/cp_libtensorflow.sh | 10 ++-------- recipe/cp_libtensorflow_cc.sh | 2 +- recipe/meta.yaml | 3 ++- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 9ba168ca..c69fb25d 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -39,7 +39,7 @@ BUILD_OPTS=" ${BAZEL_MKL_OPT} --config=opt" export TF_ENABLE_XLA=0 -export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow.so //tensorflow:libtensorflow_cc.so" +export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow //tensorflow:libtensorflow_cc.so" # Python settings export PYTHON_BIN_PATH=${PYTHON} diff --git a/recipe/cp_libtensorflow.sh b/recipe/cp_libtensorflow.sh index 3dc2f3aa..9fcf9422 100644 --- a/recipe/cp_libtensorflow.sh +++ b/recipe/cp_libtensorflow.sh @@ -1,9 +1,3 @@ -# copy libraries -mkdir -p ${PREFIX}/lib -cp bazel-bin/tensorflow/*.so ${PREFIX}/lib/ +# https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/lib_package/README.md +tar -C ${PREFIX} -xzf $SRC_DIR/bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz -# copy includes -mkdir -p ${PREFIX}/include/tensorflow/c -cp -R tensorflow/c/* ${PREFIX}/include/tensorflow/c/. -mkdir -p ${PREFIX}/include/tensorflow/core/platform/ -cp tensorflow/core/platform/*.h ${PREFIX}/include/tensorflow/core/platform/ diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index c1204919..b2bdbfdc 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -7,7 +7,7 @@ cp -d $PREFIX/lib/libtensorflow_framework.so.2 $PREFIX/lib/libtensorflow_framewo mkdir -p $PREFIX/include mkdir -p $PREFIX/include/tensorflow # copy headers -rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ +rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --exclude 'lib_package/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bca4d4d3..fc4ec09e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -134,7 +134,8 @@ outputs: imports: - tensorflow commands: - - freeze_graph --help + - tf_upgrade_v2 --help + - estimator_ckpt_converter --help - saved_model_cli --help - tflite_convert --help # [not win] - toco_from_protos --help # [not win] From 74b7ff1f163bb00c052c9a630e14c46f1cc84a9f Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Thu, 4 Feb 2021 10:59:48 -0500 Subject: [PATCH 50/78] remove a test --- recipe/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fc4ec09e..92d8dfae 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -135,7 +135,6 @@ outputs: - tensorflow commands: - tf_upgrade_v2 --help - - estimator_ckpt_converter --help - saved_model_cli --help - tflite_convert --help # [not win] - toco_from_protos --help # [not win] From 4aafffaa93dc50336f56c2ebe4071a75ce2a949d Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Thu, 4 Feb 2021 14:35:19 -0500 Subject: [PATCH 51/78] tf2 has no sessions any more --- recipe/run_test.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipe/run_test.py b/recipe/run_test.py index 25bee61c..7849f3a4 100644 --- a/recipe/run_test.py +++ b/recipe/run_test.py @@ -1,7 +1,5 @@ import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') -sess = tf.Session() -out = sess.run(hello) a = tf.constant(10) b = tf.constant(32) -sess.run(a+b) +a+b From 9dc99bbbe4fdfe705d96d2936927da552f2644b1 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 18 Mar 2021 07:56:31 +0100 Subject: [PATCH 52/78] Add changes for osx-64 --- recipe/build.sh | 107 ++++++++++++++---- recipe/custom_clang_toolchain/BUILD | 12 +- .../custom_clang_toolchain/CROSSTOOL.template | 13 ++- .../cc_wrapper.sh.template | 0 recipe/meta.yaml | 15 ++- 5 files changed, 116 insertions(+), 31 deletions(-) mode change 100755 => 100644 recipe/custom_clang_toolchain/BUILD mode change 100755 => 100644 recipe/custom_clang_toolchain/CROSSTOOL.template mode change 100755 => 100644 recipe/custom_clang_toolchain/cc_wrapper.sh.template diff --git a/recipe/build.sh b/recipe/build.sh index c69fb25d..db95b021 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -8,7 +8,34 @@ export CXX=$(basename $CXX) export LIBDIR=$PREFIX/lib export INCLUDEDIR=$PREFIX/include -export TF_SYSTEM_LIBS="llvm" +# Needs a bazel build: +# com_google_absl +# Build failures in tensorflow/core/platform/s3/aws_crypto.cc +# boringssl (i.e. system openssl) +# Most importantly: Write a patch that uses system LLVM libs for sure as well as MLIR and oneDNN/mkldnn +# TODO(check): +# absl_py +# com_github_googleapis_googleapis +# com_github_googlecloudplatform_google_cloud_cpp + +# The possible values are specified in third_party/systemlibs/syslibs_configure.bzl +# The versions for them can be found in tensorflow/workspace.bzl +export TF_SYSTEM_LIBS=" + astor_archive + astunparse_archive + com_github_grpc_grpc + com_google_protobuf + com_googlesource_code_re2 + curl + cython + dill_archive + gif + libjpeg_turbo + llvm + snappy + zlib + " +python ./third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD # do not build with MKL support export TF_NEED_MKL=0 @@ -17,27 +44,60 @@ export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base export BAZEL_OPTS="" -# the following arguments are useful for debugging -# --logging=6 -# --subcommands -# jobs can be used to limit parallel builds and reduce resource needs -# --jobs=20 -# Set compiler and linker flags as bazel does not account for CFLAGS, -# CXXFLAGS and LDFLAGS. -BUILD_OPTS=" ---copt=-march=nocona ---copt=-mtune=haswell ---copt=-ftree-vectorize ---copt=-fPIC ---copt=-fstack-protector-strong ---copt=-O2 ---cxxopt=-fvisibility-inlines-hidden ---cxxopt=-fmessage-length=0 ---linkopt=-zrelro ---linkopt=-znow ---verbose_failures -${BAZEL_MKL_OPT} ---config=opt" +# Quick debug: +# cp -r ${RECIPE_DIR}/build.sh . && bazel clean && bash -x build.sh --logging=6 | tee log.txt +# Dependency graph: +# bazel query 'deps(//tensorflow/tools/lib_package:libtensorflow)' --output graph > graph.in +if [[ "${target_platform}" == osx-* ]]; then + # set up bazel config file for conda provided clang toolchain + cp -r ${RECIPE_DIR}/custom_clang_toolchain . + pushd custom_clang_toolchain + sed -e "s:\${CLANG}:${CLANG}:" \ + -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL}:" \ + -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ + cc_wrapper.sh.template > cc_wrapper.sh + chmod +x cc_wrapper.sh + sed -i "" "s:\${PREFIX}:${PREFIX}:" cc_toolchain_config.bzl + sed -i "" "s:\${BUILD_PREFIX}:${BUILD_PREFIX}:" cc_toolchain_config.bzl + sed -i "" "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" cc_toolchain_config.bzl + sed -i "" "s:\${LD}:${LD}:" cc_toolchain_config.bzl + sed -i "" "s:\${NM}:${NM}:" cc_toolchain_config.bzl + sed -i "" "s:\${STRIP}:${STRIP}:" cc_toolchain_config.bzl + sed -i "" "s:\${AR}:${LIBTOOL}:" cc_toolchain_config.bzl + sed -i "" "s:\${LIBTOOL}:${LIBTOOL}:" cc_toolchain_config.bzl + popd + + # set build arguments + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + BUILD_OPTS=" + --crosstool_top=//custom_clang_toolchain:toolchain + --verbose_failures + --linkopt=-lz + ${BAZEL_MKL_OPT} + --config=opt" +else + # the following arguments are useful for debugging + # --logging=6 + # --subcommands + # jobs can be used to limit parallel builds and reduce resource needs + # --jobs=20 + # Set compiler and linker flags as bazel does not account for CFLAGS, + # CXXFLAGS and LDFLAGS. + BUILD_OPTS=" + --copt=-march=nocona + --copt=-mtune=haswell + --copt=-ftree-vectorize + --copt=-fPIC + --copt=-fstack-protector-strong + --copt=-O2 + --cxxopt=-fvisibility-inlines-hidden + --cxxopt=-fmessage-length=0 + --linkopt=-zrelro + --linkopt=-znow + --verbose_failures + ${BAZEL_MKL_OPT} + --config=opt" +fi export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow //tensorflow:libtensorflow_cc.so" @@ -58,6 +118,7 @@ export TF_NEED_ROCM=0 export TF_NEED_MPI=0 export TF_DOWNLOAD_CLANG=0 export TF_SET_ANDROID_WORKSPACE=0 +export TF_CONFIGURE_IOS=0 ./configure # build using bazel @@ -65,5 +126,5 @@ bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} # build a whl file mkdir -p $SRC_DIR/tensorflow_pkg -bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg +bash -x bazel-bin/tensorflow/tools/pip_package/build_pip_package $SRC_DIR/tensorflow_pkg diff --git a/recipe/custom_clang_toolchain/BUILD b/recipe/custom_clang_toolchain/BUILD old mode 100755 new mode 100644 index 9ebaf9ff..4eccd1b0 --- a/recipe/custom_clang_toolchain/BUILD +++ b/recipe/custom_clang_toolchain/BUILD @@ -15,6 +15,14 @@ filegroup( srcs = glob(["extra_tools/**"]) + [":cc_wrapper"], ) +load( + ":cc_toolchain_config.bzl", "cc_toolchain_config" + ) + +cc_toolchain_config( + name = "cc-compiler-darwin-config" + ) + cc_toolchain_suite( name = "toolchain", toolchains = { @@ -27,13 +35,11 @@ cc_toolchain( name = "cc-compiler-darwin", all_files = ":compiler_deps", compiler_files = ":compiler_deps", - cpu = "darwin", toolchain_identifier = "local", + toolchain_config = ":cc-compiler-darwin-config", dwp_files = ":empty", - dynamic_runtime_libs = [":empty"], linker_files = ":compiler_deps", objcopy_files = ":empty", - static_runtime_libs = [":empty"], strip_files = ":empty", supports_param_files = 0, ) diff --git a/recipe/custom_clang_toolchain/CROSSTOOL.template b/recipe/custom_clang_toolchain/CROSSTOOL.template old mode 100755 new mode 100644 index 3999152b..a7e96e18 --- a/recipe/custom_clang_toolchain/CROSSTOOL.template +++ b/recipe/custom_clang_toolchain/CROSSTOOL.template @@ -34,8 +34,15 @@ toolchain { linker_flag: "-lc++" linker_flag: "-undefined" linker_flag: "dynamic_lookup" + linker_flag: "-force_load" + linker_flag: "${BUILD_PREFIX}/lib/libc++.a" + linker_flag: "-force_load" + linker_flag: "${BUILD_PREFIX}/lib/libc++abi.a" + linker_flag: "-nostdlib" + linker_flag: "-lc" + linker_flag: "-isysroot${CONDA_BUILD_SYSROOT}" cxx_builtin_include_directory: "${PREFIX}/include/c++/v1" - cxx_builtin_include_directory: "${PREFIX}/lib/clang/4.0.1/include" + cxx_builtin_include_directory: "${PREFIX}/lib/clang/10.0.0/include" cxx_builtin_include_directory: "${CONDA_BUILD_SYSROOT}/usr/include" cxx_builtin_include_directory: "${CONDA_BUILD_SYSROOT}/System/Library/Frameworks" objcopy_embed_flag: "-I" @@ -52,7 +59,7 @@ toolchain { compiler_flag: "-fPIC" compiler_flag: "-fPIE" compiler_flag: "-fstack-protector-strong" - compiler_flag: "-O1" + compiler_flag: "-O2" compiler_flag: "-pipe" tool_path {name: "ld" path: "${LD}" } tool_path {name: "cpp" path: "/usr/bin/cpp" } @@ -72,7 +79,7 @@ toolchain { compilation_mode_flags { mode: OPT compiler_flag: "-g0" - compiler_flag: "-O1" + compiler_flag: "-O2" compiler_flag: "-D_FORTIFY_SOURCE=1" compiler_flag: "-DNDEBUG" compiler_flag: "-ffunction-sections" diff --git a/recipe/custom_clang_toolchain/cc_wrapper.sh.template b/recipe/custom_clang_toolchain/cc_wrapper.sh.template old mode 100755 new mode 100644 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 92d8dfae..b4ab77e5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -58,13 +58,23 @@ requirements: - typing_extensions >=3.7.4 - wheel >=0.35 - wrapt >=1.11.1 + # TF_SYSTEM_LIBS + - astor >=0.7.1 + - grpc-cpp + - libprotobuf + - giflib + - libjpeg-turbo + - openssl + - cython >=0.28.4 + - dill >=0.3.1.1 + - snappy # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync - tensorboard >=2.4.0,<2.5 - tensorflow-estimator >=2.4.0,<2.5 - run: - - {{ pin_subpackage('tensorflow-base', exact=True) }} + #run: + #- {{ pin_subpackage('tensorflow-base', exact=True) }} outputs: - name: tensorflow-base @@ -201,6 +211,7 @@ about: doc_source_url: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/docs_src extra: + feedstock-name: tensorflow recipe-maintainers: - waitingkuo - ghego From 8d66d8ddb9f8120b36c7aa7dd2bb6f0dcd1e7fc2 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 18 Mar 2021 09:13:52 +0100 Subject: [PATCH 53/78] Be kind to CI --- .azure-pipelines/azure-pipelines-linux.yml | 8 -- .azure-pipelines/azure-pipelines-osx.yml | 6 - .azure-pipelines/azure-pipelines-win.yml | 116 ------------------ .../linux_64_python3.6.____cpython.yaml | 41 ------- .../linux_64_python3.7.____cpython.yaml | 41 ------- .../linux_64_python3.8.____cpython.yaml | 16 +++ .ci_support/osx_64_python3.6.____cpython.yaml | 16 --- .ci_support/osx_64_python3.7.____cpython.yaml | 16 --- .ci_support/osx_64_python3.8.____cpython.yaml | 39 ++++++ .ci_support/win_64_python3.6.____cpython.yaml | 12 -- .ci_support/win_64_python3.7.____cpython.yaml | 12 -- .ci_support/win_64_python3.8.____cpython.yaml | 12 -- .scripts/build_steps.sh | 22 +++- .scripts/logging_utils.sh | 30 +++++ .scripts/run_docker_build.sh | 6 + .scripts/run_osx_build.sh | 34 +++-- LICENSE.txt | 2 +- README.md | 58 +-------- azure-pipelines.yml | 1 - recipe/meta.yaml | 2 +- 20 files changed, 132 insertions(+), 358 deletions(-) delete mode 100755 .azure-pipelines/azure-pipelines-win.yml delete mode 100644 .ci_support/linux_64_python3.6.____cpython.yaml delete mode 100644 .ci_support/linux_64_python3.7.____cpython.yaml delete mode 100644 .ci_support/osx_64_python3.6.____cpython.yaml delete mode 100644 .ci_support/osx_64_python3.7.____cpython.yaml delete mode 100644 .ci_support/win_64_python3.6.____cpython.yaml delete mode 100644 .ci_support/win_64_python3.7.____cpython.yaml delete mode 100644 .ci_support/win_64_python3.8.____cpython.yaml create mode 100644 .scripts/logging_utils.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 60029261..5059e969 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,14 +8,6 @@ jobs: vmImage: ubuntu-16.04 strategy: matrix: - linux_64_python3.6.____cpython: - CONFIG: linux_64_python3.6.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 - linux_64_python3.7.____cpython: - CONFIG: linux_64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 linux_64_python3.8.____cpython: CONFIG: linux_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 3b6ec892..6635b57d 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,12 +8,6 @@ jobs: vmImage: macOS-10.15 strategy: matrix: - osx_64_python3.6.____cpython: - CONFIG: osx_64_python3.6.____cpython - UPLOAD_PACKAGES: 'True' - osx_64_python3.7.____cpython: - CONFIG: osx_64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' osx_64_python3.8.____cpython: CONFIG: osx_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml deleted file mode 100755 index 1244454f..00000000 --- a/.azure-pipelines/azure-pipelines-win.yml +++ /dev/null @@ -1,116 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: win - pool: - vmImage: vs2017-win2016 - strategy: - matrix: - win_64_python3.6.____cpython: - CONFIG: win_64_python3.6.____cpython - UPLOAD_PACKAGES: 'True' - win_64_python3.7.____cpython: - CONFIG: win_64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - win_64_python3.8.____cpython: - CONFIG: win_64_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - timeoutInMinutes: 360 - variables: - CONDA_BLD_PATH: D:\\bld\\ - - steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath - - Get-ChildItem -Path $batchDir - - Get-ChildItem -Path ($batchDir + '\..') - - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) - - - task: CondaEnvironment@1 - inputs: - packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional - installOptions: "-c conda-forge" - updateConda: true - displayName: Install conda-build and activate environment - - - script: set PYTHONUNBUFFERED=1 - displayName: Set PYTHONUNBUFFERED - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe - env: - PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - script: | - set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml - displayName: Upload package - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.ci_support/linux_64_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml deleted file mode 100644 index fff0dc25..00000000 --- a/.ci_support/linux_64_python3.6.____cpython.yaml +++ /dev/null @@ -1,41 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cdt_name: -- cos6 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-comp7 -libcurl: -- '7' -libpng: -- '1.6' -pin_run_as_build: - libcurl: - max_pin: x - libpng: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x - zlib: - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cdt_name - - docker_image -zlib: -- '1.2' diff --git a/.ci_support/linux_64_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml deleted file mode 100644 index 5dcecbcd..00000000 --- a/.ci_support/linux_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,41 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cdt_name: -- cos6 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-comp7 -libcurl: -- '7' -libpng: -- '1.6' -pin_run_as_build: - libcurl: - max_pin: x - libpng: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x - zlib: - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cdt_name - - docker_image -zlib: -- '1.2' diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml index 3cf1d810..9f61bb98 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -14,15 +14,29 @@ cxx_compiler_version: - '9' docker_image: - quay.io/condaforge/linux-anvil-comp7 +giflib: +- '5.2' +grpc_cpp: +- '1.36' libcurl: - '7' +libjpeg_turbo: +- '2' libpng: - '1.6' +libprotobuf: +- '3.15' +openssl: +- 1.1.1 pin_run_as_build: libcurl: max_pin: x + libjpeg_turbo: + max_pin: x libpng: max_pin: x.x + openssl: + max_pin: x.x.x python: min_pin: x.x max_pin: x.x @@ -30,6 +44,8 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +snappy: +- '1' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/osx_64_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml deleted file mode 100644 index e5f17c2b..00000000 --- a/.ci_support/osx_64_python3.6.____cpython.yaml +++ /dev/null @@ -1,16 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_64_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml deleted file mode 100644 index 163d3ce6..00000000 --- a/.ci_support/osx_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,16 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml index 63cee21d..44d83f1e 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -1,16 +1,55 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' +c_compiler: +- clang +c_compiler_version: +- '11' channel_sources: - conda-forge,defaults channel_targets: - conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '11' +giflib: +- '5.2' +grpc_cpp: +- '1.36' +libcurl: +- '7' +libjpeg_turbo: +- '2' +libpng: +- '1.6' +libprotobuf: +- '3.15' macos_machine: - x86_64-apple-darwin13.4.0 +openssl: +- 1.1.1 pin_run_as_build: + libcurl: + max_pin: x + libjpeg_turbo: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x python: min_pin: x.x max_pin: x.x + zlib: + max_pin: x.x python: - 3.8.* *_cpython +snappy: +- '1' target_platform: - osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/win_64_python3.6.____cpython.yaml b/.ci_support/win_64_python3.6.____cpython.yaml deleted file mode 100644 index 96be81f2..00000000 --- a/.ci_support/win_64_python3.6.____cpython.yaml +++ /dev/null @@ -1,12 +0,0 @@ -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml deleted file mode 100644 index 281bd460..00000000 --- a/.ci_support/win_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,12 +0,0 @@ -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml deleted file mode 100644 index 0840c1a9..00000000 --- a/.ci_support/win_64_python3.8.____cpython.yaml +++ /dev/null @@ -1,12 +0,0 @@ -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- win-64 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index aa9727b9..522eabcf 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -6,8 +6,14 @@ # benefit from the improvement. set -xeuo pipefail -export PYTHONUNBUFFERED=1 export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +endgroup "Start Docker" + +startgroup "Configuring conda" +export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" @@ -18,8 +24,9 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC +BUILD_CMD=build -conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,24 +36,33 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +endgroup "Configuring conda" if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + startgroup "Running conda debug" if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" fi conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + endgroup "Running conda debug" # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + startgroup "Running conda $BUILD_CMD" + conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + endgroup "Running conda build" + startgroup "Validating outputs" validate_recipe_outputs "${FEEDSTOCK_NAME}" + endgroup "Validating outputs" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + endgroup "Uploading packages" fi fi diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh new file mode 100644 index 00000000..a53ef3f2 --- /dev/null +++ b/.scripts/logging_utils.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Provide a unified interface for the different logging +# utilities CI providers offer. If unavailable, provide +# a compatible fallback (e.g. bare `echo xxxxxx`). + +function startgroup { + # Start a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[group]$1";; + travis ) + echo "$1" + echo -en 'travis_fold:start:'"${1// /}"'\\r';; + * ) + echo "$1";; + esac +} + +function endgroup { + # End a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[endgroup]";; + travis ) + echo -en 'travis_fold:end:'"${1// /}"'\\r';; + esac +} diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 36dacd6e..16d6c15a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -5,6 +5,10 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +source .scripts/logging_utils.sh + +startgroup "Configure Docker" + set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" @@ -65,7 +69,9 @@ DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi +endgroup "Configure Docker" +startgroup "Start Docker" export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index c299b792..614ca844 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,29 +1,24 @@ #!/usr/bin/env bash +source .scripts/logging_utils.sh + set -x -echo -e "\n\nInstalling a fresh version of Miniforge." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:install_miniforge\\r' -fi +startgroup "Installing a fresh version of Miniforge" MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" bash $MINIFORGE_FILE -b -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:install_miniforge\\r' -fi +endgroup "Installing a fresh version of Miniforge" -echo -e "\n\nConfiguring conda." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:configure_conda\\r' -fi +startgroup "Configuring conda" +BUILD_CMD=build source ${HOME}/miniforge3/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} @@ -39,19 +34,22 @@ echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:configure_conda\\r' -fi +endgroup "Configuring conda" set -e -echo -e "\n\nMaking the build clobber file and running the build." +startgroup "Running conda $BUILD_CMD" +echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +endgroup "Running conda build" +startgroup "Validating outputs" validate_recipe_outputs "${FEEDSTOCK_NAME}" +endgroup "Validating outputs" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - echo -e "\n\nUploading the packages." + startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + endgroup "Uploading packages" fi \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index 5f302793..ed3f451e 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2020, conda-forge contributors +Copyright (c) 2015-2021, conda-forge contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index 38d9c56b..09debbf8 100644 --- a/README.md +++ b/README.md @@ -36,40 +36,12 @@ Current build status - - - - - - - - - - - - - - - - - - - - -
VariantStatus
linux_64_python3.6.____cpython - - variant - -
linux_64_python3.7.____cpython - - variant - -
linux_64_python3.8.____cpython variant
osx_64_python3.6.____cpython - - variant - -
osx_64_python3.7.____cpython - - variant - -
osx_64_python3.8.____cpython @@ -77,27 +49,6 @@ Current build status variant
win_64_python3.6.____cpython - - variant - -
win_64_python3.7.____cpython - - variant - -
win_64_python3.8.____cpython - - variant - -
@@ -113,7 +64,6 @@ Current release info | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow-green.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow_cc-green.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | -| [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow-green.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | | [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow--base-green.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | Installing tensorflow @@ -125,10 +75,10 @@ Installing `tensorflow` from the `conda-forge` channel can be achieved by adding conda config --add channels conda-forge ``` -Once the `conda-forge` channel has been enabled, `libtensorflow, libtensorflow_cc, tensorflow, tensorflow-base` can be installed with: +Once the `conda-forge` channel has been enabled, `libtensorflow, libtensorflow_cc, tensorflow-base` can be installed with: ``` -conda install libtensorflow libtensorflow_cc tensorflow tensorflow-base +conda install libtensorflow libtensorflow_cc tensorflow-base ``` It is possible to list all of the versions of `libtensorflow` available on your platform with: @@ -193,9 +143,9 @@ build distinct package versions. In order to produce a uniquely identifiable distribution: * If the version of a package **is not** being increased, please add or increase - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string). + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). * If the version of a package **is** being increased, please remember to return - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) back to 0. Feedstock Maintainers diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f50..33a441c1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,4 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b4ab77e5..22b1b4c8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -17,7 +17,7 @@ source: build: number: 0 - skip: True # [not x86_64] + skip: true # [win or py<38] requirements: build: From d9345ed444e3c003db8b2f4e8351e5550cff4540 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 25 Mar 2021 12:19:49 +0100 Subject: [PATCH 54/78] Add osx-arm64 --- .azure-pipelines/azure-pipelines-osx.yml | 3 ++ .ci_support/osx_arm64_.yaml | 55 ++++++++++++++++++++++++ README.md | 7 +++ conda-forge.yml | 2 + recipe/meta.yaml | 3 +- 5 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 .ci_support/osx_arm64_.yaml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 6635b57d..ed50acef 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -11,6 +11,9 @@ jobs: osx_64_python3.8.____cpython: CONFIG: osx_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' + osx_arm64_: + CONFIG: osx_arm64_ + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 steps: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml new file mode 100644 index 00000000..eb720b08 --- /dev/null +++ b/.ci_support/osx_arm64_.yaml @@ -0,0 +1,55 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '11' +channel_sources: +- conda-forge/label/rust_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '11' +giflib: +- '5.2' +grpc_cpp: +- '1.36' +libcurl: +- '7' +libjpeg_turbo: +- '2' +libpng: +- '1.6' +libprotobuf: +- '3.15' +macos_machine: +- arm64-apple-darwin20.0.0 +openssl: +- 1.1.1 +pin_run_as_build: + libcurl: + max_pin: x + libjpeg_turbo: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.8.* *_cpython +snappy: +- '1' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/README.md b/README.md index 09debbf8..89f6c0ab 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,13 @@ Current build status variant + + osx_arm64 + + + variant + + diff --git a/conda-forge.yml b/conda-forge.yml index 896970d1..073f0ddb 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,3 +1,5 @@ +build_platform: + osx_arm64: osx_64 provider: win: azure conda_forge_output_validation: true diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 22b1b4c8..27c6335a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,8 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion - - bazel ==3.1.0 + - bazel 3.1.0 # [not osx] + - bazel # [osx] - nasm host: # conda build requirements From 15f61b0bac2a8645dbf17092f862412e91985dd6 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 25 Mar 2021 22:19:38 +0100 Subject: [PATCH 55/78] Copy over toolchain from bazel-feedstock --- recipe/build.sh | 39 +- recipe/custom_clang_toolchain/BUILD | 45 --- recipe/custom_toolchain/BUILD | 68 ++++ .../CROSSTOOL.template | 1 - .../WORKSPACE | 0 .../custom_toolchain/cc_toolchain_config.bzl | 332 ++++++++++++++++++ .../cc_wrapper.sh.template | 1 + recipe/gen-bazel-toolchain.sh | 125 +++++++ recipe/meta.yaml | 1 + recipe/patches/osx-arm64.patch | 262 ++++++++++++++ 10 files changed, 801 insertions(+), 73 deletions(-) delete mode 100644 recipe/custom_clang_toolchain/BUILD create mode 100644 recipe/custom_toolchain/BUILD rename recipe/{custom_clang_toolchain => custom_toolchain}/CROSSTOOL.template (99%) rename recipe/{custom_clang_toolchain => custom_toolchain}/WORKSPACE (100%) create mode 100644 recipe/custom_toolchain/cc_toolchain_config.bzl rename recipe/{custom_clang_toolchain => custom_toolchain}/cc_wrapper.sh.template (98%) create mode 100755 recipe/gen-bazel-toolchain.sh create mode 100644 recipe/patches/osx-arm64.patch diff --git a/recipe/build.sh b/recipe/build.sh index db95b021..11a4640a 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -17,15 +17,17 @@ export INCLUDEDIR=$PREFIX/include # absl_py # com_github_googleapis_googleapis # com_github_googlecloudplatform_google_cloud_cpp +# Needs c++17, try on linux +# com_googlesource_code_re2 # The possible values are specified in third_party/systemlibs/syslibs_configure.bzl # The versions for them can be found in tensorflow/workspace.bzl export TF_SYSTEM_LIBS=" astor_archive astunparse_archive + boringssl com_github_grpc_grpc com_google_protobuf - com_googlesource_code_re2 curl cython dill_archive @@ -43,38 +45,22 @@ export BAZEL_MKL_OPT="" mkdir -p ./bazel_output_base export BAZEL_OPTS="" +export CC_OPT_FLAGS="${CFLAGS}" # Quick debug: # cp -r ${RECIPE_DIR}/build.sh . && bazel clean && bash -x build.sh --logging=6 | tee log.txt # Dependency graph: # bazel query 'deps(//tensorflow/tools/lib_package:libtensorflow)' --output graph > graph.in if [[ "${target_platform}" == osx-* ]]; then - # set up bazel config file for conda provided clang toolchain - cp -r ${RECIPE_DIR}/custom_clang_toolchain . - pushd custom_clang_toolchain - sed -e "s:\${CLANG}:${CLANG}:" \ - -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL}:" \ - -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ - cc_wrapper.sh.template > cc_wrapper.sh - chmod +x cc_wrapper.sh - sed -i "" "s:\${PREFIX}:${PREFIX}:" cc_toolchain_config.bzl - sed -i "" "s:\${BUILD_PREFIX}:${BUILD_PREFIX}:" cc_toolchain_config.bzl - sed -i "" "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" cc_toolchain_config.bzl - sed -i "" "s:\${LD}:${LD}:" cc_toolchain_config.bzl - sed -i "" "s:\${NM}:${NM}:" cc_toolchain_config.bzl - sed -i "" "s:\${STRIP}:${STRIP}:" cc_toolchain_config.bzl - sed -i "" "s:\${AR}:${LIBTOOL}:" cc_toolchain_config.bzl - sed -i "" "s:\${LIBTOOL}:${LIBTOOL}:" cc_toolchain_config.bzl - popd - - # set build arguments - export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + export LDFLAGS="${LDFLAGS} -lz -framework CoreFoundation" + source ${RECIPE_DIR}/gen-bazel-toolchain.sh BUILD_OPTS=" - --crosstool_top=//custom_clang_toolchain:toolchain + --crosstool_top=//custom_toolchain:toolchain + --logging=6 + --subcommands --verbose_failures - --linkopt=-lz - ${BAZEL_MKL_OPT} - --config=opt" + --config=opt + --cpu=${TARGET_CPU}" else # the following arguments are useful for debugging # --logging=6 @@ -84,7 +70,6 @@ else # Set compiler and linker flags as bazel does not account for CFLAGS, # CXXFLAGS and LDFLAGS. BUILD_OPTS=" - --copt=-march=nocona --copt=-mtune=haswell --copt=-ftree-vectorize --copt=-fPIC @@ -107,7 +92,6 @@ export PYTHON_LIB_PATH=${SP_DIR} export USE_DEFAULT_PYTHON_LIB_PATH=1 # additional settings -export CC_OPT_FLAGS="-march=nocona -mtune=haswell" export TF_NEED_OPENCL=0 export TF_NEED_OPENCL_SYCL=0 export TF_NEED_COMPUTECPP=0 @@ -120,6 +104,7 @@ export TF_DOWNLOAD_CLANG=0 export TF_SET_ANDROID_WORKSPACE=0 export TF_CONFIGURE_IOS=0 ./configure +echo "build --config=noaws" >> .bazelrc # build using bazel bazel ${BAZEL_OPTS} build ${BUILD_OPTS} ${BUILD_TARGET} diff --git a/recipe/custom_clang_toolchain/BUILD b/recipe/custom_clang_toolchain/BUILD deleted file mode 100644 index 4eccd1b0..00000000 --- a/recipe/custom_clang_toolchain/BUILD +++ /dev/null @@ -1,45 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -filegroup( - name = "empty", - srcs = [], -) - -filegroup( - name = "cc_wrapper", - srcs = ["cc_wrapper.sh"], -) - -filegroup( - name = "compiler_deps", - srcs = glob(["extra_tools/**"]) + [":cc_wrapper"], -) - -load( - ":cc_toolchain_config.bzl", "cc_toolchain_config" - ) - -cc_toolchain_config( - name = "cc-compiler-darwin-config" - ) - -cc_toolchain_suite( - name = "toolchain", - toolchains = { - "darwin|compiler": ":cc-compiler-darwin", - "darwin": ":cc-compiler-darwin", - }, -) - -cc_toolchain( - name = "cc-compiler-darwin", - all_files = ":compiler_deps", - compiler_files = ":compiler_deps", - toolchain_identifier = "local", - toolchain_config = ":cc-compiler-darwin-config", - dwp_files = ":empty", - linker_files = ":compiler_deps", - objcopy_files = ":empty", - strip_files = ":empty", - supports_param_files = 0, -) diff --git a/recipe/custom_toolchain/BUILD b/recipe/custom_toolchain/BUILD new file mode 100644 index 00000000..c09094a2 --- /dev/null +++ b/recipe/custom_toolchain/BUILD @@ -0,0 +1,68 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "empty", + srcs = [], +) + +filegroup( + name = "cc_wrapper", + srcs = ["cc_wrapper.sh"], +) + +filegroup( + name = "compiler_deps", + srcs = glob(["extra_tools/**"]) + [":cc_wrapper"], +) + +load( + ":cc_toolchain_config.bzl", "cc_toolchain_config" + ) + +cc_toolchain_config( + name = "cc-compiler-target-config" +) + +load( + ":cc_toolchain_build_config.bzl", build_cc_toolchain_config = "cc_toolchain_config" +) +build_cc_toolchain_config( + name = "cc-compiler-build-config" +) + +toolchains = { + "BUILD_CPU|compiler": ":cc-compiler-build", + "BUILD_CPU": ":cc-compiler-build", +} +toolchains["TARGET_CPU|compiler"] = ":cc-compiler-target" +toolchains["TARGET_CPU"] = ":cc-compiler-target" +cc_toolchain_suite( + name = "toolchain", + toolchains = toolchains, +) + +cc_toolchain( + name = "cc-compiler-target", + all_files = ":compiler_deps", + compiler_files = ":compiler_deps", + toolchain_identifier = "local", + toolchain_config = ":cc-compiler-target-config", + dwp_files = ":empty", + linker_files = ":compiler_deps", + objcopy_files = ":empty", + strip_files = ":empty", + supports_param_files = 0, +) + +cc_toolchain( + name = "cc-compiler-build", + all_files = ":compiler_deps", + compiler_files = ":compiler_deps", + toolchain_identifier = "build", + toolchain_config = ":cc-compiler-build-config", + dwp_files = ":empty", + linker_files = ":compiler_deps", + objcopy_files = ":empty", + strip_files = ":empty", + supports_param_files = 0, +) diff --git a/recipe/custom_clang_toolchain/CROSSTOOL.template b/recipe/custom_toolchain/CROSSTOOL.template similarity index 99% rename from recipe/custom_clang_toolchain/CROSSTOOL.template rename to recipe/custom_toolchain/CROSSTOOL.template index a7e96e18..c77aa9d1 100644 --- a/recipe/custom_clang_toolchain/CROSSTOOL.template +++ b/recipe/custom_toolchain/CROSSTOOL.template @@ -31,7 +31,6 @@ toolchain { linker_flag: "-Wl,-pie" linker_flag: "-headerpad_max_install_names" linker_flag: "-Wl,-dead_strip_dylibs" - linker_flag: "-lc++" linker_flag: "-undefined" linker_flag: "dynamic_lookup" linker_flag: "-force_load" diff --git a/recipe/custom_clang_toolchain/WORKSPACE b/recipe/custom_toolchain/WORKSPACE similarity index 100% rename from recipe/custom_clang_toolchain/WORKSPACE rename to recipe/custom_toolchain/WORKSPACE diff --git a/recipe/custom_toolchain/cc_toolchain_config.bzl b/recipe/custom_toolchain/cc_toolchain_config.bzl new file mode 100644 index 00000000..a312d075 --- /dev/null +++ b/recipe/custom_toolchain/cc_toolchain_config.bzl @@ -0,0 +1,332 @@ +# Adapted from the following links and pulling in options from old CROSSTOOL.template +# https://docs.bazel.build/versions/0.26.0/tutorial/cc-toolchain-config.html +# https://github.com/bazelbuild/bazel/blob/4dfc83d5f11e9190e9e25dee4c7dc2a71cd7b8fd/tools/osx/crosstool/cc_toolchain_config.bzl +# https://docs.bazel.build/versions/master/skylark/lib/cc_common.html#create_cc_toolchain_config_info + +load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", + "feature", + "flag_group", + "flag_set", + "tool_path", + "with_feature_set", + ) + +load("@bazel_tools//tools/build_defs/cc:action_names.bzl", + "ACTION_NAMES") + +def _impl(ctx): + tool_paths = [ + tool_path( + name = "gcc", + path = "${GCC}", + ), + tool_path( + name = "ld", + path = "${LD}", + ), + tool_path( + name = "ar", + path = "${BUILD_PREFIX}/bin/${AR}", + ), + tool_path( + name = "cpp", + path = "/usr/bin/cpp", + ), + tool_path( + name = "gcov", + path = "/usr/bin/gcov", + ), + tool_path( + name = "nm", + path = "${NM}", + ), + tool_path( + name = "objdump", + path = "/usr/bin/objdump", + ), + tool_path( + name = "strip", + path = "${STRIP}", + ), + ] + + all_compile_actions = [ + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.clif_match, + ACTION_NAMES.lto_backend, + ] + + all_cpp_compile_actions = [ + ACTION_NAMES.cpp_compile, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.clif_match, + ] + + preprocessor_compile_actions = [ + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.clif_match, + ] + + codegen_compile_actions = [ + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ] + + all_link_actions = [ + ACTION_NAMES.cpp_link_executable, + ACTION_NAMES.cpp_link_dynamic_library, + ACTION_NAMES.cpp_link_nodeps_dynamic_library, + ] + + compiler_flags = feature( + name = "compiler_flags", + enabled = True, + flag_sets = [ + flag_set( + actions = all_compile_actions, + flag_groups = [flag_group(flags = "${CFLAGS} ${CPPFLAGS}".split(" "))], + ), + ], + ) + + objcpp_flags = feature( + name = "objcpp_flags", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.objcpp_compile, + ], + flag_groups = [flag_group(flags = "${CXXFLAGS} ${CPPFLAGS}".split(" "))], + ), + ], + ) + + cxx_flags = feature( + name = "cxx_flags", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ACTION_NAMES.clif_match, + ], + flag_groups = [flag_group(flags = "${CXXFLAGS} ${CPPFLAGS}".split(" "))], + ), + ], + ) + + if "TARGET_PLATFORM".startswith("osx"): + toolchain_include_directories_flags = [ + "-isystem", + "${BUILD_PREFIX}/include/c++/v1", + "-isystem", + "${BUILD_PREFIX}/lib/clang/${COMPILER_VERSION}/include", + "-isystem", + "${CONDA_BUILD_SYSROOT}/usr/include", + "-isystem", + "${CONDA_BUILD_SYSROOT}/System/Library/Frameworks", + "-isystem", + "${PREFIX}/include", + ] + else: + toolchain_include_directories_flags = [ + "-isystem", + "${PREFIX}/include", + ] + + toolchain_include_directories_feature = feature( + name = "toolchain_include_directories", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ACTION_NAMES.clif_match, + ], + flag_groups = [ + flag_group( + flags = toolchain_include_directories_flags, + ), + ], + ), + ], + ) + + linker_flags = feature( + name = "linker_flags", + flag_sets = [ + flag_set ( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.objcpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ACTION_NAMES.clif_match, + ], + flag_groups = [flag_group(flags = "-l${LIBCXX} ${LDFLAGS}".split(" "))], + ), + ], + ) + + link_libcpp_feature = feature( + name = "link_libc++", + enabled = True, + flag_sets = [ + flag_set( + actions = all_link_actions + + ["objc-executable", "objc++-executable"], + flag_groups = [flag_group(flags = "-l${LIBCXX} ${LDFLAGS}".split(" "))], + ), + ], + ) + + supports_pic_feature = feature( + name = "supports_pic", + enabled = True + ) + + supports_dynamic_linker = feature( + name = "supports_dynamic_linker", + enabled = True + ) + + opt = feature( + name = "opt", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ACTION_NAMES.clif_match, + ], + flag_groups = [ + flag_group( + flags = [ + "-g0", + "-O2", + "-D_FORTIFY_SOURCE=1", + "-DNDEBUG", + "-ffunction-sections", + "-fdata-sections", + ], + ), + ], + ), + ], + ) + + dbg = feature( + name = "dbg", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.lto_backend, + ACTION_NAMES.clif_match, + ], + flag_groups = [ + flag_group( + flags = [ + "-g" + ], + ), + ], + ), + ], + ) + + if "TARGET_PLATFORM".startswith("osx"): + cxx_builtin_include_directories = [ + "${CONDA_BUILD_SYSROOT}/System/Library/Frameworks", + "${CONDA_BUILD_SYSROOT}/usr/include", + "${BUILD_PREFIX}/lib/clang/${COMPILER_VERSION}/include", + "${BUILD_PREFIX}/include/c++/v1", + "${PREFIX}/include", + ] + else: + cxx_builtin_include_directories = [ + "${CONDA_BUILD_SYSROOT}/usr/include", + "${BUILD_PREFIX}/lib/gcc/${HOST}/${COMPILER_VERSION}", + "${BUILD_PREFIX}/${HOST}/include/c++/${COMPILER_VERSION}", + "${PREFIX}/include", + ] + + return cc_common.create_cc_toolchain_config_info( + ctx = ctx, + toolchain_identifier = "local", + host_system_name = "local", + #host_system_name = "TARGET_CPU", + target_system_name = "TARGET_SYSTEM", + target_cpu = "TARGET_CPU", + target_libc = "TARGET_LIBC", + compiler = "compiler", + abi_version = "local", + abi_libc_version = "local", + tool_paths = tool_paths, + cxx_builtin_include_directories = cxx_builtin_include_directories, + features = [toolchain_include_directories_feature, compiler_flags, cxx_flags, supports_pic_feature, linker_flags, supports_dynamic_linker, link_libcpp_feature, objcpp_flags], + ) + +cc_toolchain_config = rule( + implementation = _impl, + attrs = {}, + provides = [CcToolchainConfigInfo], +) diff --git a/recipe/custom_clang_toolchain/cc_wrapper.sh.template b/recipe/custom_toolchain/cc_wrapper.sh.template similarity index 98% rename from recipe/custom_clang_toolchain/cc_wrapper.sh.template rename to recipe/custom_toolchain/cc_wrapper.sh.template index 069d37b0..559bc1e5 100644 --- a/recipe/custom_clang_toolchain/cc_wrapper.sh.template +++ b/recipe/custom_toolchain/cc_wrapper.sh.template @@ -53,6 +53,7 @@ done # Call the C++ compiler +echo CONDA_BUILD_SYSROOT=${CONDA_BUILD_SYSROOT} ${CLANG} "$@" CONDA_BUILD_SYSROOT=${CONDA_BUILD_SYSROOT} ${CLANG} "$@" function get_library_path() { diff --git a/recipe/gen-bazel-toolchain.sh b/recipe/gen-bazel-toolchain.sh new file mode 100755 index 00000000..cee9fc7d --- /dev/null +++ b/recipe/gen-bazel-toolchain.sh @@ -0,0 +1,125 @@ +#!/bin/bash + +set -euxo pipefail + +function apply_cc_template() { + sed -ie "s:TARGET_CPU:${TARGET_CPU}:" $1 + sed -ie "s:TARGET_LIBC:${TARGET_LIBC}:" $1 + sed -ie "s:TARGET_SYSTEM:${TARGET_SYSTEM}:" $1 + sed -ie "s:TARGET_PLATFORM:${target_platform}:" $1 + sed -ie "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" $1 + sed -ie "s:\${COMPILER_VERSION}:${BAZEL_TOOLCHAIN_COMPILER_VERSION:-}:" $1 + sed -ie "s:\${GCC}:${BAZEL_TOOLCHAIN_GCC}:" $1 + sed -ie "s:\${PREFIX}:${PREFIX}:" $1 + sed -ie "s:\${BUILD_PREFIX}:${BUILD_PREFIX}:" $1 + sed -ie "s:\${LD}:${LD}:" $1 + sed -ie "s:\${CFLAGS}:${CFLAGS}:" $1 + sed -ie "s:\${CPPFLAGS}:${CPPFLAGS}:" $1 + sed -ie "s:\${CXXFLAGS}:${CXXFLAGS}:" $1 + sed -ie "s:\${LDFLAGS}:${LDFLAGS}:" $1 + sed -ie "s:\${NM}:${NM}:" $1 + sed -ie "s:\${STRIP}:${STRIP}:" $1 + sed -ie "s:\${AR}:${BAZEL_TOOLCHAIN_AR}:" $1 + sed -ie "s:\${HOST}:${HOST}:" $1 + sed -ie "s:\${LIBCXX}:${BAZEL_TOOLCHAIN_LIBCXX}:" $1 +} + +export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + +# set up bazel config file for conda provided clang toolchain +cp -r ${RECIPE_DIR}/custom_toolchain . +pushd custom_toolchain + if [[ "${target_platform}" == osx-* ]]; then + export BAZEL_TOOLCHAIN_COMPILER_VERSION=$($CC -v 2>&1 | head -n1 | cut -d' ' -f3) + sed -e "s:\${CLANG}:${CLANG}:" \ + -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL}:" \ + -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ + cc_wrapper.sh.template > cc_wrapper.sh + chmod +x cc_wrapper.sh + sed -e "s:\${CLANG}:${CC_FOR_BUILD}:" \ + -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL//${HOST}/${BUILD}}:" \ + -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ + cc_wrapper.sh.template > cc_wrapper_build.sh + chmod +x cc_wrapper.sh + export BAZEL_TOOLCHAIN_GCC="cc_wrapper.sh" + export BAZEL_TOOLCHAIN_LIBCXX="c++" + export BAZEL_TOOLCHAIN_AR=${LIBTOOL} + else + export BAZEL_TOOLCHAIN_COMPILER_VERSION=$(${CC} -v 2>&1|tail -n1|cut -d' ' -f3) + export BAZEL_TOOLCHAIN_AR=$(basename ${AR}) + touch cc_wrapper.sh + export BAZEL_TOOLCHAIN_LIBCXX="stdc++" + export BAZEL_TOOLCHAIN_GCC="${GCC}" + fi + + export TARGET_SYSTEM="${HOST}" + if [[ "${target_platform}" == "osx-64" ]]; then + export TARGET_LIBC="macosx" + export TARGET_CPU="darwin_x86_64" + export TARGET_SYSTEM="x86_64-apple-macosx" + elif [[ "${target_platform}" == "osx-arm64" ]]; then + export TARGET_LIBC="macosx" + export TARGET_CPU="darwin_arm64" + export TARGET_SYSTEM="arm64-apple-macosx" + elif [[ "${target_platform}" == "linux-64" ]]; then + export TARGET_LIBC="unknown" + export TARGET_CPU="k8" + elif [[ "${target_platform}" == "linux-aarch64" ]]; then + export TARGET_LIBC="unknown" + export TARGET_CPU="aarch64" + elif [[ "${target_platform}" == "linux-ppc64le" ]]; then + export TARGET_LIBC="unknown" + export TARGET_CPU="ppc" + fi + export BUILD_SYSTEM=${BUILD} + if [[ "${build_platform}" == "osx-64" ]]; then + export BUILD_CPU="darwin" + export BUILD_SYSTEM="x86_64-apple-macosx" + elif [[ "${build_platform}" == "osx-arm64" ]]; then + export BUILD_CPU="darwin" + export BUILD_SYSTEM="arm64-apple-macosx" + elif [[ "${build_platform}" == "linux-64" ]]; then + export BUILD_CPU="k8" + elif [[ "${build_platform}" == "linux-aarch64" ]]; then + export BUILD_CPU="aarch64" + elif [[ "${build_platform}" == "linux-ppc64le" ]]; then + export BUILD_CPU="ppc" + fi + # The current Bazel release cannot distinguish between osx-arm64 and osx-64. + # This will change with later releases and then we should get rid of this section again. + #if [[ "${target_platform}" == osx-* ]]; then + # if [[ "${build_platform}" == "${target_platform}" ]]; then + # export TARGET_CPU="darwin" + # export BUILD_CPU="darwin" + # fi + #fi + + sed -ie "s:TARGET_CPU:${TARGET_CPU}:" BUILD + sed -ie "s:BUILD_CPU:${BUILD_CPU}:" BUILD + + cp cc_toolchain_config.bzl cc_toolchain_build_config.bzl + apply_cc_template cc_toolchain_config.bzl + ( + if [[ "${build_platform}" != "${target_platform}" ]]; then + if [[ "${target_platform}" == osx-* ]]; then + BAZEL_TOOLCHAIN_GCC=cc_wrapper_build.sh + else + BAZEL_TOOLCHAIN_GCC=${BAZEL_TOOLCHAIN_GCC//${HOST}/${BUILD}} + fi + TARGET_CPU=${BUILD_CPU} + TARGET_SYSTEM=${BUILD_SYSTEM} + target_platform=${build_platform} + PREFIX=${BUILD_PREFIX} + LD=${LD//${HOST}/${BUILD}} + CFLAGS=${CFLAGS//${PREFIX}/${BUILD_PREFIX}} + CPPFLAGS=${CPPFLAGS//${PREFIX}/${BUILD_PREFIX}} + CXXFLAGS=${CXXFLAGS//${PREFIX}/${BUILD_PREFIX}} + LDFLAGS=${LDFLAGS//${PREFIX}/${BUILD_PREFIX}} + NM=${NM//${HOST}/${BUILD}} + STRIP=${STRIP//${HOST}/${BUILD}} + BAZEL_TOOLCHAIN_AR=${BAZEL_TOOLCHAIN_AR//${HOST}/${BUILD}} + HOST=${BUILD} + fi + apply_cc_template cc_toolchain_build_config.bzl + ) +popd diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 27c6335a..fc79ff28 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,6 +14,7 @@ source: - patches/0003-relax-precision-in-matrix_log_op_test.patch - patches/0004-Unbundle-LLVM.patch - patches/0005-rerun-generate_llvm_build.py.patch + - patches/osx-arm64.patch # [osx and arm64] build: number: 0 diff --git a/recipe/patches/osx-arm64.patch b/recipe/patches/osx-arm64.patch new file mode 100644 index 00000000..603623b5 --- /dev/null +++ b/recipe/patches/osx-arm64.patch @@ -0,0 +1,262 @@ +diff --git a/.bazelrc b/.bazelrc +index aaf1e10a..3700066e 100644 +--- a/.bazelrc ++++ b/.bazelrc +@@ -135,6 +135,10 @@ build:ios_x86_64 --cpu=ios_x86_64 + build:ios_fat --config=ios + build:ios_fat --ios_multi_cpus=armv7,arm64,i386,x86_64 + ++build:macos_arm64 --config=macos ++build:macos_arm64 --apple_platform_type=macos ++build:macos_arm64 --cpu=darwin_arm64 ++ + # Config to use a mostly-static build and disable modular op registration + # support (this will revert to loading TensorFlow with RTLD_GLOBAL in Python). + # By default, TensorFlow will build with a dependence on +@@ -278,6 +282,7 @@ build:c++1z_gcc --config=c++17_gcc + build --enable_platform_specific_config + build:android --noenable_platform_specific_config + build:ios --noenable_platform_specific_config ++build:macos_arm64 --noenable_platform_specific_config + + # Suppress C++ compiler warnings, otherwise build logs become 10s of MBs. + build:android --copt=-w +diff --git a/configure.py b/configure.py +index b4907775..046e6183 100644 +--- a/configure.py ++++ b/configure.py +@@ -535,8 +535,6 @@ def set_cc_opt_flags(environ_cp): + for opt in cc_opt_flags.split(): + write_to_bazelrc('build:opt --copt=%s' % opt) + # It should be safe on the same build host. +- if not is_ppc64le() and not is_windows(): +- write_to_bazelrc('build:opt --host_copt=-march=native') + write_to_bazelrc('build:opt --define with_default_optimizations=true') + + +diff --git a/tensorflow/BUILD b/tensorflow/BUILD +index 56b33a49..7497086e 100644 +--- a/tensorflow/BUILD ++++ b/tensorflow/BUILD +@@ -174,7 +174,7 @@ config_setting( + ) + + config_setting( +- name = "macos", ++ name = "macos_x86_64", + values = { + "apple_platform_type": "macos", + "cpu": "darwin", +@@ -182,6 +182,23 @@ config_setting( + visibility = ["//visibility:public"], + ) + ++config_setting( ++ name = "macos_arm64", ++ values = { ++ "apple_platform_type": "macos", ++ "cpu": "darwin_arm64", ++ }, ++ visibility = ["//visibility:public"], ++) ++ ++selects.config_setting_group( ++ name = "macos", ++ match_any = [ ++ ":macos_x86_64", ++ ":macos_arm64", ++ ], ++) ++ + config_setting( + name = "ios", + values = {"apple_platform_type": "ios"}, +@@ -383,7 +400,7 @@ config_setting( + ) + + config_setting( +- name = "macos_with_framework_shared_object", ++ name = "macos_x86_64_with_framework_shared_object", + define_values = { + "framework_shared_object": "true", + }, +@@ -394,6 +411,26 @@ config_setting( + visibility = ["//visibility:public"], + ) + ++config_setting( ++ name = "macos_arm64_with_framework_shared_object", ++ define_values = { ++ "framework_shared_object": "true", ++ }, ++ values = { ++ "apple_platform_type": "macos", ++ "cpu": "darwin_arm64", ++ }, ++ visibility = ["//visibility:public"], ++) ++ ++selects.config_setting_group( ++ name = "macos_with_framework_shared_object", ++ match_any = [ ++ ":macos_x86_64_with_framework_shared_object", ++ ":macos_arm64_with_framework_shared_object", ++ ], ++) ++ + config_setting( + name = "using_cuda_clang", + define_values = { +@@ -725,7 +762,9 @@ tf_cc_shared_object( + name = "tensorflow_framework", + framework_so = [], + linkopts = select({ +- "//tensorflow:macos": [], ++ "//tensorflow:macos": [ ++ "-Wl,-rename_section,__TEXT,text_env,__TEXT,__text", ++ ], + "//tensorflow:windows": [], + "//tensorflow:freebsd": [ + "-Wl,--version-script,$(location //tensorflow:tf_framework_version_script.lds)", +diff --git a/tensorflow/compiler/aot/tfcompile.bzl b/tensorflow/compiler/aot/tfcompile.bzl +index 29f37bf7..0d76cf5b 100644 +--- a/tensorflow/compiler/aot/tfcompile.bzl ++++ b/tensorflow/compiler/aot/tfcompile.bzl +@@ -432,7 +432,8 @@ def target_llvm_triple(): + "//tensorflow:ios": "arm64-none-ios", + "//tensorflow:ios_x86_64": "x86_64-apple-ios", + "//tensorflow:linux_ppc64le": "ppc64le-ibm-linux-gnu", +- "//tensorflow:macos": "x86_64-none-darwin", ++ "//tensorflow:macos_x86_64": "x86_64-none-darwin", ++ "//tensorflow:macos_arm64": "aarch64-none-darwin", + "//tensorflow:windows": "x86_64-none-windows", + "//tensorflow:linux_s390x": "systemz-none-linux-gnu", + "//conditions:default": "x86_64-pc-linux", +diff --git a/tensorflow/compiler/xla/service/cpu/BUILD b/tensorflow/compiler/xla/service/cpu/BUILD +index e5c59fc0..fbaf6f4a 100644 +--- a/tensorflow/compiler/xla/service/cpu/BUILD ++++ b/tensorflow/compiler/xla/service/cpu/BUILD +@@ -229,6 +229,9 @@ cc_library( + "//tensorflow:linux_ppc64le": [ + "@llvm-project//llvm:PowerPCCodeGen", # fixdeps: keep + ], ++ "//tensorflow:macos_arm64": [ ++ "@llvm-project//llvm:AArch64CodeGen", # fixdeps: keep ++ ], + "//conditions:default": [ + ], + }) + if_llvm_system_z_available([ +diff --git a/tensorflow/core/kernels/BUILD b/tensorflow/core/kernels/BUILD +index 53c53ac3..74a18738 100644 +--- a/tensorflow/core/kernels/BUILD ++++ b/tensorflow/core/kernels/BUILD +@@ -773,6 +773,7 @@ cc_library( + "//tensorflow:arm_any": [], + "//tensorflow:ios": [], + "//tensorflow:linux_ppc64le": [], ++ "//tensorflow:macos_arm64": [], + "//conditions:default": [ + "TENSORFLOW_USE_CUSTOM_CONTRACTION_KERNEL", + "TENSORFLOW_USE_MKLDNN_CONTRACTION_KERNEL", +@@ -787,6 +788,7 @@ cc_library( + "//tensorflow:arm_any": [], + "//tensorflow:ios": [], + "//tensorflow:linux_ppc64le": [], ++ "//tensorflow:macos_arm64": [], + "//conditions:default": ["@mkl_dnn//:mkldnn_single_threaded"], + }), + ) +diff --git a/tensorflow/lite/kernels/internal/BUILD b/tensorflow/lite/kernels/internal/BUILD +index 94135c6a..be7554ac 100644 +--- a/tensorflow/lite/kernels/internal/BUILD ++++ b/tensorflow/lite/kernels/internal/BUILD +@@ -186,6 +186,13 @@ config_setting( + }, + ) + ++config_setting( ++ name = "darwin_arm64", ++ values = { ++ "cpu": "darwin_arm64", ++ }, ++) ++ + config_setting( + name = "freebsd", + values = { +@@ -777,6 +784,7 @@ cc_library( + ":ios_armv7", + ":ios_arm64", + ":ios_arm64e", ++ ":darwin_arm64", + ":raspberry_pi_with_neon", + ): [":neon_tensor_utils"], + ( +diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel +index 9b007cc0..6a95bafc 100644 +--- a/third_party/cpuinfo/BUILD.bazel ++++ b/third_party/cpuinfo/BUILD.bazel +@@ -104,6 +104,7 @@ cc_library( + ":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS, + ":linux_mips64": COMMON_SRCS + LINUX_SRCS, + ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, ++ ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, + ":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS, + ":android_arm64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS + ANDROID_ARM_SRCS, +@@ -303,6 +304,14 @@ config_setting( + }, + ) + ++config_setting( ++ name = "macos_arm64", ++ values = { ++ "apple_platform_type": "macos", ++ "cpu": "darwin_arm64", ++ }, ++) ++ + config_setting( + name = "watchos_armv7k", + values = { +diff --git a/third_party/llvm/llvm.bzl b/third_party/llvm/llvm.bzl +index dcbaab9e..eedb1a02 100644 +--- a/third_party/llvm/llvm.bzl ++++ b/third_party/llvm/llvm.bzl +@@ -304,7 +304,7 @@ win32_cmake_vars = { + # TODO(phawkins): use a better method to select the right host triple, rather + # than hardcoding x86_64. + llvm_all_cmake_vars = select({ +- "@org_tensorflow//tensorflow:macos": cmake_var_string( ++ "@org_tensorflow//tensorflow:macos_x86_64": cmake_var_string( + _dict_add( + cmake_vars, + llvm_target_cmake_vars("X86", "x86_64-apple-darwin"), +@@ -312,6 +312,14 @@ llvm_all_cmake_vars = select({ + darwin_cmake_vars, + ), + ), ++ "@org_tensorflow//tensorflow:macos_arm64": cmake_var_string( ++ _dict_add( ++ cmake_vars, ++ llvm_target_cmake_vars("AArch64", "arm64-apple-darwin"), ++ posix_cmake_vars, ++ darwin_cmake_vars, ++ ), ++ ), + "@org_tensorflow//tensorflow:linux_ppc64le": cmake_var_string( + _dict_add( + cmake_vars, +diff --git a/third_party/remote_config/remote_platform_configure.bzl b/third_party/remote_config/remote_platform_configure.bzl +index 29520396..0c03c7e9 100644 +--- a/third_party/remote_config/remote_platform_configure.bzl ++++ b/third_party/remote_config/remote_platform_configure.bzl +@@ -20,6 +20,8 @@ def _remote_platform_configure_impl(repository_ctx): + cpu = "s390x" + elif machine_type.startswith("aarch64"): + cpu = "aarch64" ++ elif machine_type.startswith("arm64"): ++ cpu = "aarch64" + elif machine_type.startswith("arm"): + cpu = "arm" + elif machine_type.startswith("mips64"): From ba2f163a535d5fe51618ddb5057208cef8902d67 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 26 Mar 2021 18:13:06 +0000 Subject: [PATCH 56/78] Use toolchain on Linux --- recipe/build.sh | 37 +++++++++---------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 11a4640a..f8b44c89 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -53,36 +53,17 @@ export CC_OPT_FLAGS="${CFLAGS}" # bazel query 'deps(//tensorflow/tools/lib_package:libtensorflow)' --output graph > graph.in if [[ "${target_platform}" == osx-* ]]; then export LDFLAGS="${LDFLAGS} -lz -framework CoreFoundation" - source ${RECIPE_DIR}/gen-bazel-toolchain.sh - BUILD_OPTS=" - --crosstool_top=//custom_toolchain:toolchain - --logging=6 - --subcommands - --verbose_failures - --config=opt - --cpu=${TARGET_CPU}" else - # the following arguments are useful for debugging - # --logging=6 - # --subcommands - # jobs can be used to limit parallel builds and reduce resource needs - # --jobs=20 - # Set compiler and linker flags as bazel does not account for CFLAGS, - # CXXFLAGS and LDFLAGS. - BUILD_OPTS=" - --copt=-mtune=haswell - --copt=-ftree-vectorize - --copt=-fPIC - --copt=-fstack-protector-strong - --copt=-O2 - --cxxopt=-fvisibility-inlines-hidden - --cxxopt=-fmessage-length=0 - --linkopt=-zrelro - --linkopt=-znow - --verbose_failures - ${BAZEL_MKL_OPT} - --config=opt" + export LDFLAGS="${LDFLAGS} -lrt" fi +source ${RECIPE_DIR}/gen-bazel-toolchain.sh +BUILD_OPTS=" + --crosstool_top=//custom_toolchain:toolchain + --logging=6 + --subcommands + --verbose_failures + --config=opt + --cpu=${TARGET_CPU}" export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow //tensorflow:libtensorflow_cc.so" From a2c562a83df6af90e619ea5e6f3e0d9d95924eb4 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sat, 27 Mar 2021 07:17:41 +0100 Subject: [PATCH 57/78] Set target_cpu on osx-64 to darwin --- recipe/build.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index f8b44c89..9c11066c 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -56,7 +56,14 @@ if [[ "${target_platform}" == osx-* ]]; then else export LDFLAGS="${LDFLAGS} -lrt" fi + source ${RECIPE_DIR}/gen-bazel-toolchain.sh + +if [[ "${target_platform}" == "osx-64" ]]; then + # Tensorflow doesn't cope yet with an explicit architecture (darwin_x86_64) on osx-64 yet. + TARGET_CPU=darwin +fi + BUILD_OPTS=" --crosstool_top=//custom_toolchain:toolchain --logging=6 From 8fcea562335981f0c94380188b0d9abb0bcb4323 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sat, 27 Mar 2021 07:20:24 +0100 Subject: [PATCH 58/78] Add @xhochy as a maintainer --- .github/CODEOWNERS | 2 +- README.md | 1 + recipe/meta.yaml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f8949f19..8f9f459d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @farhantejani @ghego @gilbertfrancois @hajapy @jschueller @njzjz @waitingkuo \ No newline at end of file +* @farhantejani @ghego @gilbertfrancois @hajapy @jschueller @njzjz @waitingkuo @xhochy \ No newline at end of file diff --git a/README.md b/README.md index 89f6c0ab..a90d1cb5 100644 --- a/README.md +++ b/README.md @@ -165,4 +165,5 @@ Feedstock Maintainers * [@jschueller](https://github.com/jschueller/) * [@njzjz](https://github.com/njzjz/) * [@waitingkuo](https://github.com/waitingkuo/) +* [@xhochy](https://github.com/xhochy/) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fc79ff28..fe53ebaa 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -222,3 +222,4 @@ extra: - farhantejani - njzjz - jschueller + - xhochy From b67c4b2082c30f2c55d5e9786334c3652c2553c9 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sat, 27 Mar 2021 08:08:27 +0100 Subject: [PATCH 59/78] Use newer macOS SDK --- .ci_support/osx_64_python3.8.____cpython.yaml | 2 ++ recipe/conda_build_config.yaml | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 recipe/conda_build_config.yaml diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml index 44d83f1e..d46a10f7 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' +MACOSX_SDK_VERSION: +- '10.12' c_compiler: - clang c_compiler_version: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 00000000..f8760c8b --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,2 @@ +MACOSX_SDK_VERSION: # [osx and x86_64] + - "10.12" # [osx and x86_64] From 628992c190a2cb0fd21e837f0534cef45ab195b3 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sat, 27 Mar 2021 11:28:43 +0100 Subject: [PATCH 60/78] Add pybind11 to TF_SYSTEMLIBS --- recipe/build.sh | 1 + recipe/meta.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index 9c11066c..582d64af 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -34,6 +34,7 @@ export TF_SYSTEM_LIBS=" gif libjpeg_turbo llvm + pybind11 snappy zlib " diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fe53ebaa..570a9e60 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -70,6 +70,7 @@ requirements: - cython >=0.28.4 - dill >=0.3.1.1 - snappy + - pybind11 # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync From c1d96511a8ade09bbbc2f4df70c99306a602f424 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 08:53:55 +0000 Subject: [PATCH 61/78] Fix run_exports --- recipe/cp_libtensorflow_cc.sh | 10 +++++----- recipe/meta.yaml | 11 +++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index b2bdbfdc..059ea2d4 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -10,8 +10,8 @@ mkdir -p $PREFIX/include/tensorflow rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --exclude 'lib_package/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ -rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ -rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ -rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ -rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_protobuf/src/google/ $PREFIX/include/google/ -rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_absl/absl/ $PREFIX/include/absl/ +#rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ +#rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ +#rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ +#rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_protobuf/src/google/ $PREFIX/include/google/ +#rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_absl/absl/ $PREFIX/include/absl/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 570a9e60..e1559464 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -117,6 +117,17 @@ outputs: - typing_extensions >=3.7.4 - wheel >=0.35 - wrapt >=1.11.1 + # TF_SYSTEM_LIBS + - astor >=0.7.1 + - grpc-cpp + - libprotobuf + - giflib + - libjpeg-turbo + - openssl + - cython >=0.28.4 + - dill >=0.3.1.1 + - snappy + - pybind11 # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync From bf41b09e8ed7229312d9679e30b76e101f17a1ea Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 10:24:17 +0000 Subject: [PATCH 62/78] Ensure compile tests really fail if they fail --- recipe/cp_libtensorflow.sh | 2 ++ recipe/cp_libtensorflow_cc.sh | 4 +++- recipe/meta.yaml | 25 +++++++++++++++++++++---- recipe/test_libtensorflow.sh | 6 ++++++ recipe/test_libtensorflow_cc.sh | 6 ++++++ 5 files changed, 38 insertions(+), 5 deletions(-) create mode 100755 recipe/test_libtensorflow.sh create mode 100755 recipe/test_libtensorflow_cc.sh diff --git a/recipe/cp_libtensorflow.sh b/recipe/cp_libtensorflow.sh index 9fcf9422..5e2fd181 100644 --- a/recipe/cp_libtensorflow.sh +++ b/recipe/cp_libtensorflow.sh @@ -1,3 +1,5 @@ # https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/lib_package/README.md tar -C ${PREFIX} -xzf $SRC_DIR/bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz +# Make writable so patchelf can do its magic +chmod u+w $PREFIX/lib/libtensorflow* diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index 059ea2d4..de2295ce 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -3,6 +3,8 @@ mkdir -p $PREFIX/lib cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $PREFIX/lib/ cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $PREFIX/lib/ cp -d $PREFIX/lib/libtensorflow_framework.so.2 $PREFIX/lib/libtensorflow_framework.so +# Make writable so patchelf can do its magic +chmod u+w $PREFIX/lib/libtensorflow* mkdir -p $PREFIX/include mkdir -p $PREFIX/include/tensorflow @@ -10,7 +12,7 @@ mkdir -p $PREFIX/include/tensorflow rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --exclude 'lib_package/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $PREFIX/include/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ -#rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ +rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ #rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ #rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ #rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_protobuf/src/google/ $PREFIX/include/google/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e1559464..f9162a75 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -65,12 +65,13 @@ requirements: - grpc-cpp - libprotobuf - giflib - - libjpeg-turbo + - jpeg - openssl - cython >=0.28.4 - dill >=0.3.1.1 - snappy - pybind11 + - zlib # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync @@ -122,12 +123,14 @@ outputs: - grpc-cpp - libprotobuf - giflib - - libjpeg-turbo + - jpeg - openssl - cython >=0.28.4 - dill >=0.3.1.1 - snappy - pybind11 + - zlib + - libcurl # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync @@ -175,17 +178,24 @@ outputs: - {{ compiler('cxx') }} # host requirements to pick up run_exports host: + - grpc-cpp + - libprotobuf + - giflib + - jpeg - libcurl + - openssl + - snappy - zlib test: files: + - test_libtensorflow.sh - test_c.c requires: - {{ compiler('c') }} commands: - test -f $PREFIX/lib/libtensorflow.so # [not win] - - $CC -o test_c -L${PREFIX}/lib/ -ltensorflow -I${PREFIX}/include/ test_c.c && ./test_c # [not win] + - ./test_libtensorflow.sh # [not win] - name: libtensorflow_cc script: cp_libtensorflow_cc.sh @@ -199,16 +209,23 @@ outputs: - rsync # host requirements to pick up run_exports host: + - grpc-cpp + - libprotobuf - libcurl + - jpeg + - snappy + - openssl + - giflib - zlib test: files: + - test_libtensorflow_cc.sh - test_cc.cc requires: - {{ compiler('cxx') }} commands: - test -f $PREFIX/lib/libtensorflow_cc.so # [not win] - - $CXX -std=c++11 -o test_cc -L${PREFIX}/lib/ -ltensorflow_cc -ltensorflow_framework -lrt -I${PREFIX}/include/ test_cc.cc && ./test_cc # [not win] + - ./test_libtensorflow_cc.sh # [not win] about: home: http://tensorflow.org/ diff --git a/recipe/test_libtensorflow.sh b/recipe/test_libtensorflow.sh new file mode 100755 index 00000000..c5ca3e08 --- /dev/null +++ b/recipe/test_libtensorflow.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -euxo pipefail + +$CC -o test_c -L${PREFIX}/lib/ -ltensorflow -I${PREFIX}/include/ test_c.c +./test_c diff --git a/recipe/test_libtensorflow_cc.sh b/recipe/test_libtensorflow_cc.sh new file mode 100755 index 00000000..aa702674 --- /dev/null +++ b/recipe/test_libtensorflow_cc.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -exuo pipefail + +$CXX -std=c++11 -o test_cc -L${PREFIX}/lib/ -ltensorflow_cc -ltensorflow_framework -lrt -I${PREFIX}/include/ test_cc.cc +./test_cc From 753666d73fbd7c572c118f2636a2651178bddb2c Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 12:43:34 +0200 Subject: [PATCH 63/78] Fix native osx-arm64 build --- recipe/build.sh | 13 ++++- recipe/meta.yaml | 4 +- recipe/patches/osx-arm64-2.patch | 94 ++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 recipe/patches/osx-arm64-2.patch diff --git a/recipe/build.sh b/recipe/build.sh index 582d64af..2dbd3435 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -53,7 +53,7 @@ export CC_OPT_FLAGS="${CFLAGS}" # Dependency graph: # bazel query 'deps(//tensorflow/tools/lib_package:libtensorflow)' --output graph > graph.in if [[ "${target_platform}" == osx-* ]]; then - export LDFLAGS="${LDFLAGS} -lz -framework CoreFoundation" + export LDFLAGS="${LDFLAGS} -lz -framework CoreFoundation -Xlinker -undefined -Xlinker dynamic_lookup" else export LDFLAGS="${LDFLAGS} -lrt" fi @@ -71,7 +71,13 @@ BUILD_OPTS=" --subcommands --verbose_failures --config=opt + --define=PREFIX=${PREFIX} + --define=PROTOBUF_INCLUDE_PATH=${PREFIX}/include --cpu=${TARGET_CPU}" + +if [[ "${target_platform}" == "osx-arm64" ]]; then + BUILD_OPTS="${BUILD_OPTS} --config=macos_arm64" +fi export TF_ENABLE_XLA=0 export BUILD_TARGET="//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow //tensorflow:libtensorflow_cc.so" @@ -92,6 +98,11 @@ export TF_NEED_MPI=0 export TF_DOWNLOAD_CLANG=0 export TF_SET_ANDROID_WORKSPACE=0 export TF_CONFIGURE_IOS=0 + +# Get rid of unwanted defaults +sed -i -e "/PROTOBUF_INCLUDE_PATH/c\ " .bazelrc +sed -i -e "/PREFIX/c\ " .bazelrc + ./configure echo "build --config=noaws" >> .bazelrc diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f9162a75..2a4fa43a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -15,6 +15,7 @@ source: - patches/0004-Unbundle-LLVM.patch - patches/0005-rerun-generate_llvm_build.py.patch - patches/osx-arm64.patch # [osx and arm64] + - patches/osx-arm64-2.patch # [osx and arm64] build: number: 0 @@ -28,12 +29,11 @@ requirements: - bazel 3.1.0 # [not osx] - bazel # [osx] - nasm + - sed host: # conda build requirements - python - pip - # TODO: potentially remove these? - - llvmdev >=9.0.0 - zlib - libpng - libcurl diff --git a/recipe/patches/osx-arm64-2.patch b/recipe/patches/osx-arm64-2.patch new file mode 100644 index 00000000..659e58b4 --- /dev/null +++ b/recipe/patches/osx-arm64-2.patch @@ -0,0 +1,94 @@ +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 096cdd17..94978ea4 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -444,6 +444,7 @@ def _rpath_linkopts(name): + return select({ + clean_dep("//tensorflow:macos"): [ + "-Wl,%s" % (_make_search_paths("@loader_path", levels_to_root),), ++ "-Wl,-rename_section,__TEXT,text_env,__TEXT,__text" + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +@@ -1942,22 +1943,24 @@ def pywrap_tensorflow_macro( + + if not version_script: + version_script = select({ +- "@local_config_cuda//cuda:darwin": clean_dep("//tensorflow:tf_exported_symbols.lds"), ++ "//tensorflow:macos": clean_dep("//tensorflow:tf_exported_symbols.lds"), + "//conditions:default": clean_dep("//tensorflow:tf_version_script.lds"), + }) + vscriptname = name + "_versionscript" + _append_init_to_versionscript( + name = vscriptname, + is_version_script = select({ +- "@local_config_cuda//cuda:darwin": False, ++ "//tensorflow:macos": False, + "//conditions:default": True, + }), + module_name = module_name, + template_file = version_script, + ) + extra_linkopts = select({ +- "@local_config_cuda//cuda:darwin": [ +- "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, ++ clean_dep("//tensorflow:macos"): [ ++ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols ++ # not being exported. There should be a better way to deal with this. ++ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +@@ -1966,9 +1969,6 @@ def pywrap_tensorflow_macro( + ], + }) + extra_deps += select({ +- "@local_config_cuda//cuda:darwin": [ +- "%s.lds" % vscriptname, +- ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ + "%s.lds" % vscriptname, +@@ -2598,8 +2598,10 @@ def pybind_extension( + ], + }), + linkopts = linkopts + _rpath_linkopts(name) + select({ +- "@local_config_cuda//cuda:darwin": [ +- "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, ++ clean_dep("//tensorflow:macos"): [ ++ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols ++ # not being exported. There should be a better way to deal with this. ++ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +diff --git a/tensorflow/tools/pip_package/build_pip_package.sh b/tensorflow/tools/pip_package/build_pip_package.sh +index 7a070938..a1f26821 100755 +--- a/tensorflow/tools/pip_package/build_pip_package.sh ++++ b/tensorflow/tools/pip_package/build_pip_package.sh +@@ -216,10 +216,10 @@ function prepare_src() { + if [ -d "${TMPDIR}/tensorflow/_api/v1/" ] + then + cp -r ${TMPDIR}/tensorflow/python/keras/api/_v1/keras/ ${TMPDIR}/tensorflow/keras/ +- sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py ++ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + + else + cp -r ${TMPDIR}/tensorflow/python/keras/api/_v2/keras/ ${TMPDIR}/tensorflow/keras/ +- sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py ++ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + + fi + } + +diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel +index 6a95bafc..ca4cf59f 100644 +--- a/third_party/cpuinfo/BUILD.bazel ++++ b/third_party/cpuinfo/BUILD.bazel +@@ -103,7 +103,7 @@ cc_library( + ":linux_armeabi": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, + ":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS, + ":linux_mips64": COMMON_SRCS + LINUX_SRCS, +- ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, ++ ":macos_x86_64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, + ":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS, From 6ed5f3db14717df5d8689b6948fa7c9f614024cc Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 11:59:35 +0000 Subject: [PATCH 64/78] Linux builds passing --- recipe/cp_libtensorflow_cc.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/cp_libtensorflow_cc.sh b/recipe/cp_libtensorflow_cc.sh index de2295ce..65b2b9d1 100644 --- a/recipe/cp_libtensorflow_cc.sh +++ b/recipe/cp_libtensorflow_cc.sh @@ -13,7 +13,7 @@ rsync -avzh --exclude '_virtual_includes/' --exclude 'pip_package/' --exclude 'l rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $PREFIX/include/tensorflow/ rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $PREFIX/include/third_party/ -#rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ -#rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ +rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/Eigen/ $PREFIX/include/Eigen/ +rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-work/external/eigen_archive/unsupported/ $PREFIX/include/unsupported/ #rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_protobuf/src/google/ $PREFIX/include/google/ #rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-work/external/com_google_absl/absl/ $PREFIX/include/absl/ From 1a6be0d823dca8143a304fdc603161288887118f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 12:34:55 +0000 Subject: [PATCH 65/78] Deactivate unused llvm patches --- recipe/build.sh | 3 +-- recipe/meta.yaml | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 2dbd3435..be5a00b5 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -33,12 +33,11 @@ export TF_SYSTEM_LIBS=" dill_archive gif libjpeg_turbo - llvm pybind11 snappy zlib " -python ./third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD +# python ./third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD # do not build with MKL support export TF_NEED_MKL=0 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2a4fa43a..816cb54a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,8 +12,8 @@ source: - patches/0001-relax-tolerence-in-special_math_test.patch - patches/0002-skip-read-only-debugger_cli_common-test.patch - patches/0003-relax-precision-in-matrix_log_op_test.patch - - patches/0004-Unbundle-LLVM.patch - - patches/0005-rerun-generate_llvm_build.py.patch + #- patches/0004-Unbundle-LLVM.patch + #- patches/0005-rerun-generate_llvm_build.py.patch - patches/osx-arm64.patch # [osx and arm64] - patches/osx-arm64-2.patch # [osx and arm64] From 033a320ac79ffa3e07f910a234aaf45d10e376f2 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 12:36:39 +0000 Subject: [PATCH 66/78] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.9.0, and conda-forge-pinning 2021.04.01.09.17.11 --- .ci_support/linux_64_python3.8.____cpython.yaml | 8 ++++---- .ci_support/osx_64_python3.8.____cpython.yaml | 8 ++++---- .ci_support/osx_arm64_.yaml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml index 9f61bb98..1d355dca 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -18,10 +18,10 @@ giflib: - '5.2' grpc_cpp: - '1.36' +jpeg: +- '9' libcurl: - '7' -libjpeg_turbo: -- '2' libpng: - '1.6' libprotobuf: @@ -29,9 +29,9 @@ libprotobuf: openssl: - 1.1.1 pin_run_as_build: - libcurl: + jpeg: max_pin: x - libjpeg_turbo: + libcurl: max_pin: x libpng: max_pin: x.x diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml index d46a10f7..d135c094 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -18,10 +18,10 @@ giflib: - '5.2' grpc_cpp: - '1.36' +jpeg: +- '9' libcurl: - '7' -libjpeg_turbo: -- '2' libpng: - '1.6' libprotobuf: @@ -31,9 +31,9 @@ macos_machine: openssl: - 1.1.1 pin_run_as_build: - libcurl: + jpeg: max_pin: x - libjpeg_turbo: + libcurl: max_pin: x libpng: max_pin: x.x diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index eb720b08..c3f621b4 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -16,10 +16,10 @@ giflib: - '5.2' grpc_cpp: - '1.36' +jpeg: +- '9' libcurl: - '7' -libjpeg_turbo: -- '2' libpng: - '1.6' libprotobuf: @@ -29,9 +29,9 @@ macos_machine: openssl: - 1.1.1 pin_run_as_build: - libcurl: + jpeg: max_pin: x - libjpeg_turbo: + libcurl: max_pin: x libpng: max_pin: x.x From c30a4d78c309e2cc6644d3bd886d36460a311fd5 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 20:44:30 +0200 Subject: [PATCH 67/78] Pin numpy, add cross-python --- .ci_support/linux_64_python3.8.____cpython.yaml | 4 ++++ .ci_support/osx_64_python3.8.____cpython.yaml | 4 ++++ .ci_support/osx_arm64_.yaml | 4 ++++ recipe/build.sh | 2 +- recipe/meta.yaml | 5 +++++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml index 1d355dca..515d1a8e 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -26,6 +26,8 @@ libpng: - '1.6' libprotobuf: - '3.15' +numpy: +- '1.17' openssl: - 1.1.1 pin_run_as_build: @@ -53,5 +55,7 @@ zip_keys: - cxx_compiler_version - - cdt_name - docker_image +- - python + - numpy zlib: - '1.2' diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml index d135c094..3a41e34b 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -28,6 +28,8 @@ libprotobuf: - '3.15' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '1.17' openssl: - 1.1.1 pin_run_as_build: @@ -53,5 +55,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - numpy zlib: - '1.2' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index c3f621b4..a655c665 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -26,6 +26,8 @@ libprotobuf: - '3.15' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '1.19' openssl: - 1.1.1 pin_run_as_build: @@ -51,5 +53,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - python + - numpy zlib: - '1.2' diff --git a/recipe/build.sh b/recipe/build.sh index be5a00b5..e947f86a 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -64,10 +64,10 @@ if [[ "${target_platform}" == "osx-64" ]]; then TARGET_CPU=darwin fi +# If you really want to see what is executed, add --subcommands BUILD_OPTS=" --crosstool_top=//custom_toolchain:toolchain --logging=6 - --subcommands --verbose_failures --config=opt --define=PREFIX=${PREFIX} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 816cb54a..57db8349 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,10 +23,14 @@ build: requirements: build: + - python # [build_platform != target_platform] + - cross-python_{{ target_platform }} # [build_platform != target_platform] + - numpy # [build_platform != target_platform] - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion - bazel 3.1.0 # [not osx] + # For osx-arm64 cross-compilation to work, we need bazel>=4.1 - bazel # [osx] - nasm - sed @@ -60,6 +64,7 @@ requirements: - typing_extensions >=3.7.4 - wheel >=0.35 - wrapt >=1.11.1 + - numpy # TF_SYSTEM_LIBS - astor >=0.7.1 - grpc-cpp From 50efd4aba0e89cbf853f576a5dc43d0577e12ede Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 20:49:19 +0200 Subject: [PATCH 68/78] Use system libpng --- recipe/build.sh | 1 + recipe/meta.yaml | 41 ++++++++++++++++++++++++----------------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index e947f86a..708a0595 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -33,6 +33,7 @@ export TF_SYSTEM_LIBS=" dill_archive gif libjpeg_turbo + png pybind11 snappy zlib diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 57db8349..5dc5c6a7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -67,15 +67,16 @@ requirements: - numpy # TF_SYSTEM_LIBS - astor >=0.7.1 - - grpc-cpp - - libprotobuf + - cython >=0.28.4 + - dill >=0.3.1.1 - giflib + - grpc-cpp - jpeg + - libpng + - libprotobuf - openssl - - cython >=0.28.4 - - dill >=0.3.1.1 - - snappy - pybind11 + - snappy - zlib # upstream wants exact pin for gast - gast ==0.3.3 @@ -125,17 +126,18 @@ outputs: - wrapt >=1.11.1 # TF_SYSTEM_LIBS - astor >=0.7.1 - - grpc-cpp - - libprotobuf + - cython >=0.28.4 + - dill >=0.3.1.1 - giflib + - grpc-cpp - jpeg + - libcurl + - libpng + - libprotobuf - openssl - - cython >=0.28.4 - - dill >=0.3.1.1 - - snappy - pybind11 + - snappy - zlib - - libcurl # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync @@ -163,9 +165,12 @@ outputs: - tensorboard >=2.4.0,<2.5 - tensorflow-estimator >=2.4.0,<2.5 test: + requires: + - pip imports: - tensorflow commands: + - pip check - tf_upgrade_v2 --help - saved_model_cli --help - tflite_convert --help # [not win] @@ -183,11 +188,12 @@ outputs: - {{ compiler('cxx') }} # host requirements to pick up run_exports host: - - grpc-cpp - - libprotobuf - giflib + - grpc-cpp - jpeg - libcurl + - libpng + - libprotobuf - openssl - snappy - zlib @@ -214,13 +220,14 @@ outputs: - rsync # host requirements to pick up run_exports host: + - giflib - grpc-cpp - - libprotobuf - - libcurl - jpeg - - snappy + - libcurl + - libpng + - libprotobuf - openssl - - giflib + - snappy - zlib test: files: From 998a6714b219ef06da8def251f6770f72ecac686 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 21:05:21 +0200 Subject: [PATCH 69/78] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.9.0, and conda-forge-pinning 2021.04.01.12.45.45 --- .ci_support/linux_64_python3.8.____cpython.yaml | 4 ---- .ci_support/osx_64_python3.8.____cpython.yaml | 4 ---- .ci_support/osx_arm64_.yaml | 4 ---- 3 files changed, 12 deletions(-) diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml index 515d1a8e..1d355dca 100644 --- a/.ci_support/linux_64_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -26,8 +26,6 @@ libpng: - '1.6' libprotobuf: - '3.15' -numpy: -- '1.17' openssl: - 1.1.1 pin_run_as_build: @@ -55,7 +53,5 @@ zip_keys: - cxx_compiler_version - - cdt_name - docker_image -- - python - - numpy zlib: - '1.2' diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml index 3a41e34b..d135c094 100644 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -28,8 +28,6 @@ libprotobuf: - '3.15' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '1.17' openssl: - 1.1.1 pin_run_as_build: @@ -55,7 +53,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1.2' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index a655c665..c3f621b4 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -26,8 +26,6 @@ libprotobuf: - '3.15' macos_machine: - arm64-apple-darwin20.0.0 -numpy: -- '1.19' openssl: - 1.1.1 pin_run_as_build: @@ -53,7 +51,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1.2' From 04440302ace992af7ecc1bfb918c2deacd6351f5 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 21:05:32 +0200 Subject: [PATCH 70/78] Pin numpy to 1.19.2 --- recipe/meta.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5dc5c6a7..a70ecab2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,7 +25,7 @@ requirements: build: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - - numpy # [build_platform != target_platform] + - numpy 1.19.2 # [build_platform != target_platform] - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion @@ -56,7 +56,7 @@ requirements: - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - - numpy >=1.19.2 + - numpy 1.19.2 - opt_einsum >=3.3.0 - protobuf >=3.9.2 - six >=1.15.0 @@ -64,7 +64,6 @@ requirements: - typing_extensions >=3.7.4 - wheel >=0.35 - wrapt >=1.11.1 - - numpy # TF_SYSTEM_LIBS - astor >=0.7.1 - cython >=0.28.4 @@ -116,7 +115,7 @@ outputs: - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - - numpy >=1.19.2 + - numpy 1.19.2 - opt_einsum >=3.3.0 - protobuf >=3.9.2 - six >=1.15.0 From f342611eda1265e8fd80f8aef61e41e5c95237a1 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 1 Apr 2021 21:09:00 +0200 Subject: [PATCH 71/78] Be less strict on build-numpy --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a70ecab2..7658f63c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,7 +25,7 @@ requirements: build: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - - numpy 1.19.2 # [build_platform != target_platform] + - numpy 1.19.* # [build_platform != target_platform] - {{ compiler('c') }} - {{ compiler('cxx') }} # see https://github.com/tensorflow/tensorflow/blob/v{{ version }}/.bazelversion @@ -56,7 +56,7 @@ requirements: - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - - numpy 1.19.2 + - numpy 1.19.* - opt_einsum >=3.3.0 - protobuf >=3.9.2 - six >=1.15.0 @@ -115,7 +115,7 @@ outputs: - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - - numpy 1.19.2 + - numpy 1.19.* - opt_einsum >=3.3.0 - protobuf >=3.9.2 - six >=1.15.0 @@ -150,7 +150,7 @@ outputs: - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - - numpy >=1.19.2 + - numpy >=1.19 - opt_einsum >=3.3.0 - protobuf >=3.9.2 - six >=1.15.0 From a6baa7624acce86ac6db462363ee5d89c3a8109f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 6 Apr 2021 17:52:09 +0200 Subject: [PATCH 72/78] Fix requirements for pip check --- recipe/build.sh | 1 + recipe/meta.yaml | 18 ++++++++++-------- recipe/patches/loosen-requirements.patch | 22 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/loosen-requirements.patch diff --git a/recipe/build.sh b/recipe/build.sh index 708a0595..49c2cfb2 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -38,6 +38,7 @@ export TF_SYSTEM_LIBS=" snappy zlib " +sed -i -e "s/GRPCIO_VERSION/${grpc_cpp}/" tensorflow/tools/pip_package/setup.py # python ./third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD # do not build with MKL support diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7658f63c..91e3ed53 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,6 +14,7 @@ source: - patches/0003-relax-precision-in-matrix_log_op_test.patch #- patches/0004-Unbundle-LLVM.patch #- patches/0005-rerun-generate_llvm_build.py.patch + - patches/loosen-requirements.patch - patches/osx-arm64.patch # [osx and arm64] - patches/osx-arm64-2.patch # [osx and arm64] @@ -52,12 +53,12 @@ requirements: # github.com/tensorflow/tensorflow/blob/v{{ version }}/tensorflow/tools/pip_package/setup.py - absl-py >=0.10.0 - astunparse >=1.6.3 - - python-flatbuffers >=1.12.0 + - python-flatbuffers 1.12.* - google-pasta >=0.2 - h5py >=2.10 - keras-preprocessing >=1.1.2 - numpy 1.19.* - - opt_einsum >=3.3.0 + - opt_einsum 3.3.0.* - protobuf >=3.9.2 - six >=1.15.0 - termcolor >=1.1.0 @@ -111,12 +112,12 @@ outputs: # requirements specified by the package itself - absl-py >=0.10.0 - astunparse >=1.6.3 - - python-flatbuffers >=1.12.0 + - python-flatbuffers 1.12.* - google-pasta >=0.2 - - h5py >=2.10 + - h5py 2.10.* - keras-preprocessing >=1.1.2 - numpy 1.19.* - - opt_einsum >=3.3.0 + - opt_einsum 3.3.0.* - protobuf >=3.9.2 - six >=1.15.0 - termcolor >=1.1.0 @@ -146,18 +147,19 @@ outputs: - python - absl-py >=0.10.0 - astunparse >=1.6.3 - - python-flatbuffers >=1.12.0 + - python-flatbuffers 1.12.* - google-pasta >=0.2 - - h5py >=2.10 + - h5py 2.10.* - keras-preprocessing >=1.1.2 - numpy >=1.19 - - opt_einsum >=3.3.0 + - opt_einsum 3.3.0.* - protobuf >=3.9.2 - six >=1.15.0 - termcolor >=1.1.0 - typing_extensions >=3.7.4 - wheel >=0.35 - wrapt >=1.11.1 + - grpcio {{ grpc_cpp }}.* # upstream wants exact pin for gast - gast ==0.3.3 # TF-API needs to move in sync diff --git a/recipe/patches/loosen-requirements.patch b/recipe/patches/loosen-requirements.patch new file mode 100644 index 00000000..ca8eda31 --- /dev/null +++ b/recipe/patches/loosen-requirements.patch @@ -0,0 +1,22 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 65133afd..a749ec32 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -81,7 +81,7 @@ REQUIRED_PACKAGES = [ + 'google_pasta ~= 0.2', + 'h5py ~= 2.10.0', + 'keras_preprocessing ~= 1.1.2', +- 'numpy ~= 1.19.2', ++ 'numpy ~= 1.19', + 'opt_einsum ~= 3.3.0', + 'protobuf >= 3.9.2', + 'six ~= 1.15.0', +@@ -118,7 +118,7 @@ if 'tf_nightly' in project_name: + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. + if sys.byteorder == 'little': +- REQUIRED_PACKAGES.append('grpcio ~= 1.32.0') ++ REQUIRED_PACKAGES.append('grpcio ~= GRPCIO_VERSION') + + + # Packages which are only needed for testing code. From 4733336e9ee8587b4c30b8ae46262326cc54ef4a Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 8 Apr 2021 08:42:50 +0000 Subject: [PATCH 73/78] Re-add tensorflow meta package --- .scripts/build_steps.sh | 27 ++++++++++++++++----------- .scripts/logging_utils.sh | 9 +++++++-- .scripts/run_docker_build.sh | 13 +++++++++---- .scripts/run_osx_build.sh | 31 ++++++++++++++++++------------- README.md | 6 ++++-- recipe/meta.yaml | 13 ++++++++++--- 6 files changed, 64 insertions(+), 35 deletions(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 522eabcf..71a06860 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -10,9 +10,10 @@ export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh -endgroup "Start Docker" +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null -startgroup "Configuring conda" export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" @@ -36,34 +37,38 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -endgroup "Configuring conda" + +( endgroup "Configuring conda" ) 2> /dev/null if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - startgroup "Running conda debug" if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" fi conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - endgroup "Running conda debug" + # Drop into an interactive shell /bin/bash else - startgroup "Running conda $BUILD_CMD" conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - endgroup "Running conda build" - startgroup "Validating outputs" + ( startgroup "Validating outputs" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" - endgroup "Validating outputs" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" - endgroup "Uploading packages" fi + + ( endgroup "Uploading packages" ) 2> /dev/null fi +( startgroup "Final checks" ) 2> /dev/null + touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index a53ef3f2..57bc95c2 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -13,18 +13,23 @@ function startgroup { travis ) echo "$1" echo -en 'travis_fold:start:'"${1// /}"'\\r';; + github_actions ) + echo "::group::$1";; * ) echo "$1";; esac -} +} 2> /dev/null function endgroup { # End a foldable group of log lines # Pass a single argument, quoted + case ${CI:-} in azure ) echo "##[endgroup]";; travis ) echo -en 'travis_fold:end:'"${1// /}"'\\r';; + github_actions ) + echo "::endgroup::";; esac -} +} 2> /dev/null diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 16d6c15a..44ad3ce0 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -7,7 +7,7 @@ source .scripts/logging_utils.sh -startgroup "Configure Docker" +( startgroup "Configure Docker" ) 2> /dev/null set -xeo pipefail @@ -69,9 +69,11 @@ DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi -endgroup "Configure Docker" -startgroup "Start Docker" +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ @@ -94,4 +96,7 @@ docker run ${DOCKER_RUN_ARGS} \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh # verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 614ca844..39436ecb 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -2,16 +2,19 @@ source .scripts/logging_utils.sh -set -x +set -xe + +( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null -startgroup "Installing a fresh version of Miniforge" MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" bash $MINIFORGE_FILE -b -endgroup "Installing a fresh version of Miniforge" -startgroup "Configuring conda" +( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + BUILD_CMD=build source ${HOME}/miniforge3/etc/profile.d/conda.sh @@ -34,22 +37,24 @@ echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup -endgroup "Configuring conda" -set -e +( endgroup "Configuring conda" ) 2> /dev/null + -startgroup "Running conda $BUILD_CMD" echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -endgroup "Running conda build" -startgroup "Validating outputs" +( startgroup "Validating outputs" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" -endgroup "Validating outputs" + +( endgroup "Validating outputs" ) 2> /dev/null + +( startgroup "Uploading packages" ) 2> /dev/null if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml - endgroup "Uploading packages" -fi \ No newline at end of file +fi + +( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file diff --git a/README.md b/README.md index a90d1cb5..6b950e8c 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Current release info | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow-green.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow_cc-green.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow-green.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | | [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow--base-green.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | Installing tensorflow @@ -80,12 +81,13 @@ Installing `tensorflow` from the `conda-forge` channel can be achieved by adding ``` conda config --add channels conda-forge +conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libtensorflow, libtensorflow_cc, tensorflow-base` can be installed with: +Once the `conda-forge` channel has been enabled, `libtensorflow, libtensorflow_cc, tensorflow, tensorflow-base` can be installed with: ``` -conda install libtensorflow libtensorflow_cc tensorflow-base +conda install libtensorflow libtensorflow_cc tensorflow tensorflow-base ``` It is possible to list all of the versions of `libtensorflow` available on your platform with: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 91e3ed53..fb138d62 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,7 +1,7 @@ {% set version = "2.4.0" %} package: - name: tensorflow + name: tensorflow-split version: {{ version }} source: @@ -83,8 +83,6 @@ requirements: # TF-API needs to move in sync - tensorboard >=2.4.0,<2.5 - tensorflow-estimator >=2.4.0,<2.5 - #run: - #- {{ pin_subpackage('tensorflow-base', exact=True) }} outputs: - name: tensorflow-base @@ -178,6 +176,15 @@ outputs: - toco_from_protos --help # [not win] - toco --help # [not win] + - name: tensorflow + requirements: + host: + - python + - {{ pin_subpackage('tensorflow-base', exact=True) }} + run: + - python + - {{ pin_subpackage('tensorflow-base', exact=True) }} + - name: libtensorflow script: cp_libtensorflow.sh build: From 4c494277246d56b1d7ebc619b51ad425ae31207d Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 8 Apr 2021 08:43:49 +0000 Subject: [PATCH 74/78] Remove unused patches --- recipe/meta.yaml | 4 +- recipe/patches/0004-Unbundle-LLVM.patch | 346 --- .../0005-rerun-generate_llvm_build.py.patch | 2416 ----------------- 3 files changed, 1 insertion(+), 2765 deletions(-) delete mode 100644 recipe/patches/0004-Unbundle-LLVM.patch delete mode 100644 recipe/patches/0005-rerun-generate_llvm_build.py.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fb138d62..e4ff4547 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,15 +12,13 @@ source: - patches/0001-relax-tolerence-in-special_math_test.patch - patches/0002-skip-read-only-debugger_cli_common-test.patch - patches/0003-relax-precision-in-matrix_log_op_test.patch - #- patches/0004-Unbundle-LLVM.patch - #- patches/0005-rerun-generate_llvm_build.py.patch - patches/loosen-requirements.patch - patches/osx-arm64.patch # [osx and arm64] - patches/osx-arm64-2.patch # [osx and arm64] build: number: 0 - skip: true # [win or py<38] + skip: true # [win] requirements: build: diff --git a/recipe/patches/0004-Unbundle-LLVM.patch b/recipe/patches/0004-Unbundle-LLVM.patch deleted file mode 100644 index 9a914bd0..00000000 --- a/recipe/patches/0004-Unbundle-LLVM.patch +++ /dev/null @@ -1,346 +0,0 @@ -From 17d3c28a3ff5e877f4286cb8b4f804447618fa6f Mon Sep 17 00:00:00 2001 -From: Isuru Fernando -Date: Thu, 15 Aug 2019 02:50:37 +0000 -Subject: [PATCH 4/5] Unbundle LLVM - ---- - tensorflow/workspace.bzl | 1 + - third_party/systemlibs/generate_llvm_build.py | 301 ++++++++++++++++++ - third_party/systemlibs/syslibs_configure.bzl | 1 + - 3 files changed, 303 insertions(+) - create mode 100644 third_party/systemlibs/generate_llvm_build.py - -diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl -index 3397d1070d1..716757ade64 100755 ---- a/tensorflow/workspace.bzl -+++ b/tensorflow/workspace.bzl -@@ -691,6 +691,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): - name = "llvm-project", - sha256 = LLVM_SHA256, - strip_prefix = "llvm-project-" + LLVM_COMMIT, -+ system_build_file = clean_dep("//third_party/systemlibs:llvm.BUILD"), - urls = LLVM_URLS, - additional_build_files = { - clean_dep("//third_party/llvm:llvm.autogenerated.BUILD"): "llvm/BUILD", -diff --git a/third_party/systemlibs/generate_llvm_build.py b/third_party/systemlibs/generate_llvm_build.py -new file mode 100644 -index 00000000000..54745b46f10 ---- /dev/null -+++ b/third_party/systemlibs/generate_llvm_build.py -@@ -0,0 +1,301 @@ -+# Bazel BUILD file generator for system LLVM. -+ -+import os -+ -+llvm_libs = [ -+ "AArch64AsmParser", -+ "AArch64CodeGen", -+ "AArch64Desc", -+ "AArch64Disassembler", -+ "AArch64Info", -+ "AArch64Utils", -+ "AggressiveInstCombine", -+ "AMDGPUAsmParser", -+ "AMDGPUCodeGen", -+ "AMDGPUDesc", -+ "AMDGPUDisassembler", -+ "AMDGPUInfo", -+ "AMDGPUUtils", -+ "Analysis", -+ "ARMAsmParser", -+ "ARMCodeGen", -+ "ARMDesc", -+ "ARMDisassembler", -+ "ARMInfo", -+ "ARMUtils", -+ "AsmParser", -+ "AsmPrinter", -+ "BinaryFormat", -+ "BitReader", -+ "BitstreamReader", -+ "BitWriter", -+ "BPFAsmParser", -+ "BPFCodeGen", -+ "BPFDesc", -+ "BPFDisassembler", -+ "BPFInfo", -+ "CodeGen", -+ "Core", -+ "Coroutines", -+ "Coverage", -+ "DebugInfoCodeView", -+ "DebugInfoDWARF", -+ "DebugInfoGSYM", -+ "DebugInfoMSF", -+ "DebugInfoPDB", -+ "Demangle", -+ "DlltoolDriver", -+ "ExecutionEngine", -+ "FuzzMutate", -+ "GlobalISel", -+ "HexagonAsmParser", -+ "HexagonCodeGen", -+ "HexagonDesc", -+ "HexagonDisassembler", -+ "HexagonInfo", -+ "InstCombine", -+ "Instrumentation", -+ "IntelJITEvents", -+ "Interpreter", -+ "ipo", -+ "IRReader", -+ "JITLink", -+ "LanaiAsmParser", -+ "LanaiCodeGen", -+ "LanaiDesc", -+ "LanaiDisassembler", -+ "LanaiInfo", -+ "LibDriver", -+ "LineEditor", -+ "Linker", -+ "LTO", -+ "MC", -+ "MCA", -+ "MCDisassembler", -+ "MCJIT", -+ "MCParser", -+ "MipsAsmParser", -+ "MipsCodeGen", -+ "MipsDesc", -+ "MipsDisassembler", -+ "MipsInfo", -+ "MIRParser", -+ "MSP430AsmParser", -+ "MSP430CodeGen", -+ "MSP430Desc", -+ "MSP430Disassembler", -+ "MSP430Info", -+ "NVPTXCodeGen", -+ "NVPTXDesc", -+ "NVPTXInfo", -+ "ObjCARCOpts", -+ "Object", -+ "ObjectYAML", -+ "Option", -+ "OrcJIT", -+ "Passes", -+ "PowerPCAsmParser", -+ "PowerPCCodeGen", -+ "PowerPCDesc", -+ "PowerPCDisassembler", -+ "PowerPCInfo", -+ "ProfileData", -+ "Remarks", -+ "RISCVAsmParser", -+ "RISCVCodeGen", -+ "RISCVDesc", -+ "RISCVDisassembler", -+ "RISCVInfo", -+ "RISCVUtils", -+ "RuntimeDyld", -+ "ScalarOpts", -+ "SelectionDAG", -+ "SparcAsmParser", -+ "SparcCodeGen", -+ "SparcDesc", -+ "SparcDisassembler", -+ "SparcInfo", -+ "Support", -+ "Symbolize", -+ "SystemZAsmParser", -+ "SystemZAsmPrinter", -+ "SystemZCodeGen", -+ "SystemZDesc", -+ "SystemZDisassembler", -+ "SystemZInfo", -+ "TableGen", -+ "Target", -+ "TextAPI", -+ "TransformUtils", -+ "Vectorize", -+ "WebAssemblyAsmParser", -+ "WebAssemblyCodeGen", -+ "WebAssemblyDesc", -+ "WebAssemblyDisassembler", -+ "WebAssemblyInfo", -+ "WindowsManifest", -+ "X86AsmParser", -+ "X86CodeGen", -+ "X86Desc", -+ "X86Disassembler", -+ "X86Info", -+ "X86Utils", -+ "XCoreCodeGen", -+ "XCoreDesc", -+ "XCoreDisassembler", -+ "XCoreInfo", -+ "XRay" -+] -+ -+def process_name(name): -+ if name.endswith("Opts"): -+ return name[:-4].lower() -+ return name.lower() -+ -+llvm_libs_dict = dict((process_name(name), name) for name in llvm_libs) -+ -+llvm_libs_dict["scalar"] = "ScalarOpts" -+ -+ -+INIT_TEXT = """ -+# Bazel BUILD file for system LLVM -+# -+# Auto-generated by generate_llvm_build.py -+ -+licenses(["notice"]) -+ -+filegroup( -+ name = "LICENSE.TXT", -+ visibility = ["//visibility:public"], -+) -+ -+load( -+ "@org_tensorflow//third_party/llvm:llvm.bzl", -+ "cmake_var_string", -+ "expand_cmake_vars", -+ "gentbl", -+ "llvm_all_cmake_vars", -+ "llvm_copts", -+ "llvm_defines", -+ "llvm_linkopts", -+ "llvm_support_platform_specific_srcs_glob", -+) -+ -+# Binary targets used by Tensorflow. -+genrule( -+ name = "lnllvmtblgenlink", -+ outs = ["llvmtblgenlink"], -+ cmd = "ln -s $$(which llvm-tblgen) $@", -+) -+ -+sh_binary( -+ name = "llvm-tblgen", -+ srcs = ["llvmtblgenlink"], -+ visibility = ["//visibility:public"], -+) -+ -+genrule( -+ name = "lnfilecheck", -+ outs = ["filechecklink"], -+ cmd = "ln -s $$(which FileCheck) $@", -+) -+ -+sh_binary( -+ name = "FileCheck", -+ srcs = ["filechecklink"], -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "config", -+ defines = llvm_defines, -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "x86_defs", -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ] -+) -+""" -+ -+skipped_deps = [ -+ ":attributes_compat_gen", -+ ":attributes_gen", -+ ":intrinsic_enums_gen", -+ ":intrinsics_impl_gen", -+ ":aarch64_target_gen", -+ ":x86_target_gen", -+ ":arm_target_gen", -+ ":instcombine_transforms_gen", -+] -+ -+def cc_library(**kwargs): -+ name = kwargs.get("name") -+ if name in ["config", "x86_defs", "gtest", "gtest_main"]: -+ return -+ libname = name -+ if libname.startswith("arc_"): -+ libname = "sp" + libname -+ libname = llvm_libs_dict.get(libname.replace("_", ""), name) -+ deps = kwargs.get("deps", []) -+ deps = [d for d in deps if d not in skipped_deps] -+ if not deps: -+ print(f""" -+cc_library( -+ name = "{name}", -+ linkopts = ["-lLLVM{libname}"], -+ visibility = ["//visibility:public"], -+)""") -+ else: -+ deps_line = "\",\n \"".join(deps) -+ print(f""" -+cc_library( -+ name = "{name}", -+ linkopts = ["-lLLVM{libname}"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ "{deps_line}", -+ ], -+)""") -+ -+def glob(*args, **kwargs): # pylint: disable=unused-argument -+ return [] -+ -+ -+def genrule(*args, **kwargs): # pylint: disable=unused-argument -+ pass -+ -+llvm_support_platform_specific_srcs_glob = glob -+licenses = exports_files = load = package = expand_cmake_vars = genrule -+py_binary = template_rule = gentbl = cc_binary = filegroup = genrule -+llvm_copts = llvm_all_cmake_vars = llvm_defines = llvm_linkopts = [] -+ -+licenses(["notice"]) -+ -+exports_files(["LICENSE.TXT"]) -+ -+load( -+ "@org_tensorflow//third_party/llvm:llvm.bzl", -+ "cmake_var_string", -+ "expand_cmake_vars", -+ "gentbl", -+ "llvm_all_cmake_vars", -+ "llvm_copts", -+ "llvm_defines", -+ "llvm_linkopts", -+ "llvm_support_platform_specific_srcs_glob", -+) -+load( -+ "@org_tensorflow//third_party:common.bzl", -+ "template_rule", -+) -+ -+third_party_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) -+build_path = os.path.join(third_party_dir, "llvm", "llvm.autogenerated.BUILD") -+ -+print(INIT_TEXT) -+with open(build_path, "r") as f: -+ exec(f.read()) -diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl -index 265fe968003..67bf3553f09 100644 ---- a/third_party/systemlibs/syslibs_configure.bzl -+++ b/third_party/systemlibs/syslibs_configure.bzl -@@ -31,6 +31,7 @@ VALID_LIBS = [ - "icu", - "jsoncpp_git", - "libjpeg_turbo", -+ "llvm", - "lmdb", - "nasm", - "nsync", --- -2.29.2.windows.3 - diff --git a/recipe/patches/0005-rerun-generate_llvm_build.py.patch b/recipe/patches/0005-rerun-generate_llvm_build.py.patch deleted file mode 100644 index 8c120941..00000000 --- a/recipe/patches/0005-rerun-generate_llvm_build.py.patch +++ /dev/null @@ -1,2416 +0,0 @@ -From ab0bb5c2f810d75c61da91ed61d1278d1f1c2400 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Mon, 11 Jan 2021 22:49:01 +0100 -Subject: [PATCH 5/5] rerun generate_llvm_build.py - -From repository base, run: -python third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD ---- - third_party/systemlibs/llvm.BUILD | 2395 +++++++++++++++++++++++++++++ - 1 file changed, 2395 insertions(+) - create mode 100644 third_party/systemlibs/llvm.BUILD - -diff --git a/third_party/systemlibs/llvm.BUILD b/third_party/systemlibs/llvm.BUILD -new file mode 100644 -index 00000000000..f0c5120e908 ---- /dev/null -+++ b/third_party/systemlibs/llvm.BUILD -@@ -0,0 +1,2395 @@ -+ -+# Bazel BUILD file for system LLVM -+# -+# Auto-generated by generate_llvm_build.py -+ -+licenses(["notice"]) -+ -+filegroup( -+ name = "LICENSE.TXT", -+ visibility = ["//visibility:public"], -+) -+ -+load( -+ "@org_tensorflow//third_party/llvm:llvm.bzl", -+ "cmake_var_string", -+ "expand_cmake_vars", -+ "gentbl", -+ "llvm_all_cmake_vars", -+ "llvm_copts", -+ "llvm_defines", -+ "llvm_linkopts", -+ "llvm_support_platform_specific_srcs_glob", -+) -+ -+# Binary targets used by Tensorflow. -+genrule( -+ name = "lnllvmtblgenlink", -+ outs = ["llvmtblgenlink"], -+ cmd = "ln -s $$(which llvm-tblgen) $@", -+) -+ -+sh_binary( -+ name = "llvm-tblgen", -+ srcs = ["llvmtblgenlink"], -+ visibility = ["//visibility:public"], -+) -+ -+genrule( -+ name = "lnfilecheck", -+ outs = ["filechecklink"], -+ cmd = "ln -s $$(which FileCheck) $@", -+) -+ -+sh_binary( -+ name = "FileCheck", -+ srcs = ["filechecklink"], -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "config", -+ defines = llvm_defines, -+ visibility = ["//visibility:public"], -+) -+ -+cc_library( -+ name = "x86_defs", -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ] -+) -+ -+ -+cc_library( -+ name = "tblgen", -+ linkopts = ["-lLLVMtblgen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":TableGen", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "FileCheckLib", -+ linkopts = ["-lLLVMFileCheckLib"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ], -+) -+ -+cc_library( -+ name = "AllTargetsCodeGens", -+ linkopts = ["-lLLVMAllTargetsCodeGens"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ "AArch64CodeGen", -+ "AMDGPUCodeGen", -+ "ARMCodeGen", -+ "NVPTXCodeGen", -+ "PowerPCCodeGen", -+ "SystemZCodeGen", -+ "X86CodeGen", -+ ], -+) -+ -+cc_library( -+ name = "Analysis", -+ linkopts = ["-lLLVMAnalysis"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":Core", -+ ":Object", -+ ":ProfileData", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64AsmParser", -+ linkopts = ["-lLLVMAArch64AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AArch64Desc", -+ ":AArch64Info", -+ ":AArch64Utils", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64CodeGen", -+ linkopts = ["-lLLVMAArch64CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AArch64Desc", -+ ":AArch64Info", -+ ":AArch64Utils", -+ ":Analysis", -+ ":AsmPrinter", -+ ":CFGuard", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64Desc", -+ linkopts = ["-lLLVMAArch64Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AArch64CommonTableGen", -+ ":AArch64Info", -+ ":AArch64Utils", -+ ":BinaryFormat", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64Disassembler", -+ linkopts = ["-lLLVMAArch64Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AArch64Desc", -+ ":AArch64Info", -+ ":AArch64Utils", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64Info", -+ linkopts = ["-lLLVMAArch64Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":CodeGen", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AArch64Utils", -+ linkopts = ["-lLLVMAArch64Utils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AArch64CommonTableGen", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUAsmParser", -+ linkopts = ["-lLLVMAMDGPUAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUDesc", -+ ":AMDGPUInfo", -+ ":AMDGPUUtils", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUCodeGen", -+ linkopts = ["-lLLVMAMDGPUCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUDesc", -+ ":AMDGPUInfo", -+ ":AMDGPUUtils", -+ ":Analysis", -+ ":AsmPrinter", -+ ":BinaryFormat", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":IPO", -+ ":MC", -+ ":MIRParser", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":Vectorize", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUDesc", -+ linkopts = ["-lLLVMAMDGPUDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUInfo", -+ ":AMDGPUUtils", -+ ":BinaryFormat", -+ ":Core", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUDisassembler", -+ linkopts = ["-lLLVMAMDGPUDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUDesc", -+ ":AMDGPUInfo", -+ ":AMDGPUUtils", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUInfo", -+ linkopts = ["-lLLVMAMDGPUInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUCommonTableGen", -+ ":Core", -+ ":Support", -+ ":config", -+ ":r600_target_gen", -+ ], -+) -+ -+cc_library( -+ name = "AMDGPUUtils", -+ linkopts = ["-lLLVMAMDGPUUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AMDGPUCommonTableGen", -+ ":BinaryFormat", -+ ":Core", -+ ":MC", -+ ":Support", -+ ":config", -+ ":r600_target_gen", -+ ], -+) -+ -+cc_library( -+ name = "ARCCodeGen", -+ linkopts = ["-lLLVMARCCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARCDesc", -+ ":ARCInfo", -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARCDesc", -+ linkopts = ["-lLLVMARCDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARCInfo", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARCDisassembler", -+ linkopts = ["-lLLVMARCDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARCInfo", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARCInfo", -+ linkopts = ["-lLLVMARCInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMAsmParser", -+ linkopts = ["-lLLVMARMAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMDesc", -+ ":ARMInfo", -+ ":ARMUtils", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMCodeGen", -+ linkopts = ["-lLLVMARMCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMDesc", -+ ":ARMInfo", -+ ":ARMUtils", -+ ":Analysis", -+ ":AsmPrinter", -+ ":CFGuard", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMDesc", -+ linkopts = ["-lLLVMARMDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMCommonTableGen", -+ ":ARMInfo", -+ ":ARMUtils", -+ ":BinaryFormat", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMDisassembler", -+ linkopts = ["-lLLVMARMDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMDesc", -+ ":ARMInfo", -+ ":ARMUtils", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMInfo", -+ linkopts = ["-lLLVMARMInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMCommonTableGen", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ARMUtils", -+ linkopts = ["-lLLVMARMUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":ARMCommonTableGen", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AVRAsmParser", -+ linkopts = ["-lLLVMAVRAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AVRDesc", -+ ":AVRInfo", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AVRCodeGen", -+ linkopts = ["-lLLVMAVRCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AVRDesc", -+ ":AVRInfo", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AVRDesc", -+ linkopts = ["-lLLVMAVRDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AVRInfo", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AVRDisassembler", -+ linkopts = ["-lLLVMAVRDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AVRInfo", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AVRInfo", -+ linkopts = ["-lLLVMAVRInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AggressiveInstCombine", -+ linkopts = ["-lLLVMAggressiveInstCombine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AsmParser", -+ linkopts = ["-lLLVMAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "AsmPrinter", -+ linkopts = ["-lLLVMAsmPrinter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":BinaryFormat", -+ ":CodeGen", -+ ":Core", -+ ":DebugInfoCodeView", -+ ":DebugInfoDWARF", -+ ":DebugInfoMSF", -+ ":MC", -+ ":MCParser", -+ ":Remarks", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BPFAsmParser", -+ linkopts = ["-lLLVMBPFAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BPFDesc", -+ ":BPFInfo", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BPFCodeGen", -+ linkopts = ["-lLLVMBPFCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmPrinter", -+ ":BPFDesc", -+ ":BPFInfo", -+ ":CodeGen", -+ ":Core", -+ ":IPO", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BPFDesc", -+ linkopts = ["-lLLVMBPFDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BPFInfo", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BPFDisassembler", -+ linkopts = ["-lLLVMBPFDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BPFInfo", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BPFInfo", -+ linkopts = ["-lLLVMBPFInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BinaryFormat", -+ linkopts = ["-lLLVMBinaryFormat"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BitReader", -+ linkopts = ["-lLLVMBitReader"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BitstreamReader", -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BitWriter", -+ linkopts = ["-lLLVMBitWriter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":MC", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "BitstreamReader", -+ linkopts = ["-lLLVMBitstreamReader"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "CFGuard", -+ linkopts = ["-lLLVMCFGuard"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "CSKYCodeGen", -+ linkopts = ["-lLLVMCSKYCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":CSKYInfo", -+ ":CodeGen", -+ ":Core", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "CSKYInfo", -+ linkopts = ["-lLLVMCSKYInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "CodeGen", -+ linkopts = ["-lLLVMCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":BitReader", -+ ":BitWriter", -+ ":Core", -+ ":Instrumentation", -+ ":MC", -+ ":ProfileData", -+ ":Scalar", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Core", -+ linkopts = ["-lLLVMCore"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":Remarks", -+ ":Support", -+ ":aarch64_enums_gen", -+ ":amdgcn_enums_gen", -+ ":arm_enums_gen", -+ ":bpf_enums_gen", -+ ":config", -+ ":hexagon_enums_gen", -+ ":mips_enums_gen", -+ ":nvvm_enums_gen", -+ ":ppc_enums_gen", -+ ":r600_enums_gen", -+ ":riscv_enums_gen", -+ ":s390_enums_gen", -+ ":wasm_enums_gen", -+ ":x86_enums_gen", -+ ":xcore_enums_gen", -+ ], -+) -+ -+cc_library( -+ name = "Coroutines", -+ linkopts = ["-lLLVMCoroutines"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":IPO", -+ ":Scalar", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Coverage", -+ linkopts = ["-lLLVMCoverage"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Object", -+ ":ProfileData", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DWARFLinker", -+ linkopts = ["-lLLVMDWARFLinker"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmPrinter", -+ ":CodeGen", -+ ":DebugInfoDWARF", -+ ":MC", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DebugInfoCodeView", -+ linkopts = ["-lLLVMDebugInfoCodeView"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":DebugInfoMSF", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DebugInfoDWARF", -+ linkopts = ["-lLLVMDebugInfoDWARF"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":MC", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DebugInfoGSYM", -+ linkopts = ["-lLLVMDebugInfoGSYM"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":DebugInfoDWARF", -+ ":MC", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DebugInfoMSF", -+ linkopts = ["-lLLVMDebugInfoMSF"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DebugInfoPDB", -+ linkopts = ["-lLLVMDebugInfoPDB"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":DebugInfoCodeView", -+ ":DebugInfoMSF", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Demangle", -+ linkopts = ["-lLLVMDemangle"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "DlltoolDriver", -+ linkopts = ["-lLLVMDlltoolDriver"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Object", -+ ":Option", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ExecutionEngine", -+ linkopts = ["-lLLVMExecutionEngine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":MC", -+ ":Object", -+ ":RuntimeDyld", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Extensions", -+ linkopts = ["-lLLVMExtensions"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "FrontendOpenMP", -+ linkopts = ["-lLLVMFrontendOpenMP"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ":omp_gen", -+ ":omp_gen_impl", -+ ], -+) -+ -+cc_library( -+ name = "FuzzMutate", -+ linkopts = ["-lLLVMFuzzMutate"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":BitReader", -+ ":BitWriter", -+ ":Core", -+ ":Scalar", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "GlobalISel", -+ linkopts = ["-lLLVMGlobalISel"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HelloNew", -+ linkopts = ["-lLLVMHelloNew"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HexagonAsmParser", -+ linkopts = ["-lLLVMHexagonAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":HexagonDesc", -+ ":HexagonInfo", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HexagonCodeGen", -+ linkopts = ["-lLLVMHexagonCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":HexagonAsmParser", -+ ":HexagonDesc", -+ ":HexagonInfo", -+ ":IPO", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HexagonDesc", -+ linkopts = ["-lLLVMHexagonDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":HexagonInfo", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HexagonDisassembler", -+ linkopts = ["-lLLVMHexagonDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":HexagonDesc", -+ ":HexagonInfo", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "HexagonInfo", -+ linkopts = ["-lLLVMHexagonInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "IPO", -+ linkopts = ["-lLLVMIPO"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AggressiveInstCombine", -+ ":Analysis", -+ ":BitReader", -+ ":BitWriter", -+ ":Core", -+ ":FrontendOpenMP", -+ ":IRReader", -+ ":InstCombine", -+ ":Instrumentation", -+ ":Linker", -+ ":Object", -+ ":ProfileData", -+ ":Scalar", -+ ":Support", -+ ":TransformUtils", -+ ":Vectorize", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "IRReader", -+ linkopts = ["-lLLVMIRReader"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmParser", -+ ":BitReader", -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "InstCombine", -+ linkopts = ["-lLLVMInstCombine"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":InstCombineTableGen", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Instrumentation", -+ linkopts = ["-lLLVMInstrumentation"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":MC", -+ ":ProfileData", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "InterfaceStub", -+ linkopts = ["-lLLVMInterfaceStub"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Interpreter", -+ linkopts = ["-lLLVMInterpreter"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":CodeGen", -+ ":Core", -+ ":ExecutionEngine", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "JITLink", -+ linkopts = ["-lLLVMJITLink"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LTO", -+ linkopts = ["-lLLVMLTO"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AggressiveInstCombine", -+ ":Analysis", -+ ":BinaryFormat", -+ ":BitReader", -+ ":BitWriter", -+ ":CodeGen", -+ ":Core", -+ ":Extensions", -+ ":IPO", -+ ":InstCombine", -+ ":Linker", -+ ":MC", -+ ":ObjCARC", -+ ":Object", -+ ":Passes", -+ ":Remarks", -+ ":Scalar", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LanaiAsmParser", -+ linkopts = ["-lLLVMLanaiAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":LanaiDesc", -+ ":LanaiInfo", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LanaiCodeGen", -+ linkopts = ["-lLLVMLanaiCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":LanaiAsmParser", -+ ":LanaiDesc", -+ ":LanaiInfo", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LanaiDesc", -+ linkopts = ["-lLLVMLanaiDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":LanaiInfo", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LanaiDisassembler", -+ linkopts = ["-lLLVMLanaiDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":LanaiDesc", -+ ":LanaiInfo", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LanaiInfo", -+ linkopts = ["-lLLVMLanaiInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LibDriver", -+ linkopts = ["-lLLVMLibDriver"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":BitReader", -+ ":Object", -+ ":Option", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "LineEditor", -+ linkopts = ["-lLLVMLineEditor"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Linker", -+ linkopts = ["-lLLVMLinker"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MC", -+ linkopts = ["-lLLVMMC"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":DebugInfoCodeView", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MCA", -+ linkopts = ["-lLLVMMCA"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MCDisassembler", -+ linkopts = ["-lLLVMMCDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MCJIT", -+ linkopts = ["-lLLVMMCJIT"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":ExecutionEngine", -+ ":Object", -+ ":RuntimeDyld", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MCParser", -+ linkopts = ["-lLLVMMCParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MIRParser", -+ linkopts = ["-lLLVMMIRParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmParser", -+ ":BinaryFormat", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MSP430AsmParser", -+ linkopts = ["-lLLVMMSP430AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":MSP430Desc", -+ ":MSP430Info", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MSP430CodeGen", -+ linkopts = ["-lLLVMMSP430CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":MSP430Desc", -+ ":MSP430Info", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MSP430Desc", -+ linkopts = ["-lLLVMMSP430Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MSP430Info", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MSP430Disassembler", -+ linkopts = ["-lLLVMMSP430Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":MSP430Info", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MSP430Info", -+ linkopts = ["-lLLVMMSP430Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MipsAsmParser", -+ linkopts = ["-lLLVMMipsAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":MipsDesc", -+ ":MipsInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MipsCodeGen", -+ linkopts = ["-lLLVMMipsCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":MipsDesc", -+ ":MipsInfo", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MipsDesc", -+ linkopts = ["-lLLVMMipsDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MipsInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MipsDisassembler", -+ linkopts = ["-lLLVMMipsDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":MipsInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "MipsInfo", -+ linkopts = ["-lLLVMMipsInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "NVPTXCodeGen", -+ linkopts = ["-lLLVMNVPTXCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":IPO", -+ ":MC", -+ ":NVPTXDesc", -+ ":NVPTXInfo", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":Vectorize", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "NVPTXDesc", -+ linkopts = ["-lLLVMNVPTXDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":NVPTXCommonTableGen", -+ ":NVPTXInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "NVPTXInfo", -+ linkopts = ["-lLLVMNVPTXInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":NVPTXCommonTableGen", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ObjCARC", -+ linkopts = ["-lLLVMObjCARC"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Object", -+ linkopts = ["-lLLVMObject"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":BitReader", -+ ":Core", -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":TextAPI", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ObjectYAML", -+ linkopts = ["-lLLVMObjectYAML"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":DebugInfoCodeView", -+ ":MC", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Option", -+ linkopts = ["-lLLVMOption"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "OrcError", -+ linkopts = ["-lLLVMOrcError"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "OrcJIT", -+ linkopts = ["-lLLVMOrcJIT"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":ExecutionEngine", -+ ":JITLink", -+ ":MC", -+ ":Object", -+ ":OrcError", -+ ":Passes", -+ ":RuntimeDyld", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Passes", -+ linkopts = ["-lLLVMPasses"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AggressiveInstCombine", -+ ":Analysis", -+ ":CodeGen", -+ ":Core", -+ ":Coroutines", -+ ":HelloNew", -+ ":IPO", -+ ":InstCombine", -+ ":Instrumentation", -+ ":ObjCARC", -+ ":Scalar", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":Vectorize", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "PowerPCAsmParser", -+ linkopts = ["-lLLVMPowerPCAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":PowerPCDesc", -+ ":PowerPCInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "PowerPCCodeGen", -+ linkopts = ["-lLLVMPowerPCCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":PowerPCDesc", -+ ":PowerPCInfo", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "PowerPCDesc", -+ linkopts = ["-lLLVMPowerPCDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":MC", -+ ":PowerPCCommonTableGen", -+ ":PowerPCInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "PowerPCDisassembler", -+ linkopts = ["-lLLVMPowerPCDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":PowerPCInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "PowerPCInfo", -+ linkopts = ["-lLLVMPowerPCInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":PowerPCCommonTableGen", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "ProfileData", -+ linkopts = ["-lLLVMProfileData"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":Demangle", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVAsmParser", -+ linkopts = ["-lLLVMRISCVAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":RISCVDesc", -+ ":RISCVInfo", -+ ":RISCVUtils", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVCodeGen", -+ linkopts = ["-lLLVMRISCVCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":RISCVDesc", -+ ":RISCVInfo", -+ ":RISCVUtils", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVDesc", -+ linkopts = ["-lLLVMRISCVDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":RISCVInfo", -+ ":RISCVUtils", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVDisassembler", -+ linkopts = ["-lLLVMRISCVDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":RISCVInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVInfo", -+ linkopts = ["-lLLVMRISCVInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RISCVUtils", -+ linkopts = ["-lLLVMRISCVUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Remarks", -+ linkopts = ["-lLLVMRemarks"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BitstreamReader", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "RuntimeDyld", -+ linkopts = ["-lLLVMRuntimeDyld"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Core", -+ ":MC", -+ ":MCDisassembler", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Scalar", -+ linkopts = ["-lLLVMScalar"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AggressiveInstCombine", -+ ":Analysis", -+ ":Core", -+ ":InstCombine", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SelectionDAG", -+ linkopts = ["-lLLVMSelectionDAG"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SparcAsmParser", -+ linkopts = ["-lLLVMSparcAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":SparcDesc", -+ ":SparcInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SparcCodeGen", -+ linkopts = ["-lLLVMSparcCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":SparcDesc", -+ ":SparcInfo", -+ ":Support", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SparcDesc", -+ linkopts = ["-lLLVMSparcDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":SparcInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SparcDisassembler", -+ linkopts = ["-lLLVMSparcDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":SparcInfo", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SparcInfo", -+ linkopts = ["-lLLVMSparcInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Support", -+ linkopts = ["-lLLVMSupport"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Demangle", -+ ":config", -+ "@zlib", -+ ], -+) -+ -+cc_library( -+ name = "Symbolize", -+ linkopts = ["-lLLVMSymbolize"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":DebugInfoDWARF", -+ ":DebugInfoPDB", -+ ":Demangle", -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SystemZAsmParser", -+ linkopts = ["-lLLVMSystemZAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":SystemZDesc", -+ ":SystemZInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SystemZCodeGen", -+ linkopts = ["-lLLVMSystemZCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":SystemZDesc", -+ ":SystemZInfo", -+ ":Target", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SystemZDesc", -+ linkopts = ["-lLLVMSystemZDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":SystemZCommonTableGen", -+ ":SystemZInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SystemZDisassembler", -+ linkopts = ["-lLLVMSystemZDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":SystemZDesc", -+ ":SystemZInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "SystemZInfo", -+ linkopts = ["-lLLVMSystemZInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":SystemZCommonTableGen", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "TableGen", -+ linkopts = ["-lLLVMTableGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Target", -+ linkopts = ["-lLLVMTarget"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":MC", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "TestingSupport", -+ linkopts = ["-lLLVMTestingSupport"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "TextAPI", -+ linkopts = ["-lLLVMTextAPI"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "TransformUtils", -+ linkopts = ["-lLLVMTransformUtils"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "VEAsmParser", -+ linkopts = ["-lLLVMVEAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":VEDesc", -+ ":VEInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "VECodeGen", -+ linkopts = ["-lLLVMVECodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":VEDesc", -+ ":VEInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "VEDesc", -+ linkopts = ["-lLLVMVEDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":VEInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "VEDisassembler", -+ linkopts = ["-lLLVMVEDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":Support", -+ ":VEInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "VEInfo", -+ linkopts = ["-lLLVMVEInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "Vectorize", -+ linkopts = ["-lLLVMVectorize"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":Core", -+ ":Scalar", -+ ":Support", -+ ":TransformUtils", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WebAssemblyAsmParser", -+ linkopts = ["-lLLVMWebAssemblyAsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":WebAssemblyInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WebAssemblyCodeGen", -+ linkopts = ["-lLLVMWebAssemblyCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":BinaryFormat", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":Scalar", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":WebAssemblyDesc", -+ ":WebAssemblyInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WebAssemblyDesc", -+ linkopts = ["-lLLVMWebAssemblyDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":WebAssemblyInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WebAssemblyDisassembler", -+ linkopts = ["-lLLVMWebAssemblyDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":WebAssemblyDesc", -+ ":WebAssemblyInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WebAssemblyInfo", -+ linkopts = ["-lLLVMWebAssemblyInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "WindowsManifest", -+ linkopts = ["-lLLVMWindowsManifest"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "X86AsmParser", -+ linkopts = ["-lLLVMX86AsmParser"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":MCParser", -+ ":Support", -+ ":X86Desc", -+ ":X86Info", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "X86CodeGen", -+ linkopts = ["-lLLVMX86CodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CFGuard", -+ ":CodeGen", -+ ":Core", -+ ":GlobalISel", -+ ":MC", -+ ":ProfileData", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":X86Desc", -+ ":X86Info", -+ ":config", -+ ":x86_defs", -+ ], -+) -+ -+cc_library( -+ name = "X86Desc", -+ linkopts = ["-lLLVMX86Desc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":BinaryFormat", -+ ":MC", -+ ":MCDisassembler", -+ ":Support", -+ ":X86Info", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "X86Disassembler", -+ linkopts = ["-lLLVMX86Disassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":Support", -+ ":X86Info", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "X86Info", -+ linkopts = ["-lLLVMX86Info"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":X86CommonTableGen", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "XCoreCodeGen", -+ linkopts = ["-lLLVMXCoreCodeGen"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Analysis", -+ ":AsmPrinter", -+ ":CodeGen", -+ ":Core", -+ ":MC", -+ ":SelectionDAG", -+ ":Support", -+ ":Target", -+ ":TransformUtils", -+ ":XCoreDesc", -+ ":XCoreInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "XCoreDesc", -+ linkopts = ["-lLLVMXCoreDesc"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MC", -+ ":Support", -+ ":XCoreInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "XCoreDisassembler", -+ linkopts = ["-lLLVMXCoreDisassembler"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":MCDisassembler", -+ ":Support", -+ ":XCoreInfo", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "XCoreInfo", -+ linkopts = ["-lLLVMXCoreInfo"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Support", -+ ":config", -+ ], -+) -+ -+cc_library( -+ name = "XRay", -+ linkopts = ["-lLLVMXRay"], -+ visibility = ["//visibility:public"], -+ deps = [ -+ ":Object", -+ ":Support", -+ ":config", -+ ], -+) --- -2.29.2.windows.3 - From 640d328254d23b9e06ba06af62efeb3c57850ef8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 8 Apr 2021 08:44:30 +0000 Subject: [PATCH 75/78] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.10.0, and conda-forge-pinning 2021.04.08.08.07.10 --- .azure-pipelines/azure-pipelines-linux.yml | 8 +++ .azure-pipelines/azure-pipelines-osx.yml | 6 ++ .../linux_64_python3.6.____cpython.yaml | 57 +++++++++++++++++++ .../linux_64_python3.7.____cpython.yaml | 57 +++++++++++++++++++ .ci_support/osx_64_python3.6.____cpython.yaml | 57 +++++++++++++++++++ .ci_support/osx_64_python3.7.____cpython.yaml | 57 +++++++++++++++++++ README.md | 28 +++++++++ 7 files changed, 270 insertions(+) create mode 100644 .ci_support/linux_64_python3.6.____cpython.yaml create mode 100644 .ci_support/linux_64_python3.7.____cpython.yaml create mode 100644 .ci_support/osx_64_python3.6.____cpython.yaml create mode 100644 .ci_support/osx_64_python3.7.____cpython.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 5059e969..60029261 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,6 +8,14 @@ jobs: vmImage: ubuntu-16.04 strategy: matrix: + linux_64_python3.6.____cpython: + CONFIG: linux_64_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_64_python3.7.____cpython: + CONFIG: linux_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 linux_64_python3.8.____cpython: CONFIG: linux_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index ed50acef..fad07170 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,6 +8,12 @@ jobs: vmImage: macOS-10.15 strategy: matrix: + osx_64_python3.6.____cpython: + CONFIG: osx_64_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.7.____cpython: + CONFIG: osx_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' osx_64_python3.8.____cpython: CONFIG: osx_64_python3.8.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/linux_64_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml new file mode 100644 index 00000000..84810efa --- /dev/null +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -0,0 +1,57 @@ +c_compiler: +- gcc +c_compiler_version: +- '9' +cdt_name: +- cos6 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '9' +docker_image: +- quay.io/condaforge/linux-anvil-comp7 +giflib: +- '5.2' +grpc_cpp: +- '1.36' +jpeg: +- '9' +libcurl: +- '7' +libpng: +- '1.6' +libprotobuf: +- '3.15' +openssl: +- 1.1.1 +pin_run_as_build: + jpeg: + max_pin: x + libcurl: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.6.* *_cpython +snappy: +- '1' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/linux_64_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml new file mode 100644 index 00000000..17fda75e --- /dev/null +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -0,0 +1,57 @@ +c_compiler: +- gcc +c_compiler_version: +- '9' +cdt_name: +- cos6 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '9' +docker_image: +- quay.io/condaforge/linux-anvil-comp7 +giflib: +- '5.2' +grpc_cpp: +- '1.36' +jpeg: +- '9' +libcurl: +- '7' +libpng: +- '1.6' +libprotobuf: +- '3.15' +openssl: +- 1.1.1 +pin_run_as_build: + jpeg: + max_pin: x + libcurl: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.7.* *_cpython +snappy: +- '1' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/osx_64_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml new file mode 100644 index 00000000..6f37d150 --- /dev/null +++ b/.ci_support/osx_64_python3.6.____cpython.yaml @@ -0,0 +1,57 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +MACOSX_SDK_VERSION: +- '10.12' +c_compiler: +- clang +c_compiler_version: +- '11' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '11' +giflib: +- '5.2' +grpc_cpp: +- '1.36' +jpeg: +- '9' +libcurl: +- '7' +libpng: +- '1.6' +libprotobuf: +- '3.15' +macos_machine: +- x86_64-apple-darwin13.4.0 +openssl: +- 1.1.1 +pin_run_as_build: + jpeg: + max_pin: x + libcurl: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.6.* *_cpython +snappy: +- '1' +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/osx_64_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml new file mode 100644 index 00000000..34ebb003 --- /dev/null +++ b/.ci_support/osx_64_python3.7.____cpython.yaml @@ -0,0 +1,57 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +MACOSX_SDK_VERSION: +- '10.12' +c_compiler: +- clang +c_compiler_version: +- '11' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '11' +giflib: +- '5.2' +grpc_cpp: +- '1.36' +jpeg: +- '9' +libcurl: +- '7' +libpng: +- '1.6' +libprotobuf: +- '3.15' +macos_machine: +- x86_64-apple-darwin13.4.0 +openssl: +- 1.1.1 +pin_run_as_build: + jpeg: + max_pin: x + libcurl: + max_pin: x + libpng: + max_pin: x.x + openssl: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.7.* *_cpython +snappy: +- '1' +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/README.md b/README.md index 6b950e8c..f698ead1 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,40 @@ Current build status + + + + + + + + + + + +
VariantStatus
linux_64_python3.6.____cpython + + variant + +
linux_64_python3.7.____cpython + + variant + +
linux_64_python3.8.____cpython variant
osx_64_python3.6.____cpython + + variant + +
osx_64_python3.7.____cpython + + variant + +
osx_64_python3.8.____cpython From b8876a14e461c0fe9fcce0ea42089cd5c49eed8b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 8 Apr 2021 14:14:01 +0200 Subject: [PATCH 76/78] remove outdated line in build.sh --- recipe/build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/build.sh b/recipe/build.sh index 49c2cfb2..0a2ce304 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -39,7 +39,6 @@ export TF_SYSTEM_LIBS=" zlib " sed -i -e "s/GRPCIO_VERSION/${grpc_cpp}/" tensorflow/tools/pip_package/setup.py -# python ./third_party/systemlibs/generate_llvm_build.py > third_party/systemlibs/llvm.BUILD # do not build with MKL support export TF_NEED_MKL=0 From 743434a6c6d1d4d990d2826d6033abf02e55b04f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 8 Apr 2021 14:18:51 +0200 Subject: [PATCH 77/78] turn diffs into patches --- recipe/meta.yaml | 6 +- ...s.patch => 0004-loosen-requirements.patch} | 14 +- .../{osx-arm64.patch => 0005-osx-arm64.patch} | 130 ++++++++++++++++-- recipe/patches/osx-arm64-2.patch | 94 ------------- 4 files changed, 134 insertions(+), 110 deletions(-) rename recipe/patches/{loosen-requirements.patch => 0004-loosen-requirements.patch} (68%) rename recipe/patches/{osx-arm64.patch => 0005-osx-arm64.patch} (61%) delete mode 100644 recipe/patches/osx-arm64-2.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 93b7ade3..3951ee23 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,9 +12,9 @@ source: - patches/0001-relax-tolerence-in-special_math_test.patch - patches/0002-skip-read-only-debugger_cli_common-test.patch - patches/0003-relax-precision-in-matrix_log_op_test.patch - - patches/loosen-requirements.patch - - patches/osx-arm64.patch # [osx and arm64] - - patches/osx-arm64-2.patch # [osx and arm64] + # requires setting GRPCIO_VERSION in build script + - patches/0004-loosen-requirements.patch + - patches/0005-osx-arm64.patch # [osx and arm64] build: number: 0 diff --git a/recipe/patches/loosen-requirements.patch b/recipe/patches/0004-loosen-requirements.patch similarity index 68% rename from recipe/patches/loosen-requirements.patch rename to recipe/patches/0004-loosen-requirements.patch index ca8eda31..f01eeff7 100644 --- a/recipe/patches/loosen-requirements.patch +++ b/recipe/patches/0004-loosen-requirements.patch @@ -1,5 +1,14 @@ +From 5fbf80906ab7cd1bfd429f40fb4ef95cd8ff370d Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Tue, 6 Apr 2021 17:52:09 +0200 +Subject: [PATCH 4/5] loosen requirements + +--- + tensorflow/tools/pip_package/setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py -index 65133afd..a749ec32 100644 +index 65133afdafe..a749ec320f6 100644 --- a/tensorflow/tools/pip_package/setup.py +++ b/tensorflow/tools/pip_package/setup.py @@ -81,7 +81,7 @@ REQUIRED_PACKAGES = [ @@ -20,3 +29,6 @@ index 65133afd..a749ec32 100644 # Packages which are only needed for testing code. +-- +2.29.2.windows.3 + diff --git a/recipe/patches/osx-arm64.patch b/recipe/patches/0005-osx-arm64.patch similarity index 61% rename from recipe/patches/osx-arm64.patch rename to recipe/patches/0005-osx-arm64.patch index 603623b5..c7351aaa 100644 --- a/recipe/patches/osx-arm64.patch +++ b/recipe/patches/0005-osx-arm64.patch @@ -1,5 +1,25 @@ +From d1b4f86fc52acf2701bb2b3843352b0e3bb2d7e2 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 1 Apr 2021 12:43:34 +0200 +Subject: [PATCH 5/5] osx-arm64 + +--- + .bazelrc | 5 +++ + configure.py | 2 - + tensorflow/BUILD | 45 +++++++++++++++++-- + tensorflow/compiler/aot/tfcompile.bzl | 3 +- + tensorflow/compiler/xla/service/cpu/BUILD | 3 ++ + tensorflow/core/kernels/BUILD | 2 + + tensorflow/lite/kernels/internal/BUILD | 8 ++++ + tensorflow/tensorflow.bzl | 20 +++++---- + .../tools/pip_package/build_pip_package.sh | 4 +- + third_party/cpuinfo/BUILD.bazel | 11 ++++- + third_party/llvm/llvm.bzl | 10 ++++- + .../remote_platform_configure.bzl | 2 + + 12 files changed, 96 insertions(+), 19 deletions(-) + diff --git a/.bazelrc b/.bazelrc -index aaf1e10a..3700066e 100644 +index aaf1e10a5c7..3700066ed4b 100644 --- a/.bazelrc +++ b/.bazelrc @@ -135,6 +135,10 @@ build:ios_x86_64 --cpu=ios_x86_64 @@ -22,7 +42,7 @@ index aaf1e10a..3700066e 100644 # Suppress C++ compiler warnings, otherwise build logs become 10s of MBs. build:android --copt=-w diff --git a/configure.py b/configure.py -index b4907775..046e6183 100644 +index b4907775d93..046e61832f7 100644 --- a/configure.py +++ b/configure.py @@ -535,8 +535,6 @@ def set_cc_opt_flags(environ_cp): @@ -35,7 +55,7 @@ index b4907775..046e6183 100644 diff --git a/tensorflow/BUILD b/tensorflow/BUILD -index 56b33a49..7497086e 100644 +index 56b33a493fc..7497086eb8f 100644 --- a/tensorflow/BUILD +++ b/tensorflow/BUILD @@ -174,7 +174,7 @@ config_setting( @@ -119,7 +139,7 @@ index 56b33a49..7497086e 100644 "//tensorflow:freebsd": [ "-Wl,--version-script,$(location //tensorflow:tf_framework_version_script.lds)", diff --git a/tensorflow/compiler/aot/tfcompile.bzl b/tensorflow/compiler/aot/tfcompile.bzl -index 29f37bf7..0d76cf5b 100644 +index 29f37bf7498..0d76cf5b1b6 100644 --- a/tensorflow/compiler/aot/tfcompile.bzl +++ b/tensorflow/compiler/aot/tfcompile.bzl @@ -432,7 +432,8 @@ def target_llvm_triple(): @@ -133,7 +153,7 @@ index 29f37bf7..0d76cf5b 100644 "//tensorflow:linux_s390x": "systemz-none-linux-gnu", "//conditions:default": "x86_64-pc-linux", diff --git a/tensorflow/compiler/xla/service/cpu/BUILD b/tensorflow/compiler/xla/service/cpu/BUILD -index e5c59fc0..fbaf6f4a 100644 +index e5c59fc0c7a..fbaf6f4ad19 100644 --- a/tensorflow/compiler/xla/service/cpu/BUILD +++ b/tensorflow/compiler/xla/service/cpu/BUILD @@ -229,6 +229,9 @@ cc_library( @@ -147,7 +167,7 @@ index e5c59fc0..fbaf6f4a 100644 ], }) + if_llvm_system_z_available([ diff --git a/tensorflow/core/kernels/BUILD b/tensorflow/core/kernels/BUILD -index 53c53ac3..74a18738 100644 +index 53c53ac3ff6..74a18738cdc 100644 --- a/tensorflow/core/kernels/BUILD +++ b/tensorflow/core/kernels/BUILD @@ -773,6 +773,7 @@ cc_library( @@ -167,7 +187,7 @@ index 53c53ac3..74a18738 100644 }), ) diff --git a/tensorflow/lite/kernels/internal/BUILD b/tensorflow/lite/kernels/internal/BUILD -index 94135c6a..be7554ac 100644 +index 94135c6adbe..be7554ac799 100644 --- a/tensorflow/lite/kernels/internal/BUILD +++ b/tensorflow/lite/kernels/internal/BUILD @@ -186,6 +186,13 @@ config_setting( @@ -192,14 +212,97 @@ index 94135c6a..be7554ac 100644 ":raspberry_pi_with_neon", ): [":neon_tensor_utils"], ( +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 096cdd17dcb..35f940ec408 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -444,6 +444,7 @@ def _rpath_linkopts(name): + return select({ + clean_dep("//tensorflow:macos"): [ + "-Wl,%s" % (_make_search_paths("@loader_path", levels_to_root),), ++ "-Wl,-rename_section,__TEXT,text_env,__TEXT,__text" + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +@@ -1942,22 +1943,24 @@ def pywrap_tensorflow_macro( + + if not version_script: + version_script = select({ +- "@local_config_cuda//cuda:darwin": clean_dep("//tensorflow:tf_exported_symbols.lds"), ++ "//tensorflow:macos": clean_dep("//tensorflow:tf_exported_symbols.lds"), + "//conditions:default": clean_dep("//tensorflow:tf_version_script.lds"), + }) + vscriptname = name + "_versionscript" + _append_init_to_versionscript( + name = vscriptname, + is_version_script = select({ +- "@local_config_cuda//cuda:darwin": False, ++ "//tensorflow:macos": False, + "//conditions:default": True, + }), + module_name = module_name, + template_file = version_script, + ) + extra_linkopts = select({ +- "@local_config_cuda//cuda:darwin": [ +- "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, ++ clean_dep("//tensorflow:macos"): [ ++ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols ++ # not being exported. There should be a better way to deal with this. ++ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +@@ -1966,9 +1969,6 @@ def pywrap_tensorflow_macro( + ], + }) + extra_deps += select({ +- "@local_config_cuda//cuda:darwin": [ +- "%s.lds" % vscriptname, +- ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ + "%s.lds" % vscriptname, +@@ -2598,8 +2598,10 @@ def pybind_extension( + ], + }), + linkopts = linkopts + _rpath_linkopts(name) + select({ +- "@local_config_cuda//cuda:darwin": [ +- "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, ++ clean_dep("//tensorflow:macos"): [ ++ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols ++ # not being exported. There should be a better way to deal with this. ++ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, + ], + clean_dep("//tensorflow:windows"): [], + "//conditions:default": [ +diff --git a/tensorflow/tools/pip_package/build_pip_package.sh b/tensorflow/tools/pip_package/build_pip_package.sh +index 7a070938045..a1f26821804 100755 +--- a/tensorflow/tools/pip_package/build_pip_package.sh ++++ b/tensorflow/tools/pip_package/build_pip_package.sh +@@ -216,10 +216,10 @@ function prepare_src() { + if [ -d "${TMPDIR}/tensorflow/_api/v1/" ] + then + cp -r ${TMPDIR}/tensorflow/python/keras/api/_v1/keras/ ${TMPDIR}/tensorflow/keras/ +- sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py ++ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + + else + cp -r ${TMPDIR}/tensorflow/python/keras/api/_v2/keras/ ${TMPDIR}/tensorflow/keras/ +- sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py ++ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + + fi + } + diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel -index 9b007cc0..6a95bafc 100644 +index 9b007cc0daa..ca4cf59f0ba 100644 --- a/third_party/cpuinfo/BUILD.bazel +++ b/third_party/cpuinfo/BUILD.bazel -@@ -104,6 +104,7 @@ cc_library( +@@ -103,7 +103,8 @@ cc_library( + ":linux_armeabi": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, ":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS, ":linux_mips64": COMMON_SRCS + LINUX_SRCS, - ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, +- ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, ++ ":macos_x86_64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, ":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS, @@ -220,7 +323,7 @@ index 9b007cc0..6a95bafc 100644 name = "watchos_armv7k", values = { diff --git a/third_party/llvm/llvm.bzl b/third_party/llvm/llvm.bzl -index dcbaab9e..eedb1a02 100644 +index dcbaab9edd4..eedb1a02a33 100644 --- a/third_party/llvm/llvm.bzl +++ b/third_party/llvm/llvm.bzl @@ -304,7 +304,7 @@ win32_cmake_vars = { @@ -248,7 +351,7 @@ index dcbaab9e..eedb1a02 100644 _dict_add( cmake_vars, diff --git a/third_party/remote_config/remote_platform_configure.bzl b/third_party/remote_config/remote_platform_configure.bzl -index 29520396..0c03c7e9 100644 +index 29520396905..0c03c7e98b1 100644 --- a/third_party/remote_config/remote_platform_configure.bzl +++ b/third_party/remote_config/remote_platform_configure.bzl @@ -20,6 +20,8 @@ def _remote_platform_configure_impl(repository_ctx): @@ -260,3 +363,6 @@ index 29520396..0c03c7e9 100644 elif machine_type.startswith("arm"): cpu = "arm" elif machine_type.startswith("mips64"): +-- +2.29.2.windows.3 + diff --git a/recipe/patches/osx-arm64-2.patch b/recipe/patches/osx-arm64-2.patch deleted file mode 100644 index 659e58b4..00000000 --- a/recipe/patches/osx-arm64-2.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl -index 096cdd17..94978ea4 100644 ---- a/tensorflow/tensorflow.bzl -+++ b/tensorflow/tensorflow.bzl -@@ -444,6 +444,7 @@ def _rpath_linkopts(name): - return select({ - clean_dep("//tensorflow:macos"): [ - "-Wl,%s" % (_make_search_paths("@loader_path", levels_to_root),), -+ "-Wl,-rename_section,__TEXT,text_env,__TEXT,__text" - ], - clean_dep("//tensorflow:windows"): [], - "//conditions:default": [ -@@ -1942,22 +1943,24 @@ def pywrap_tensorflow_macro( - - if not version_script: - version_script = select({ -- "@local_config_cuda//cuda:darwin": clean_dep("//tensorflow:tf_exported_symbols.lds"), -+ "//tensorflow:macos": clean_dep("//tensorflow:tf_exported_symbols.lds"), - "//conditions:default": clean_dep("//tensorflow:tf_version_script.lds"), - }) - vscriptname = name + "_versionscript" - _append_init_to_versionscript( - name = vscriptname, - is_version_script = select({ -- "@local_config_cuda//cuda:darwin": False, -+ "//tensorflow:macos": False, - "//conditions:default": True, - }), - module_name = module_name, - template_file = version_script, - ) - extra_linkopts = select({ -- "@local_config_cuda//cuda:darwin": [ -- "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, -+ clean_dep("//tensorflow:macos"): [ -+ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols -+ # not being exported. There should be a better way to deal with this. -+ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s.lds)" % vscriptname, - ], - clean_dep("//tensorflow:windows"): [], - "//conditions:default": [ -@@ -1966,9 +1969,6 @@ def pywrap_tensorflow_macro( - ], - }) - extra_deps += select({ -- "@local_config_cuda//cuda:darwin": [ -- "%s.lds" % vscriptname, -- ], - clean_dep("//tensorflow:windows"): [], - "//conditions:default": [ - "%s.lds" % vscriptname, -@@ -2598,8 +2598,10 @@ def pybind_extension( - ], - }), - linkopts = linkopts + _rpath_linkopts(name) + select({ -- "@local_config_cuda//cuda:darwin": [ -- "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, -+ clean_dep("//tensorflow:macos"): [ -+ # TODO: the -w suppresses a wall of harmless warnings about hidden typeinfo symbols -+ # not being exported. There should be a better way to deal with this. -+ "-Wl,-w", "-Wl,-exported_symbols_list,$(location %s)" % exported_symbols_file, - ], - clean_dep("//tensorflow:windows"): [], - "//conditions:default": [ -diff --git a/tensorflow/tools/pip_package/build_pip_package.sh b/tensorflow/tools/pip_package/build_pip_package.sh -index 7a070938..a1f26821 100755 ---- a/tensorflow/tools/pip_package/build_pip_package.sh -+++ b/tensorflow/tools/pip_package/build_pip_package.sh -@@ -216,10 +216,10 @@ function prepare_src() { - if [ -d "${TMPDIR}/tensorflow/_api/v1/" ] - then - cp -r ${TMPDIR}/tensorflow/python/keras/api/_v1/keras/ ${TMPDIR}/tensorflow/keras/ -- sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py -+ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v1/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + - else - cp -r ${TMPDIR}/tensorflow/python/keras/api/_v2/keras/ ${TMPDIR}/tensorflow/keras/ -- sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py -+ find . -type f -maxdepth 0 -exec sed -i'.original' -e 's/.python.keras.api._v2/tensorflow/g' ${TMPDIR}/tensorflow/__init__.py {} + - fi - } - -diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel -index 6a95bafc..ca4cf59f 100644 ---- a/third_party/cpuinfo/BUILD.bazel -+++ b/third_party/cpuinfo/BUILD.bazel -@@ -103,7 +103,7 @@ cc_library( - ":linux_armeabi": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, - ":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS, - ":linux_mips64": COMMON_SRCS + LINUX_SRCS, -- ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, -+ ":macos_x86_64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, - ":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS, From ee305dabfe6e2ce3683d331fc6061874577c4fa2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 8 Apr 2021 14:20:29 +0200 Subject: [PATCH 78/78] align some selectors --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3951ee23..64ee76bd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -84,7 +84,7 @@ requirements: outputs: - name: tensorflow-base - script: build_pkg.sh # [not win] + script: build_pkg.sh # [not win] script: build_pkg.bat # [win] build: entry_points: @@ -212,7 +212,7 @@ outputs: - {{ compiler('c') }} commands: - test -f $PREFIX/lib/libtensorflow.so # [not win] - - ./test_libtensorflow.sh # [not win] + - ./test_libtensorflow.sh # [not win] - name: libtensorflow_cc script: cp_libtensorflow_cc.sh @@ -243,7 +243,7 @@ outputs: - {{ compiler('cxx') }} commands: - test -f $PREFIX/lib/libtensorflow_cc.so # [not win] - - ./test_libtensorflow_cc.sh # [not win] + - ./test_libtensorflow_cc.sh # [not win] about: home: http://tensorflow.org/