summaryrefslogtreecommitdiff
path: root/perlapi.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-11-07 23:58:06 +0000
committerNicholas Clark <nick@ccl4.org>2007-11-07 23:58:06 +0000
commitffee3ff61d01bece17fbf5f9da633f1917fa5c0a (patch)
treee663a44033087b325e33038fc170994972d55bc8 /perlapi.h
parent663f364bd429de50c8f5478879b1285d1270c1b3 (diff)
downloadperl-ffee3ff61d01bece17fbf5f9da633f1917fa5c0a.tar.gz
"Bake" the values of PERL_REVISION, PERL_VERSION and PERL_SUBVERSION
into global variables (and hence a shared perl library). Additionally under MULTIPLICITY record the size of the interpreter structure (total, and for this version) and under PERL_GLOBAL_STRUCT the size of the global variables structure. Coupled with PL_bincompat_options this will allow 5.10.1 (and later), when compiled with a shared perl library, to perform sanity checks in main() to verify that the shared library is indeed binary compatible. p4raw-id: //depot/perl@32238
Diffstat (limited to 'perlapi.h')
-rw-r--r--perlapi.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/perlapi.h b/perlapi.h
index d924aff4ba..42cac3591c 100644
--- a/perlapi.h
+++ b/perlapi.h
@@ -748,10 +748,16 @@ END_EXTERN_C
#define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL))
#undef PL_fold_locale
#define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL))
+#undef PL_global_struct_size
+#define PL_global_struct_size (*Perl_Gglobal_struct_size_ptr(NULL))
#undef PL_hexdigit
#define PL_hexdigit (*Perl_Ghexdigit_ptr(NULL))
#undef PL_hints_mutex
#define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL))
+#undef PL_interpreter_size
+#define PL_interpreter_size (*Perl_Ginterpreter_size_ptr(NULL))
+#undef PL_interpreter_size_5_10_0
+#define PL_interpreter_size_5_10_0 (*Perl_Ginterpreter_size_5_10_0_ptr(NULL))
#undef PL_malloc_mutex
#define PL_malloc_mutex (*Perl_Gmalloc_mutex_ptr(NULL))
#undef PL_mmap_page_size
@@ -778,6 +784,8 @@ END_EXTERN_C
#define PL_perlio_mutex (*Perl_Gperlio_mutex_ptr(NULL))
#undef PL_ppaddr
#define PL_ppaddr (*Perl_Gppaddr_ptr(NULL))
+#undef PL_revision
+#define PL_revision (*Perl_Grevision_ptr(NULL))
#undef PL_runops_dbg
#define PL_runops_dbg (*Perl_Grunops_dbg_ptr(NULL))
#undef PL_runops_std
@@ -796,6 +804,8 @@ END_EXTERN_C
#define PL_sig_trapped (*Perl_Gsig_trapped_ptr(NULL))
#undef PL_sigfpe_saved
#define PL_sigfpe_saved (*Perl_Gsigfpe_saved_ptr(NULL))
+#undef PL_subversion
+#define PL_subversion (*Perl_Gsubversion_ptr(NULL))
#undef PL_sv_placeholder
#define PL_sv_placeholder (*Perl_Gsv_placeholder_ptr(NULL))
#undef PL_thr_key
@@ -804,6 +814,8 @@ END_EXTERN_C
#define PL_timesbase (*Perl_Gtimesbase_ptr(NULL))
#undef PL_use_safe_putenv
#define PL_use_safe_putenv (*Perl_Guse_safe_putenv_ptr(NULL))
+#undef PL_version
+#define PL_version (*Perl_Gversion_ptr(NULL))
#undef PL_veto_cleanup
#define PL_veto_cleanup (*Perl_Gveto_cleanup_ptr(NULL))
#undef PL_watch_pvx