@@ -43,6 +43,7 @@ my $contrib_extrasource = {
43
43
my @contrib_excludes = (
44
44
' commit_ts' , ' hstore_plperl' ,
45
45
' hstore_plpython' , ' intagg' ,
46
+ ' jsonb_plpython' ,
46
47
' ltree_plpython' , ' pgcrypto' ,
47
48
' sepgsql' , ' brin' ,
48
49
' test_extensions' , ' test_pg_dump' ,
@@ -506,6 +507,11 @@ sub mkvcbuild
506
507
' hstore' , ' contrib/hstore' );
507
508
$hstore_plpython -> AddDefine(
508
509
' PLPYTHON_LIBNAME="plpython' . $pymajorver . ' "' );
510
+ my $jsonb_plpython = AddTransformModule(
511
+ ' jsonb_plpython' . $pymajorver , ' contrib/jsonb_plpython' ,
512
+ ' plpython' . $pymajorver , ' src/pl/plpython' );
513
+ $jsonb_plpython -> AddDefine(
514
+ ' PLPYTHON_LIBNAME="plpython' . $pymajorver . ' "' );
509
515
my $ltree_plpython = AddTransformModule(
510
516
' ltree_plpython' . $pymajorver , ' contrib/ltree_plpython' ,
511
517
' plpython' . $pymajorver , ' src/pl/plpython' ,
@@ -850,20 +856,23 @@ sub AddTransformModule
850
856
my $n_src = shift ;
851
857
my $pl_proj_name = shift ;
852
858
my $pl_src = shift ;
853
- my $transform_name = shift ;
854
- my $transform_src = shift ;
859
+ my $type_name = shift ;
860
+ my $type_src = shift ;
855
861
856
- my $transform_proj = undef ;
857
- foreach my $proj (@{ $solution -> { projects } -> { ' contrib ' } } )
862
+ my $type_proj = undef ;
863
+ if ( $type_name )
858
864
{
859
- if ( $proj -> {name } eq $transform_name )
865
+ foreach my $proj (@{ $solution -> {projects } -> { ' contrib ' } } )
860
866
{
861
- $transform_proj = $proj ;
862
- last ;
867
+ if ($proj -> {name } eq $type_name )
868
+ {
869
+ $type_proj = $proj ;
870
+ last ;
871
+ }
863
872
}
873
+ die " could not find base module $type_name for transform module $n "
874
+ if (!defined ($type_proj ));
864
875
}
865
- die " could not find base module $transform_name for transform module $n "
866
- if (!defined ($transform_proj ));
867
876
868
877
my $pl_proj = undef ;
869
878
foreach my $proj (@{ $solution -> {projects }-> {' PLs' } })
@@ -894,13 +903,16 @@ sub AddTransformModule
894
903
}
895
904
896
905
# Add base module dependencies
897
- $p -> AddIncludeDir($transform_src );
898
- $p -> AddIncludeDir($transform_proj -> {includes });
899
- foreach my $trans_lib (@{ $transform_proj -> {libraries } })
906
+ if ($type_proj )
900
907
{
901
- $p -> AddLibrary($trans_lib );
908
+ $p -> AddIncludeDir($type_src );
909
+ $p -> AddIncludeDir($type_proj -> {includes });
910
+ foreach my $type_lib (@{ $type_proj -> {libraries } })
911
+ {
912
+ $p -> AddLibrary($type_lib );
913
+ }
914
+ $p -> AddReference($type_proj );
902
915
}
903
- $p -> AddReference($transform_proj );
904
916
905
917
return $p ;
906
918
}
0 commit comments