mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
THRIFT-199: integrate perl into automake
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739697 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4704d4383c
commit
1952e5494d
9
.gitignore
vendored
9
.gitignore
vendored
@ -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
|
||||
|
@ -66,6 +66,12 @@ if test "$with_py" = "yes"; then
|
||||
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 @@ AC_CONFIG_FILES([
|
||||
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
|
||||
|
@ -21,13 +21,16 @@ if WITH_RUBY
|
||||
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
|
||||
|
33
lib/perl/Makefile.am
Normal file
33
lib/perl/Makefile.am
Normal file
@ -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
|
6
lib/perl/test.pl
Normal file
6
lib/perl/test.pl
Normal file
@ -0,0 +1,6 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::Harness;
|
||||
|
||||
runtests(@ARGV);
|
12
lib/perl/test/Makefile.am
Normal file
12
lib/perl/test/Makefile.am
Normal file
@ -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
|
34
lib/perl/test/memory_buffer.t
Normal file
34
lib/perl/test/memory_buffer.t
Normal file
@ -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);
|
Loading…
Reference in New Issue
Block a user