--- 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}
