Integrate perlio:
Jarkko Hietaniemi [Sat, 20 Oct 2001 14:05:47 +0000 (14:05 +0000)]
[ 12530]
Fixed in two places - p4 resolve

[ 12529]
Fix for ithreads/stdio build

[ 12525]
Avoid calling (now non-existant) Perl_sv_setsv(), by calling
Perl_sv_setsv_flags directly.

[ 12524]
Add a new flag character 'm' to embed.pl set to represent
"functions" which are really macros. Use it foe the troublesome
sv_setsv() etc. macros in sv.h - changing latter to define
sv_setsv rather than sv_setsv_macro etc.

[ 12523]
Add comments explaining why win32.h/embed.h are included where they are
in perl.h

[ 12522]
Code PerlIOWin32_dup - does not fix Win32 problems as :win32 is not
being used yet.

[ 12511]
Fix gross win32 build issues

p4raw-link: @12530 on //depot/perlio: ed1c0269a31901e89fe8c0090d5c6cb7881eeb2f
p4raw-link: @12529 on //depot/perlio: e0fa5af24242618e2201252ebce12dfc87892dd1
p4raw-link: @12525 on //depot/perlio: 485caab953a6ba703128628417a156139b8e7a26
p4raw-link: @12524 on //depot/perlio: af3c7592a74e7782bf0779c3272ee86140fadf53
p4raw-link: @12523 on //depot/perlio: 66a93824ccd37b2948fb857056747c3314d2a08c
p4raw-link: @12522 on //depot/perlio: aa98ed8a09f34fb745cd31d496ab825619d2c82d
p4raw-link: @12511 on //depot/perlio: a0ae667081b123207d4d0f2b6e6b7a5597859a57

p4raw-id: //depot/perl@12531

1  2 
embed.h
embedvar.h
perl.h
perlapi.h

diff --cc embed.h
+++ b/embed.h
  #define ck_concat             Perl_ck_concat
  #define ck_defined            Perl_ck_defined
  #define ck_delete             Perl_ck_delete
++#define ck_die                        Perl_ck_die
  #define ck_eof                        Perl_ck_eof
  #define ck_eval                       Perl_ck_eval
  #define ck_exec                       Perl_ck_exec
  #define ck_concat(a)          Perl_ck_concat(aTHX_ a)
  #define ck_defined(a)         Perl_ck_defined(aTHX_ a)
  #define ck_delete(a)          Perl_ck_delete(aTHX_ a)
++#define ck_die(a)             Perl_ck_die(aTHX_ a)
  #define ck_eof(a)             Perl_ck_eof(aTHX_ a)
  #define ck_eval(a)            Perl_ck_eval(aTHX_ a)
  #define ck_exec(a)            Perl_ck_exec(aTHX_ a)
diff --cc embedvar.h
  #define PL_do_undump          (PL_Vars.Gdo_undump)
  #define PL_hexdigit           (PL_Vars.Ghexdigit)
  #define PL_malloc_mutex               (PL_Vars.Gmalloc_mutex)
--#define PL_my_inv_rand_max    (PL_Vars.Gmy_inv_rand_max)
  #define PL_op_mutex           (PL_Vars.Gop_mutex)
  #define PL_patleave           (PL_Vars.Gpatleave)
  #define PL_sharedsv_space     (PL_Vars.Gsharedsv_space)
  #define PL_Gdo_undump         PL_do_undump
  #define PL_Ghexdigit          PL_hexdigit
  #define PL_Gmalloc_mutex      PL_malloc_mutex
--#define PL_Gmy_inv_rand_max   PL_my_inv_rand_max
  #define PL_Gop_mutex          PL_op_mutex
  #define PL_Gpatleave          PL_patleave
  #define PL_Gsharedsv_space    PL_sharedsv_space
diff --cc perl.h
--- 1/perl.h
--- 2/perl.h
+++ b/perl.h
@@@ -425,7 -425,10 +425,10 @@@ int usleep(unsigned int)
  #  define MYSWAP
  #endif
  
+ /* Cannot include embed.h here on Win32 as win32.h has not 
+    yet been included and defines some config variables e.g. HAVE_INTERP_INTERN
+  */
 -#if !defined(PERL_FOR_X2P) && !defined(WIN32)
 +#if !defined(PERL_FOR_X2P) && !(defined(WIN32)||defined(VMS))
  #  include "embed.h"
  #endif
  
diff --cc perlapi.h
+++ b/perlapi.h
@@@ -923,8 -923,8 +923,6 @@@ END_EXTERN_
  #define PL_hexdigit           (*Perl_Ghexdigit_ptr(NULL))
  #undef  PL_malloc_mutex
  #define PL_malloc_mutex               (*Perl_Gmalloc_mutex_ptr(NULL))
--#undef  PL_my_inv_rand_max
--#define PL_my_inv_rand_max    (*Perl_Gmy_inv_rand_max_ptr(NULL))
  #undef  PL_op_mutex
  #define PL_op_mutex           (*Perl_Gop_mutex_ptr(NULL))
  #undef  PL_patleave