-
Notifications
You must be signed in to change notification settings - Fork 14.9k
[third-party] Add a snapshot of Boost.Math 1.89 standalone #141508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ldionne
wants to merge
10
commits into
llvm:main
Choose a base branch
from
ldionne:review/add-boost-math-third-party
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
52ac4c6
[third-party] Add a snapshot of Boost.Math 1.88 standalone
ldionne 8a41ea1
Update to Boost.Math 1.89
ldionne 287b78b
Add README per RFC
ldionne d6d4941
Add a script to update the library and subset it
ldionne b4c2c6a
Subset boost-math using the script
ldionne 9bf121f
Also nuke reporting subdir
ldionne e6a980d
Reword subfolder
ldionne cc1c970
Hardcode version in update script
ldionne 2dca330
Subset more -- dont keep src/tr1
ldionne 63f0d78
Reword Boost.Math usage intent
ldionne File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Third-party LLVM dependencies | ||
|
||
This directory contains third-party dependencies used in various components of LLVM. | ||
Integrating a new third-party dependency generally requires it to be licensed under | ||
the Apache-with-LLVM-exception license. For integrating code under other licenses, | ||
please follow the process explained in the [LLVM Developer Policy](https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents). | ||
|
||
In particular, due to its non-LLVM license, the Boost.Math third-party dependency | ||
can exclusively be used within the libc++ compiled library as discussed in [this RFC](https://discourse.llvm.org/t/rfc-libc-taking-a-dependency-on-boost-math-for-the-c-17-math-special-functions). | ||
Do not use it in other parts of LLVM without prior discussion with the LLVM Board | ||
(and update this documentation). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Copyright 2019 - 2021 Alexander Grund | ||
# Distributed under the Boost Software License, Version 1.0. | ||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) | ||
# | ||
# Sample codecov configuration file. Edit as required | ||
|
||
codecov: | ||
max_report_age: off | ||
require_ci_to_pass: yes | ||
notify: | ||
# Increase this if you have multiple coverage collection jobs | ||
after_n_builds: 1 | ||
wait_for_ci: yes | ||
|
||
# Change how pull request comments look | ||
comment: | ||
layout: "reach,diff,flags,files,footer" | ||
|
||
# Ignore specific files or folders. Glob patterns are supported. | ||
# See https://docs.codecov.com/docs/ignoring-paths | ||
ignore: | ||
- extra/**/* | ||
- reporting/**/* | ||
- example/**/* | ||
- include_private/**/* | ||
- tools/**/* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Use, modification, and distribution are | ||
# subject to the Boost Software License, Version 1.0. (See accompanying | ||
# file LICENSE.txt) | ||
# | ||
# Copyright Rene Rivera 2020. | ||
# Copyright John Maddock 2021. | ||
|
||
# For Drone CI we use the Starlark scripting language to reduce duplication. | ||
# As the yaml syntax for Drone CI is rather limited. | ||
# | ||
# | ||
globalenv={} | ||
linuxglobalimage="cppalliance/droneubuntu1604:1" | ||
windowsglobalimage="cppalliance/dronevs2019" | ||
|
||
def main(ctx): | ||
|
||
things_to_test = [ "special_fun", "distribution_tests", "mp", "misc", "interpolators", "quadrature", "autodiff", "long-running-tests", "float128_tests", "concepts" ] | ||
gcc13_things_to_test = [ "special_fun", "distribution_tests", "mp", "misc", "interpolators", "quadrature", "autodiff", "long-running-tests", "float128_tests", "concepts", "new_floats" ] | ||
sanitizer_test = [ "special_fun", "distribution_tests", "misc", "interpolators", "quadrature", "float128_tests" ] | ||
gnu_5_stds = [ "gnu++14", "c++14" ] | ||
gnu_6_stds = [ "gnu++14", "c++14", "gnu++17", "c++17" ] | ||
clang_6_stds = [ "c++14", "c++17" ] | ||
gnu_9_stds = [ "gnu++14", "c++14", "gnu++17", "c++17", "gnu++2a", "c++2a" ] | ||
clang_10_stds = [ "c++14", "c++17", "c++2a" ] | ||
gnu_non_native = [ "gnu++17" ] | ||
gcc13_stds = [ "c++23" ] | ||
|
||
result = [] | ||
|
||
for suite in sanitizer_test: | ||
# | ||
# Sanitizers: | ||
# | ||
result.append(linux_cxx("Ubuntu Clang-18 C++20 ASAN" + " " + suite, "clang++-18", packages="clang-18", privileged=True, buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-18', 'CXXSTD': 'gnu++20', 'TEST_SUITE': suite, 'OPTIONS': '<cxxflags>-fsanitize=address <linkflags>-fsanitize=address <cxxflags>-DBOOST_CI_SANITIZER_BUILD' }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu Clang-18 C++20 USAN" + " " + suite, "clang++-18", packages="clang-18", privileged=True, buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-18', 'CXXSTD': 'gnu++20', 'TEST_SUITE': suite, 'OPTIONS': '<cxxflags>-fsanitize=undefined <linkflags>-fsanitize=undefined <cxxflags>-DBOOST_CI_SANITIZER_BUILD' }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu Clang-18 C++20 TSAN" + " " + suite, "clang++-18", packages="clang-18", privileged=True, buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-18', 'CXXSTD': 'gnu++20', 'TEST_SUITE': suite, 'OPTIONS': '<cxxflags>-fsanitize=thread <linkflags>-fsanitize=thread <cxxflags>-DBOOST_CI_SANITIZER_BUILD' }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu Clang-18 C++20 ISAN" + " " + suite, "clang++-18", packages="clang-18", privileged=True, buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-18', 'CXXSTD': 'gnu++20', 'TEST_SUITE': suite, 'OPTIONS': '<cxxflags>-fsanitize=integer <linkflags>-fsanitize=integer' }, globalenv=globalenv)) | ||
|
||
for suite in things_to_test: | ||
for cxx in gnu_5_stds: | ||
result.append(linux_cxx("Ubuntu g++-5 " + cxx + " " + suite, "g++-5", packages="g++-5", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in gnu_6_stds: | ||
result.append(linux_cxx("Ubuntu g++-6 " + cxx + " " + suite, "g++-6", packages="g++-6", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-7 " + cxx + " " + suite, "g++-7", packages="g++-7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-8 " + cxx + " " + suite, "g++-8", packages="g++-8", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-9 " + cxx + " " + suite, "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in clang_6_stds: | ||
result.append(linux_cxx("Ubuntu clang++-6 " + cxx + " " + suite, "clang++-6.0", packages="clang-6.0", llvm_os="xenial", llvm_ver="6.0", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-6.0', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu clang++-7 " + cxx + " " + suite, "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu clang++-8 " + cxx + " " + suite, "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu clang++-9 " + cxx + " " + suite, "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in gnu_9_stds: | ||
result.append(linux_cxx("Ubuntu g++-10 " + cxx + " " + suite, "g++-10", packages="g++-10", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-11 " + cxx + " " + suite, "g++-11", packages="g++-11", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-11', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-12 " + cxx + " " + suite, "g++-12", packages="g++-12", buildtype="boost", image="cppalliance/droneubuntu2204:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-12', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu clang++-14 " + cxx + " " + suite, "clang++-14", packages="clang-14", llvm_os="jammy", llvm_ver="14", buildtype="boost", image="cppalliance/droneubuntu2204:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-14', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu clang++-15 " + cxx + " " + suite, "clang++-15", packages="clang-15", llvm_os="jammy", llvm_ver="15", buildtype="boost", image="cppalliance/droneubuntu2204:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-15', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in clang_10_stds: | ||
result.append(linux_cxx("Ubuntu clang++-10 " + cxx + " " + suite, "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in gnu_non_native: | ||
result.append(linux_cxx("Ubuntu g++ s390s " + cxx + " " + suite, "g++", packages="g++", buildtype="boost", image="cppalliance/droneubuntu2204:multiarch", arch="s390x", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in gnu_non_native: | ||
result.append(linux_cxx("Ubuntu g++ ARM64" + cxx + " " + suite, "g++", packages="g++", buildtype="boost", image="cppalliance/droneubuntu2204:multiarch", arch="arm64", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
for cxx in gnu_non_native: | ||
result.append(osx_cxx("M1 Clang " + cxx + " " + suite, "clang++", buildscript="drone", buildtype="boost", xcode_version="14.1", environment={'TOOLSET': 'clang', 'CXXSTD': cxx, 'TEST_SUITE': suite, 'DEFINE': 'BOOST_MATH_NO_REAL_CONCEPT_TESTS,BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS,BOOST_MATH_MULTI_ARCH_CI_RUN', }, globalenv=globalenv)) | ||
for suite in gcc13_things_to_test: | ||
for cxx in gcc13_stds: | ||
result.append(linux_cxx("Ubuntu g++-13 " + cxx + " " + suite, "g++-13", packages="g++-13", buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-13', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
result.append(linux_cxx("Ubuntu g++-14 " + cxx + " " + suite, "g++-14", packages="g++-14", buildtype="boost", image="cppalliance/droneubuntu2404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-14', 'CXXSTD': cxx, 'TEST_SUITE': suite, }, globalenv=globalenv)) | ||
|
||
return result | ||
|
||
# from https://github.com/boostorg/boost-ci | ||
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
* text=auto !eol svneol=native#text/plain | ||
*.gitattributes text svneol=native#text/plain | ||
|
||
# Scriptish formats | ||
*.bat text svneol=native#text/plain | ||
*.bsh text svneol=native#text/x-beanshell | ||
*.cgi text svneol=native#text/plain | ||
*.cmd text svneol=native#text/plain | ||
*.js text svneol=native#text/javascript | ||
*.php text svneol=native#text/x-php | ||
*.pl text svneol=native#text/x-perl | ||
*.pm text svneol=native#text/x-perl | ||
*.py text svneol=native#text/x-python | ||
*.sh eol=lf svneol=LF#text/x-sh | ||
configure eol=lf svneol=LF#text/x-sh | ||
|
||
# Image formats | ||
*.bmp binary svneol=unset#image/bmp | ||
*.gif binary svneol=unset#image/gif | ||
*.ico binary svneol=unset#image/ico | ||
*.jpeg binary svneol=unset#image/jpeg | ||
*.jpg binary svneol=unset#image/jpeg | ||
*.png binary svneol=unset#image/png | ||
*.tif binary svneol=unset#image/tiff | ||
*.tiff binary svneol=unset#image/tiff | ||
*.svg text svneol=native#image/svg%2Bxml | ||
|
||
# Data formats | ||
*.pdf binary svneol=unset#application/pdf | ||
*.avi binary svneol=unset#video/avi | ||
*.doc binary svneol=unset#application/msword | ||
*.dsp text svneol=crlf#text/plain | ||
*.dsw text svneol=crlf#text/plain | ||
*.eps binary svneol=unset#application/postscript | ||
*.gz binary svneol=unset#application/gzip | ||
*.mov binary svneol=unset#video/quicktime | ||
*.mp3 binary svneol=unset#audio/mpeg | ||
*.ppt binary svneol=unset#application/vnd.ms-powerpoint | ||
*.ps binary svneol=unset#application/postscript | ||
*.psd binary svneol=unset#application/photoshop | ||
*.rdf binary svneol=unset#text/rdf | ||
*.rss text svneol=unset#text/xml | ||
*.rtf binary svneol=unset#text/rtf | ||
*.sln text svneol=native#text/plain | ||
*.swf binary svneol=unset#application/x-shockwave-flash | ||
*.tgz binary svneol=unset#application/gzip | ||
*.vcproj text svneol=native#text/xml | ||
*.vcxproj text svneol=native#text/xml | ||
*.vsprops text svneol=native#text/xml | ||
*.wav binary svneol=unset#audio/wav | ||
*.xls binary svneol=unset#application/vnd.ms-excel | ||
*.zip binary svneol=unset#application/zip | ||
|
||
# Text formats | ||
.htaccess text svneol=native#text/plain | ||
*.bbk text svneol=native#text/xml | ||
*.cmake text svneol=native#text/plain | ||
*.css text svneol=native#text/css | ||
*.dtd text svneol=native#text/xml | ||
*.htm text svneol=native#text/html | ||
*.html text svneol=native#text/html | ||
*.ini text svneol=native#text/plain | ||
*.log text svneol=native#text/plain | ||
*.mak text svneol=native#text/plain | ||
*.qbk text svneol=native#text/plain | ||
*.rst text svneol=native#text/plain | ||
*.sql text svneol=native#text/x-sql | ||
*.txt text svneol=native#text/plain | ||
*.xhtml text svneol=native#text/xhtml%2Bxml | ||
*.xml text svneol=native#text/xml | ||
*.xsd text svneol=native#text/xml | ||
*.xsl text svneol=native#text/xml | ||
*.xslt text svneol=native#text/xml | ||
*.xul text svneol=native#text/xul | ||
*.yml text svneol=native#text/plain | ||
boost-no-inspect text svneol=native#text/plain | ||
CHANGES text svneol=native#text/plain | ||
COPYING text svneol=native#text/plain | ||
INSTALL text svneol=native#text/plain | ||
Jamfile text svneol=native#text/plain | ||
Jamroot text svneol=native#text/plain | ||
Jamfile.v2 text svneol=native#text/plain | ||
Jamrules text svneol=native#text/plain | ||
Makefile* text svneol=native#text/plain | ||
README text svneol=native#text/plain | ||
TODO text svneol=native#text/plain | ||
|
||
# Code formats | ||
*.c text svneol=native#text/plain | ||
*.cpp text svneol=native#text/plain | ||
*.h text svneol=native#text/plain | ||
*.hpp text svneol=native#text/plain | ||
*.ipp text svneol=native#text/plain | ||
*.tpp text svneol=native#text/plain | ||
*.jam text svneol=native#text/plain | ||
*.java text svneol=native#text/plain |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/doc/inspect.htm | ||
/**/*.log | ||
reporting/*/third_party | ||
reporting/*/html | ||
inspect.html | ||
/example/float128_examples.cpp | ||
test/cuda | ||
*.DS_Store | ||
/**/*.dSYM/ | ||
**/.temps/* | ||
build/* | ||
.vscode/* | ||
*.svg | ||
tools/bin/** | ||
.idea/* | ||
|
||
# CMake Related Options | ||
*.a | ||
*.o | ||
cmake_install.cmake | ||
CMakeCache.txt | ||
Makefile | ||
**/CMakeFiles/** | ||
**CTestTestfile.cmake | ||
DartConfiguration.tcl | ||
cmake-build-debug/* | ||
.cmake/* | ||
build.ninja | ||
.ninja* | ||
a.out |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Endilll @AaronBallman What do you think about this README for third-party dependencies?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The second paragraph leaves an impression that libc++ specifically got some kind of permission from Boost to use their library, while it seems that we've just looked at Boost license and came to conclusion that libc++ usage is fine.
Otherwise SGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reworded!