Fix gflags Makefile

Summary: `echo` correctly interpretes \n on mac, but not on linux. On linux you have to give it `-e` to interpret \n. Unfortunately, `-e` options is not available on Mac. Go back to old way of checking gflags

Test Plan: build_tools/build_detect_platform on mac and linux

Reviewers: sdong

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D37515
This commit is contained in:
Igor Canadi 2015-04-22 12:47:50 -07:00
parent 108a927f0e
commit 6a5ffee0cc

View File

@ -203,13 +203,22 @@ EOF
# Test whether gflags library is installed
# http://code.google.com/p/gflags/
# check if the namespace is gflags
if echo "#include <gflags/gflags.h>\nusing namespace gflags;\nint main() {}" | \
$CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null; then
$CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF
#include <gflags/gflags.h>
using namespace gflags;
int main() {}
EOF
if [ "$?" = 0 ]; then
COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=gflags"
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags"
else
if echo "#include <gflags/gflags.h>\nusing namespace google;\nint main() {}" | \
$CXX $CFLAGS -x c++ - -o /dev/null 2> /dev/null; then
# check if namespace is google
$CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF
#include <gflags/gflags.h>
using namespace google;
int main() {}
EOF
if [ "$?" = 0 ]; then
COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=google"
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags"
fi