This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document a bit the art of minimizing the installation,
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 2cbdd62..a83e0b8 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define block_gimme            Perl_block_gimme
 #define block_start            Perl_block_start
 #define boot_core_UNIVERSAL    Perl_boot_core_UNIVERSAL
+#define boot_core_PerlIO       Perl_boot_core_PerlIO
 #define call_list              Perl_call_list
 #define cando                  Perl_cando
 #define cast_ulong             Perl_cast_ulong
 #define moreswitches           Perl_moreswitches
 #define my                     Perl_my
 #define my_atof                        Perl_my_atof
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 #define my_bcopy               Perl_my_bcopy
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 #define my_exit                        Perl_my_exit
 #define my_failure_exit                Perl_my_failure_exit
 #define my_fflush_all          Perl_my_fflush_all
+#define my_fork                        Perl_my_fork
+#define atfork_lock            Perl_atfork_lock
+#define atfork_unlock          Perl_atfork_unlock
 #define my_lstat               Perl_my_lstat
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #define my_memcmp              Perl_my_memcmp
 #define sv_collxfrm            Perl_sv_collxfrm
 #endif
 #define sv_compile_2op         Perl_sv_compile_2op
-#define sv_getcwd              Perl_sv_getcwd
+#define getcwd_sv              Perl_getcwd_sv
 #define sv_dec                 Perl_sv_dec
 #define sv_dump                        Perl_sv_dump
 #define sv_derived_from                Perl_sv_derived_from
 #define sv_pos_b2u             Perl_sv_pos_b2u
 #define sv_pvutf8n_force       Perl_sv_pvutf8n_force
 #define sv_pvbyten_force       Perl_sv_pvbyten_force
-#define sv_realpath            Perl_sv_realpath
 #define sv_reftype             Perl_sv_reftype
 #define sv_replace             Perl_sv_replace
 #define sv_report_used         Perl_sv_report_used
 #  endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#define doencodes              S_doencodes
 #define refto                  S_refto
 #define seed                   S_seed
+#endif
+#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#define doencodes              S_doencodes
 #define mul128                 S_mul128
 #define is_an_int              S_is_an_int
 #define div128                 S_div128
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #define save_scalar_at         S_save_scalar_at
 #endif
+#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT))
+#define sharedsv_init          Perl_sharedsv_init
+#define sharedsv_new           Perl_sharedsv_new
+#define sharedsv_find          Perl_sharedsv_find
+#define sharedsv_lock          Perl_sharedsv_lock
+#define sharedsv_unlock                Perl_sharedsv_unlock
+#define sharedsv_unlock_scope  Perl_sharedsv_unlock_scope
+#define sharedsv_thrcnt_inc    Perl_sharedsv_thrcnt_inc
+#define sharedsv_thrcnt_dec    Perl_sharedsv_thrcnt_dec
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #define asIV                   S_asIV
 #define asUV                   S_asUV
 #define force_version          S_force_version
 #define force_word             S_force_word
 #define tokeq                  S_tokeq
+#define pending_ident          S_pending_ident
 #define scan_const             S_scan_const
 #define scan_formline          S_scan_formline
 #define scan_heredoc           S_scan_heredoc
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #define isa_lookup             S_isa_lookup
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
 #define stdize_locale          S_stdize_locale
+#endif
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define closest_cop            S_closest_cop
 #define mess_alloc             S_mess_alloc
 #  if defined(LEAKTEST)
 #define xstat                  S_xstat
 #define block_gimme()          Perl_block_gimme(aTHX)
 #define block_start(a)         Perl_block_start(aTHX_ a)
 #define boot_core_UNIVERSAL()  Perl_boot_core_UNIVERSAL(aTHX)
+#define boot_core_PerlIO()     Perl_boot_core_PerlIO(aTHX)
 #define call_list(a,b)         Perl_call_list(aTHX_ a,b)
 #define cando(a,b,c)           Perl_cando(aTHX_ a,b,c)
 #define cast_ulong(a)          Perl_cast_ulong(aTHX_ a)
 #define moreswitches(a)                Perl_moreswitches(aTHX_ a)
 #define my(a)                  Perl_my(aTHX_ a)
 #define my_atof(a)             Perl_my_atof(aTHX_ a)
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 #define my_bcopy               Perl_my_bcopy
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 #define my_exit(a)             Perl_my_exit(aTHX_ a)
 #define my_failure_exit()      Perl_my_failure_exit(aTHX)
 #define my_fflush_all()                Perl_my_fflush_all(aTHX)
+#define my_fork                        Perl_my_fork
+#define atfork_lock            Perl_atfork_lock
+#define atfork_unlock          Perl_atfork_unlock
 #define my_lstat()             Perl_my_lstat(aTHX)
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #define my_memcmp              Perl_my_memcmp
 #define sv_collxfrm(a,b)       Perl_sv_collxfrm(aTHX_ a,b)
 #endif
 #define sv_compile_2op(a,b,c,d)        Perl_sv_compile_2op(aTHX_ a,b,c,d)
-#define sv_getcwd(a)           Perl_sv_getcwd(aTHX_ a)
+#define getcwd_sv(a)           Perl_getcwd_sv(aTHX_ a)
 #define sv_dec(a)              Perl_sv_dec(aTHX_ a)
 #define sv_dump(a)             Perl_sv_dump(aTHX_ a)
 #define sv_derived_from(a,b)   Perl_sv_derived_from(aTHX_ a,b)
 #define sv_pos_b2u(a,b)                Perl_sv_pos_b2u(aTHX_ a,b)
 #define sv_pvutf8n_force(a,b)  Perl_sv_pvutf8n_force(aTHX_ a,b)
 #define sv_pvbyten_force(a,b)  Perl_sv_pvbyten_force(aTHX_ a,b)
-#define sv_realpath(a,b,c)     Perl_sv_realpath(aTHX_ a,b,c)
 #define sv_reftype(a,b)                Perl_sv_reftype(aTHX_ a,b)
 #define sv_replace(a,b)                Perl_sv_replace(aTHX_ a,b)
 #define sv_report_used()       Perl_sv_report_used(aTHX)
 #define my_attrs(a,b)          Perl_my_attrs(aTHX_ a,b)
 #define boot_core_xsutils()    Perl_boot_core_xsutils(aTHX)
 #if defined(USE_ITHREADS)
-#define cx_dup(a,b,c)          Perl_cx_dup(aTHX_ a,b,c)
-#define si_dup(a)              Perl_si_dup(aTHX_ a)
-#define ss_dup(a)              Perl_ss_dup(aTHX_ a)
+#define cx_dup(a,b,c,d)                Perl_cx_dup(aTHX_ a,b,c,d)
+#define si_dup(a,b)            Perl_si_dup(aTHX_ a,b)
+#define ss_dup(a,b)            Perl_ss_dup(aTHX_ a,b)
 #define any_dup(a,b)           Perl_any_dup(aTHX_ a,b)
-#define he_dup(a,b)            Perl_he_dup(aTHX_ a,b)
-#define re_dup(a)              Perl_re_dup(aTHX_ a)
+#define he_dup(a,b,c)          Perl_he_dup(aTHX_ a,b,c)
+#define re_dup(a,b)            Perl_re_dup(aTHX_ a,b)
 #define fp_dup(a,b)            Perl_fp_dup(aTHX_ a,b)
 #define dirp_dup(a)            Perl_dirp_dup(aTHX_ a)
-#define gp_dup(a)              Perl_gp_dup(aTHX_ a)
-#define mg_dup(a)              Perl_mg_dup(aTHX_ a)
-#define sv_dup(a)              Perl_sv_dup(aTHX_ a)
+#define gp_dup(a,b)            Perl_gp_dup(aTHX_ a,b)
+#define mg_dup(a,b)            Perl_mg_dup(aTHX_ a,b)
+#define sv_dup(a,b)            Perl_sv_dup(aTHX_ a,b)
 #if defined(HAVE_INTERP_INTERN)
 #define sys_intern_dup(a,b)    Perl_sys_intern_dup(aTHX_ a,b)
 #endif
 #  endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#define doencodes(a,b,c)       S_doencodes(aTHX_ a,b,c)
 #define refto(a)               S_refto(aTHX_ a)
 #define seed()                 S_seed(aTHX)
+#endif
+#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#define doencodes(a,b,c)       S_doencodes(aTHX_ a,b,c)
 #define mul128(a,b)            S_mul128(aTHX_ a,b)
 #define is_an_int(a,b)         S_is_an_int(aTHX_ a,b)
 #define div128(a,b)            S_div128(aTHX_ a,b)
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #define save_scalar_at(a)      S_save_scalar_at(aTHX_ a)
 #endif
+#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT))
+#define sharedsv_init()                Perl_sharedsv_init(aTHX)
+#define sharedsv_new()         Perl_sharedsv_new(aTHX)
+#define sharedsv_find(a)       Perl_sharedsv_find(aTHX_ a)
+#define sharedsv_lock(a)       Perl_sharedsv_lock(aTHX_ a)
+#define sharedsv_unlock(a)     Perl_sharedsv_unlock(aTHX_ a)
+#define sharedsv_unlock_scope(a)       Perl_sharedsv_unlock_scope(aTHX_ a)
+#define sharedsv_thrcnt_inc(a) Perl_sharedsv_thrcnt_inc(aTHX_ a)
+#define sharedsv_thrcnt_dec(a) Perl_sharedsv_thrcnt_dec(aTHX_ a)
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #define asIV(a)                        S_asIV(aTHX_ a)
 #define asUV(a)                        S_asUV(aTHX_ a)
 #define force_version(a)       S_force_version(aTHX_ a)
 #define force_word(a,b,c,d,e)  S_force_word(aTHX_ a,b,c,d,e)
 #define tokeq(a)               S_tokeq(aTHX_ a)
+#define pending_ident()                S_pending_ident(aTHX)
 #define scan_const(a)          S_scan_const(aTHX_ a)
 #define scan_formline(a)       S_scan_formline(aTHX_ a)
 #define scan_heredoc(a)                S_scan_heredoc(aTHX_ a)
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 #define isa_lookup(a,b,c,d)    S_isa_lookup(aTHX_ a,b,c,d)
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
 #define stdize_locale(a)       S_stdize_locale(aTHX_ a)
+#endif
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define closest_cop(a,b)       S_closest_cop(aTHX_ a,b)
 #define mess_alloc()           S_mess_alloc(aTHX)
 #  if defined(LEAKTEST)
 #define xstat(a)               S_xstat(aTHX_ a)
 #  if defined(PERL_IMPLICIT_SYS)
 #  endif
 #endif
-#if defined(MYMALLOC)
 #define malloc                 Perl_malloc
 #define calloc                 Perl_calloc
 #define realloc                        Perl_realloc
 #define mfree                  Perl_mfree
+#if defined(MYMALLOC)
 #define malloced_size          Perl_malloced_size
 #endif
 #define get_context            Perl_get_context
 #define block_start            Perl_block_start
 #define Perl_boot_core_UNIVERSAL       CPerlObj::Perl_boot_core_UNIVERSAL
 #define boot_core_UNIVERSAL    Perl_boot_core_UNIVERSAL
+#define Perl_boot_core_PerlIO  CPerlObj::Perl_boot_core_PerlIO
+#define boot_core_PerlIO       Perl_boot_core_PerlIO
 #define Perl_call_list         CPerlObj::Perl_call_list
 #define call_list              Perl_call_list
 #define Perl_cando             CPerlObj::Perl_cando
 #define my                     Perl_my
 #define Perl_my_atof           CPerlObj::Perl_my_atof
 #define my_atof                        Perl_my_atof
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 #define Perl_my_bcopy          CPerlObj::Perl_my_bcopy
 #define my_bcopy               Perl_my_bcopy
 #endif
 #define my_failure_exit                Perl_my_failure_exit
 #define Perl_my_fflush_all     CPerlObj::Perl_my_fflush_all
 #define my_fflush_all          Perl_my_fflush_all
+#define Perl_my_fork           CPerlObj::Perl_my_fork
+#define my_fork                        Perl_my_fork
+#define Perl_atfork_lock       CPerlObj::Perl_atfork_lock
+#define atfork_lock            Perl_atfork_lock
+#define Perl_atfork_unlock     CPerlObj::Perl_atfork_unlock
+#define atfork_unlock          Perl_atfork_unlock
 #define Perl_my_lstat          CPerlObj::Perl_my_lstat
 #define my_lstat               Perl_my_lstat
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #endif
 #define Perl_sv_compile_2op    CPerlObj::Perl_sv_compile_2op
 #define sv_compile_2op         Perl_sv_compile_2op
-#define Perl_sv_getcwd         CPerlObj::Perl_sv_getcwd
-#define sv_getcwd              Perl_sv_getcwd
+#define Perl_getcwd_sv         CPerlObj::Perl_getcwd_sv
+#define getcwd_sv              Perl_getcwd_sv
 #define Perl_sv_dec            CPerlObj::Perl_sv_dec
 #define sv_dec                 Perl_sv_dec
 #define Perl_sv_dump           CPerlObj::Perl_sv_dump
 #define sv_pvutf8n_force       Perl_sv_pvutf8n_force
 #define Perl_sv_pvbyten_force  CPerlObj::Perl_sv_pvbyten_force
 #define sv_pvbyten_force       Perl_sv_pvbyten_force
-#define Perl_sv_realpath       CPerlObj::Perl_sv_realpath
-#define sv_realpath            Perl_sv_realpath
 #define Perl_sv_reftype                CPerlObj::Perl_sv_reftype
 #define sv_reftype             Perl_sv_reftype
 #define Perl_sv_replace                CPerlObj::Perl_sv_replace
 #  endif
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#define S_doencodes            CPerlObj::S_doencodes
-#define doencodes              S_doencodes
 #define S_refto                        CPerlObj::S_refto
 #define refto                  S_refto
 #define S_seed                 CPerlObj::S_seed
 #define seed                   S_seed
+#endif
+#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#define S_doencodes            CPerlObj::S_doencodes
+#define doencodes              S_doencodes
 #define S_mul128               CPerlObj::S_mul128
 #define mul128                 S_mul128
 #define S_is_an_int            CPerlObj::S_is_an_int
 #define S_save_scalar_at       CPerlObj::S_save_scalar_at
 #define save_scalar_at         S_save_scalar_at
 #endif
+#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT))
+#define Perl_sharedsv_init     CPerlObj::Perl_sharedsv_init
+#define sharedsv_init          Perl_sharedsv_init
+#define Perl_sharedsv_new      CPerlObj::Perl_sharedsv_new
+#define sharedsv_new           Perl_sharedsv_new
+#define Perl_sharedsv_find     CPerlObj::Perl_sharedsv_find
+#define sharedsv_find          Perl_sharedsv_find
+#define Perl_sharedsv_lock     CPerlObj::Perl_sharedsv_lock
+#define sharedsv_lock          Perl_sharedsv_lock
+#define Perl_sharedsv_unlock   CPerlObj::Perl_sharedsv_unlock
+#define sharedsv_unlock                Perl_sharedsv_unlock
+#define Perl_sharedsv_unlock_scope     CPerlObj::Perl_sharedsv_unlock_scope
+#define sharedsv_unlock_scope  Perl_sharedsv_unlock_scope
+#define Perl_sharedsv_thrcnt_inc       CPerlObj::Perl_sharedsv_thrcnt_inc
+#define sharedsv_thrcnt_inc    Perl_sharedsv_thrcnt_inc
+#define Perl_sharedsv_thrcnt_dec       CPerlObj::Perl_sharedsv_thrcnt_dec
+#define sharedsv_thrcnt_dec    Perl_sharedsv_thrcnt_dec
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #define S_asIV                 CPerlObj::S_asIV
 #define asIV                   S_asIV
 #define force_word             S_force_word
 #define S_tokeq                        CPerlObj::S_tokeq
 #define tokeq                  S_tokeq
+#define S_pending_ident                CPerlObj::S_pending_ident
+#define pending_ident          S_pending_ident
 #define S_scan_const           CPerlObj::S_scan_const
 #define scan_const             S_scan_const
 #define S_scan_formline                CPerlObj::S_scan_formline
 #define S_isa_lookup           CPerlObj::S_isa_lookup
 #define isa_lookup             S_isa_lookup
 #endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
 #define S_stdize_locale                CPerlObj::S_stdize_locale
 #define stdize_locale          S_stdize_locale
+#endif
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#define S_closest_cop          CPerlObj::S_closest_cop
+#define closest_cop            S_closest_cop
 #define S_mess_alloc           CPerlObj::S_mess_alloc
 #define mess_alloc             S_mess_alloc
 #  if defined(LEAKTEST)