LibFuzzer.podspec 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # Copyright 2018 Google
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # A podspec for libFuzzer. Excludes the 'FuzzerMain.cpp' because the pod
  15. # installation would require the 'LLVMFuzzerTestOneInput' function to be
  16. # linked when the pod is being created, but it will be available in
  17. # the fuzzing application. Hence, users of this Pod are required to
  18. # provide their main function similar to 'FuzzerMain.cpp'.
  19. # See the build script of libFuzzer for more details:
  20. # https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer/build.sh
  21. Pod::Spec.new do |s|
  22. s.name = 'LibFuzzer'
  23. s.version = '1.0'
  24. s.summary = 'libFuzzer for fuzz testing'
  25. s.homepage = 'https://llvm.org/docs/LibFuzzer.html'
  26. s.license = { :type => 'BSD-Like' }
  27. s.authors = 'LLVM Team'
  28. # LibFuzzer uses thread_local which does not appear to be supported before
  29. # iOS 9.
  30. s.ios.deployment_target = '9.0'
  31. # Check out only libFuzzer folder.
  32. s.source = {
  33. :svn => 'https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer'
  34. }
  35. # Add all source files, except for the FuzzerMain.cpp.
  36. s.source_files = '*.{h,cpp,def}'
  37. s.exclude_files = 'FuzzerMain.cpp'
  38. s.library = 'c++'
  39. s.pod_target_xcconfig = {
  40. 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11'
  41. }
  42. end