Patch: Pierre Lamot
further modifications by Roger Meier
- git mv instead of delete and add
- detect node or nodejs with configure.ac
- use exit instead of return within lib/nodejs/test/testAll.sh
Client: compiler
Patch: Jake Farrell
Converts compiler/cpp/src/windows/version.h to a template and automates uses of configure.ac version rather than a random #define version string.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1352767 13f79535-47bb-0310-9956-ffa450edef68
Client: build env
Patch: Vitali Lovich
Adds --without-tests to configure to omit processing/building the test directories.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1170426 13f79535-47bb-0310-9956-ffa450edef68
mingw toolchain used to build "Thrift Compiler for Windows"
does not support libcrypto, so we just check if we building the cpp library
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1167013 13f79535-47bb-0310-9956-ffa450edef68
Client: Ruby
Patch: jfarrell
Updates to ruby build process with the following changes:
- Removes dependency on echoe for spec generation
- Adds gemfile for bulider and uses thrift.gemspec for dependency management.
- Adds checks in configure for builder and only calls if available (make check-local on ci servers)
- Adds checks in configure for Ruby and rake (bundler as well but this is optional for check-local and auto dependency management)
- Still allows for rake to do its thing if all dependencies are in place
- Removed Manifest and setup.rb
- Adds a install task which will generate a gem and then install that gem to locally configured ruby path (no more prefix or destdir with this client)
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1163341 13f79535-47bb-0310-9956-ffa450edef68
Client: java, build process
Patch: Harlan Lieberman-Berg, Jake Farrell
Adds a configure check to verify that the current version of ant is >= 1.7 otherwise sets WITH_JAVA to no.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1127686 13f79535-47bb-0310-9956-ffa450edef68
Client: perl, build process
Patch: Dmitriy Kargapolov
Adds INSTALLDIRS to configure to be able to specify a specific install location for perl since it does not use --prefix.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1099799 13f79535-47bb-0310-9956-ffa450edef68
- new tar format for dist files: tar-ustar POSIX 1003.1-1988
- adds .XYZ files not in the excluded build list to the dist tar.gz file
Patch: Jake Farrell
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1084724 13f79535-47bb-0310-9956-ffa450edef68
There are three major parts of this:
1/ New callback-style interfaces for for a few key Thrift components:
TAsyncProcessor for servers and TAsyncChannel for clients.
2/ Concrete implementations of TAsyncChannel and a server for
TAsyncProcessor based on evhttp.
3/ Async-style code generation for C++
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005127 13f79535-47bb-0310-9956-ffa450edef68
Tests are now self-contained and correctly exit after running. There's a single run script which has improved error messages and defaults to the thrift binary compiled in the current source directory instead of those in PATH. And as a bonus hooks both cabal check and running the tests to make check.
Patch: Christian Lavoie
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004861 13f79535-47bb-0310-9956-ffa450edef68
When cross-compiling, we cannot run test programs, so
AX_SIGNED_RIGHT_SHIFT won't work. That macro is only needed for the
runtime library, not the compiler, so we can just skip it if we are
cross-compiling the compiler.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991256 13f79535-47bb-0310-9956-ffa450edef68
- Make AX_BOOST_BASE warn instead of fataling if Boost is not found.
- If Boost is not found, disable compilation of the C++ library.
- Do not use CPPFLAGS or LDFLAGS from Boost when building the compiler.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991253 13f79535-47bb-0310-9956-ffa450edef68
Currently, this is only possible by explicitly passing --without-cpp.
It might be better to name it --without-cxx, but it is probably more
important to keep consistency with the "cpp" generator and "lib/cpp".
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991248 13f79535-47bb-0310-9956-ffa450edef68
This patch adds a make target in lib/php that builds the php extension. By default configure will attempt to build this, but it can be disabled with --without-php_extension.
Patch: Anthony Molinaro
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@989226 13f79535-47bb-0310-9956-ffa450edef68
AC_ERLANG_SUBST_LIB_DIR aborts configure if erlc cannot be found. Just
skip that and all of the other install stuff if we don't have Erlang.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@988720 13f79535-47bb-0310-9956-ffa450edef68
Attached patch should do the following:
* check for the existence of the Perl Bit::Vector module
* warn the user that the Perl library won't be built if Bit::Vector doesn't exist
* have the WITH_PERL conditional also require Bit::Vector (e.g. don't built the perl libs if the module isn't there)
Patch: Michael Lum
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987020 13f79535-47bb-0310-9956-ffa450edef68
- Use AC_ERLANG_PATH_ERLC to find erlc, instead of the generic
AC_PATH_PROG.
- Also check for erl, just in case it is used internally by checks.
- Use AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR instead of manual hackery to
find the location where Erlang libraries should be installed. (This
doesn't use the discovered version of Erlang, though. See
http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00003.html .)
- Minor style changes in Makefile.am
- Remove some hacks we were using in the old makefile that were
necessary because we were not using automake.
- Remove ebin in a "maintainer-clean-local" rule to avoid shadowing the
default "maintainer-clean" rule which handles MAINTAINERCLEANFILES.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@945744 13f79535-47bb-0310-9956-ffa450edef68
This patch ditches the old print_version.sh method and instead generates the compiler's version.h via the Makefile.
Patch: Anthony Molinaro
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940630 13f79535-47bb-0310-9956-ffa450edef68
- Put "AC_SUBST(CLASSPATH)" configure.ac so the CLASSPATH used to run
./configure is passed in to make.
- Put "export CLASSPATH" in lib/java/Makefile.am so that the CLASSPATH
passed to make is passed to ant.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777678 13f79535-47bb-0310-9956-ffa450edef68
Also make a few tweaks to configure.ac:
- Check for clock_gettime in librt since it seems to be more
widely available.
- Make it clear which AC_CHECK_FUNCS are optional.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776927 13f79535-47bb-0310-9956-ffa450edef68
This patch makes 'make check' run 'rake spec' in the appropriate scenarios. There is still another bug that will break the build though.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@762838 13f79535-47bb-0310-9956-ffa450edef68
Completely replace ax_java.m4 with ax_javac_and_java, which is
a clean-room implementation of an autoconf macro to detect Java.
It has some limitations compared to the ax_java macros in
The Autoconf Macro archive, but it has two key advantages.
It is not GPL-licensed. It doesn't abort configure if Java is
not found.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@753428 13f79535-47bb-0310-9956-ffa450edef68
This was a feature designed to allow a Thrift server to report
information about its interface. However, the feature has
significant design problems, and is presence is currently causing
confusion without doing any good. Therefore, it is being removed.
It will always be in source control if and when we are ready to
come back to it.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741824 13f79535-47bb-0310-9956-ffa450edef68
Systems like Debian expect the thrift jar to be in /usr/share/java, not
the default /usr/local/lib This patch allows configure to be passed a
JAVA_PREFIX= flag.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@675821 13f79535-47bb-0310-9956-ffa450edef68
- Modify configure.ac to check for Python conditionally, like we do for
Java, Mono, and Erlang.
- Modify Makefile.am to add "py" to SUBDIRS only if Python was detected.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666488 13f79535-47bb-0310-9956-ffa450edef68
Use AX_THRIFT_LIB to make configure support --without-java.
Don't bother testing for the Java requirements if this is set.
This is necessary because the autoconf macros we are using for Java
cause configure to quit with an error if Java is not found.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665545 13f79535-47bb-0310-9956-ffa450edef68
Summary:
There were a few places where we were calling malloc/reallaoc/free without
including cstdlib (or stdlib.h). This is broken, but it worked because
other headers that we were including included stdlib.h. However, on a
platform where this wasn't true, it broke the Thrift build. This change
adds the proper includes. It also changes malloc to std::malloc (same
with realloc and free) in a few places, because that is the correct way
of doing it when you include cstdlib.
Reviewed By: mcslee
Test Plan: Compiled Thrift.
Revert Plan: ok
Other Notes:
This bug was noticed by a Thrudb user, and the patch was sent in by
Ross McFarland.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665487 13f79535-47bb-0310-9956-ffa450edef68
Summary:
- Add a serialization test for forwards/backwards compatibility.
- Hook the Python tests up to "make check".
- Miscellaneous changes to the Python tests.
Reviewed By: mcslee
Test Plan: Ran the test.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665480 13f79535-47bb-0310-9956-ffa450edef68
Summary:
./bootstrap.sh has been throwing warnings because we haven't kept
configure.ac up to date. This fixes that.
Reviewed By: mcslee
Test Plan: ./boostrap.sh
Revert Plan: ok
Other Notes:
Contributed by Dan Sully.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665474 13f79535-47bb-0310-9956-ffa450edef68
Reviewed By: mcslee
Test Plan: Installed Mono and built it.
Revert Plan: ok
Other Notes:
Submitted by Ben Maurer.
Actually reviewed by Todd Berman.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665465 13f79535-47bb-0310-9956-ffa450edef68
Summary:
Add a Makefile.am in the test directory that runs some of the test programs
when "make check" is executed. Also removed some obsolete comments.
Reviewed By: mcslee
Test Plan:
Ran make check, saw all tests pass.
Ran make install, saw no test programs installed.
Ran ./cleanup.sh, saw a pristine workspace.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665458 13f79535-47bb-0310-9956-ffa450edef68
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
Summary:
- make dist is no fun. Had to add a lot of stuff to Makefile.am to
make sure stuff got included in the tarball.
- Added a permanent NEWS file with the release notes for this release.
- clean.sh removes ylwrap also.
- Gave it a real version for make dist.
- Added ACLOCAL_AMFLAGS to lib/cpp/Makefile.am to make it easier to
work on configure.ac.
- Made concurrency_test a non-installed binary because
no one wants to install it.
- Dropped some symlinks that were annoying make dist.
- Updated README.
Test Plan:
./bootstrap.sh && ./configure && make dist
Compared contents of tarball to source tree.
Did this from a fresh git tree so no gross untracked files would be around.
On devrs: ./bootstrap.sh && ./configure && make install DESTDIR=/tmp/relinst1
Made sure concurrency_test was built but not installed.
Checked zlib URL with firefox.
Reviewed By: mcslee
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665274 13f79535-47bb-0310-9956-ffa450edef68
Summary:
Added the configure script variable PY_PREFIX which serves the same purpose
for Python as --prefix does for C/C++. We chose to do this because Python
has different conventions for where to install libraries.
Reviewed By: mcslee
Test Plan:
Full clean builds and installs of Thrift from the Thrift root,
with and without PY_PREFIX. Watched output of make install.
Ran configure from lib/py without PY_PREFIX, with PY_PREFIX and with
PY_PREFIX in the environment. Checked config.status for each.
Revert Plan: okay
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665248 13f79535-47bb-0310-9956-ffa450edef68
Summary:
Building fb303 is hard enough without including limited reflection.
This change will install reflection_limited.thrift into /usr/share/thrift/if
so it will be easier for fb303 to find (we won't have to dig it out of the
thrift source directory).
Reviewed By: mcslee, marc
Test Plan:
./bootstrap.sh && ./configure && make && sudo make install
(on my vmware box).
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665230 13f79535-47bb-0310-9956-ffa450edef68
Summary: This keeps confusing people when they try to do make and make install, we always have it around in the svn repo, so we can take it out of current trunk.
Reviewed By: martin
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664926 13f79535-47bb-0310-9956-ffa450edef68
Modified TProtocol.h et al to take collection size as unsigned int. This removes need to cast STL's default size_t to signed int and is more correct, since collection sizes cannot be < 0 by definition
Moved compiler/Makefile to compiler/cpp.mk so it doesn't get trashed by automake
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664766 13f79535-47bb-0310-9956-ffa450edef68