You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ja...@apache.org on 2009/02/01 05:47:31 UTC

svn commit: r739697 - in /incubator/thrift/trunk: .gitignore configure.ac lib/Makefile.am lib/perl/Makefile.am lib/perl/test.pl lib/perl/test/ lib/perl/test/Makefile.am lib/perl/test/memory_buffer.t

Author: jake
Date: Sun Feb  1 04:47:30 2009
New Revision: 739697

URL: http://svn.apache.org/viewvc?rev=739697&view=rev
Log:
THRIFT-199: integrate perl into automake

Added:
    incubator/thrift/trunk/lib/perl/Makefile.am
    incubator/thrift/trunk/lib/perl/test/
    incubator/thrift/trunk/lib/perl/test.pl
    incubator/thrift/trunk/lib/perl/test/Makefile.am
    incubator/thrift/trunk/lib/perl/test/memory_buffer.t
Modified:
    incubator/thrift/trunk/.gitignore
    incubator/thrift/trunk/configure.ac
    incubator/thrift/trunk/lib/Makefile.am

Modified: incubator/thrift/trunk/.gitignore
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/.gitignore?rev=739697&r1=739696&r2=739697&view=diff
==============================================================================
--- incubator/thrift/trunk/.gitignore (original)
+++ incubator/thrift/trunk/.gitignore Sun Feb  1 04:47:30 2009
@@ -40,6 +40,15 @@
 /lib/java/gen-java
 /lib/java/gen-javabean
 /lib/java/libthrift.jar
+/lib/perl/MANIFEST
+/lib/perl/Makefile
+/lib/perl/Makefile.in
+/lib/perl/Makefile-perl.mk
+/lib/perl/blib
+/lib/perl/pm_to_blib
+/lib/perl/test/Makefile
+/lib/perl/test/Makefile.in
+/lib/perl/test/gen-perl
 /lib/py/Makefile
 /lib/py/Makefile.in
 /lib/py/build

Modified: incubator/thrift/trunk/configure.ac
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/configure.ac?rev=739697&r1=739696&r2=739697&view=diff
==============================================================================
--- incubator/thrift/trunk/configure.ac (original)
+++ incubator/thrift/trunk/configure.ac Sun Feb  1 04:47:30 2009
@@ -66,6 +66,12 @@
 fi
 AM_CONDITIONAL(WITH_PYTHON, [test -n "$PYTHON" -a "$PYTHON" != ":"])
 
+AX_THRIFT_LIB(perl, [Perl], yes)
+if test "$with_perl" = "yes"; then
+  AC_PATH_PROG([PERL], [perl])
+fi
+AM_CONDITIONAL(WITH_PERL, [test -n "$PERL"])
+
 AX_THRIFT_LIB(ruby, [Ruby], yes)
 if test "$with_ruby" = "yes"; then
   AC_PATH_PROG([RUBY], [ruby])
@@ -177,6 +183,8 @@
   lib/cpp/thrift-z.pc
   lib/csharp/Makefile
   lib/java/Makefile
+  lib/perl/Makefile
+  lib/perl/test/Makefile
   lib/py/Makefile
   lib/rb/Makefile
   if/Makefile

Modified: incubator/thrift/trunk/lib/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/Makefile.am?rev=739697&r1=739696&r2=739697&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/Makefile.am (original)
+++ incubator/thrift/trunk/lib/Makefile.am Sun Feb  1 04:47:30 2009
@@ -21,13 +21,16 @@
 SUBDIRS += rb
 endif
 
+if WITH_PERL
+SUBDIRS += perl
+endif
+
 # All of the libs that don't use Automake need to go in here
 # so they will end up in our release tarballs.
 EXTRA_DIST = \
   cocoa \
   hs    \
   ocaml \
-  perl  \
   php   \
   erl   \
   st

Added: incubator/thrift/trunk/lib/perl/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/Makefile.am?rev=739697&view=auto
==============================================================================
--- incubator/thrift/trunk/lib/perl/Makefile.am (added)
+++ incubator/thrift/trunk/lib/perl/Makefile.am Sun Feb  1 04:47:30 2009
@@ -0,0 +1,33 @@
+SUBDIRS = test
+
+Makefile-perl.mk : Makefile.PL
+	$(PERL) Makefile.PL MAKEFILE=Makefile-perl.mk
+
+all-local: Makefile-perl.mk
+	$(MAKE) -f Makefile-perl.mk
+	find blib -name 'Makefile*' -exec rm -f {} \;
+
+check-local:
+	$(PERL) -Iblib/lib -I@abs_srcdir@ -I@builddir@/test/gen-perl \
+		@abs_srcdir@/test.pl @abs_srcdir@/test/*.t
+
+install-exec-local: Makefile-perl.mk
+	$(MAKE) -f Makefile-perl.mk install DESTDIR=$(DESTDIR)/
+
+clean-local: Makefile-perl.mk
+	$(MAKE) -f Makefile-perl.mk clean
+	rm -f Makefile-perl.mk.old
+
+EXTRA_DIST = MANIFEST \
+	Makefile.PL \
+	test.pl \
+	lib/Thrift.pm \
+	lib/Thrift.pm \
+	lib/Thrift/BinaryProtocol.pm \
+	lib/Thrift/BufferedTransport.pm \
+	lib/Thrift/FramedTransport.pm \
+	lib/Thrift/HttpClient.pm \
+	lib/Thrift/MemoryBuffer.pm \
+	lib/Thrift/Protocol.pm \
+	lib/Thrift/Socket.pm \
+	lib/Thrift/Transport.pm

Added: incubator/thrift/trunk/lib/perl/test.pl
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/test.pl?rev=739697&view=auto
==============================================================================
--- incubator/thrift/trunk/lib/perl/test.pl (added)
+++ incubator/thrift/trunk/lib/perl/test.pl Sun Feb  1 04:47:30 2009
@@ -0,0 +1,6 @@
+use strict;
+use warnings;
+
+use Test::Harness;
+
+runtests(@ARGV);

Added: incubator/thrift/trunk/lib/perl/test/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/test/Makefile.am?rev=739697&view=auto
==============================================================================
--- incubator/thrift/trunk/lib/perl/test/Makefile.am (added)
+++ incubator/thrift/trunk/lib/perl/test/Makefile.am Sun Feb  1 04:47:30 2009
@@ -0,0 +1,12 @@
+THRIFT = @top_builddir@/compiler/cpp/thrift
+THRIFT_IF = @top_srcdir@/test/ThriftTest.thrift
+
+all-local: gen-perl/ThriftTest/Types.pm
+
+gen-perl/ThriftTest/Types.pm: $(THRIFT_IF)
+	$(THRIFT) --gen perl $(THRIFT_IF)
+
+clean-local:
+	rm -rf gen-perl
+
+EXTRA_DIST = memory_buffer.t

Added: incubator/thrift/trunk/lib/perl/test/memory_buffer.t
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/test/memory_buffer.t?rev=739697&view=auto
==============================================================================
--- incubator/thrift/trunk/lib/perl/test/memory_buffer.t (added)
+++ incubator/thrift/trunk/lib/perl/test/memory_buffer.t Sun Feb  1 04:47:30 2009
@@ -0,0 +1,34 @@
+use Test::More tests => 6;
+
+use strict;
+use warnings;
+
+use Data::Dumper;
+
+use Thrift::BinaryProtocol;
+use Thrift::MemoryBuffer;
+
+use ThriftTest::Types;
+
+
+my $transport = Thrift::MemoryBuffer->new();
+my $protocol = Thrift::BinaryProtocol->new($transport);
+
+my $a = ThriftTest::Xtruct->new();
+$a->i32_thing(10);
+$a->i64_thing(30);
+$a->string_thing('Hello, world!');
+$a->write($protocol);
+
+my $b = ThriftTest::Xtruct->new();
+$b->read($protocol);
+is($b->i32_thing, $a->i32_thing);
+is($b->i64_thing, $a->i64_thing);
+is($b->string_thing, $a->string_thing);
+
+$b->write($protocol);
+my $c = ThriftTest::Xtruct->new();
+$c->read($protocol);
+is($c->i32_thing, $a->i32_thing);
+is($c->i64_thing, $a->i64_thing);
+is($c->string_thing, $a->string_thing);