summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-07-19 00:42:34 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-07-19 00:42:34 +0000
commit99aa7cfad52a98bd1b8c42cf718771ddb0d14509 (patch)
tree4a99834a0f01de6d264f0811b656ed3538c7ca33 /win32
parent2ce77adffcc4a54956eaa524ddf0afc1210b30b2 (diff)
parent0faf3e6502ba533234322c904a3fa6b70b610627 (diff)
downloadperl-99aa7cfad52a98bd1b8c42cf718771ddb0d14509.tar.gz
integrate cfgperl contents into mainline
p4raw-id: //depot/perl@3700
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile4
-rw-r--r--win32/makedef.pl515
-rw-r--r--win32/makefile.mk4
3 files changed, 4 insertions, 519 deletions
diff --git a/win32/Makefile b/win32/Makefile
index 82a72ecc74..de6499e8cb 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -709,8 +709,8 @@ $(DLL_OBJ) : $(CORE_H)
$(PERL95_OBJ) : $(CORE_H)
$(X2P_OBJ) : $(CORE_H)
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym makedef.pl
- $(MINIPERL) -w makedef.pl $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
+perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
+ $(MINIPERL) -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
CCTYPE=$(CCTYPE) > perldll.def
$(PERLDLL): perldll.def $(PERLDLL_OBJ)
diff --git a/win32/makedef.pl b/win32/makedef.pl
deleted file mode 100644
index 698f00854e..0000000000
--- a/win32/makedef.pl
+++ /dev/null
@@ -1,515 +0,0 @@
-#!../miniperl
-
-# Create the export list for perl. Needed by WIN32 for creating perl.dll.
-
-# reads global.sym, pp.sym, perlvars.h, intrpvar.h, thrdvar.h, config.h
-
-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/;
- $define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/;
- }
-close(CFG);
-
-warn join(' ',keys %define)."\n";
-
-if ($define{PERL_OBJECT}) {
- print "LIBRARY PerlCore\n";
- print "DESCRIPTION 'Perl interpreter'\n";
- print "EXPORTS\n";
-# output_symbol("perl_alloc");
- output_symbol("perl_get_host_info");
- output_symbol("perl_alloc_using");
-# output_symbol("perl_construct");
-# output_symbol("perl_destruct");
-# output_symbol("perl_free");
-# output_symbol("perl_parse");
-# output_symbol("perl_run");
-# output_symbol("RunPerl");
-# exit(0);
-}
-else {
- if ($CCTYPE ne 'GCC') {
- print "LIBRARY Perl\n";
- print "DESCRIPTION 'Perl interpreter, export autogenerated'\n";
- }
- else {
- $define{'PERL_GLOBAL_STRUCT'} = 1;
- $define{'MULTIPLICITY'} = 1;
- }
- print "EXPORTS\n";
-}
-
-my %skip;
-my %export;
-
-sub skip_symbols {
- my $list = shift;
- foreach my $symbol (@$list) {
- $skip{$symbol} = 1;
- }
-}
-
-sub emit_symbols {
- my $list = shift;
- foreach my $symbol (@$list) {
- my $skipsym = $symbol;
- # XXX hack
- if ($define{PERL_OBJECT}) {
- $skipsym =~ s/^Perl_[GIT](\w+)_ptr$/PL_$1/;
- }
- emit_symbol($symbol) unless exists $skip{$skipsym};
- }
-}
-
-skip_symbols [qw(
-PL_statusvalue_vms
-PL_archpat_auto
-PL_cryptseen
-PL_DBcv
-PL_generation
-PL_lastgotoprobe
-PL_linestart
-PL_modcount
-PL_pending_ident
-PL_sortcxix
-PL_sublex_info
-PL_timesbuf
-main
-Perl_ErrorNo
-Perl_GetVars
-Perl_do_exec3
-Perl_do_ipcctl
-Perl_do_ipcget
-Perl_do_msgrcv
-Perl_do_msgsnd
-Perl_do_semop
-Perl_do_shmio
-Perl_dump_fds
-Perl_init_thread_intern
-Perl_my_bzero
-Perl_my_htonl
-Perl_my_ntohl
-Perl_my_swap
-Perl_my_chsize
-Perl_same_dirent
-Perl_setenv_getix
-Perl_unlnk
-Perl_watch
-Perl_safexcalloc
-Perl_safexmalloc
-Perl_safexfree
-Perl_safexrealloc
-Perl_my_memcmp
-Perl_my_memset
-PL_cshlen
-PL_cshname
-PL_opsave
-)];
-
-if ($define{'PERL_OBJECT'}) {
- skip_symbols [qw(
- Perl_getenv_len
- Perl_my_popen
- Perl_my_pclose
- )];
-}
-else {
- skip_symbols [qw(
- PL_Dir
- PL_Env
- PL_LIO
- PL_Mem
- PL_Proc
- PL_Sock
- PL_StdIO
- )];
-}
-
-if ($define{'MYMALLOC'})
- {
- emit_symbols [qw(
- Perl_dump_mstats
- Perl_malloc
- Perl_mfree
- Perl_realloc
- Perl_calloc)];
- }
-else
- {
- skip_symbols [qw(
- Perl_dump_mstats
- Perl_malloc
- Perl_mfree
- Perl_realloc
- Perl_calloc
- Perl_malloced_size)];
- }
-
-unless ($define{'USE_THREADS'})
- {
- skip_symbols [qw(
-PL_thr_key
-PL_sv_mutex
-PL_strtab_mutex
-PL_svref_mutex
-PL_malloc_mutex
-PL_cred_mutex
-PL_eval_mutex
-PL_eval_cond
-PL_eval_owner
-PL_threads_mutex
-PL_nthreads
-PL_nthreads_cond
-PL_threadnum
-PL_threadsv_names
-PL_thrsv
-PL_vtbl_mutex
-Perl_getTHR
-Perl_setTHR
-Perl_condpair_magic
-Perl_new_struct_thread
-Perl_per_thread_magicals
-Perl_thread_create
-Perl_find_threadsv
-Perl_unlock_condpair
-Perl_magic_mutexfree
-)];
- }
-unless ($define{'USE_THREADS'} or $define{'PERL_IMPLICIT_CONTEXT'}
- or $define{'PERL_OBJECT'})
-{
- skip_symbols [qw(
- Perl_croak_nocontext
- Perl_die_nocontext
- Perl_deb_nocontext
- Perl_form_nocontext
- Perl_warn_nocontext
- Perl_warner_nocontext
- Perl_newSVpvf_nocontext
- Perl_sv_catpvf_nocontext
- Perl_sv_setpvf_nocontext
- Perl_sv_catpvf_mg_nocontext
- Perl_sv_setpvf_mg_nocontext
- )];
- }
-
-unless ($define{'FAKE_THREADS'})
- {
- skip_symbols [qw(PL_curthr)];
- }
-
-sub readvar
-{
- my $file = shift;
- my $proc = shift || sub { "PL_$_[2]" };
- open(VARS,$file) || die "Cannot open $file:$!";
- my @syms;
- while (<VARS>)
- {
- # All symbols have a Perl_ prefix because that's what embed.h
- # sticks in front of them.
- push(@syms, &$proc($1,$2,$3)) if (/\bPERLVAR(A?I?C?)\(([IGT])(\w+)/);
- }
- close(VARS);
- return \@syms;
-}
-
-if ($define{'USE_THREADS'} || $define{'MULTIPLICITY'})
- {
- my $thrd = readvar("../thrdvar.h");
- skip_symbols $thrd;
- }
-
-if ($define{'MULTIPLICITY'})
- {
- my $interp = readvar("../intrpvar.h");
- skip_symbols $interp;
- }
-
-if ($define{'PERL_GLOBAL_STRUCT'})
- {
- my $global = readvar("../perlvars.h");
- skip_symbols $global;
- emit_symbols [qw(Perl_GetVars)];
- emit_symbols [qw(PL_Vars PL_VarsPtr)] unless $CCTYPE eq 'GCC';
- }
-
-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
- PL_block_type
- PL_watchaddr
- PL_watchok)];
- }
-
-if ($define{'HAVE_DES_FCRYPT'})
- {
- emit_symbols [qw(win32_crypt)];
- }
-
-# functions from *.sym files
-
-for my $syms ('../global.sym','../pp.sym', '../globvar.sym')
- {
- open (GLOBAL, "<$syms") || die "failed to open $syms" . $!;
- while (<GLOBAL>)
- {
- next if (!/^[A-Za-z]/);
- # Functions have a Perl_ prefix
- # Variables have a PL_ prefix
- chomp($_);
- my $symbol = ($syms =~ /var\.sym$/i ? "PL_" : "");
- $symbol .= $_;
- emit_symbol($symbol) unless exists $skip{$symbol};
- }
- close(GLOBAL);
- }
-
-# variables
-
-if ($define{'PERL_OBJECT'}) {
- for my $f ("../perlvars.h", "../intrpvar.h", "../thrdvar.h") {
- my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
- emit_symbols $glob;
- }
-}
-else {
- unless ($define{'PERL_GLOBAL_STRUCT'}) {
- my $glob = readvar("../perlvars.h");
- emit_symbols $glob;
- }
- unless ($define{'MULTIPLICITY'}) {
- my $glob = readvar("../intrpvar.h");
- emit_symbols $glob;
- }
-
- unless ($define{'MULTIPLICITY'} || $define{'USE_THREADS'}) {
- my $glob = readvar("../thrdvar.h");
- emit_symbols $glob;
- }
-}
-
-while (<DATA>) {
- my $symbol;
- next if (!/^[A-Za-z]/);
- next if (/^#/);
- s/\r//g;
- chomp($_);
- $symbol = $_;
- next if exists $skip{$symbol};
- emit_symbol($symbol);
-}
-
-foreach my $symbol (sort keys %export)
- {
- output_symbol($symbol);
- }
-
-sub emit_symbol {
- my $symbol = shift;
- chomp($symbol);
- $export{$symbol} = 1;
-}
-
-sub output_symbol {
- my $symbol = shift;
- $symbol = "_$symbol" if $CCTYPE eq 'BORLAND';
- print "\t$symbol\n";
-# XXX: binary compatibility between compilers is an exercise
-# in frustration :-(
-# if ($CCTYPE eq "BORLAND") {
-# # workaround Borland quirk by exporting both the straight
-# # name and a name with leading underscore. Note the
-# # alias *must* come after the symbol itself, if both
-# # are to be exported. (Linker bug?)
-# print "\t_$symbol\n";
-# print "\t$symbol = _$symbol\n";
-# }
-# elsif ($CCTYPE eq 'GCC') {
-# # Symbols have leading _ whole process is $%@"% slow
-# # so skip aliases for now
-# print "\t$symbol\n";
-# }
-# else {
-# # for binary coexistence, export both the symbol and
-# # alias with leading underscore
-# print "\t$symbol\n";
-# print "\t_$symbol = $symbol\n";
-# }
-}
-
-1;
-__DATA__
-# extra globals not included above.
-perl_alloc
-perl_construct
-perl_destruct
-perl_free
-perl_parse
-perl_run
-boot_DynaLoader
-Perl_thread_create
-win32_errno
-win32_environ
-win32_stdin
-win32_stdout
-win32_stderr
-win32_ferror
-win32_feof
-win32_strerror
-win32_fprintf
-win32_printf
-win32_vfprintf
-win32_vprintf
-win32_fread
-win32_fwrite
-win32_fopen
-win32_fdopen
-win32_freopen
-win32_fclose
-win32_fputs
-win32_fputc
-win32_ungetc
-win32_getc
-win32_fileno
-win32_clearerr
-win32_fflush
-win32_ftell
-win32_fseek
-win32_fgetpos
-win32_fsetpos
-win32_rewind
-win32_tmpfile
-win32_abort
-win32_fstat
-win32_stat
-win32_pipe
-win32_popen
-win32_pclose
-win32_rename
-win32_setmode
-win32_lseek
-win32_tell
-win32_dup
-win32_dup2
-win32_open
-win32_close
-win32_eof
-win32_read
-win32_write
-win32_spawnvp
-win32_mkdir
-win32_rmdir
-win32_chdir
-win32_flock
-win32_execv
-win32_execvp
-win32_htons
-win32_ntohs
-win32_htonl
-win32_ntohl
-win32_inet_addr
-win32_inet_ntoa
-win32_socket
-win32_bind
-win32_listen
-win32_accept
-win32_connect
-win32_send
-win32_sendto
-win32_recv
-win32_recvfrom
-win32_shutdown
-win32_closesocket
-win32_ioctlsocket
-win32_setsockopt
-win32_getsockopt
-win32_getpeername
-win32_getsockname
-win32_gethostname
-win32_gethostbyname
-win32_gethostbyaddr
-win32_getprotobyname
-win32_getprotobynumber
-win32_getservbyname
-win32_getservbyport
-win32_select
-win32_endhostent
-win32_endnetent
-win32_endprotoent
-win32_endservent
-win32_getnetent
-win32_getnetbyname
-win32_getnetbyaddr
-win32_getprotoent
-win32_getservent
-win32_sethostent
-win32_setnetent
-win32_setprotoent
-win32_setservent
-win32_getenv
-win32_putenv
-win32_perror
-win32_setbuf
-win32_setvbuf
-win32_flushall
-win32_fcloseall
-win32_fgets
-win32_gets
-win32_fgetc
-win32_putc
-win32_puts
-win32_getchar
-win32_putchar
-win32_malloc
-win32_calloc
-win32_realloc
-win32_free
-win32_sleep
-win32_times
-win32_alarm
-win32_open_osfhandle
-win32_get_osfhandle
-win32_ioctl
-win32_utime
-win32_uname
-win32_wait
-win32_waitpid
-win32_kill
-win32_str_os_error
-win32_opendir
-win32_readdir
-win32_telldir
-win32_seekdir
-win32_rewinddir
-win32_closedir
-win32_longpath
-win32_os_id
-Perl_win32_init
-Perl_init_os_extras
-Perl_getTHR
-Perl_setTHR
-RunPerl
-GetPerlInterpreter
-SetPerlInterpreter
-
diff --git a/win32/makefile.mk b/win32/makefile.mk
index ffda9fd6e8..b279127c88 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -838,8 +838,8 @@ $(DLL_OBJ) : $(CORE_H)
$(PERL95_OBJ) : $(CORE_H)
$(X2P_OBJ) : $(CORE_H)
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym makedef.pl
- $(MINIPERL) -w makedef.pl $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
+perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
+ $(MINIPERL) -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
CCTYPE=$(CCTYPE) > perldll.def
$(PERLDLL): perldll.def $(PERLDLL_OBJ)