vendor-boringssl.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/sh
  2. #
  3. # Copyright 2016, Google Inc.
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions are
  8. # met:
  9. #
  10. # * Redistributions of source code must retain the above copyright
  11. # notice, this list of conditions and the following disclaimer.
  12. # * Redistributions in binary form must reproduce the above
  13. # copyright notice, this list of conditions and the following disclaimer
  14. # in the documentation and/or other materials provided with the
  15. # distribution.
  16. # * Neither the name of Google Inc. nor the names of its
  17. # contributors may be used to endorse or promote products derived from
  18. # this software without specific prior written permission.
  19. #
  20. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. #
  32. # This script creates a vendored copy of BoringSSL that is
  33. # suitable for building with the Swift Package Manager.
  34. #
  35. SRCROOT=third_party/grpc/third_party/boringssl
  36. DSTROOT=Sources/BoringSSL
  37. rm -rf $DSTROOT/crypto
  38. rm -rf $DSTROOT/include
  39. rm -rf $DSTROOT/ssl
  40. rm -rf $DSTROOT/err_data.c
  41. PATTERNS=(
  42. 'include/openssl/*.h'
  43. 'ssl/*.h'
  44. 'ssl/*.c'
  45. 'ssl/**/*.h'
  46. 'ssl/**/*.c'
  47. '*.c'
  48. 'crypto/*.h'
  49. 'crypto/*.c'
  50. 'crypto/**/*.h'
  51. 'crypto/**/*.c'
  52. '*.h'
  53. 'crypto/*.h'
  54. 'crypto/**/*.h')
  55. EXCLUDES=(
  56. '*_test.*'
  57. 'test_*.*'
  58. 'test')
  59. for pattern in "${PATTERNS[@]}"
  60. do
  61. echo "PATTERN $pattern"
  62. for i in $SRCROOT/$pattern; do
  63. path=${i#$SRCROOT}
  64. dest="$DSTROOT/$path"
  65. dest_dir=$(dirname $dest)
  66. mkdir -p $dest_dir
  67. echo $SRCROOT/$path
  68. echo $dest
  69. cp $SRCROOT/$path $dest
  70. done
  71. done
  72. cp ./third_party/grpc/src/boringssl/err_data.c $DSTROOT
  73. for exclude in "${EXCLUDES[@]}"
  74. do
  75. echo "EXCLUDE $exclude"
  76. find $DSTROOT -name "$exclude" -exec rm -rf {} \;
  77. done