Commit c6b30787 authored by Sara Golemon's avatar Sara Golemon

Fix tests for glog and gflags

Summary: The existing tests were trying to find undocumented
symbols in glog/glags which aren't guaranteed to be there on all
platforms.

Use AC_RUN_IFELSE() to try building and executing some code
typical of the usage of these libraries.

Closes #117

Reviewed By: @JoelMarcey

Differential Revision: D2183526
parent 4514c06c
...@@ -52,11 +52,53 @@ fi ...@@ -52,11 +52,53 @@ fi
CXXFLAGS="$STD $CXXFLAGS" CXXFLAGS="$STD $CXXFLAGS"
# Checks for libraries. # Checks for glog and gflags
AC_CHECK_LIB([glog],[openlog],[],[AC_MSG_ERROR( # There are no symbols with C linkage, so we do a try-run
AC_HAVE_LIBRARY([glog],[],[AC_MSG_ERROR(
[Please install google-glog library])]) [Please install google-glog library])])
AC_CHECK_LIB([gflags],[getenv],[],[AC_MSG_ERROR( AC_CACHE_CHECK(
[for glog viability],
[folly_cv_prog_cc_glog],
[AC_RUN_IFELSE(
[AC_LANG_SOURCE[
#include <glog/logging.h>
int main(int argc, char** argv) {
google::InitGoogleLogging(argv[0]);
google::ShutdownGoogleLogging();
return 0;
}
]],
[folly_cv_prog_cc_glog=yes],
[folly_cv_prog_cc_glog=no]
)]
)
if test "$folly_cv_prog_cc_glog" != "yes"; then
AC_MSG_ERROR(["libglog invalid, see config.log for details"])
fi
AC_HAVE_LIBRARY([gflags],[],[AC_MSG_ERROR(
[Please install google-gflags library])]) [Please install google-gflags library])])
AC_CACHE_CHECK(
[for gflags viability],
[folly_cv_prog_cc_gflags],
[AC_RUN_IFELSE(
[AC_LANG_SOURCE[
#include <gflags/gflags.h>
DEFINE_bool(folly_truthy, true, "Sample truthy flag");
DEFINE_bool(folly_falsey, false, "Sample falsey flag");
int main(int argc, char** argv) {
return (FLAGS_folly_truthy && !FLAGS_folly_falsey) ? 0 : 1;
}
]],
[folly_cv_prog_cc_gflags=yes],
[folly_cv_prog_cc_gflags=no]
)]
)
if test "$folly_cv_prog_cc_gflags" != "yes"; then
AC_MSG_ERROR(["libgflags invalid, see config.log for details"])
fi
AC_CHECK_LIB(ssl, AC_CHECK_LIB(ssl,
SSL_ctrl, SSL_ctrl,
......
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