Author: marvin
Date: Sat Sep 29 00:58:09 2012
New Revision: 1391710
URL: http://svn.apache.org/viewvc?rev=1391710&view=rev
Log:
Add missing bootstrapping code.
Added:
lucy/trunk/clownfish/runtime/core/Clownfish.c
- copied unchanged from r1391689, lucy/trunk/core/Lucy.c
Modified:
lucy/trunk/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
Modified: lucy/trunk/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
URL:
http://svn.apache.org/viewvc/lucy/trunk/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm?rev=1391710&r1=1391709&r2=1391710&view=diff
==============================================================================
--- lucy/trunk/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
(original)
+++ lucy/trunk/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm Sat
Sep 29 00:58:09 2012
@@ -21,6 +21,7 @@ $VERSION = eval $VERSION;
sub bind_all {
my $class = shift;
+ $class->bind_clownfish;
$class->bind_bytebuf;
$class->bind_charbuf;
$class->bind_err;
@@ -34,6 +35,56 @@ sub bind_all {
$class->bind_vtable;
}
+sub bind_clownfish {
+ my $xs_code = <<'END_XS_CODE';
+MODULE = Clownfish PACKAGE = Clownfish
+
+BOOT:
+ lucy_Clownfish_bootstrap();
+
+IV
+_dummy_function()
+CODE:
+ RETVAL = 1;
+OUTPUT:
+ RETVAL
+
+SV*
+to_clownfish(sv)
+ SV *sv;
+CODE:
+{
+ lucy_Obj *obj = XSBind_perl_to_cfish(sv);
+ RETVAL = CFISH_OBJ_TO_SV_NOINC(obj);
+}
+OUTPUT: RETVAL
+
+SV*
+to_perl(sv)
+ SV *sv;
+CODE:
+{
+ if (sv_isobject(sv) && sv_derived_from(sv, "Clownfish::Obj")) {
+ IV tmp = SvIV(SvRV(sv));
+ lucy_Obj* obj = INT2PTR(lucy_Obj*, tmp);
+ RETVAL = XSBind_cfish_to_perl(obj);
+ }
+ else {
+ RETVAL = newSVsv(sv);
+ }
+}
+OUTPUT: RETVAL
+END_XS_CODE
+
+ my $binding = Clownfish::CFC::Binding::Perl::Class->new(
+ parcel => "Clownfish",
+ class_name => "Clownfish",
+ );
+ $binding->append_xs($xs_code);
+
+ Clownfish::CFC::Binding::Perl::Class->register($binding);
+}
+
sub bind_bytebuf {
my $xs_code = <<'END_XS_CODE';
MODULE = Clownfish PACKAGE = Clownfish::ByteBuf