#!/bin/bash -eu # Copyright 2019 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ################################################################################ cd proxygen # Link to, and copy over, libunwind # We need to link to libunwind to ensure exception handling works # See https://clang.llvm.org/docs/Toolchain.html#unwind-library export LDFLAGS="-lunwind" mkdir -p $OUT/lib cp /usr/lib/x86_64-linux-gnu/libunwind.so.8 $OUT/lib/ # Build everything ./build.sh -m --no-install-dependencies --build-for-fuzzing # Patch rpath so fuzzers can find libunwind find ./_build/proxygen/fuzzers -type f -executable -exec patchelf --set-rpath '$ORIGIN/lib' {} \; # Copy fuzzers over to the destination find ./_build/proxygen/fuzzers -type f -executable -exec cp {} $OUT/ \;