link_babblesim.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. #
  3. # Licensed to the Apache Software Foundation (ASF) under one
  4. # or more contributor license agreements. See the NOTICE file
  5. # distributed with this work for additional information
  6. # regarding copyright ownership. The ASF licenses this file
  7. # to you under the Apache License, Version 2.0 (the
  8. # "License"); you may not use this file except in compliance
  9. # with the License. You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing,
  14. # software distributed under the License is distributed on an
  15. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. # KIND, either express or implied. See the License for the
  17. # specific language governing permissions and limitations
  18. # under the License.
  19. #
  20. if [ -z ${BSIM_COMPONENTS_PATH+x} ]; then
  21. echo "This board requires the BabbleSim simulator. Please set" \
  22. "the environment variable BSIM_COMPONENTS_PATH to point to its components" \
  23. "folder. More information can be found in" \
  24. "https://babblesim.github.io/folder_structure_and_env.html"
  25. exit 1
  26. fi
  27. if [ -z ${BSIM_OUT_PATH+x} ]; then
  28. echo "This board requires the BabbleSim simulator. Please set" \
  29. "the environment variable BSIM_OUT_PATH to point to the folder where the" \
  30. "simulator is compiled to. More information can be found in" \
  31. "https://babblesim.github.io/folder_structure_and_env.html"
  32. exit 1
  33. fi
  34. ln -sfn "${BSIM_COMPONENTS_PATH}" ./components
  35. mkdir -p ./src/
  36. cp "${BSIM_OUT_PATH}"/lib/*.32.a ./src/
  37. # XXX: Workaround for bad linking by newt. Sometimes newt will link
  38. # nrf weak functions from nrf_hal_originals.o instead of their BabbleSim
  39. # replacements inside libNRF52_hw_models.32.a. But as long as the other
  40. # weak functions, that do not have their replacements, are not used,
  41. # we can just remove the file from the .a library here.
  42. ar d ./src/libNRF52_hw_models.32.a nrf_hal_originals.o