Integrate win32 branch into mainline
[p5sagit/p5-mst-13.2.git] / win32 / makedef.pl
index 1bda71e..c366be4 100644 (file)
 # that does not present in the WIN32 port but there is no easy
 # way to find them so I just put a exception list here
 
-while (@ARGV && $ARGV[0] =~ /^-/)
+my $CCTYPE = "MSVC";   # default
+
+while (@ARGV)
  {
   my $flag = shift;
   $define{$1} = 1 if ($flag =~ /^-D(\w+)$/);
+  $CCTYPE = $1 if ($flag =~ /^CCTYPE=(\w+)$/);
  } 
 
 open(CFG,'config.h') || die "Cannot open config.h:$!";
 while (<CFG>)
  {
   $define{$1} = 1 if /^\s*#\s*define\s+(MYMALLOC)\b/;
+  $define{$1} = 1 if /^\s*#\s*define\s+(USE_THREADS)\b/;
  }
 close(CFG);
 
 warn join(' ',keys %define)."\n";
 
-my $CCTYPE = shift || "MSVC";
-
 if ($CCTYPE ne 'GCC') 
  {
   print "LIBRARY Perl\n";
@@ -78,12 +80,6 @@ Perl_chsize
 Perl_ck_aelem
 Perl_cryptseen
 Perl_cx_dump
-Perl_deb
-Perl_deb_growlevel
-Perl_debop
-Perl_debprofdump
-Perl_debstack
-Perl_debstackptrs
 Perl_do_ipcctl
 Perl_do_ipcget
 Perl_do_msgrcv
@@ -163,15 +159,9 @@ Perl_timesbuf
 Perl_too_few_arguments
 Perl_too_many_arguments
 Perl_unlnk
-Perl_wait4pid
 Perl_watch
 Perl_yyname
 Perl_yyrule
-Perl_Yes
-Perl_No
-Perl_hexdigit
-Perl_patleave
-Perl_vert
 allgvs
 curblock
 curcsv
@@ -210,9 +200,12 @@ if ($define{'MYMALLOC'})
 unless ($define{'USE_THREADS'})
  {
   skip_symbols [qw(
+Perl_getTHR
+Perl_setTHR
 Perl_condpair_magic
 Perl_thr_key
 Perl_sv_mutex
+Perl_svref_mutex
 Perl_malloc_mutex
 Perl_eval_mutex
 Perl_eval_cond
@@ -223,6 +216,7 @@ Perl_nthreads
 Perl_nthreads_cond
 Perl_per_thread_magicals
 Perl_thread_create
+Perl_threadnum
 Perl_find_threadsv
 Perl_threadsv_names
 Perl_thrsv
@@ -235,7 +229,11 @@ Perl_sv_true
 Perl_sv_uv
 Perl_sv_pvn
 Perl_newRV_noinc)];
+ }
 
+unless ($define{'FAKE_THREADS'})
+ {
+  skip_symbols [qw(Perl_curthr)];
  }
 
 sub readvar
@@ -247,7 +245,7 @@ sub readvar
   {
    # All symbols have a Perl_ prefix because that's what embed.h
    # sticks in front of them.
-   push(@syms,"Perl_".$1) if (/\bPERLVARI?\([IGT](\w+)/);
+   push(@syms,"Perl_".$1) if (/\bPERLVARI?C?\([IGT](\w+)/);
   } 
  close(VARS); 
  return \@syms;
@@ -274,12 +272,23 @@ if ($define{'PERL_GLOBAL_STRUCT'})
 unless ($define{'DEBUGGING'})
  {
   skip_symbols [qw(
+    Perl_deb
+    Perl_deb_growlevel
+    Perl_debop
+    Perl_debprofdump
+    Perl_debstack
+    Perl_debstackptrs
     Perl_runops_debug
     Perl_sv_peek
     Perl_watchaddr
     Perl_watchok)];
  }
 
+if ($define{'HAVE_DES_FCRYPT'})
+ {
+  emit_symbols [qw(win32_crypt)];
+ }
+
 open (GLOBAL, "<../global.sym") || die "failed to open global.sym" . $!;
 while (<GLOBAL>) 
  {
@@ -366,6 +375,7 @@ __DATA__
 perl_init_i18nl10n
 perl_init_ext
 perl_alloc
+perl_atexit
 perl_construct
 perl_destruct
 perl_free
@@ -382,6 +392,11 @@ perl_call_sv
 perl_require_pv
 perl_eval_pv
 perl_eval_sv
+perl_new_ctype
+perl_new_collate
+perl_new_numeric
+perl_set_numeric_standard
+perl_set_numeric_local
 boot_DynaLoader
 Perl_thread_create
 win32_errno
@@ -502,6 +517,10 @@ win32_times
 win32_alarm
 win32_open_osfhandle
 win32_get_osfhandle
+win32_ioctl
+win32_utime
+win32_wait
+win32_str_os_error
 Perl_win32_init
 Perl_init_os_extras
 Perl_getTHR