mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 14:20:14 +02:00
<!-- Please describe your changes on the following line: --> This is a WIP patch to make rust-bindgen a build time dependency of style component for stylo. This should make things more automatic. I convert majority of `regen.py` to `build_gecko.rs`. It currently doesn't work on Windows, because of servo/rust-bindgen#271 (it works when I fix the generated file manually, though). I haven't tested other platforms. It would break servo's CI for geckolib, because: 1. it needs libclang (which is probably easy to solve) 2. it needs `MOZ_OBJDIR` to be passed in so that it can generate bindings @Manishearth @emilio Do you agree with this change? Do you have suggestion for the issues above? --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: 872ec89a9c546eb05246b5047aabfc032d140eff
30 lines
810 B
Bash
Executable file
30 lines
810 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
# Run in the tools directory.
|
|
cd "$(dirname ${0})"
|
|
|
|
# Setup and build bindgen.
|
|
if [[ "$(uname)" == "Linux" ]]; then
|
|
export LIBCLANG_PATH=/usr/lib/llvm-3.8/lib
|
|
else
|
|
export LIBCLANG_PATH="$(brew --prefix llvm38)/lib/llvm-3.8/lib"
|
|
fi
|
|
|
|
# Make sure we have llvm-3.8.
|
|
if [[ ! -x "$(command -v clang-3.8)" ]]; then
|
|
echo "llvm-3.8 is required." \
|
|
"Mac users should |brew install llvm38|," \
|
|
"Linux users can find it in clang-3.8."
|
|
exit 1
|
|
fi
|
|
|
|
export LD_LIBRARY_PATH="${LIBCLANG_PATH}"
|
|
export DYLD_LIBRARY_PATH="${LIBCLANG_PATH}"
|