Thrift: Revamp build to use a single configure.ac.

Summary:
Ben Maurer suggested that it would make sense for Thrift to build as
a single project, with one configure.ac and multiple Makefile.am.
He was also kind enough to do the heavy lifting, and this commit
is the application of his patch (with minor modifications).
The most significant visible change from this diff is that
in order to buidl one of the thrift sub-projects (i.e.: the compiler,
the C++ library, or the Python library) you must run bootstrap.sh
and configure in the Thrift root, then make in the specific project.
Users who want to build and install the Python library but
can't run configure because they don't have Boost can simply
run setup.py directly.

Reviewed By: mcslee

Test Plan: Built Thrift from scratch.

Revert Plan: ok


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665409 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index ecfb388..c866558 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1,3 +1,6 @@
+Ben Maurer <bmaurer@andrew.cmu.edu>
+-Restructuring the way Autoconf is used.
+
 Patrick Collison <patrick@collison.ie>
 -Smalltalk bindings.
 
diff --git a/Makefile.am b/Makefile.am
index a71974d..6bcb61f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,7 @@
-SUBDIRS = compiler/cpp lib/cpp lib/py if
+ACLOCAL_AMFLAGS = -I ./aclocal
+
+SUBDIRS = compiler/cpp lib if
 ## Don't run make dist from a subversion working copy
 ## because it will pull in your .svn directories.
 EXTRA_DIST = bootstrap.sh cleanup.sh doc test tutorial \
-						 thrift.el thrift.vim thrift.bnf CONTRIBUTORS LICENSE \
-             lib/cocoa lib/erl lib/hs lib/java lib/ocaml lib/perl lib/php lib/rb
+             thrift.el thrift.vim thrift.bnf CONTRIBUTORS LICENSE
diff --git a/lib/cpp/aclocal/ax_boost_base.m4 b/aclocal/ax_boost_base.m4
similarity index 100%
rename from lib/cpp/aclocal/ax_boost_base.m4
rename to aclocal/ax_boost_base.m4
diff --git a/lib/cpp/aclocal/ax_lib_event.m4 b/aclocal/ax_lib_event.m4
similarity index 100%
rename from lib/cpp/aclocal/ax_lib_event.m4
rename to aclocal/ax_lib_event.m4
diff --git a/lib/cpp/aclocal/ax_lib_zlib.m4 b/aclocal/ax_lib_zlib.m4
similarity index 100%
rename from lib/cpp/aclocal/ax_lib_zlib.m4
rename to aclocal/ax_lib_zlib.m4
diff --git a/bootstrap.sh b/bootstrap.sh
index c73e709..0a548ea 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,20 +1,28 @@
 #!/bin/sh
 
-subdirs="compiler/cpp lib/cpp lib/py if"
+subdirs=" if"
 
 ./cleanup.sh
 
-aclocal
-touch NEWS README AUTHORS ChangeLog
-autoconf
-automake -ac
+autoscan || exit 1
+autoheader || exit 1
+aclocal -I ./aclocal || exit 1
+
+if libtoolize --version 1 >/dev/null 2>/dev/null; then
+  libtoolize --automake || exit 1
+elif glibtoolize --version 1 >/dev/null 2>/dev/null; then
+  glibtoolize --automake || exit 1
+fi
+
+autoconf || exit 1
+automake -ac --add-missing --foreign || exit 1
 
 for subdir in ${subdirs}; do 
     if [ -x "${subdir}/bootstrap.sh" ]; then 
-	cwd="`pwd`"
-	cd "${subdir}"
-	./bootstrap.sh
-	cd "${cwd}"
+      cwd="`pwd`"
+      cd "${subdir}"
+      ./bootstrap.sh
+      cd "${cwd}"
     fi
 done
 
diff --git a/cleanup.sh b/cleanup.sh
index 0ffe31c..b2dcee1 100755
--- a/cleanup.sh
+++ b/cleanup.sh
@@ -32,9 +32,9 @@
 
 for subdir in ${subdirs}; do 
     if [ -x "${subdir}/cleanup.sh" ]; then 
-	cwd="`pwd`"
-	cd "${subdir}"
-	./cleanup.sh
-	cd "${cwd}"
+      cwd="`pwd`"
+      cd "${subdir}"
+      ./cleanup.sh
+      cd "${cwd}"
     fi
 done
diff --git a/compiler/cpp/COPYING b/compiler/cpp/COPYING
deleted file mode 100644
index 039f21e..0000000
--- a/compiler/cpp/COPYING
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/compiler/cpp/LICENSE b/compiler/cpp/LICENSE
deleted file mode 100644
index 039f21e..0000000
--- a/compiler/cpp/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/compiler/cpp/Makefile.am b/compiler/cpp/Makefile.am
index 254f9b5..921a6a9 100644
--- a/compiler/cpp/Makefile.am
+++ b/compiler/cpp/Makefile.am
@@ -20,7 +20,7 @@
                  src/generate/t_erl_generator.cc \
                  src/generate/t_hs_generator.cc \
                  src/generate/t_cocoa_generator.cc \
-                 src/generate/t_st_generator.cc	\
+                 src/generate/t_st_generator.cc \
                  src/globals.h \
                  src/main.h \
                  src/md5.h \
@@ -57,12 +57,12 @@
                  src/generate/t_cocoa_generator.h \
                  src/generate/t_st_generator.h
 
-thrift_CXXFLAGS = -Wall -Isrc $(BOOST_CPPFLAGS)
+thrift_CXXFLAGS = -Wall -I$(srcdir)/src $(BOOST_CPPFLAGS)
 thrift_LDFLAGS = -Wall $(BOOST_LDFLAGS)
 
 thrift_LDADD = @LEXLIB@
 
-EXTRA_DIST = bootstrap.sh cleanup.sh LICENSE
+EXTRA_DIST = README
 
 clean-local:
 	rm -rf thriftl.cc thrifty.cc thrifty.h
diff --git a/compiler/cpp/bootstrap.sh b/compiler/cpp/bootstrap.sh
deleted file mode 100755
index de6f055..0000000
--- a/compiler/cpp/bootstrap.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-./cleanup.sh
-autoscan
-aclocal -I ../../lib/cpp/aclocal
-if libtoolize --version 1 >/dev/null 2>/dev/null; then
-  libtoolize --automake
-elif glibtoolize --version 1 >/dev/null 2>/dev/null; then
-  glibtoolize --automake
-fi
-touch NEWS README AUTHORS ChangeLog
-autoconf
-automake -ac
diff --git a/compiler/cpp/cleanup.sh b/compiler/cpp/cleanup.sh
deleted file mode 100755
index e2ab8f8..0000000
--- a/compiler/cpp/cleanup.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-make clean 1>/dev/null 2>/dev/null
-rm -rf \
-AUTHORS \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-.in \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing
diff --git a/compiler/cpp/configure.ac b/compiler/cpp/configure.ac
deleted file mode 100644
index 83b6bb0..0000000
--- a/compiler/cpp/configure.ac
+++ /dev/null
@@ -1,61 +0,0 @@
-AC_PREREQ(2.59)
-
-AC_INIT(thrift, 1.0)
-
-AM_INIT_AUTOMAKE
-
-AM_PROG_LEX
-
-AC_PROG_YACC
-
-AC_CHECK_HEADERS([stddef.h])
-
-AX_BOOST_BASE([1.33.1])
-
-AC_CHECK_FUNCS([memset])
-
-AC_CHECK_FUNCS([mkdir])
-
-AC_CHECK_FUNCS([realpath])
-
-AC_CHECK_FUNCS([strdup])
-
-AC_CHECK_FUNCS([strerror])
-
-AC_STRUCT_TM
-
-AC_FUNC_STRFTIME
-
-AC_FUNC_MALLOC
-
-AC_FUNC_REALLOC
-
-AC_FUNC_STAT
-
-AC_FUNC_VPRINTF
-
-AC_TYPE_SIZE_T
-
-AC_C_INLINE
-
-AC_C_CONST
-
-AC_C_VOLATILE
-
-AC_HEADER_STDBOOL
-
-AC_HEADER_STDC
-
-AC_HEADER_TIME
-
-AC_PROG_CC
-
-AC_PROG_CXX
-
-AC_PROG_INSTALL
-
-AC_PROG_LIBTOOL
-
-AC_PROG_MAKE_SET
-
-AC_OUTPUT(Makefile)
diff --git a/compiler/cpp/src/generate/t_st_generator.cc b/compiler/cpp/src/generate/t_st_generator.cc
index 413e8ae..c8456bc 100644
--- a/compiler/cpp/src/generate/t_st_generator.cc
+++ b/compiler/cpp/src/generate/t_st_generator.cc
@@ -371,14 +371,14 @@
 }
 
 string t_st_generator::a_type(t_type* type) {
-	string prefix;
+  string prefix;
 
-	if (is_vowel(type_name(type)[0]))
+  if (is_vowel(type_name(type)[0]))
     prefix = "an";
   else
     prefix = "a";
 
-	return prefix + capitalize(type_name(type));
+  return prefix + capitalize(type_name(type));
 }
 
 void t_st_generator::generate_accessors(std::ofstream& out, t_struct* tstruct) {
@@ -456,7 +456,7 @@
 
   out << "]." << endl <<
     indent() << "iprot readMapEnd." << endl <<
-	indent() << val << "] value";
+  indent() << val << "] value";
   indent_down();
 
   return out.str();
@@ -500,7 +500,7 @@
 
   out << "]." << endl <<
     indent() << "iprot readListEnd." << endl <<
-	indent() << val << "] value";
+  indent() << val << "] value";
   indent_down();
 
   return out.str();
@@ -544,7 +544,7 @@
 
   out << "]." << endl <<
     indent() << "iprot readSetEnd." << endl <<
-	indent() << val << "] value";
+  indent() << val << "] value";
   indent_down();
 
   return out.str();
@@ -749,7 +749,7 @@
   st_method(f_, client_class_name(), "recv" + capitalize(funname));
   f_ << "| f msg res | " << endl <<
     indent() << "msg := oprot readMessageBegin." << endl <<
-		indent() << "self validateRemoteMessage: msg." << endl <<
+    indent() << "self validateRemoteMessage: msg." << endl <<
     indent() << "res := " << struct_reader(&result) << "." << endl <<
     indent() << "oprot readMessageEnd." << endl <<
     indent() << "oprot transport flush." << endl <<
diff --git a/configure.ac b/configure.ac
index 8591d08..9e68a5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,8 +12,100 @@
                          Default = "/usr"])
 AS_IF([test "x$PY_PREFIX" == x], [PY_PREFIX="/usr"])
 
-AC_CONFIG_FILES([Makefile])
+AM_PATH_PYTHON(2.4,, :)
 
-AC_CONFIG_SUBDIRS([compiler/cpp lib/cpp lib/py if])
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_CXX
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+AC_PROG_MAKE_SET
+AC_PROG_YACC
+AC_PROG_LEX
+AM_PROG_LEX
+
+AC_LANG([C++])
+AX_BOOST_BASE([1.33.1])
+
+AX_LIB_EVENT([1.0])
+AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$success" = "yes"])
+
+AX_LIB_ZLIB([1.2.3])
+AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$success" = "yes"])
+
+AC_C_CONST
+AC_C_INLINE
+AC_C_VOLATILE
+
+AC_HEADER_STDBOOL
+AC_HEADER_STDC
+AC_HEADER_TIME
+AC_CHECK_HEADERS([arpa/inet.h])
+AC_CHECK_HEADERS([endian.h])
+AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_HEADERS([netdb.h])
+AC_CHECK_HEADERS([netinet/in.h])
+AC_CHECK_HEADERS([pthread.h])
+AC_CHECK_HEADERS([stddef.h])
+AC_CHECK_HEADERS([sys/socket.h])
+AC_CHECK_HEADERS([sys/time.h])
+AC_CHECK_HEADERS([unistd.h])
+AC_CHECK_HEADERS([libintl.h])
+AC_CHECK_HEADERS([malloc.h])
+
+AC_CHECK_LIB(pthread, pthread_create)
+AC_CHECK_LIB(rt, sched_get_priority_min)
+
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_INT8_T
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_SIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_UINT8_T
+
+AC_FUNC_ALLOCA
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_SELECT_ARGTYPES
+AC_FUNC_STAT
+AC_FUNC_STRERROR_R
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS([strtoul])
+AC_CHECK_FUNCS([bzero])
+AC_CHECK_FUNCS([clock_gettime])
+AC_CHECK_FUNCS([gethostbyname])
+AC_CHECK_FUNCS([gettimeofday])
+AC_CHECK_FUNCS([memmove])
+AC_CHECK_FUNCS([memset])
+AC_CHECK_FUNCS([mkdir])
+AC_CHECK_FUNCS([realpath])
+AC_CHECK_FUNCS([select])
+AC_CHECK_FUNCS([socket])
+AC_CHECK_FUNCS([strchr])
+AC_CHECK_FUNCS([strdup])
+AC_CHECK_FUNCS([strstr])
+AC_CHECK_FUNCS([strtol])
+AC_CHECK_FUNCS([sqrt])
+
+AC_CONFIG_HEADERS(config.h:config.hin)
+
+AC_CONFIG_FILES([
+  Makefile
+  compiler/cpp/Makefile
+  lib/Makefile
+  lib/cpp/Makefile
+  lib/cpp/thrift.pc
+  lib/cpp/thrift-nb.pc
+  lib/cpp/thrift-z.pc
+  lib/py/Makefile
+  if/Makefile
+])
 
 AC_OUTPUT
diff --git a/if/Makefile.am b/if/Makefile.am
index 94b8929..0687aaa 100644
--- a/if/Makefile.am
+++ b/if/Makefile.am
@@ -1,4 +1,4 @@
 thrift_ifdir = $(datadir)/thrift/if
 dist_thrift_if_DATA = \
                       reflection_limited.thrift
-EXTRA_DIST = bootstrap.sh cleanup.sh regen.sh
+EXTRA_DIST = regen.sh
diff --git a/if/bootstrap.sh b/if/bootstrap.sh
deleted file mode 100755
index b79e431..0000000
--- a/if/bootstrap.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-./cleanup.sh
-aclocal
-touch NEWS README AUTHORS ChangeLog
-autoconf
-automake -ac
diff --git a/if/cleanup.sh b/if/cleanup.sh
deleted file mode 100755
index 1e35bfe..0000000
--- a/if/cleanup.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-rm -rf \
-AUTHORS \
-ChangeLog \
-COPYING \
-INSTALL \
-Makefile \
-Makefile.in \
-NEWS \
-README \
-aclocal.m4 \
-autom4te.cache \
-config.log \
-config.status \
-config.sub \
-configure \
-install-sh \
-missing
diff --git a/if/configure.ac b/if/configure.ac
deleted file mode 100644
index df0363b..0000000
--- a/if/configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
-AC_PREREQ(2.59)
-
-AC_INIT([thriftif], [1.0])
-
-AC_CONFIG_AUX_DIR([.])
-
-AM_INIT_AUTOMAKE
-
-AC_CONFIG_FILES([Makefile])
-
-AC_OUTPUT
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644
index 0000000..06cf11a
--- /dev/null
+++ b/lib/Makefile.am
@@ -0,0 +1,13 @@
+SUBDIRS = \
+  cpp \
+  py
+
+EXTRA_DIST = \
+  cocoa \
+  erl   \
+  hs    \
+  java  \
+  ocaml \
+  perl  \
+  php   \
+  rb
diff --git a/lib/cpp/COPYING b/lib/cpp/COPYING
deleted file mode 100644
index 039f21e..0000000
--- a/lib/cpp/COPYING
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/lib/cpp/LICENSE b/lib/cpp/LICENSE
deleted file mode 100644
index 039f21e..0000000
--- a/lib/cpp/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/lib/cpp/Makefile.am b/lib/cpp/Makefile.am
index 69ee5a6..92ccf99 100644
--- a/lib/cpp/Makefile.am
+++ b/lib/cpp/Makefile.am
@@ -61,7 +61,7 @@
 
 include_thriftdir = $(includedir)/thrift
 include_thrift_HEADERS = \
-                         config.h \
+                         $(top_srcdir)/config.h \
                          src/Thrift.h \
 												 src/TReflectionLocal.h \
                          src/reflection_limited_types.h \
@@ -126,10 +126,8 @@
 concurrency_test_CXXFLAGS =  $(common_cxxflags)
 concurrency_test_LDFLAGS =  $(common_ldflags)
 
-EXTRA_DIST =
-	bootstrap.sh \
-	cleanup.sh \
-	LICENSE \
+EXTRA_DIST = \
+	README \
 	thrift-nb.pc.in \
 	thrift.pc.in \
 	thrift-z.pc.in
diff --git a/lib/cpp/bootstrap.sh b/lib/cpp/bootstrap.sh
deleted file mode 100755
index 4c59d14..0000000
--- a/lib/cpp/bootstrap.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-./cleanup.sh
-autoscan
-autoheader
-aclocal -I ./aclocal
-if libtoolize --version 1 >/dev/null 2>/dev/null; then
-  libtoolize --automake
-elif glibtoolize --version 1 >/dev/null 2>/dev/null; then
-  glibtoolize --automake
-fi
-touch NEWS README AUTHORS ChangeLog
-autoconf
-automake -ac
diff --git a/lib/cpp/cleanup.sh b/lib/cpp/cleanup.sh
deleted file mode 100755
index b4cc4c6..0000000
--- a/lib/cpp/cleanup.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-make clean 1>/dev/null 2>/dev/null
-rm -rf \
-AUTHORS \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing \
-config.hin~ \
-stamp-h1 \
-thrift.pc \
-thrift-nb.pc \
-thrift-z.pc
diff --git a/lib/cpp/configure.ac b/lib/cpp/configure.ac
deleted file mode 100644
index 54ea400..0000000
--- a/lib/cpp/configure.ac
+++ /dev/null
@@ -1,128 +0,0 @@
-AC_PREREQ(2.59)
-
-AC_INIT(thriftcpp, [20070917])
-
-AC_CONFIG_SRCDIR(src/Thrift.h)
-
-AC_PROG_CC
-
-AC_PROG_CXX
-
-AC_LANG([C++])
-
-AM_INIT_AUTOMAKE
-
-AC_FUNC_MALLOC
-
-AC_FUNC_MEMCMP
-
-AC_FUNC_REALLOC
-
-AC_FUNC_SELECT_ARGTYPES
-
-AC_FUNC_STRERROR_R
-
-AC_CHECK_FUNCS([bzero])
-
-AC_CHECK_FUNCS([gethostbyname])
-
-AC_CHECK_FUNCS([gettimeofday])
-
-AC_CHECK_FUNCS([memset])
-
-AC_CHECK_FUNCS([select])
-
-AC_CHECK_FUNCS([socket])
-
-AC_CHECK_FUNCS([strtol])
-
-AC_CHECK_FUNCS([strtoul])
-
-AC_CHECK_FUNCS([memmove])
-
-AC_CHECK_FUNCS([strstr])
-
-AC_CHECK_FUNCS([strchr])
-
-AC_CHECK_HEADERS([arpa/inet.h])
-
-AC_CHECK_HEADERS([fcntl.h])
-
-AC_CHECK_HEADERS([inttypes.h])
-
-AC_CHECK_HEADERS([netdb.h])
-
-AC_CHECK_HEADERS([netinet/in.h])
-
-AC_CHECK_HEADERS([pthread.h])
-
-AC_CHECK_HEADERS([stddef.h])
-
-AC_CHECK_HEADERS([sys/socket.h])
-
-AC_CHECK_HEADERS([sys/time.h])
-
-AC_CHECK_HEADERS([unistd.h])
-
-AC_CHECK_HEADERS([endian.h])
-
-AC_C_INLINE
-
-AX_BOOST_BASE([1.33.1])
-
-AX_LIB_EVENT([1.0])
-AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$success" = "yes"])
-
-AX_LIB_ZLIB([1.2.3])
-AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$success" = "yes"])
-
-AC_CHECK_LIB(pthread, pthread_create)
-
-AC_CHECK_LIB(rt, sched_get_priority_min)
-
-AC_CHECK_FUNCS([clock_gettime])
-
-AC_C_CONST
-
-AC_C_VOLATILE
-
-AC_HEADER_STDBOOL
-
-AC_HEADER_STDC
-
-AC_HEADER_TIME
-
-AC_TYPE_OFF_T
-
-AC_TYPE_MODE_T
-
-AC_TYPE_SIZE_T
-
-AC_TYPE_INT16_T
-
-AC_TYPE_INT32_T
-
-AC_TYPE_INT64_T
-
-AC_TYPE_UINT16_T
-
-AC_TYPE_UINT32_T
-
-AC_TYPE_UINT64_T
-
-AC_TYPE_UINT8_T
-
-AC_CONFIG_HEADERS(config.h:config.hin)
-
-AC_PROG_INSTALL
-
-AC_PROG_LIBTOOL
-
-AC_PROG_MAKE_SET
-
-AC_OUTPUT([
-        Makefile
-        thrift-nb.pc
-        thrift.pc
-        thrift-z.pc
-])
diff --git a/lib/py/COPYING b/lib/py/COPYING
deleted file mode 100644
index 039f21e..0000000
--- a/lib/py/COPYING
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/lib/py/LICENSE b/lib/py/LICENSE
deleted file mode 100644
index 039f21e..0000000
--- a/lib/py/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Thrift Software License
-Copyright (c) 2006- Facebook, Inc. 
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/lib/py/Makefile.am b/lib/py/Makefile.am
index 796f99e..257e9ab 100644
--- a/lib/py/Makefile.am
+++ b/lib/py/Makefile.am
@@ -1,5 +1,5 @@
 DESTDIR ?= /
-EXTRA_DIST = bootstrap.sh cleanup.sh setup.py LICENSE src
+EXTRA_DIST = setup.py src
 
 all:
 	$(PYTHON) setup.py build
diff --git a/lib/py/bootstrap.sh b/lib/py/bootstrap.sh
deleted file mode 100755
index b79e431..0000000
--- a/lib/py/bootstrap.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-./cleanup.sh
-aclocal
-touch NEWS README AUTHORS ChangeLog
-autoconf
-automake -ac
diff --git a/lib/py/cleanup.sh b/lib/py/cleanup.sh
deleted file mode 100755
index fd52c28..0000000
--- a/lib/py/cleanup.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-rm -rf \
-AUTHORS \
-ChangeLog \
-INSTALL \
-Makefile \
-Makefile.in \
-Makefile.orig \
-NEWS \
-aclocal.m4 \
-autom4te.cache \
-autoscan.log \
-build \
-config.guess \
-config.h \
-config.hin \
-config.log \
-config.status \
-config.sub \
-configure \
-configure.scan \
-depcomp \
-.deps \
-install-sh \
-.libs \
-libtool \
-ltmain.sh \
-Makefile.in \
-missing
diff --git a/lib/py/configure.ac b/lib/py/configure.ac
deleted file mode 100644
index 61c6df4..0000000
--- a/lib/py/configure.ac
+++ /dev/null
@@ -1,19 +0,0 @@
-AC_PREREQ(2.59)
-
-AC_INIT([thriftpy], [1.0])
-
-AC_CONFIG_AUX_DIR([.])
-
-AM_INIT_AUTOMAKE
-
-AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
-                         (Normal --prefix is ignored for Python because
-                         Python has different conventions.)
-                         Default = "/usr"])
-AS_IF([test "x$PY_PREFIX" == x], [PY_PREFIX="/usr"])
-
-AM_PATH_PYTHON(2.4,, :)
-
-AC_CONFIG_FILES([Makefile])
-
-AC_OUTPUT
diff --git a/test/cpp/Makefile.stress b/test/cpp/Makefile.stress
index 9d79541..6c2244c 100644
--- a/test/cpp/Makefile.stress
+++ b/test/cpp/Makefile.stress
@@ -19,6 +19,7 @@
 
 include_paths = $(thrift_home)/lib/cpp/src \
                 $(thrift_home)/lib/cpp \
+                $(thrift_home)/ \
                 $(boost_home)
 
 include_flags = $(patsubst %,-I%, $(include_paths))