Summary:
There are two separate changes here.
### Use `find_package`
The old setup of "let's manually enumerate and order the libraries that Bistro depends on" worked fine, except:
- it was a bit brittle (requiring occasional patches as deps changed), and
- it garnered a lot of feedback to the effect of "your build is weird, so it's probably broken because of that."
Now I expect to have fewer breaks and more plausible deniability :)
More importantly, this should make it much easier to migrate to `getdeps.py`.
## Statically link `fmt`
After `fmt` was added as a `folly` dependency, and linked into Folly code used by Bistro, its tests would fail to run with this error: `test_sqlite_task_store: error while loading shared libraries: libfmt.so.6: cannot open shared object file: No such file or directory`.
Something was getting messed up in the dynamic linking, and it wasn't clear to me what -- the way that Bistro is linking its dependencies certainly seems sensible. Most likely one of the dependencies is incompatible with dynamic linking in a subtle way. I suspect Proxygen.
The `fmt.py` change in this diff addresses this problem by forcing static linking on the offending library.
Reviewed By: yfeldblum
Differential Revision: D24604309
fbshipit-source-id: 35ecbbb277b25907ecaee493e8b0081d9f20b865
Summary:
Initial commit to include the fbcode_builder sources in the
eden github repository.
fbshipit-source-id: 49098cecda04a7e9dd9dcc0b569fffc96f0f719b