summaryrefslogtreecommitdiff
path: root/embed.pl
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
commit864dbfa3ca8032ef66f7aa86961933b19b962357 (patch)
tree4186157b2fc82346ec83e789b065a908a56c1641 /embed.pl
parentfdf134946da249a71c49962435817212b8fa195a (diff)
downloadperl-864dbfa3ca8032ef66f7aa86961933b19b962357.tar.gz
initial stub implementation of implicit thread/this
pointer argument; builds/tests on Solaris, win32 hasn't been fixed up yet; proto.h, global.sym and static function decls are now generated from a common database in proto.pl; some inconsistently named perl_foo() things are now Perl_foo(), compatibility #defines provided; perl_foo() (lowercase 'p') reserved for functions that take an explicit context argument; next step: generate #define foo(a,b) Perl_foo(aTHX_ a,b) p4raw-id: //depot/perl@3522
Diffstat (limited to 'embed.pl')
-rwxr-xr-xembed.pl22
1 files changed, 21 insertions, 1 deletions
diff --git a/embed.pl b/embed.pl
index 37a0070363..c877f0dce9 100755
--- a/embed.pl
+++ b/embed.pl
@@ -109,7 +109,8 @@ sub hide ($$) {
sub embed ($) {
my ($sym) = @_;
- hide($sym, "Perl_$sym");
+ my $def = $sym;
+ hide($def, $sym) if $def =~ s/^Perl_//;
}
sub embedobj ($) {
@@ -165,6 +166,7 @@ print EM <<'END';
END
for $sym (sort keys %global) {
+ next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
print EM embed($sym);
}
@@ -402,6 +404,7 @@ my @staticfuncs = qw(
);
for $sym (sort(keys(%global),@staticfuncs)) {
+ next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
print EM embedobj($sym);
}
@@ -413,6 +416,23 @@ print EM <<'END';
#define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
#define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
+#define perl_atexit call_atexit
+#define perl_call_argv call_argv
+#define perl_call_pv call_pv
+#define perl_call_method call_method
+#define perl_call_sv call_sv
+#define perl_eval_sv eval_sv
+#define perl_eval_pv eval_pv
+#define perl_require_pv require_pv
+#define perl_get_sv get_sv
+#define perl_get_av get_av
+#define perl_get_hv get_hv
+#define perl_get_cv get_cv
+#define perl_init_i18nl10n init_i18nl10n
+#define perl_init_i18nl14n init_i18nl14n
+#define perl_new_ctype new_ctype
+#define perl_new_collate new_collate
+#define perl_new_numeric new_numeric
END