--- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ AC_CONFIG_SRCDIR(README) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE -AM_CONFIG_HEADER(src/config.h) +AC_CONFIG_HEADERS([src/config.h]) AC_LANG(C++) @@ -21,7 +21,7 @@ AC_PROG_CXX AM_CONDITIONAL(GCC, test "$GCC" = yes) # let the Makefile know if we're gcc -AC_PROG_LIBTOOL +LT_INIT AC_SUBST(LIBTOOL_DEPS) # Check whether some low-level functions/files are available @@ -128,32 +128,48 @@ fi # Check if there is google-gflags library installed. -SAVE_CFLAGS="$CFLAGS" -SAVE_LIBS="$LIBS" -AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR], - GFLAGS_CFLAGS="-I${with_gflags}/include" - GFLAGS_LIBS="-L${with_gflags}/lib -lgflags" - CFLAGS="$CFLAGS $GFLAGS_CFLAGS" - LIBS="$LIBS $GFLAGS_LIBS" -) -AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0) -if test x"$ac_cv_have_libgflags" = x"1"; then - AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library]) - if test x"$GFLAGS_LIBS" = x""; then - GFLAGS_LIBS="-lgflags" - fi -else - GFLAGS_CFLAGS= - GFLAGS_LIBS= -fi -CFLAGS="$SAVE_CFLAGS" -LIBS="$SAVE_LIBS" +AC_ARG_ENABLE([gflags], + AS_HELP_STRING([--enable-gflags], [Enable google-gflags])) + +ac_cv_have_libgflags=0 +AS_IF([test "x$enable_gflags" != "xno"], [ + SAVE_CFLAGS="$CFLAGS" + SAVE_LIBS="$LIBS" + AC_ARG_WITH([gflags], AS_HELP_STRING([--with-gflags=GFLAGS_DIR]),[ + GFLAGS_CFLAGS="-I${with_gflags}/include" + GFLAGS_LIBS="-L${with_gflags}/lib -lgflags" + CFLAGS="$CFLAGS $GFLAGS_CFLAGS" + LIBS="$LIBS $GFLAGS_LIBS" + ]) + + AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0) + CFLAGS="$SAVE_CFLAGS" + LIBS="$SAVE_LIBS" +]) + +AS_IF([test "x$ac_cv_have_libgflags" = "x1"], [ + AC_DEFINE([HAVE_LIB_GFLAGS], [1], [define if you have google gflags library]) + AS_IF([test "x$GFLAGS_LIBS" = "x"], [ + GFLAGS_LIBS="-lgflags" + ]) +], [ + GFLAGS_CFLAGS= + GFLAGS_LIBS= +]) # TODO(hamaji): Use official m4 macros provided by testing libraries # once the m4 macro of Google Mocking becomes ready. # Check if there is Google Test library installed. -AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes") -AC_CHECK_LIB(gtest, main, have_gtest_lib="yes") +AC_ARG_ENABLE([gtest-config], + AS_HELP_STRING([--enable-gtest-config], [Enable looking for gtest-config])) + +AS_IF([test "x$enable_gtest_config" != "xno"], [ + AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes") + AC_CHECK_LIB(gtest, main, have_gtest_lib="yes") +], [ + have_gtest_lib="no" +]) + if test x"$GTEST_CONFIG" = "xyes" -a x"$have_gtest_lib" = "xyes"; then GTEST_CFLAGS=`gtest-config --cppflags --cxxflags` GTEST_LIBS=`gtest-config --ldflags --libs` @@ -178,17 +194,13 @@ AM_CONDITIONAL(HAVE_GMOCK, test x"$GMOCK_CONFIG" = "xyes") # We want to link in libunwind if it exists -UNWIND_LIBS= -# Unfortunately, we need to check the header file in addition to the -# lib file to check if libunwind is available since libunwind-0.98 -# doesn't install all necessary header files. -if test x"$ac_cv_have_libunwind_h" = x"1"; then - AC_CHECK_LIB(unwind, backtrace, UNWIND_LIBS=-lunwind) -fi -AC_SUBST(UNWIND_LIBS) -if test x"$UNWIND_LIBS" != x""; then - AC_DEFINE(HAVE_LIB_UNWIND, 1, [define if you have libunwind]) -fi +AC_ARG_ENABLE([unwind], + AS_HELP_STRING([--enable-unwind], [Enable libunwind])) + +AS_IF([test "x$enable_unwind" != "xno"], [ + PKG_CHECK_MODULES([UNWIND], [libunwind > 0.98]) + AC_DEFINE([HAVE_LIB_UNWIND], [1], [define if you have libunwind]) +]) # We'd like to use read/write locks in several places in the code. # See if our pthreads support extends to that. Note: for linux, it --- a/Makefile.am +++ b/Makefile.am @@ -40,12 +40,11 @@ nodist_gloginclude_HEADERS = src/glog/logging.h src/glog/raw_logging.h src/glog/vlog_is_on.h src/glog/stl_logging.h noinst_HEADERS = src/glog/logging.h.in src/glog/raw_logging.h.in src/glog/vlog_is_on.h.in src/glog/stl_logging.h.in -docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION) ## This is for HTML and other documentation you want to install. ## Add your documentation files (in doc/) in addition to these ## top-level boilerplate files. Also add a TODO file if you have one. -dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \ - doc/designstyle.css doc/glog.html +dist_doc_DATA = AUTHORS ChangeLog INSTALL NEWS README +dist_html_DATA = doc/designstyle.css doc/glog.html ## The libraries (.so's) you want to install lib_LTLIBRARIES = @@ -215,7 +214,7 @@ ## This should always include $(TESTS), but may also include other ## binaries that you compile but don't want automatically installed. -noinst_PROGRAMS = $(TESTS) $(TEST_BINARIES) +check_PROGRAMS = $(TESTS) $(TEST_BINARIES) rpm: dist-gzip packages/rpm.sh packages/rpm/rpm.spec @cd packages && ./rpm.sh ${PACKAGE} ${VERSION}