Commit Graph

109 Commits

Author SHA1 Message Date
Sergey Bogolepov 75215fcb97 [K/N] Option to build smaller LLVM distribution.
Also add a few adjustments to `package.py`:
* Enable threading in LLVM
* Replace `--archive-path` with `--pack` to avoid naming divergence.
2021-08-23 10:13:34 +00:00
Dmitriy Novozhilov d7368c341e [Build] Update kotlin-build-gradle-plugin version to 0.0.32 2021-08-05 15:22:41 +03:00
Elena Lepilkina dcd61c292d [K/N][perf] Fix kotlin language version in kotlin-dsl plugin for performance subproject 2021-08-04 10:39:53 +00:00
Pavel Punegov 73bb6d5d34 [Native] Move JavaLauncher property from global scope to the KonanPlugin 2021-08-03 10:15:08 +00:00
Pavel Punegov 6bbfe0d503 [Native] Add project property that holds JavaLauncher provider
This property is initialized once to make ToolRunner do not query for
the launcher. Also set JDK 11 as a default in case of an unavailable JDK
set as the toolchain, like JDK 17 that is not available in the auto mode
in Gradle and requires environment variable to be set.
2021-08-03 10:15:08 +00:00
Pavel Punegov ba5bd0b069 [Native] Add java plugin dependency to Konan plugin
Change required version of Gradle to 6.7
2021-08-03 10:15:07 +00:00
Pavel Punegov afa8e16c25 [Native] JDK toolchains in KonanToolRunner
Use JDK toolchains in KonanToolRunner to make build able to change JDK
Use JDK 17 for MacOS aarch64 hosts
2021-08-03 10:15:06 +00:00
Sergey Bogolepov 84d06f35e9 [K/N] Update usages of LLVM bin directory on Windows 2021-08-03 05:42:09 +00:00
Sergey Bogolepov 7dda04a1c9 [K/N] Update LLVM distributions to 11.1.0
This commit is important for several reasons:
1. Finally, LLVM update from 8.0.0 to 11.1.0
At the time of writing, LLVM 12.0.0 already came out, but we need to be
compatible with LLVM from Xcode 12.5, so that's why we stick to a bit
older version of LLVM.
2. These LLVM distributions are built with tools/llvm_builder/package.py
We finally managed to introduce an explicit process of building our LLVM
distributions, so we will be able to updated them more frequently and
adapt to our needs.
3. Native Windows LLVM instead of MinGW
Last but not least, we now use native Windows LLVM distribution. While
it might be harder to use (no more posix everywhere), simpler build
process (building msys2 is not that easy) and no need for MinGW-specific
patches makes such distribution way more convenient.
2021-08-03 05:42:00 +00:00
Sergey Bogolepov 44256db824 [K/N] Update minimal Xcode version
The next LLVM version will be 11.1.0, and we need to be sure that
Xcode supports bitcode of this version. So we bump minimal Xcode version
to 12.5, which should be OK, because by the time Kotlin 1.6.0 comes out,
Xcode 12.5 will be around 6 month old.

Also this commit simplifies tarball naming.
2021-08-03 05:42:00 +00:00
Sergey Bogolepov f8528c5cca [K/N] Dockerfile for building LLVM
Provide a stable environment for building LLVM for Linux
by using Docker. Note that the base image is Ubuntu 16.04,
so after LLVM update building Kotlin/Native on Linux will
require glibc 2.23 or higher.
2021-07-22 10:44:03 +00:00
Elena Lepilkina cdeda58ed4 [K/N][perf] Added opportunity to set up tagged branch and added benchmarks plots for new MM 2021-07-12 12:26:20 +00:00
Pavel Punegov 269f83f86e Update kotlin-build-gradle-plugin to 0.0.31 2021-07-05 19:43:28 +00:00
Vasily Levchenko 635a0fb01c [build][performance]kotlin:kotlin-build-gradle-plugin 0.0.29 -> 0.0.30 2021-06-23 09:07:29 +00:00
Nikolay Krasko b6b983aa2a Update kotlin:kotlin-build-gradle-plugin 0.0.29 -> 0.0.30 (KTI-563)
Remove ultimate mentioning
2021-06-09 22:19:53 +03:00
Sergey Bogolepov bcd28615a6 [Native] Add initial version of LLVM buildscript
Previously there was no determined way to build LLVM for Kotlin/Native.
This commits adds a Python script that allows to do so on all hosts.
2021-06-08 14:42:43 +00:00
Pavel Punegov 789799ac17 Revert simpleOsName in HostManager
Support old naming in simpleOsName.
Introduce new platformName method for the new archive naming.
2021-06-02 18:30:52 +03:00
Alexander Likhachev 3df45f9651 [Build] Bump kotlin-build-gradle-plugin version to 0.0.29 2021-05-18 16:37:36 +03:00
Pavel Punegov 53bf0b1c42 Update Build gradle plugin to 0.0.28 2021-05-12 10:34:36 +03:00
Vasily Levchenko c2a46baa77 [build][kotlin-native][test] fix dist dependencies for test targets 2021-05-11 05:47:17 +00:00
Vasily Levchenko b389fd6667 [performance][build][kotlin-build-gradle-plugin] version 0.0.27 (fix) 2021-05-04 15:44:19 +00:00
Vasily Levchenko 788d3c022a [build][kotlin-build-gradle-plugin] version 0.0.27
- reading konanVersion and konanMetaVersion from project properties
2021-04-30 10:26:36 +00:00
Elena Lepilkina 1fea08aac1 [Native][Performance server] Fix request for new composite build numbers 2021-04-05 10:52:54 +00:00
Elena Lepilkina 393aaac2b9 [Native] Removed old gradle properties for kotlin repo and versions 2021-04-02 05:42:13 +00:00
Elena Lepilkina 510e38b791 [K/N][performance] Adopted performance service to work with new configurations and build numbers 2021-03-29 17:10:18 +00:00
Ilya Matveev e56ac775ca [K/N][tests] Do not propagate user.dir property to compiler/cinterop
In a Gradle process, the user.dir property is set to the directory
where the build was started. By default, if we start a child process
via project.javaexec, Gradle sets its working directory to the
directory of the current project. But passing Gradle's value of user.dir
to that process overrides this setting.

This makes tools started in a such way sensitive to directory the build
is started from. Thus a test using relative paths may fail if it is
started from a wrong directory.

This patch fixes this issue for Kotlin/Native tests.
2021-03-26 12:38:27 +03:00
Sergey Bogolepov e320f7efc3 Add libffi buildscript for Apple Silicon 2021-03-19 07:21:39 +00:00
Dmitriy Novozhilov f5d00716d1 Advance kotlin-build-gradle-plugin version to 0.0.26 2021-03-15 12:13:01 +03:00
Elena Lepilkina f7099d34d4 [K/N] Fixed build of performance server project 2021-03-10 11:49:39 +00:00
Sergey Bogolepov f5f7e976f6 Fix #KT-45094
Rebuild linux toolchains with an older OS.

(cherry picked from commit 1d249ad7b592573dc4478f0f6cefe2766c323e12)
2021-03-09 20:19:33 +00:00
Sergey Bogolepov 357f2be14e [Toolchain] Archive versioning
Allow toolchain builder to add a suffix to toolchain name.
It is useful for rebuilding the same toolchain in different environment.

(cherry picked from commit 83148fc5bb4e8bcc5afcf119df53ec1bc854be17)
2021-03-09 20:19:32 +00:00
Vasily Levchenko ab68bb6ddb [performance] enable "swift run" 2021-03-05 09:53:26 +00:00
Vasily Levchenko 20aef57677 [performance] resolve issue with movement of kotlinx-metadata-klib and some bintray clean up 2021-03-03 14:53:19 +00:00
Alexander Udalov 3f16f84d0d Fix warnings in buildSrc 2021-03-01 19:47:24 +01:00
Vasily Levchenko f87132fff4 [performance] don't override user defined properties with fixed values 2021-02-26 12:51:53 +01:00
Vasily Levchenko c9e0928038 [performance] enable project performance
(cherry picked from commit 947c3bd92b2ee8d252619cf987427a7e195191cb)
2021-02-26 12:51:53 +01:00
Pavel Punegov 7ad656ea7f Fix cyclic dependency in run task configuration. 2021-02-26 12:51:51 +01:00
Vasily Levchenko 905c0c3dd3 [build] version of kotlin native stored in resouces 2021-02-26 12:51:51 +01:00
Vasily Levchenko 8a4b5efa9e [build][native] don't ever fix dist, take it with API 2021-02-24 11:07:17 +01:00
Vasily Levchenko 840c1e612c [build] joint (step 2)
- dist:
  - compiler
  - tools(cinterop,klib)
  - stdlib
  - cache
2021-02-24 11:07:13 +01:00
Vasily Levchenko c85c3ac123 [build] joint (step 1)
(cherry picked from commit 7d0775f7e69ab900200bcf1fa78b94d68e6bd4f6)
2021-02-24 11:04:59 +01:00
Dmitriy Dolovov 62ca6e44e4 Script for repacking prebuilt bundles (to exclude 'prebuilt' word) 2021-02-15 10:16:10 +01:00
Vasily Levchenko 8b2f0d644b [build] kotlin.*Compile: -Xskip-prerelease-check
(cherry picked from commit 57172ac6ead928b565fefaf49d8405a07c856e25)
2021-02-01 16:54:15 +01:00
Pavel Punegov 8a48609823 Lazy task creation in konan plugin using Gradle Providers API.
Removes obsolete CMake task and IDE model.

Use Provider API for klib files. Replace findAll with matching to make tasks configure lazily

Make some test tasks use lazy configuration

Fix adding tasks to lists. Add it. to all fields to improve IDEA navigation

Remove obsolete IDE model from the task

Remove tooling model tests

Fix aggregate task dependency

Fix run tasks. Cleanup

Review fixes
2021-02-01 16:54:14 +01:00
LepilkinaElena a403b9ff05 Support for stable and unstable benchmarks. Refactoring to get separate tables for metrics. (#4641) 2021-01-26 17:38:02 +03:00
Sergey Bogolepov e6d202a2aa More robust toolchain builder script 2020-12-14 15:31:10 +01:00
Sergey Bogolepov ddaf477849 Support new linux_arm32_hfp_toolchain 2020-12-14 15:31:10 +01:00
Sergey Bogolepov 73c27df1be Support new linux_mips32 and linux_mipsel32 toolchains 2020-12-14 15:31:07 +01:00
Sergey Bogolepov 02379d9412 Introduce QEMU build scripts 2020-12-14 15:25:37 +01:00
Sergey Bogolepov 9c082775e6 Support caches on ios_arm64 2020-12-14 15:25:37 +01:00