diff options
author | Vadim Konovalov <vkonovalov@lucent.com> | 2002-05-04 07:49:11 +0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-05 01:05:17 +0000 |
commit | 18f68570297a02601dc2452e05e11ca1485ace3f (patch) | |
tree | 51500988a2689c530c150a514098ec39d08325f4 /makedef.pl | |
parent | a4ccfa7629128e4b79e21f856eb1cbf44ef54e7e (diff) | |
download | perl-18f68570297a02601dc2452e05e11ca1485ace3f.tar.gz |
Re: Cross-compiling as of WinCE
Message-ID: <00ca01c1f2fd$20a35fb0$cb5cc3d9@vad>
p4raw-id: //depot/perl@16407
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 92 |
1 files changed, 82 insertions, 10 deletions
diff --git a/makedef.pl b/makedef.pl index 2ed95d1e72..ffe69b3028 100644 --- a/makedef.pl +++ b/makedef.pl @@ -17,12 +17,12 @@ while (@ARGV) { $define{$1} = $2 if ($flag =~ /^-D(\w+)=(.+)$/); $CCTYPE = $1 if ($flag =~ /^CCTYPE=(\w+)$/); $PLATFORM = $1 if ($flag =~ /^PLATFORM=(\w+)$/); - if ($PLATFORM eq 'netware') { - $FILETYPE = $1 if ($flag =~ /^FILETYPE=(\w+)$/); - } + if ($PLATFORM eq 'netware') { + $FILETYPE = $1 if ($flag =~ /^FILETYPE=(\w+)$/); + } } -my @PLATFORM = qw(aix win32 os2 MacOS netware); +my @PLATFORM = qw(aix win32 wince os2 MacOS netware); my %PLATFORM; @PLATFORM{@PLATFORM} = (); @@ -42,7 +42,7 @@ my $perlio_sym = "perlio.sym"; if ($PLATFORM eq 'aix') { # Nothing for now. } -elsif ($PLATFORM eq 'win32' || $PLATFORM eq 'netware') { +elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') { $CCTYPE = "MSVC" unless defined $CCTYPE; foreach ($thrdvar_h, $intrpvar_h, $perlvars_h, $global_sym, $pp_sym, $globvar_sym, $perlio_sym) { @@ -56,7 +56,7 @@ elsif ($PLATFORM eq 'MacOS') { } } -unless ($PLATFORM eq 'win32' || $PLATFORM eq 'MacOS' || $PLATFORM eq 'netware') { +unless ($PLATFORM eq 'win32' || $PLATFORM eq 'wince' || $PLATFORM eq 'MacOS' || $PLATFORM eq 'netware') { open(CFG,$config_sh) || die "Cannot open $config_sh: $!\n"; while (<CFG>) { if (/^(?:ccflags|optimize)='(.+)'$/) { @@ -106,9 +106,10 @@ if ($define{USE_ITHREADS} && $PLATFORM ne 'win32' && $^O ne 'darwin') { my $sym_ord = 0; -if ($PLATFORM eq 'win32') { +if ($PLATFORM =~ /^win(?:32|ce)$/) { warn join(' ',keys %define)."\n"; - print "LIBRARY perl58\n"; + ($dll = ($define{PERL_DLL} || "perl58")) =~ s/\.dll$//i; + print "LIBRARY $dll\n"; print "DESCRIPTION 'Perl interpreter'\n"; print "EXPORTS\n"; if ($define{PERL_IMPLICIT_SYS}) { @@ -243,6 +244,77 @@ if ($PLATFORM eq 'win32') { Perl_my_popen )]; } +elsif ($PLATFORM eq 'wince') { + 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 + PL_collation_ix + PL_collation_name + PL_collation_standard + PL_collxfrm_base + PL_collxfrm_mult + PL_numeric_compat1 + PL_numeric_local + PL_numeric_name + PL_numeric_radix_sv + PL_numeric_standard + PL_vtbl_collxfrm + Perl_sv_collxfrm + setgid + setuid + win32_async_check + win32_free_childdir + win32_free_childenv + win32_get_childdir + win32_get_childenv + win32_spawnvp + 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_bcopy + 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 + Perl_do_exec + Perl_getenv_len + Perl_my_pclose + Perl_my_popen + )]; +} elsif ($PLATFORM eq 'aix') { skip_symbols([qw( Perl_dump_fds @@ -880,7 +952,7 @@ while (<DATA>) { try_symbol($_); } -if ($PLATFORM eq 'win32') { +if ($PLATFORM =~ /^win(?:32|ce)$/) { foreach my $symbol (qw( setuid setgid @@ -1221,7 +1293,7 @@ sub emit_symbol { sub output_symbol { my $symbol = shift; - if ($PLATFORM eq 'win32') { + if ($PLATFORM =~ /^win(?:32|ce)$/) { $symbol = "_$symbol" if $CCTYPE eq 'BORLAND'; print "\t$symbol\n"; # XXX: binary compatibility between compilers is an exercise |