This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate cfgperl contents into mainline
[perl5.git] / embed.pl
index cbd2294..ec13498 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -285,6 +285,32 @@ print EM <<'END';
 
 /* NO_EMBED is no longer supported. i.e. EMBED is always active. */
 
+/* provide binary compatible (but inconsistent) names */
+#if defined(PERL_BINCOMPAT_5005)
+#  define  Perl_call_argv              perl_call_argv
+#  define  Perl_call_method            perl_call_method
+#  define  Perl_call_pv                        perl_call_pv
+#  define  Perl_call_sv                        perl_call_sv
+#  define  Perl_get_av                 perl_get_av
+#  define  Perl_get_cv                 perl_get_cv
+#  define  Perl_get_hv                 perl_get_hv
+#  define  Perl_get_sv                 perl_get_sv
+#  define  Perl_init_i18nl10n          perl_init_i18nl10n
+#  define  Perl_init_i18nl14n          perl_init_i18nl14n
+#  define  Perl_new_collate            perl_new_collate
+#  define  Perl_new_ctype              perl_new_ctype
+#  define  Perl_new_numeric            perl_new_numeric
+#  define  Perl_require_pv             perl_require_pv
+#  define  Perl_safesyscalloc          Perl_safecalloc
+#  define  Perl_safesysfree            Perl_safefree
+#  define  Perl_safesysmalloc          Perl_safemalloc
+#  define  Perl_safesysrealloc         Perl_saferealloc
+#  define  Perl_set_numeric_local      perl_set_numeric_local
+#  define  Perl_set_numeric_standard   perl_set_numeric_standard
+#  define  PERL_POLLUTE
+#  define  PERL_POLLUTE_MALLOC
+#endif
+
 /* Hide global symbols */
 
 #if !defined(PERL_OBJECT)
@@ -422,11 +448,12 @@ print EM <<'END';
    disable them.
  */
 
-#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
-
+#if !defined(PERL_CORE)
 #  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)
+#endif
 
+#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
 
 /* Compatibility for various misnamed functions.  All functions
    in the API that begin with "perl_" (not "Perl_") take an explicit
@@ -997,7 +1024,6 @@ p  |bool   |Gv_AMupdate    |HV* stash
 p      |OP*    |append_elem    |I32 optype|OP* head|OP* tail
 p      |OP*    |append_list    |I32 optype|LISTOP* first|LISTOP* last
 p      |I32    |apply          |I32 type|SV** mark|SV** sp
-p      |void   |assertref      |OP* o
 p      |bool   |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
 p      |SV**   |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
 p      |HE*    |avhv_iternext  |AV *ar
@@ -1103,6 +1129,9 @@ p |void   |do_join        |SV* sv|SV* del|SV** mark|SV** sp
 p      |OP*    |do_kv
 p      |bool   |do_open        |GV* gv|char* name|I32 len|int as_raw \
                                |int rawmode|int rawperm|PerlIO* supplied_fp
+p      |bool   |do_open9       |GV *gv|char *name|I32 len|int as_raw \
+                               |int rawmode|int rawperm|PerlIO *supplied_fp \
+                               |SV *svs|I32 num
 p      |void   |do_pipe        |SV* sv|GV* rgv|GV* wgv
 p      |bool   |do_print       |SV* sv|PerlIO* fp
 p      |OP*    |do_readline
@@ -1196,7 +1225,7 @@ p |void   |init_debugger
 p      |void   |init_stacks
 p      |U32    |intro_my
 p      |char*  |instr          |const char* big|const char* little
-p      |bool   |io_close       |IO* io
+p      |bool   |io_close       |IO* io|bool not_implicit
 p      |OP*    |invert         |OP* cmd
 p      |bool   |is_uni_alnum   |U32 c
 p      |bool   |is_uni_alnumc  |U32 c
@@ -1543,10 +1572,10 @@ p       |OP*    |scalar         |OP* o
 p      |OP*    |scalarkids     |OP* o
 p      |OP*    |scalarseq      |OP* o
 p      |OP*    |scalarvoid     |OP* o
-p      |UV     |scan_bin       |char* start|I32 len|I32* retlen
-p      |UV     |scan_hex       |char* start|I32 len|I32* retlen
+p      |NV     |scan_bin       |char* start|I32 len|I32* retlen
+p      |NV     |scan_hex       |char* start|I32 len|I32* retlen
 p      |char*  |scan_num       |char* s
-p      |UV     |scan_oct       |char* start|I32 len|I32* retlen
+p      |NV     |scan_oct       |char* start|I32 len|I32* retlen
 p      |OP*    |scope          |OP* o
 p      |char*  |screaminstr    |SV* bigsv|SV* littlesv|I32 start_shift \
                                |I32 end_shift|I32 *state|I32 last
@@ -1800,6 +1829,7 @@ s |OP*    |no_fh_allowed  |OP *o
 s      |OP*    |scalarboolean  |OP *o
 s      |OP*    |too_few_arguments|OP *o|char* name
 s      |OP*    |too_many_arguments|OP *o|char* name
+s      |void   |op_clear       |OP* o
 s      |void   |null           |OP* o
 s      |PADOFFSET|pad_findlex  |char* name|PADOFFSET newoff|U32 seq \
                                |CV* startcv|I32 cx_ix|I32 saweval|U32 flags
@@ -1872,6 +1902,7 @@ s |void   |qsortsv        |SV ** array|size_t num_elts|SVCOMPARE_t f
 
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 s      |CV*    |get_db_sub     |SV **svp|CV *cv
+s      |SV*    |method_common  |SV* meth|U32* hashp
 #endif
 
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
@@ -1901,9 +1932,10 @@ s        |char*|regwhite |char *|char *
 s      |char*|nextchar
 s      |regnode*|dumpuntil     |regnode *start|regnode *node \
                                |regnode *last|SV* sv|I32 l
-s      |void   |scan_commit    |scan_data_t *data
+s      |void   |scan_commit    |struct scan_data_t *data
 s      |I32    |study_chunk    |regnode **scanp|I32 *deltap \
-                               |regnode *last|scan_data_t *data|U32 flags
+                               |regnode *last|struct scan_data_t *data \
+                               |U32 flags
 s      |I32    |add_data       |I32 n|char *s
 rs     |void|re_croak2 |const char* pat1|const char* pat2|...
 s      |I32    |regpposixcc    |I32 value