mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Reland "Compile libcxx and libcxxabi for Android (#6886)" (flutter/engine#6919)
This reverts commit f480d3596c45c8c4e601d4f789a8c4a43a542337.
This commit is contained in:
parent
e18ea1518f
commit
c686b061f5
8
DEPS
8
DEPS
@ -117,7 +117,7 @@ allowed_hosts = [
|
||||
]
|
||||
|
||||
deps = {
|
||||
'src': 'https://github.com/flutter/buildroot.git' + '@' + '29a5d76757ec12655c0562b317830f669bd44ea7',
|
||||
'src': 'https://github.com/flutter/buildroot.git' + '@' + 'b7f2b443b5648b9cd7ad539d8b4f73b3c69fedbf',
|
||||
|
||||
# Fuchsia compatibility
|
||||
#
|
||||
@ -140,6 +140,12 @@ deps = {
|
||||
'src/third_party/harfbuzz':
|
||||
Var('fuchsia_git') + '/third_party/harfbuzz' + '@' + '02caec6c1c6ad996666788b8e920ccaec8b385e5',
|
||||
|
||||
'src/third_party/libcxx':
|
||||
Var('fuchsia_git') + '/third_party/libcxx' + '@' + 'c5a5fa59789213c7dae68d2e51cb28ef681d8257',
|
||||
|
||||
'src/third_party/libcxxabi':
|
||||
Var('fuchsia_git') + '/third_party/libcxxabi' + '@' + '1a9753522f1ae8d72848d365902f39e0d3d59a39',
|
||||
|
||||
# Chromium-style
|
||||
#
|
||||
# As part of integrating with Fuchsia, we should eventually remove all these
|
||||
|
||||
@ -7116,6 +7116,117 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
--------------------------------------------------------------------------------
|
||||
libcxx
|
||||
|
||||
University of Illinois/NCSA
|
||||
Open Source License
|
||||
|
||||
Copyright (c) 2009-2017 by the contributors listed in CREDITS.TXT
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Developed by:
|
||||
|
||||
LLVM Team
|
||||
|
||||
University of Illinois at Urbana-Champaign
|
||||
|
||||
http://llvm.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal with
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of the LLVM Team, University of Illinois at
|
||||
Urbana-Champaign, nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this Software without specific
|
||||
prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||
SOFTWARE.
|
||||
--------------------------------------------------------------------------------
|
||||
libcxx
|
||||
libcxxabi
|
||||
|
||||
Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
--------------------------------------------------------------------------------
|
||||
libcxxabi
|
||||
|
||||
University of Illinois/NCSA
|
||||
Open Source License
|
||||
|
||||
Copyright (c) 2009-2018 by the contributors listed in CREDITS.TXT
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Developed by:
|
||||
|
||||
LLVM Team
|
||||
|
||||
University of Illinois at Urbana-Champaign
|
||||
|
||||
http://llvm.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal with
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of the LLVM Team, University of Illinois at
|
||||
Urbana-Champaign, nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this Software without specific
|
||||
prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||
SOFTWARE.
|
||||
--------------------------------------------------------------------------------
|
||||
libjpeg-turbo
|
||||
|
||||
Copyright (C) 1999-2006, MIYASAKA Masaru.
|
||||
|
||||
@ -809,8 +809,7 @@ class _RepositoryMultiLicenseNoticesForFilesFile extends _RepositoryLicenseFile
|
||||
Iterable<License> get licenses => _licenses.values;
|
||||
}
|
||||
|
||||
// TODO(goderbauer): use this in https://github.com/flutter/engine/pull/6886.
|
||||
class _RepositoryCxxStlDualLicenseFile extends _RepositoryLicenseFile { // ignore: unused_element
|
||||
class _RepositoryCxxStlDualLicenseFile extends _RepositoryLicenseFile {
|
||||
_RepositoryCxxStlDualLicenseFile(_RepositoryDirectory parent, fs.TextFile io)
|
||||
: _licenses = _parseLicenses(io), super(parent, io);
|
||||
|
||||
@ -1488,6 +1487,62 @@ class _RepositoryJSR305SrcDirectory extends _RepositoryDirectory {
|
||||
}
|
||||
}
|
||||
|
||||
class _RepositoryLibcxxDirectory extends _RepositoryDirectory {
|
||||
_RepositoryLibcxxDirectory(_RepositoryDirectory parent, fs.Directory io) : super(parent, io);
|
||||
|
||||
@override
|
||||
bool shouldRecurse(fs.IoNode entry) {
|
||||
return entry.name != 'utils'
|
||||
&& super.shouldRecurse(entry);
|
||||
}
|
||||
|
||||
@override
|
||||
_RepositoryDirectory createSubdirectory(fs.Directory entry) {
|
||||
if (entry.name == 'src')
|
||||
return new _RepositoryLibcxxSrcDirectory(this, entry);
|
||||
return super.createSubdirectory(entry);
|
||||
}
|
||||
|
||||
@override
|
||||
_RepositoryFile createFile(fs.IoNode entry) {
|
||||
if (entry.name == 'LICENSE.TXT')
|
||||
return new _RepositoryCxxStlDualLicenseFile(this, entry);
|
||||
return super.createFile(entry);
|
||||
}
|
||||
}
|
||||
|
||||
class _RepositoryLibcxxSrcDirectory extends _RepositoryDirectory {
|
||||
_RepositoryLibcxxSrcDirectory(_RepositoryDirectory parent, fs.Directory io) : super(parent, io);
|
||||
|
||||
@override
|
||||
_RepositoryDirectory createSubdirectory(fs.Directory entry) {
|
||||
if (entry.name == 'support')
|
||||
return new _RepositoryLibcxxSrcSupportDirectory(this, entry);
|
||||
return super.createSubdirectory(entry);
|
||||
}
|
||||
}
|
||||
|
||||
class _RepositoryLibcxxSrcSupportDirectory extends _RepositoryDirectory {
|
||||
_RepositoryLibcxxSrcSupportDirectory(_RepositoryDirectory parent, fs.Directory io) : super(parent, io);
|
||||
|
||||
@override
|
||||
bool shouldRecurse(fs.IoNode entry) {
|
||||
return entry.name != 'solaris'
|
||||
&& super.shouldRecurse(entry);
|
||||
}
|
||||
}
|
||||
|
||||
class _RepositoryLibcxxabiDirectory extends _RepositoryDirectory {
|
||||
_RepositoryLibcxxabiDirectory(_RepositoryDirectory parent, fs.Directory io) : super(parent, io);
|
||||
|
||||
@override
|
||||
_RepositoryFile createFile(fs.IoNode entry) {
|
||||
if (entry.name == 'LICENSE.TXT')
|
||||
return new _RepositoryCxxStlDualLicenseFile(this, entry);
|
||||
return super.createFile(entry);
|
||||
}
|
||||
}
|
||||
|
||||
class _RepositoryLibJpegDirectory extends _RepositoryDirectory {
|
||||
_RepositoryLibJpegDirectory(_RepositoryDirectory parent, fs.Directory io) : super(parent, io);
|
||||
|
||||
@ -1699,6 +1754,10 @@ class _RepositoryRootThirdPartyDirectory extends _RepositoryGenericThirdPartyDir
|
||||
return new _RepositoryIcuDirectory(this, entry);
|
||||
if (entry.name == 'jsr-305')
|
||||
return new _RepositoryJSR305Directory(this, entry);
|
||||
if (entry.name == 'libcxx')
|
||||
return new _RepositoryLibcxxDirectory(this, entry);
|
||||
if (entry.name == 'libcxxabi')
|
||||
return new _RepositoryLibcxxabiDirectory(this, entry);
|
||||
if (entry.name == 'libjpeg')
|
||||
return new _RepositoryLibJpegDirectory(this, entry);
|
||||
if (entry.name == 'libjpeg_turbo' || entry.name == 'libjpeg-turbo')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user