Commit 799d6503 authored by Hans Fugal's avatar Hans Fugal Committed by Viswanath Sivakumar

(folly) osx bootstrap script

Summary:
This is a bootstrap script for building folly on osx. I attempted to make it Just Work for anyone who uses Homebrew (http://brew.sh/) but even if it doesn't work out of the box it should be instructive for the motivated developer on OSX.

Facebook:
In #5134151 Wangle used to not build, because something was using a futex. But that seems to have been rectified (or the build problems are hiding in headers that aren't used in the libfolly build).

I'll also update https://our.intern.facebook.com/intern/wiki/Folly/BuildingOnMac to point people to this script instead.

Test Plan:
Tested on my laptop which is running Yosemite (10.10.1)
Build, then inspect `otool -L .libs/*dylib`

Reviewed By: davejwatson@fb.com

Subscribers: folly-diffs@, exa

FB internal diff: D1765248

Tasks: 5134151

Signature: t1:1765248:1420500905:bc5da97a0446f502cb2badc85c9004ff0a62027a
parent c77b1e7d
#!/bin/bash -x
# The only prerequisite should be homebrew. If something doesn't work out of
# the box with just homebrew, let's fix it.
# fail fast
set -e
brewget() {
brew install $@ || brew upgrade $@
}
# tool dependencies: autotools, scons (for double-conversion), and gcc 4.9
brewget autoconf automake libtool scons gcc
# dependencies
brewget glog gflags boost libevent
# Install the double-conversion library.
# NB their install target installs the libs but not the headers, hence the
# CPPFLAGS and link shenanigans.
DOUBLE_CONVERSION_CPPFLAGS="-I./double-conversion/src"
test -d double-conversion || {
git clone https://github.com/floitsch/double-conversion.git
pushd double-conversion/src
ln -s . double-conversion
popd
}
pushd double-conversion
scons
# fool libtool into using static linkage
# (this won't work if you've already installed libdouble-conversion into a
# default search path)
rm -f libdouble-conversion*dylib
popd
autoreconf -i
./configure CPPFLAGS="-I./double-conversion/src" LDFLAGS="-L./double-conversion" CXX=g++-4.9
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment