summaryrefslogtreecommitdiff
path: root/wince
diff options
context:
space:
mode:
authorVadim Konovalov <vkonovalov@lucent.com>2002-04-29 01:54:31 +0400
committerJarkko Hietaniemi <jhi@iki.fi>2002-04-28 18:23:52 +0000
commit42165d2726b8a0b9ded4dc56d733154af8784b90 (patch)
treef8f97761be1750e2b255e51aa49d6eca14bdbc55 /wince
parentb5135157c621a585113d0c5008db555122aa49b3 (diff)
downloadperl-42165d2726b8a0b9ded4dc56d733154af8784b90.tar.gz
WinCE many fixes
Message-ID: <00bf01c1eedd$c0c62a00$d25cc3d9@vad> p4raw-id: //depot/perl@16251
Diffstat (limited to 'wince')
-rw-r--r--wince/Makefile.ce93
-rw-r--r--wince/cecopy-lib.pl217
-rw-r--r--wince/comp.pl111
-rw-r--r--wince/perldll.def23
-rw-r--r--wince/win32.h10
-rw-r--r--wince/wince.c28
6 files changed, 418 insertions, 64 deletions
diff --git a/wince/Makefile.ce b/wince/Makefile.ce
index 60f02e8514..a4b4bf4b66 100644
--- a/wince/Makefile.ce
+++ b/wince/Makefile.ce
@@ -5,7 +5,12 @@
SRCDIR = ..
PV = 57
INST_VER = 5.7.3
+
+INSTALL_ROOT=/netzwerk/sprache/perl
+
+# PERLCEDIR shoud be set to current directory
PERLCEDIR = H:\src\wince\perl\wince
+
WCEROOT = N:\Windows CE Tools
WCEROOT = D:\Windows CE Tools
NTPERL = N:\Programme\perl\bin\perl.exe
@@ -19,10 +24,15 @@ CECONSOLEDIR = h:\src\wince\w32console
COPY = copy $(YES)
XCOPY = xcopy $(YES) /f /r /i /d
RCOPY = xcopy $(YES) /f /r /i /e /d
+
+# cecopy program. Make shure it is in your path, as well as cemkdir, cedel
+CECOPY = cecopy
+
NOOP = @echo
# keep this untouched!
NULL =
+
CFG=DEBUG
#CFG=RELEASE
@@ -532,7 +542,7 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
!ENDIF
-EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
+EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
WIN32_SRC = \
.\wince.c \
@@ -861,81 +871,79 @@ clean:
-rm -f ../config.sh ../lib/Config.pm
-rm -f config.h perl.res
-!if "$(MACHINE)" == "wince-sh3-hpc"
+!IF "$(MACHINE)" == "wince-sh3-hpc"
+
install_perlexe: $(PERLEXE)
cedel /speicherkarte2/bin/perl.exe
- cecopy pc:../perl.exe ce:/speicherkarte2/bin
+ $(CECOPY) pc:../perl.exe ce:/speicherkarte2/bin
install_perldll: $(PERLDLL)
cedel /speicherkarte2/bin/perl$(PV).dll
- cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:/speicherkarte2/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/speicherkarte2/bin
+ $(CECOPY) pc:test.pl ce:/speicherkarte2/bin
ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
-# ceexec /speicherkarte2/bin/perl.exe -V
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-arm-hpc"
-!if "$(MACHINE)" == "wince-arm-hpc"
install_perlexe: $(PERLEXE)
-cedel /speicherkarte/bin/perl.exe
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
install_perldll: $(PERLDLL)
-cedel /speicherkarte/bin/perl$(PV).dll
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/speicherkarte/bin
+ $(CECOPY) pc:test.pl ce:/speicherkarte/bin
ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
-# ceexec /speicherkarte2/bin/perl.exe -V
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-mips-hpc"
-!if "$(MACHINE)" == "wince-mips-hpc"
install_perlexe: $(PERLEXE)
- cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
install_perldll: $(PERLDLL)
- cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
install_perl: install_perlexe install_perldll
test_perl:
- cecopy pc:test.pl ce:/netzwerk/compaq/bin
- ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl
-# ceexec /netzwerk/compaq/bin/perl.exe -V
+ $(CECOPY) pc:test.pl ce:/netzwerk/compaq/bin
+ ceexec /netzwerk/compaq/bin/perl.exe $(INSTALL_ROOT)/test.pl
install_lib: ../lib/Config.pm
- cecopy pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
-!endif
+ $(CECOPY) pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-x86em-pocket"
-!if "$(MACHINE)" == "wince-x86em-pocket"
install_lib:
ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
install_perlexe: $(PERLEXE)
- cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl.exe ce:/netzwerk/compaq/bin
install_perldll: $(PERLDLL)
- cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+ $(CECOPY) pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
install_perl: install_perlexe install_perldll
test_perl:
echo Not yet
-!endif
+!ENDIF
XDLLOBJS = \
@@ -974,6 +982,7 @@ $(DLLDIR)\utf8.obj \
$(DLLDIR)\util.obj \
$(DLLDIR)\win32thread.obj \
$(DLLDIR)\wince.obj \
+$(DLLDIR)\win32io.obj \
$(DLLDIR)\wincesck.obj \
$(DLLDIR)\xsutils.obj \
$(DLLDIR)\perllib.obj \
@@ -1040,34 +1049,42 @@ makedist: all dlls
!if "$(MACHINE)" == "wince-arm-hpc-wce300"
install: all
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
install_dlls: dlls
- cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
+ $(CECOPY) pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
+!else
+install: all
+ -cemkdir "$(INSTALL_ROOT)"
+ -cemkdir "$(INSTALL_ROOT)\bin"
+ -cemkdir "$(INSTALL_ROOT)\lib"
+ $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
+ $(CECOPY) "pc:$(MACHINE)/perl.dll" "ce:$(INSTALL_ROOT)/bin"
+ $(CECOPY) "pc:../lib/Config.pm" "ce:$(INSTALL_ROOT)/lib"
!endif
!if "$(MACHINE)" == "wince-arm-hpc-wce211"
install: all
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
!endif
!if "$(MACHINE)" == "wince-mips-hpc-wce211"
install:
- cecopy pc:$(MACHINE)/perl.exe ce:/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/bin
!endif
!if "$(MACHINE)" == "wince-mips-hpc-wce200"
install:
- cecopy pc:$(MACHINE)/perl.exe ce:/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/bin
!endif
!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
install:
- cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin
- cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin
+ $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
+ $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
!endif
perl.ico:
diff --git a/wince/cecopy-lib.pl b/wince/cecopy-lib.pl
new file mode 100644
index 0000000000..8281b0c20c
--- /dev/null
+++ b/wince/cecopy-lib.pl
@@ -0,0 +1,217 @@
+# just copy modules
+# TODO: copy tests and try to run them...
+# this file may be used as example on how to use comp.pl
+
+my @files;
+
+my %dirs;
+sub mk {
+ my $r = shift;
+ return if exists $dirs{$r};
+ if ($r=~/\//) {
+ $r=~/^(.*)\/[^\/]*?$/;
+ mk($1);
+ }
+ system("$^X comp.pl --do cemkdir [p]\\lib\\$r");
+ print STDERR "$^X comp.pl --do cemkpath [p]\\lib\\$r\n";
+ $dirs{$r}++;
+}
+for (@files) {
+ if (/\//) {
+ /^(.*)\/[^\/]*?$/;
+ mk($1);
+ }
+ # currently no stripping POD
+ system("$^X comp.pl --do cecopy pc:..\\lib\\$_ ce:[p]\\lib\\$_");
+}
+
+sub BEGIN {
+ @files = qw(
+ attributes.pm
+ AutoLoader.pm
+ AutoSplit.pm
+ autouse.pm
+ base.pm
+ Benchmark.pm
+ bigint.pm
+ bignum.pm
+ bigrat.pm
+ blib.pm
+ bytes.pm
+ Carp.pm
+ charnames.pm
+ Config.pm
+ constant.pm
+ Cwd.pm
+ DB.pm
+ diagnostics.pm
+ Digest.pm
+ DirHandle.pm
+ Dumpvalue.pm
+ DynaLoader.pm
+ English.pm
+ Env.pm
+ Exporter.pm
+ Fatal.pm
+ fields.pm
+ FileCache.pm
+ FileHandle.pm
+ filetest.pm
+ FindBin.pm
+ if.pm
+ integer.pm
+ less.pm
+ locale.pm
+ Memoize.pm
+ NEXT.pm
+ open.pm
+ overload.pm
+ PerlIO.pm
+ re.pm
+ SelectSaver.pm
+ SelfLoader.pm
+ Shell.pm
+ sigtrap.pm
+ sort.pm
+ strict.pm
+ subs.pm
+ Switch.pm
+ Symbol.pm
+ Test.pm
+ Thread.pm
+ UNIVERSAL.pm
+ utf8.pm
+ vars.pm
+ vmsish.pm
+ warnings.pm
+ XSLoader.pm
+ warnings/register.pm
+ Unicode/Collate.pm
+ Unicode/UCD.pm
+ Time/gmtime.pm
+ Time/Local.pm
+ Time/localtime.pm
+ Time/tm.pm
+ Tie/Array.pm
+ Tie/File.pm
+ Tie/Handle.pm
+ Tie/Hash.pm
+ Tie/Memoize.pm
+ Tie/RefHash.pm
+ Tie/Scalar.pm
+ Tie/SubstrHash.pm
+ Text/Abbrev.pm
+ Text/Balanced.pm
+ Text/ParseWords.pm
+ Text/Soundex.pm
+ Text/Tabs.pm
+ Text/Wrap.pm
+ Test/Builder.pm
+ Test/Harness.pm
+ Test/More.pm
+ Test/Simple.pm
+ Test/Harness/Assert.pm
+ Test/Harness/Iterator.pm
+ Test/Harness/Straps.pm
+ Term/ANSIColor.pm
+ Term/Cap.pm
+ Term/Complete.pm
+ Term/ReadLine.pm
+ Search/Dict.pm
+ Pod/Checker.pm
+ Pod/Find.pm
+ Pod/Functions.pm
+ Pod/Html.pm
+ Pod/InputObjects.pm
+ Pod/LaTeX.pm
+ Pod/Man.pm
+ Pod/ParseLink.pm
+ Pod/Parser.pm
+ Pod/ParseUtils.pm
+ Pod/Plainer.pm
+ Pod/Select.pm
+ Pod/Text.pm
+ Pod/Usage.pm
+ Pod/Text/Color.pm
+ Pod/Text/Overstrike.pm
+ Pod/Text/Termcap.pm
+ Math/BigFloat.pm
+ Math/BigInt.pm
+ Math/BigRat.pm
+ Math/Complex.pm
+ Math/Trig.pm
+ Math/BigInt/Calc.pm
+ Math/BigInt/Trace.pm
+ Math/BigFloat/Trace.pm
+ Locale/Constants.pm
+ Locale/Country.pm
+ Locale/Currency.pm
+ Locale/Language.pm
+ Locale/Maketext.pm
+ Locale/Script.pm
+ IPC/Open2.pm
+ IPC/Open3.pm
+ I18N/Collate.pm
+ I18N/LangTags.pm
+ I18N/LangTags/List.pm
+ Hash/Util.pm
+ Getopt/Long.pm
+ Getopt/Std.pm
+ Filter/Simple.pm
+ File/Basename.pm
+ File/CheckTree.pm
+ File/Compare.pm
+ File/Copy.pm
+ File/DosGlob.pm
+ File/Find.pm
+ File/Path.pm
+ File/Spec.pm
+ File/stat.pm
+ File/Temp.pm
+ File/Spec/Cygwin.pm
+ File/Spec/Epoc.pm
+ File/Spec/Functions.pm
+ File/Spec/Mac.pm
+ File/Spec/OS2.pm
+ File/Spec/Unix.pm
+ File/Spec/VMS.pm
+ File/Spec/Win32.pm
+ ExtUtils/Command.pm
+ ExtUtils/Constant.pm
+ ExtUtils/Embed.pm
+ ExtUtils/Install.pm
+ ExtUtils/Installed.pm
+ ExtUtils/Liblist.pm
+ ExtUtils/MakeMaker.pm
+ ExtUtils/Manifest.pm
+ ExtUtils/Miniperl.pm
+ ExtUtils/Mkbootstrap.pm
+ ExtUtils/Mksymlists.pm
+ ExtUtils/MM.pm
+ ExtUtils/MM_Any.pm
+ ExtUtils/MM_BeOS.pm
+ ExtUtils/MM_Cygwin.pm
+ ExtUtils/MM_DOS.pm
+ ExtUtils/MM_NW5.pm
+ ExtUtils/MM_OS2.pm
+ ExtUtils/MM_Unix.pm
+ ExtUtils/MM_UWIN.pm
+ ExtUtils/MM_VMS.pm
+ ExtUtils/MM_Win32.pm
+ ExtUtils/MM_Win95.pm
+ ExtUtils/MY.pm
+ ExtUtils/Packlist.pm
+ ExtUtils/testlib.pm
+ ExtUtils/Liblist/Kid.pm
+ ExtUtils/Command/MM.pm
+ Exporter/Heavy.pm
+ Devel/SelfStubber.pm
+ Class/ISA.pm
+ Class/Struct.pm
+ Carp/Heavy.pm
+ Attribute/Handlers.pm
+ Attribute/Handlers/demo/Demo.pm
+ Attribute/Handlers/demo/Descriptions.pm
+ Attribute/Handlers/demo/MyClass.pm
+ );
+}
diff --git a/wince/comp.pl b/wince/comp.pl
new file mode 100644
index 0000000000..8ecc95855d
--- /dev/null
+++ b/wince/comp.pl
@@ -0,0 +1,111 @@
+=comments
+
+helper script to make life for PerlCE easier.
+
+You need edit values for @defs array to reflect your changes and then do
+
+ perl comp.pl [any-additional-options]
+
+This will call
+ nmake -f Makefile.ce
+with most parameters overrided as you specified and additional options
+(such as build target) will also be prepended to command line to execute.
+
+There are also additional different modes for running this script:
+ perl comp.pl --run [any-command-line-arguments]
+and
+ perl comp.pl --do [any-command-line-arguments]
+and
+ perl comp.pl --copy-pm pc:[pc-location] ce:[ce-location]
+
+--run executes this build of perl on CE device with arguments provided
+--run=test will display a predefined messagebox that say everything is ok.
+
+--do Executes on local computer command that is presented by arguments
+ immediately following after --do
+ Most reason why you may want to execute script in this mode is that
+ arguments preprocessed to replace [p] occurences into current perl
+ location. Typically it is handy to run
+ perl comp.pl --do cecopy pc:..\lib\Exporter.pm ce:[p]\lib
+
+--copy copies file to CE device
+ here also [p] will be expanded to corrent PerlCE path, and additionally
+ when --copy=compact specified then, if filename looks like perl module,
+ then POD will be stripped away from that file
+ modules
+
+
+=cut
+
+use Cwd;
+use strict;
+
+# edit value of $inst_root variable to reflect your desired location of
+# built perl
+my $inst_root = "\\Storage Card\\perl-tests\\perl\@16225";
+my @defs = (
+ "\"PV=\"",
+ "\"INST_VER=\"",
+ "\"INSTALL_ROOT=$inst_root\"",
+ "\"WCEROOT=$ENV{SDKROOT}\"",
+ "NTPERL=$^X", #todo: check version: this must be (almost?) current version
+ "\"CEPATH=$ENV{WCEROOT}\"",
+ "CELIBDLLDIR=d:\\personal\\pocketPC\\celib-palm-3.0",
+ "CECONSOLEDIR=d:\\personal\\pocketPC\\w32console",
+ "YES=/y",
+ "CFG=RELEASE",
+ "MACHINE=wince-mips-pocket-wce300",
+ "PERLCEDIR=".cwd,
+ #NIY "\"CECOPY=\$(NTPERL) \$(PERLCEDIR)\\$0 --copy=compact\"",
+ "\"CECOPY=\$(NTPERL) \$(PERLCEDIR)\\$0 --copy\"",
+);
+
+my %opts = (
+ # %known_opts enumerates allowed opts as well as specifies default
+ # and initial values
+ my %known_opts = (
+ 'do' => '',
+ 'run' => '',
+ 'copy' => '',
+ ),
+ #options itself
+ my %specified_opts = (
+ (map {/^--([\-_\w]+)=(.*)$/} @ARGV), # --opt=smth
+ (map {/^no-?(.*)$/i?($1=>0):($_=>1)} map {/^--([\-_\w]+)$/} @ARGV), # --opt --no-opt --noopt
+ ),
+);
+die "option '$_' is not recognized" for grep {!exists $known_opts{$_}} keys %specified_opts;
+@ARGV = grep {!/^--/} @ARGV;
+
+if ($opts{'do'}) {
+ s/\[p\]/$inst_root/g for @ARGV;
+ system(@ARGV);
+}
+elsif ($opts{'run'}) {
+ if ($opts{'run'} eq 'test') {
+ system("ceexec","$inst_root\\bin\\perl","-we","Win32::MessageBox(\$].qq(\n).join'','cc'..'dx')");
+ }
+ else {
+ system("ceexec","$inst_root\\bin\\perl", map {/^".*"$/s?$_:"\"$_\""} @ARGV);
+ }
+}
+elsif ($opts{'copy'}) {
+ if ($opts{'copy'} eq 'compact') {
+ die "todo";
+ }
+ s/\[p\]/$inst_root/g for @ARGV;
+ if ($ARGV[0]=~/^pc:/i) {system("cedel",$ARGV[1])}
+ system("cecopy",@ARGV);
+}
+else {
+ my $cmd = "nmake -f Makefile.ce @defs @ARGV";
+ print $cmd;
+ system($cmd);
+}
+
+
+=comments
+
+ Author Vadim Konovalov.
+
+=cut
diff --git a/wince/perldll.def b/wince/perldll.def
index f7b7eb4099..c95e33a2a0 100644
--- a/wince/perldll.def
+++ b/wince/perldll.def
@@ -1,4 +1,4 @@
-LIBRARY Perl57
+LIBRARY Perl
EXPORTS
PL_AMG_names
@@ -405,20 +405,10 @@ EXPORTS
PL_yynerrs
PL_yyval
PerlIO_canset_cnt
- PerlIO_clearerr
- PerlIO_close
- PerlIO_eof
- PerlIO_error
PerlIO_exportFILE
PerlIO_fast_gets
PerlIO_fdopen
- PerlIO_fileno
PerlIO_findFILE
- PerlIO_flush
- PerlIO_get_base
- PerlIO_get_bufsiz
- PerlIO_get_cnt
- PerlIO_get_ptr
PerlIO_getc
PerlIO_getname
PerlIO_getpos
@@ -430,26 +420,16 @@ EXPORTS
PerlIO_printf
PerlIO_putc
PerlIO_puts
- PerlIO_read
PerlIO_releaseFILE
PerlIO_reopen
PerlIO_rewind
- PerlIO_seek
- PerlIO_set_cnt
- PerlIO_set_ptrcnt
- PerlIO_setlinebuf
PerlIO_setpos
PerlIO_sprintf
- PerlIO_stderr
- PerlIO_stdin
- PerlIO_stdout
PerlIO_stdoutf
- PerlIO_tell
PerlIO_tmpfile
PerlIO_ungetc
PerlIO_vprintf
PerlIO_vsprintf
- PerlIO_write
Perl_Gv_AMupdate
Perl_amagic_call
Perl_av_clear
@@ -771,7 +751,6 @@ EXPORTS
Perl_set_numeric_local
Perl_set_numeric_radix
Perl_set_numeric_standard
- Perl_sharepvn
Perl_stack_grow
Perl_start_subparse
Perl_str_to_version
diff --git a/wince/win32.h b/wince/win32.h
index b46fb2f76a..de2e628969 100644
--- a/wince/win32.h
+++ b/wince/win32.h
@@ -227,6 +227,16 @@ typedef long gid_t;
/* compatibility stuff for other compilers goes here */
+#ifndef _INTPTR_T_DEFINED
+typedef int intptr_t;
+# define _INTPTR_T_DEFINED
+#endif
+
+#ifndef _UINTPTR_T_DEFINED
+typedef unsigned int uintptr_t;
+# define _UINTPTR_T_DEFINED
+#endif
+
START_EXTERN_C
#undef Stat
diff --git a/wince/wince.c b/wince/wince.c
index b6b9f140db..7aabdd7dc5 100644
--- a/wince/wince.c
+++ b/wince/wince.c
@@ -352,6 +352,20 @@ win32_times(struct tms *timebuf)
return -1;
}
+/* TODO */
+bool
+win32_signal()
+{
+ Perl_croak_nocontext("signal() TBD on this platform");
+ return FALSE;
+}
+DllExport void
+win32_clearenv()
+{
+ return;
+}
+
+
DllExport char ***
win32_environ(void)
{
@@ -554,11 +568,7 @@ win32_uname(struct utsname *name)
char *arch;
GetSystemInfo(&info);
-#if defined(__BORLANDC__) || defined(__MINGW32__)
- switch (info.u.s.wProcessorArchitecture) {
-#else
switch (info.wProcessorArchitecture) {
-#endif
case PROCESSOR_ARCHITECTURE_INTEL:
arch = "x86"; break;
case PROCESSOR_ARCHITECTURE_MIPS:
@@ -1616,3 +1626,13 @@ isnan(double d)
return _isnan(d);
}
+int
+win32_open_osfhandle(intptr_t osfhandle, int flags)
+{
+ int fh;
+ char fileflags=0; /* _osfile flags */
+
+ XCEMessageBoxA(NULL, "NEED TO IMPLEMENT a place in ../wince/wince.c(win32_open_osfhandle)", "Perl(developer)", 0);
+ Perl_croak_nocontext("win32_open_osfhandle() TBD on this platform");
+ return 0;
+}