In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/79c32fc2889bdbdf21cb378e1628a84867a3ffcc?hp=fa068f6da2218ae85bae1e26ee7591c15276555f>

- Log -----------------------------------------------------------------
commit 79c32fc2889bdbdf21cb378e1628a84867a3ffcc
Author: Steve Hay <[email protected]>
Date:   Thu Jun 13 08:24:33 2019 +0100

    The Windows CE Chainsaw Massacre
    
    Remove WinCE support as agreed in the thread starting here:
    https://www.nntp.perl.org/group/perl.perl5.porters/2018/07/msg251683.html

-----------------------------------------------------------------------

Summary of changes:
 Cross/README.new                 |    6 +-
 EXTERN.h                         |    2 +-
 INSTALL                          |    8 +-
 MANIFEST                         |   22 +-
 Porting/bump-perl-version        |    8 -
 Porting/checkcfgvar.pl           |    1 -
 Porting/exercise_makedef.pl      |    2 +-
 Porting/makerel                  |    2 -
 Porting/todo.pod                 |    6 -
 README.ce                        |  453 ----
 dosish.h                         |    2 -
 makedef.pl                       |  351 ++--
 mg.c                             |    2 +-
 perl.c                           |    6 -
 perl.h                           |   20 +-
 perlio.c                         |    6 -
 plan9/mkfile                     |    2 +-
 pod/.gitignore                   |    1 -
 pod/perl.pod                     |    1 -
 pod/perlport.pod                 |    2 +-
 pp_sort.c                        |    5 -
 t/porting/known_pod_issues.dat   |    1 -
 win32/GNUmakefile                |    3 +-
 win32/Makefile                   |    3 +-
 win32/Makefile.ce                | 1077 ----------
 win32/ce-helpers/cecopy-lib.pl   |  207 --
 win32/ce-helpers/comp.pl         |   84 -
 win32/ce-helpers/compile-all.bat |   62 -
 win32/ce-helpers/compile.bat     |   42 -
 win32/ce-helpers/makedist.pl     |  297 ---
 win32/ce-helpers/registry.bat    |   28 -
 win32/ce-helpers/sdsdkenv.bat    |    3 -
 win32/config.ce                  | 1137 -----------
 win32/config_H.ce                | 4206 --------------------------------------
 win32/include/sys/errno2.h       |    7 +-
 win32/include/sys/socket.h       |  255 ++-
 win32/makefile.mk                |    3 +-
 win32/perl.rc                    |   36 -
 win32/perlhost.h                 |   12 -
 win32/perllib.c                  |   40 -
 win32/perlmaince.c               |   40 -
 win32/vmem.h                     |    2 -
 win32/win32.h                    |   14 +-
 win32/win32ceio.c                |  379 ----
 win32/win32iop-o.h               |  327 ---
 win32/win32iop.h                 |  154 +-
 win32/wince.c                    | 2877 --------------------------
 win32/wince.h                    |  146 --
 win32/wincesck.c                 |  495 -----
 49 files changed, 312 insertions(+), 12533 deletions(-)
 delete mode 100644 README.ce
 delete mode 100644 win32/Makefile.ce
 delete mode 100644 win32/ce-helpers/cecopy-lib.pl
 delete mode 100644 win32/ce-helpers/comp.pl
 delete mode 100644 win32/ce-helpers/compile-all.bat
 delete mode 100644 win32/ce-helpers/compile.bat
 delete mode 100644 win32/ce-helpers/makedist.pl
 delete mode 100644 win32/ce-helpers/registry.bat
 delete mode 100644 win32/ce-helpers/sdsdkenv.bat
 delete mode 100644 win32/config.ce
 delete mode 100644 win32/config_H.ce
 delete mode 100644 win32/perl.rc
 delete mode 100644 win32/perlmaince.c
 delete mode 100644 win32/win32ceio.c
 delete mode 100644 win32/win32iop-o.h
 delete mode 100644 win32/wince.c
 delete mode 100644 win32/wince.h
 delete mode 100644 win32/wincesck.c

diff --git a/Cross/README.new b/Cross/README.new
index bcfa3b3e23..b520001303 100644
--- a/Cross/README.new
+++ b/Cross/README.new
@@ -9,9 +9,7 @@ README.new - Cross-compilation for linux
 =head1 DESCRIPTION
 
 This is second approach to linux cross-compilation, which should allow
-building full perl and extensions for target platform. Cross-compilation
-for linux uses similar approach and shares the same files as
-cross-compilation for WinCE.
+building full perl and extensions for target platform.
 
 We refer to HOST as the platform where the build is performed, and to
 TARGET as where final executables will run.
@@ -20,7 +18,7 @@ TARGET as where final executables will run.
 
 =head3 common
 
-Unlike WinCE, output files from GCC cross-compiler are produced in the same
+Output files from GCC cross-compiler are produced in the same
 directory where C files are. All TARGET binaries have different extensions
 so to distinguish HOST and TARGET binaries. Namely, object files for C<arm>
 cross-compilation will have extension C<.armo>, executable files will have
diff --git a/EXTERN.h b/EXTERN.h
index 558f762a3f..4406b29752 100644
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -21,7 +21,7 @@
 
 #  if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS)
     /* miniperl should not export anything */
-#    if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE)
+#    if defined(PERL_IS_MINIPERL)
 #      define EXT extern
 #      define dEXT 
 #      define EXTCONST extern const
diff --git a/INSTALL b/INSTALL
index c3a456de4e..296e1aded5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1806,8 +1806,8 @@ to avoid the BIND.
 
 Perl can be cross-compiled.  It is just not trivial, cross-compilation
 rarely is.  Perl is routinely cross-compiled for several platforms: as of
-January 2014, these include Android, Blackberry 10, PocketPC aka
-WinCE, ARM Linux, and Solaris.  Previous versions of
+January 2014, these include Android, Blackberry 10,
+ARM Linux, and Solaris.  Previous versions of
 Perl also provided support for Open Zaurus, Symbian, and
 the IBM OS/400, but it's unknown if those ports are still functional.
 These platforms are known as the B<target> platforms, while the systems
@@ -1826,10 +1826,6 @@ the particular platforms:
 
 =over 4
 
-=item WinCE/PocketPC
-
-L<README.ce or perlce|perlce>
-
 =item Android
 
 L<"Cross-compilation" in README.android or
diff --git a/MANIFEST b/MANIFEST
index 3bace2ac88..c3cd9d5fca 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -5191,7 +5191,6 @@ README.aix                        Perl notes for AIX
 README.amiga                   Perl notes for AmigaOS
 README.android                 Perl notes for Android
 README.bs2000                  Perl notes for POSIX-BC BS2000
-README.ce                      Perl notes for WinCE
 README.cn                      Perl for Simplified Chinese (in EUC-CN)
 README.cygwin                  Perl notes for Cygwin
 README.dos                     Perl notes for DOS
@@ -6057,17 +6056,8 @@ win32/bin/perlglob.pl            Win32 globbing
 win32/bin/pl2bat.pl            wrap perl scripts into batch files
 win32/bin/runperl.pl           run perl script via batch file namesake
 win32/bin/search.pl            Win32 port
-win32/ce-helpers/cecopy-lib.pl WinCE port
-win32/ce-helpers/comp.pl       WinCE port
-win32/ce-helpers/compile.bat   WinCE port
-win32/ce-helpers/compile-all.bat       WinCE port
-win32/ce-helpers/makedist.pl   WinCE port
-win32/ce-helpers/registry.bat  WinCE port
-win32/ce-helpers/sdsdkenv.bat  WinCE port
-win32/config.ce                        WinCE port
 win32/config.gc                        Win32 base line config.sh (MinGW build)
 win32/config.vc                        Win32 base line config.sh (Visual C++ 
build)
-win32/config_H.ce              WinCE port
 win32/config_H.gc              Win32 config header (MinGW build)
 win32/config_h.PL              Perl code to convert Win32 config.sh to config.h
 win32/config_H.vc              Win32 config header (Visual C++ build)
@@ -6084,32 +6074,24 @@ win32/include/sys/errno2.h      Win32 port
 win32/include/sys/socket.h     Win32 port
 win32/list_static_libs.pl      prints libraries for static linking
 win32/Makefile                 Win32 makefile for NMAKE (Visual C++ build)
-win32/Makefile.ce              WinCE port
 win32/makefile.mk              Win32 makefile for DMAKE (BC++, VC++ builds)
-win32/perl.rc                  WinCE port
 win32/perlexe.ico              perlexe.ico image file
 win32/perlexe.manifest         Assembly manifest file
 win32/perlexe.rc               associated perl binary with icon
 win32/perlglob.c               Win32 port
 win32/perlhost.h               Perl "host" implementation
 win32/perllib.c                        Win32 port
-win32/perlmaince.c             WinCE port
 win32/pod.mak                  Win32 port
 win32/runperl.c                        Win32 port
-win32/vdir.h                   Perl "host" virtual directory manager for CE
-win32/vmem.h                   Perl "host" memory manager for CE
+win32/vdir.h                   Perl "host" virtual directory manager for Win32
+win32/vmem.h                   Perl "host" memory manager for Win32
 win32/win32.c                  Win32 port
 win32/win32.h                  Win32 port
-win32/win32ceio.c              Win32/WinCE PerlIO layer support
 win32/win32io.c                        Win32 PerlIO layer support
 win32/win32iop.h               Win32 port
-win32/win32iop-o.h             WinCE port
 win32/win32sck.c               Win32 port
 win32/win32thread.c            Win32 functions for threads
 win32/win32thread.h            Win32 port mapping to threads
-win32/wince.c                  WinCE port
-win32/wince.h                  WinCE port
-win32/wincesck.c               WinCE port
 write_buildcustomize.pl                Generate lib/buildcustomize.pl
 XSUB.h                         Include file for extension subroutines
 zaphod32_hash.h                        Zaphod32 hash code (32 bit fast hash 
function)
diff --git a/Porting/bump-perl-version b/Porting/bump-perl-version
index 17ac966984..4b962e4703 100644
--- a/Porting/bump-perl-version
+++ b/Porting/bump-perl-version
@@ -196,14 +196,6 @@ my @maps =  (
         "$oldx.$oldy",
         qr/uconfig/,
     ],
-
-    # win32/Makefile.ce
-    [
-        qr/(PV\s*=\s*)(\d\d{2})\b$/,
-        sub { $2, "$1$newx$newy" },
-        "$oldx$oldy",
-        qr/Makefile\.ce/,
-    ],
 );
 
 
diff --git a/Porting/checkcfgvar.pl b/Porting/checkcfgvar.pl
index ce72fe56af..101f12d868 100755
--- a/Porting/checkcfgvar.pl
+++ b/Porting/checkcfgvar.pl
@@ -56,7 +56,6 @@ my @CFG = (
           "plan9/config_sh.sample",
           "win32/config.gc",
           "win32/config.vc",
-          "win32/config.ce",
           "configure.com",
           "Porting/config.sh",
          );
diff --git a/Porting/exercise_makedef.pl b/Porting/exercise_makedef.pl
index 4003410ba0..5e9d6bf63a 100644
--- a/Porting/exercise_makedef.pl
+++ b/Porting/exercise_makedef.pl
@@ -48,7 +48,7 @@ $SIG{INT} = sub { die }; # Trigger END processing
     close $out or die "Can't close $mpm: $!";
 }
 
-my @args = (platform => [map {"PLATFORM=$_"} qw(aix win32 wince os2 netware 
vms test)],
+my @args = (platform => [map {"PLATFORM=$_"} qw(aix win32 os2 netware vms 
test)],
            cflags => ['', 'CCFLAGS=-Dperl=rules -Dzzz'],
            Deq => ['', '-Dbeer=foamy'],
            D => ['', '-DPERL_IMPLICIT_SYS'],
diff --git a/Porting/makerel b/Porting/makerel
index bf4569bf98..4fc0d80be0 100755
--- a/Porting/makerel
+++ b/Porting/makerel
@@ -156,9 +156,7 @@ my @writables = qw(
     lib/warnings.pm
     win32/GNUmakefile
     win32/Makefile
-    win32/Makefile.ce
     win32/makefile.mk
-    win32/config_H.ce
     win32/config_H.gc
     win32/config_H.vc
     uconfig.h
diff --git a/Porting/todo.pod b/Porting/todo.pod
index 4905e238c3..b8dd63768e 100644
--- a/Porting/todo.pod
+++ b/Porting/todo.pod
@@ -507,12 +507,6 @@ suggest evictions and promotions to achieve a better 
F<pp_hot.c>.
 
 One piece of Perl code that might make a good testbed is F<installman>.
 
-=head2 Improve win32/wince.c
-
-Currently, numerous functions look virtually, if not completely,
-identical in both F<win32/wince.c> and F<win32/win32.c> files, which can't
-be good.
-
 =head2 Use secure CRT functions when building with VC8 on Win32
 
 Visual C++ 2005 (VC++ 8.x) deprecated a number of CRT functions on the basis
diff --git a/README.ce b/README.ce
deleted file mode 100644
index fdf636f8f0..0000000000
--- a/README.ce
+++ /dev/null
@@ -1,453 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you
-see.  It is written in the POD format (see pod/perlpod.pod) which is
-specifically designed to be readable as is.
-
-=head1 NAME
-
-perlce - Perl for WinCE
-
-=head1 Building Perl for WinCE
-
-=head2 WARNING
-
-B<< Much of this document has become very out of date and needs updating,
-rewriting or deleting. The build process was overhauled during the 5.19
-development track and the current instructions as of that time are given
-in L</CURRENT BUILD INSTRUCTIONS>; the previous build instructions, which
-are largely superseded but may still contain some useful information, are
-left in L</OLD BUILD INSTRUCTIONS> but really need removing after anything
-of use has been extracted from them. >>
-
-=head2 DESCRIPTION
-
-This file gives the instructions for building Perl5.8 and above for
-WinCE.  Please read and understand the terms under which this
-software is distributed.
-
-=head2 General explanations on cross-compiling WinCE
-
-=over
-
-=item *
-
-F<miniperl> is built. This is a single executable (without DLL), intended
-to run on Win32, and it will facilitate remaining build process; all binaries
-built after it are foreign and should not run locally.
-
-F<miniperl> is built using F<./win32/Makefile>; this is part of normal
-build process invoked as dependency from wince/Makefile.ce
-
-=item *
-
-After F<miniperl> is built, F<configpm> is invoked to create right F<Config.pm>
-in right place and its corresponding Cross.pm.
-
-Unlike Win32 build, miniperl will not have F<Config.pm> of host within reach;
-it rather will use F<Config.pm> from within cross-compilation directories.
-
-File F<Cross.pm> is dead simple: for given cross-architecture places in @INC
-a path where perl modules are, and right F<Config.pm> in that place.
-
-That said, C<miniperl -Ilib -MConfig -we 1> should report an error, because
-it can not find F<Config.pm>. If it does not give an error -- wrong 
F<Config.pm>
-is substituted, and resulting binaries will be a mess.
-
-C<miniperl -MCross -MConfig -we 1> should run okay, and it will provide right
-F<Config.pm> for further compilations.
-
-=item *
-
-During extensions build phase, a script F<./win32/buildext.pl> is invoked,
-which in turn steps in F<./ext> subdirectories and performs a build of
-each extension in turn.
-
-All invokes of F<Makefile.PL> are provided with C<-MCross> so to enable cross-
-compile.
-
-=back
-
-=head2 CURRENT BUILD INSTRUCTIONS
-
-(These instructions assume the host is 32-bit Windows. If you're on 64-bit
-Windows then change "C:\Program Files" to "C:\Program Files (x86)" throughout.)
-
-1. Install EVC4 from
-
- 
http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe
-
-Use the key mentioned at 
-
- 
http://download.cnet.com/Microsoft-eMbedded-Visual-C/3000-2212_4-10108490.html?tag=bc
-
-The installer is ancient and has a few bugs on the paths it uses. You 
-will have to fix them later. Basically, some things go into "C:/Program 
-Files/Windows CE Tools", others go into "C:/Windows CE Tools" regardless 
-of the path you gave to the installer (the default will be "C:/Windows 
-CE Tools"). Reboots will be required for the installer to proceed. Also 
-.c and .h associations with Visual Studio might get overridden when 
-installing EVC4. You have been warned.
-
-2. Download celib from GitHub (using "Download ZIP") at
-
-    https://github.com/bulk88/celib 
-
-Extract it to a spaceless path but not into the perl build source.
-I call this directory "celib-palm-3.0" but in the GitHub 
-snapshot it will be called "celib-master". Make a copy of the 
-"wince-arm-pocket-wce300-release" folder and rename the copy to 
-"wince-arm-pocket-wce400". This is a hack so we can build a CE 4.0 
-binary by linking in CE 3.0 ARM asm; the linker doesn't care. Windows 
-Mobile/WinCE are backwards compatible with machine code like Desktop Windows.
-
-3. Download console-1.3-src.tar.gz from 
-
- http://sourceforge.net/projects/perlce/files/PerlCE%20support%20files/console/
-
-Extract it to a spaceless path but not into the perl build source. 
-Don't extract it into the same directory as celib. Make a copy of the 
-"wince-arm-pocket-wce300" folder and rename the copy to 
-"wince-arm-pocket-wce400". This is a hack so we can build a CE 4.0 
-binary by linking in CE 3.0 ARM asm; the linker doesn't care. Windows 
-Mobile/WinCE are backwards compatible with machine code like Desktop Windows.
-
-4. Open a command prompt, run your regular batch file to set the environment
-for desktop Visual C building, goto the perl source directory, cd into win32/,
-fill out Makefile, and do a "nmake all" to build a Desktop Perl.
-
-5. Open win32/Makefile.ce in a text editor and do something similar to the 
-following patch.
-
-    -CELIBDLLDIR  = h:\src\wince\celib-palm-3.0
-    -CECONSOLEDIR = h:\src\wince\w32console
-    +CELIBDLLDIR  = C:\sources\celib-palm-3.0
-    +CECONSOLEDIR = C:\sources\w32console
-
-Also change
-
-    !if "$(MACHINE)" == ""
-    MACHINE=wince-arm-hpc-wce300
-    #MACHINE=wince-arm-hpc-wce211
-    #MACHINE=wince-sh3-hpc-wce211
-    #MACHINE=wince-mips-hpc-wce211
-    #MACHINE=wince-sh3-hpc-wce200
-    #MACHINE=wince-mips-hpc-wce200
-    #MACHINE=wince-arm-pocket-wce300
-    #MACHINE=wince-mips-pocket-wce300
-    #MACHINE=wince-sh3-pocket-wce300
-    #MACHINE=wince-x86em-pocket-wce300
-    #MACHINE=wince-mips-palm-wce211
-    #MACHINE=wince-sh3-palm-wce211
-    #MACHINE=wince-x86em-palm-wce211
-    #MACHINE=wince-x86-hpc-wce300
-    #MACHINE=wince-arm-pocket-wce400
-    !endif
-
-to
-
-    !if "$(MACHINE)" == ""
-    #MACHINE=wince-arm-hpc-wce300
-    #MACHINE=wince-arm-hpc-wce211
-    #MACHINE=wince-sh3-hpc-wce211
-    #MACHINE=wince-mips-hpc-wce211
-    #MACHINE=wince-sh3-hpc-wce200
-    #MACHINE=wince-mips-hpc-wce200
-    #MACHINE=wince-arm-pocket-wce300
-    #MACHINE=wince-mips-pocket-wce300
-    #MACHINE=wince-sh3-pocket-wce300
-    #MACHINE=wince-x86em-pocket-wce300
-    #MACHINE=wince-mips-palm-wce211
-    #MACHINE=wince-sh3-palm-wce211
-    #MACHINE=wince-x86em-palm-wce211
-    #MACHINE=wince-x86-hpc-wce300
-    MACHINE=wince-arm-pocket-wce400
-    !endif
-
-so wince-arm-pocket-wce400 is the MACHINE type.
-
-6. Use a text editor to open "C:\Program Files\Microsoft eMbedded C++ 
-4.0\EVC\WCE400\BIN\WCEARMV4.BAT". Look for
-
-    if "%SDKROOT%"=="" set SDKROOT=...
-
-On a new install it is "C:\Windows CE Tools". Goto 
-"C:\Windows CE Tools" in a file manager and see if "C:\Windows CE 
-Tools\wce400\STANDARDSDK\Include\Armv4" exists on your disk. If not
-the SDKROOT need to be changed to "C:\Program Files\Windows CE Tools".
-
-Goto celib-palm-3.0\inc\cewin32.h, search for
-
-    typedef struct _ABC {
-
-and uncomment the struct.
-
-7. Open another command prompt, ensure PLATFORM is not set to anything
-already unless you know what you're doing (so that the correct default
-value is set by the next command), and run "C:\Program Files\Microsoft
-eMbedded C++ 4.0\EVC\WCE400\BIN\WCEARMV4.BAT"
-
-8. In the WinCE command prompt you made with WCEARMV4.BAT, goto the perl 
-source directory, cd into win32/ and run "nmake -f Makefile.ce".
-
-9. The ARM perl interpreter (perl519.dll and perl.exe) will be in something
-like "C:\perl519\src\win32\wince-arm-pocket-wce400", with the XS DLLs in
-"C:\perl519\src\xlib\wince-arm-hpc-wce400\auto".
-
-To prove success on the host machine, run
-"dumpbin /headers wince-arm-pocket-wce400\perl.exe" from the win32/ folder
-and look for "machine (ARM)" in the FILE HEADER VALUES and
-"subsystem (Windows CE GUI)" in the OPTIONAL HEADER VALUES.
-
-=head2 OLD BUILD INSTRUCTIONS
-
-This section describes the steps to be performed to build PerlCE.
-You may find additional information about building perl for WinCE
-at L<http://perlce.sourceforge.net> and some pre-built binaries.
-
-=head3 Tools & SDK
-
-For compiling, you need following:
-
-=over 4
-
-=item * Microsoft Embedded Visual Tools
-
-=item * Microsoft Visual C++
-
-=item * Rainer Keuchel's celib-sources
-
-=item * Rainer Keuchel's console-sources
-
-=back
-
-Needed source files can be downloaded at
-L<http://perlce.sourceforge.net>
-
-=head3 Make
-
-Normally you only need to edit F<./win32/ce-helpers/compile.bat>
-to reflect your system and run it.
-
-File F<./win32/ce-helpers/compile.bat> is actually a wrapper to call
-C<nmake -f makefile.ce> with appropriate parameters and it accepts extra
-parameters and forwards them to C<nmake> command as additional
-arguments. You should pass target this way.
-
-To prepare distribution you need to do following:
-
-=over 4
-
-=item * go to F<./win32> subdirectory
-
-=item * edit file F<./win32/ce-helpers/compile.bat>
-
-=item * run 
-  compile.bat
-
-=item * run 
-  compile.bat dist
-
-=back
-
-F<Makefile.ce> has C<CROSS_NAME> macro, and it is used further to refer to
-your cross-compilation scheme. You could assign a name to it, but this
-is not necessary, because by default it is assigned after your machine
-configuration name, such as "wince-sh3-hpc-wce211", and this is enough
-to distinguish different builds at the same time. This option could be
-handy for several different builds on same platform to perform, say,
-threaded build. In a following example we assume that all required
-environment variables are set properly for C cross-compiler (a special
-*.bat file could fit perfectly to this purpose) and your F<compile.bat>
-has proper "MACHINE" parameter set, to, say, C<wince-mips-pocket-wce300>.
-
-  compile.bat
-  compile.bat dist
-  compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
-    "USE_IMP_SYS=define" "USE_MULTI=define"
-  compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
-    "USE_IMP_SYS=define" "USE_MULTI=define" dist
-
-If all goes okay and no errors during a build, you'll get two independent
-distributions: C<wince-mips-pocket-wce300> and C<mips-wce300-thr>.
-
-Target C<dist> prepares distribution file set. Target C<zipdist> performs
-same as C<dist> but additionally compresses distribution files into zip
-archive.
-
-NOTE: during a build there could be created a number (or one) of F<Config.pm>
-for cross-compilation ("foreign" F<Config.pm>) and those are hidden inside
-F<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is 
important to
-note, there should be B<no> F<Config.pm> for host miniperl.
-If you'll get an error that perl could not find Config.pm somewhere in building
-process this means something went wrong. Most probably you forgot to
-specify a cross-compilation when invoking miniperl.exe to Makefile.PL
-When building an extension for cross-compilation your command line should
-look like
-
-  ..\miniperl.exe -I..\lib -MCross=mips-wce300-thr Makefile.PL
-
-or just
-
-  ..\miniperl.exe -I..\lib -MCross Makefile.PL
-
-to refer a cross-compilation that was created last time.
-
-All questions related to building for WinCE devices could be asked in
-F<[email protected]> mailing list.
-
-=head1 Using Perl on WinCE
-
-=head2 DESCRIPTION
-
-PerlCE is currently linked with a simple console window, so it also
-works on non-hpc devices.
-
-The simple stdio implementation creates the files F<stdin.txt>,
-F<stdout.txt> and F<stderr.txt>, so you might examine them if your
-console has only a limited number of cols.
-
-When exitcode is non-zero, a message box appears, otherwise the
-console closes, so you might have to catch an exit with
-status 0 in your program to see any output.
-
-stdout/stderr now go into the files F</perl-stdout.txt> and
-F</perl-stderr.txt.>
-
-PerlIDE is handy to deal with perlce.
-
-=head2 LIMITATIONS
-
-No fork(), pipe(), popen() etc.
-
-=head2 ENVIRONMENT
-
-All environment vars must be stored in HKLM\Environment as
-strings. They are read at process startup.
-
-=over
-
-=item PERL5LIB
-
-Usual perl lib path (semi-list).
-
-=item PATH
-
-Semi-list for executables.
-
-=item TMP
-
-- Tempdir.
-
-=item UNIXROOTPATH
-
-- Root for accessing some special files, i.e. F</dev/null>, F</etc/services>.
-
-=item ROWS/COLS
-
-- Rows/cols for console.
-
-=item HOME
-
-- Home directory.
-
-=item CONSOLEFONTSIZE
-
-- Size for console font.
-
-=back
-
-You can set these with cereg.exe, a (remote) registry editor
-or via the PerlIDE.
-
-=head2 REGISTRY
-
-To start perl by clicking on a perl source file, you have
-to make the according entries in HKCR (see F<ce-helpers/wince-reg.bat>).
-cereg.exe (which must be executed on a desktop pc with
-ActiveSync) is reported not to work on some devices.
-You have to create the registry entries by hand using a 
-registry editor.
-
-=head2 XS
-
-The following Win32-Methods are built-in:
-
-       newXS("Win32::GetCwd", w32_GetCwd, file);
-       newXS("Win32::SetCwd", w32_SetCwd, file);
-       newXS("Win32::GetTickCount", w32_GetTickCount, file);
-       newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
-       newXS("Win32::IsWinNT", w32_IsWinNT, file);
-       newXS("Win32::IsWin95", w32_IsWin95, file);
-       newXS("Win32::IsWinCE", w32_IsWinCE, file);
-       newXS("Win32::CopyFile", w32_CopyFile, file);
-       newXS("Win32::Sleep", w32_Sleep, file);
-       newXS("Win32::MessageBox", w32_MessageBox, file);
-       newXS("Win32::GetPowerStatus", w32_GetPowerStatus, file);
-       newXS("Win32::GetOemInfo", w32_GetOemInfo, file);
-       newXS("Win32::ShellEx", w32_ShellEx, file);
-
-=head2 BUGS
-
-Opening files for read-write is currently not supported if
-they use stdio (normal perl file handles).
-
-If you find bugs or if it does not work at all on your
-device, send mail to the address below. Please report
-the details of your device (processor, ceversion, 
-devicetype (hpc/palm/pocket)) and the date of the downloaded
-files. 
-
-=head2 INSTALLATION
-
-Currently installation instructions are at L<http://perlce.sourceforge.net/>.
-
-After installation & testing processes will stabilize, information will
-be more precise.
-
-=head1 ACKNOWLEDGEMENTS
-
-The port for Win32 was used as a reference.
-
-=head1 History of WinCE port
-
-=over
-
-=item 5.6.0
-
-Initial port of perl to WinCE. It was performed in separate directory
-named F<wince>. This port was based on contents of F<./win32> directory.
-F<miniperl> was not built, user must have HOST perl and properly edit
-F<makefile.ce> to reflect this.
-
-=item 5.8.0
-
-wince port was kept in the same F<./wince> directory, and F<wince/Makefile.ce>
-was used to invoke native compiler to create HOST miniperl, which then
-facilitates cross-compiling process.
-Extension building support was added.
-
-=item 5.9.4
-
-Two directories F<./win32> and F<./wince> were merged, so perlce build
-process comes in F<./win32> directory.
-
-=back
-
-=head1 AUTHORS
-
-=over
-
-=item Rainer Keuchel <[email protected]>
-
-provided initial port of Perl, which appears to be most essential work, as
-it was a breakthrough on having Perl ported at all.
-Many thanks and obligations to Rainer!
-
-=item Vadim Konovalov
-
-made further support of WinCE port.
-
-=item Daniel Dragan
-
-updated the build process during the 5.19 development track.
-
-=back
diff --git a/dosish.h b/dosish.h
index dff759b309..98f8f998e6 100644
--- a/dosish.h
+++ b/dosish.h
@@ -71,8 +71,6 @@
  */
 #if defined(WIN64) || defined(USE_LARGE_FILES)
 #  define Stat_t struct _stati64
-#elif defined(UNDER_CE)
-#  define Stat_t struct xcestat
 #else
 #  define Stat_t struct stat
 #endif
diff --git a/makedef.pl b/makedef.pl
index d7c32c7348..ce203c1fb0 100644
--- a/makedef.pl
+++ b/makedef.pl
@@ -59,7 +59,7 @@ BEGIN {
            ++$fold;
        }
     }
-    my @PLATFORM = qw(aix win32 wince os2 netware vms test);
+    my @PLATFORM = qw(aix win32 os2 netware vms test);
     my %PLATFORM;
     @PLATFORM{@PLATFORM} = ();
 
@@ -75,8 +75,7 @@ require "./$ARGS{TARG_DIR}regen/embed_lib.pl";
 # Is the following guard strictly necessary? Added during refactoring
 # to keep the same behaviour when merging other code into here.
 process_cc_flags(@Config{qw(ccflags optimize)})
-    if $ARGS{PLATFORM} ne 'win32' && $ARGS{PLATFORM} ne 'wince'
-    && $ARGS{PLATFORM} ne 'netware';
+    if $ARGS{PLATFORM} ne 'win32' && $ARGS{PLATFORM} ne 'netware';
 
 # Add the compile-time options that miniperl was built with to %define.
 # On Win32 these are not the same options as perl itself will be built
@@ -87,12 +86,9 @@ process_cc_flags(@Config{qw(ccflags optimize)})
 # the user might have chosen to disable because the canned configs are
 # minimal configs that don't include any of those options.
 
-#don't use the host Perl's -V defines for the WinCE Perl
-if($ARGS{PLATFORM} ne 'wince') {
-    my @options = sort(Config::bincompat_options(), 
Config::non_bincompat_options());
-    print STDERR "Options: (@options)\n" unless $ARGS{PLATFORM} eq 'test';
-    $define{$_} = 1 foreach @options;
-}
+my @options = sort(Config::bincompat_options(), 
Config::non_bincompat_options());
+print STDERR "Options: (@options)\n" unless $ARGS{PLATFORM} eq 'test';
+$define{$_} = 1 foreach @options;
 
 my %exportperlmalloc =
     (
@@ -815,174 +811,165 @@ try_symbols(qw(
 
 if ($ARGS{PLATFORM} eq 'win32') {
     try_symbols(qw(
-                                win32_free_childdir
-                                win32_free_childenv
-                                win32_get_childdir
-                                win32_get_childenv
-                                win32_spawnvp
-                ));
-}
-
-if ($ARGS{PLATFORM} eq 'wince') {
-    ++$skip{'win32_isatty'}; # commit 4342f4d6df is win32-only
-}
-
-if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
-    try_symbols(qw(
-                           Perl_init_os_extras
-                           Perl_thread_create
-                           Perl_win32_init
-                           Perl_win32_term
-                           RunPerl
-                           win32_async_check
-                           win32_errno
-                           win32_environ
-                           win32_abort
-                           win32_fstat
-                           win32_stat
-                           win32_pipe
-                           win32_popen
-                           win32_pclose
-                           win32_rename
-                           win32_setmode
-                           win32_chsize
-                           win32_lseek
-                           win32_tell
-                           win32_dup
-                           win32_dup2
-                           win32_open
-                           win32_close
-                           win32_eof
-                           win32_isatty
-                           win32_read
-                           win32_write
-                           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_malloc
-                           win32_calloc
-                           win32_realloc
-                           win32_free
-                           win32_sleep
-                           win32_pause
-                           win32_times
-                           win32_access
-                           win32_alarm
-                           win32_chmod
-                           win32_open_osfhandle
-                           win32_get_osfhandle
-                           win32_ioctl
-                           win32_link
-                           win32_unlink
-                           win32_utime
-                           win32_gettimeofday
-                           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_ansipath
-                           win32_os_id
-                           win32_getpid
-                           win32_crypt
-                           win32_dynaload
-                           win32_clearenv
-                           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_setbuf
-                           win32_setvbuf
-                           win32_flushall
-                           win32_fcloseall
-                           win32_fgets
-                           win32_gets
-                           win32_fgetc
-                           win32_putc
-                           win32_puts
-                           win32_getchar
-                           win32_putchar
+                   win32_free_childdir
+                   win32_free_childenv
+                   win32_get_childdir
+                   win32_get_childenv
+                   win32_spawnvp
+                   Perl_init_os_extras
+                   Perl_thread_create
+                   Perl_win32_init
+                   Perl_win32_term
+                   RunPerl
+                   win32_async_check
+                   win32_errno
+                   win32_environ
+                   win32_abort
+                   win32_fstat
+                   win32_stat
+                   win32_pipe
+                   win32_popen
+                   win32_pclose
+                   win32_rename
+                   win32_setmode
+                   win32_chsize
+                   win32_lseek
+                   win32_tell
+                   win32_dup
+                   win32_dup2
+                   win32_open
+                   win32_close
+                   win32_eof
+                   win32_isatty
+                   win32_read
+                   win32_write
+                   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_malloc
+                   win32_calloc
+                   win32_realloc
+                   win32_free
+                   win32_sleep
+                   win32_pause
+                   win32_times
+                   win32_access
+                   win32_alarm
+                   win32_chmod
+                   win32_open_osfhandle
+                   win32_get_osfhandle
+                   win32_ioctl
+                   win32_link
+                   win32_unlink
+                   win32_utime
+                   win32_gettimeofday
+                   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_ansipath
+                   win32_os_id
+                   win32_getpid
+                   win32_crypt
+                   win32_dynaload
+                   win32_clearenv
+                   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_setbuf
+                   win32_setvbuf
+                   win32_flushall
+                   win32_fcloseall
+                   win32_fgets
+                   win32_gets
+                   win32_fgetc
+                   win32_putc
+                   win32_puts
+                   win32_getchar
+                   win32_putchar
                 ));
 }
 elsif ($ARGS{PLATFORM} eq 'vms') {
@@ -1278,17 +1265,15 @@ elsif ($ARGS{PLATFORM} eq 'netware') {
                 ));
 }
 
-# When added this code was only run for Win32 and WinCE
+# When added this code was only run for Win32 (and WinCE at the time)
 # Currently only Win32 links static extensions into the shared library.
-# The WinCE makefile doesn't appear to support static extensions, so this code
-# can't have any effect there.
 # The NetWare Makefile doesn't support static extensions (and hardcodes the
 # list of dynamic extensions, and the rules to build them)
 # For *nix (and presumably OS/2) with a shared libperl, Makefile.SH compiles
 # static extensions with -fPIC, but links them to perl, not libperl.so
 # The VMS build scripts don't yet implement static extensions at all.
 
-if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
+if ($ARGS{PLATFORM} eq 'win32') {
     # records of type boot_module for statically linked modules (except 
Dynaloader)
     my $static_ext = $Config{static_ext} // "";
     $static_ext =~ s/\//__/g;
@@ -1315,7 +1300,7 @@ if ($ARGS{PLATFORM} eq 'os2') {
 
 # Start with platform specific headers:
 
-if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
+if ($ARGS{PLATFORM} eq 'win32') {
     my $dll = $define{PERL_DLL} ? $define{PERL_DLL} =~ s/\.dll$//ir
        : "perl$Config{api_revision}$Config{api_version}";
     print "LIBRARY $dll\n";
@@ -1365,7 +1350,7 @@ elsif ($ARGS{PLATFORM} eq 'netware') {
 
 my @symbols = $fold ? sort {lc $a cmp lc $b} keys %export : sort keys %export;
 foreach my $symbol (@symbols) {
-    if (PLATFORM eq 'win32' || PLATFORM eq 'wince') {
+    if (PLATFORM eq 'win32') {
        # Remembering the origin file of each symbol is an alternative to PL_ 
matching
        if (substr($symbol, 0, 3) eq 'PL_') {
            print "\t$symbol DATA\n";
diff --git a/mg.c b/mg.c
index f4783fb68a..26211dd4d0 100644
--- a/mg.c
+++ b/mg.c
@@ -3078,7 +3078,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
 #else
 #   define PERL_VMS_BANG 0
 #endif
-#if defined(WIN32) && ! defined(UNDER_CE)
+#if defined(WIN32)
        SETERRNO(win32_get_errno(SvIOK(sv) ? SvIVX(sv) : SvOK(sv) ? sv_2iv(sv) 
: 0),
                 (SvIV(sv) == EVMSERR) ? 4 : PERL_VMS_BANG);
 #else
diff --git a/perl.c b/perl.c
index 69e3efcd70..e71ecaf8fc 100644
--- a/perl.c
+++ b/perl.c
@@ -3808,12 +3808,6 @@ S_minus_v(pTHX)
        PerlIO_printf(PIO_stdout,
                      "BS2000 (POSIX) port by Start Amadeus GmbH, 1998-1999\n");
 #endif
-#ifdef UNDER_CE
-       PerlIO_printf(PIO_stdout,
-                       "WINCE port by Rainer Keuchel, 2001-2002\n"
-                       "Built on " __DATE__ " " __TIME__ "\n\n");
-       wce_hitreturn();
-#endif
 #ifdef __SYMBIAN32__
        PerlIO_printf(PIO_stdout,
                      "Symbian port by Nokia, 2004-2005\n");
diff --git a/perl.h b/perl.h
index 04ff997e05..fda9255b90 100644
--- a/perl.h
+++ b/perl.h
@@ -704,16 +704,6 @@
 
 #include <sys/types.h>
 
-/* EVC 4 SDK headers includes a bad definition of MB_CUR_MAX in stdlib.h
-  which is included from stdarg.h. Bad definition not present in SD 2008
-  SDK headers. wince.h is not yet included, so we cant fix this from there
-  since by then MB_CUR_MAX will be defined from stdlib.h.
-  cewchar.h includes a correct definition of MB_CUR_MAX and it is copied here
-  since cewchar.h can't be included this early */
-#if defined(UNDER_CE) && (_MSC_VER < 1300)
-#  define MB_CUR_MAX 1uL
-#endif
-
 # include <stdarg.h>
 
 #ifdef I_STDINT
@@ -2292,10 +2282,6 @@ extern long double Perl_my_frexpl(long double x, int *e);
     (Perl_fp_class_pdenorm(x) || Perl_fp_class_ndenorm(x))
 #endif
 
-#ifdef UNDER_CE
-int isnan(double d);
-#endif
-
 #ifndef Perl_isnan
 #   ifdef Perl_fp_class_nan
 #       define Perl_isnan(x) Perl_fp_class_nan(x)
@@ -3900,7 +3886,7 @@ my_swap16(const U16 x) {
 #endif
 
 #ifndef __cplusplus
-#if !(defined(WIN32) || defined(UNDER_CE) || defined(SYMBIAN))
+#if !(defined(WIN32) || defined(SYMBIAN))
 Uid_t getuid (void);
 Uid_t geteuid (void);
 Gid_t getgid (void);
@@ -6853,10 +6839,6 @@ extern void moncontrol(int);
 #define PERL_GPROF_MONCONTROL(x)
 #endif
 
-#ifdef UNDER_CE
-#include "wince.h"
-#endif
-
 /* ISO 6429 NEL - C1 control NExt Line */
 /* See http://www.unicode.org/unicode/reports/tr13/ */
 #define NEXT_LINE_CHAR NEXT_LINE_NATIVE
diff --git a/perlio.c b/perlio.c
index 904d47a57e..d32aed0392 100644
--- a/perlio.c
+++ b/perlio.c
@@ -3231,13 +3231,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE *f)
     f->_file = -1;
     return 1;
 #  elif defined(WIN32)
-#    if defined(UNDER_CE)
-    /* WIN_CE does not have access to FILE internals, it hardly has FILE
-       structure at all
-     */
-#    else
     PERLIO_FILE_file(f) = -1;
-#    endif
     return 1;
 #  else
 #if 0
diff --git a/plan9/mkfile b/plan9/mkfile
index 505ec1174c..588ade988e 100644
--- a/plan9/mkfile
+++ b/plan9/mkfile
@@ -23,7 +23,7 @@ installman3dir = /sys/man/2
 podnames = perl perlbook perldata perldebtut perldiag perldsc perlform 
perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall 
perlnewmod perlop perlootut perlopentut perlpacktut perlpod perlport 
perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle 
perlsub perlsyn perltie perltrap perlutil perlunifaq perluniintro perlvar
 faqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 
perlfaq7 perlfaq8 perlfaq9
 advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts 
perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter 
perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj 
perlpodspec perlre perlthrtut perltodo perlunicode perlunicook perlxs perlxs 
perlxstut
-archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin 
perldgux perldos perlfreebsd perlhpux perlhurd perlirix perlmacos perlnetware 
perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perlvms 
perlvos perlwin32
+archpodnames = perlaix perlamiga perlbeos perlbs2000 perlcygwin perldgux 
perldos perlfreebsd perlhpux perlhurd perlirix perlmacos perlnetware perlos2 
perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perlvms perlvos 
perlwin32
 histpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta 
perl571delta perl572delta perl573delta perl58delta perlhist
 
 libpods = ${podnames:%=pod/%.pod}
diff --git a/pod/.gitignore b/pod/.gitignore
index 189b24c88d..c6e3d63598 100644
--- a/pod/.gitignore
+++ b/pod/.gitignore
@@ -3,7 +3,6 @@
 /perlamiga.pod
 /perlandroid.pod
 /perlbs2000.pod
-/perlce.pod
 /perlcn.pod
 /perlcygwin.pod
 /perldos.pod
diff --git a/pod/perl.pod b/pod/perl.pod
index f9a1e4d4f2..dcf717d3bf 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -260,7 +260,6 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
     perlamiga          Perl notes for AmigaOS
     perlandroid                Perl notes for Android
     perlbs2000         Perl notes for POSIX-BC BS2000
-    perlce             Perl notes for WinCE
     perlcygwin         Perl notes for Cygwin
     perldos            Perl notes for DOS
     perlfreebsd        Perl notes for FreeBSD
diff --git a/pod/perlport.pod b/pod/perlport.pod
index b870c2334a..06407c7735 100644
--- a/pod/perlport.pod
+++ b/pod/perlport.pod
@@ -2533,7 +2533,7 @@ L<http://www.cpan.org/ports/index.html> for binary 
distributions.
 =head1 SEE ALSO
 
 L<perlaix>, L<perlamiga>, L<perlbs2000>,
-L<perlce>, L<perlcygwin>, L<perldos>,
+L<perlcygwin>, L<perldos>,
 L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
 L<perlmacos>, L<perlmacosx>,
 L<perlnetware>, L<perlos2>, L<perlos390>, L<perlos400>,
diff --git a/pp_sort.c b/pp_sort.c
index b4a9dd91e7..899b1138ec 100644
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -30,11 +30,6 @@
 #define PERL_IN_PP_SORT_C
 #include "perl.h"
 
-#if defined(UNDER_CE)
-/* looks like 'small' is reserved word for WINCE (or somesuch)*/
-#define        small xsmall
-#endif
-
 #define sv_cmp_static Perl_sv_cmp
 #define sv_cmp_locale_static Perl_sv_cmp_locale
 
diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat
index f402334324..f1822db1ff 100644
--- a/t/porting/known_pod_issues.dat
+++ b/t/porting/known_pod_issues.dat
@@ -361,7 +361,6 @@ install     ? Should you be using F<...> or maybe L<...> 
instead of 1
 pod/perl.pod   Verbatim line length including indents exceeds 79 by    8
 pod/perlandroid.pod    Verbatim line length including indents exceeds 79 by    
3
 pod/perlbook.pod       Verbatim line length including indents exceeds 79 by    
1
-pod/perlce.pod Verbatim line length including indents exceeds 79 by    3
 pod/perldebguts.pod    Verbatim line length including indents exceeds 79 by    
27
 pod/perldebtut.pod     Verbatim line length including indents exceeds 79 by    
3
 pod/perldtrace.pod     Verbatim line length including indents exceeds 79 by    
7
diff --git a/win32/GNUmakefile b/win32/GNUmakefile
index 97f84382d6..a350fa1dd4 100644
--- a/win32/GNUmakefile
+++ b/win32/GNUmakefile
@@ -1733,7 +1733,6 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
        copy ..\README.amiga    ..\pod\perlamiga.pod
        copy ..\README.android  ..\pod\perlandroid.pod
        copy ..\README.bs2000   ..\pod\perlbs2000.pod
-       copy ..\README.ce       ..\pod\perlce.pod
        copy ..\README.cn       ..\pod\perlcn.pod
        copy ..\README.cygwin   ..\pod\perlcygwin.pod
        copy ..\README.dos      ..\pod\perldos.pod
@@ -1861,7 +1860,7 @@ distclean: realclean
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
            perl5311delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
-           perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+           perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
            perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
diff --git a/win32/Makefile b/win32/Makefile
index 176e2a152a..3dea8c5ba6 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1254,7 +1254,6 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.amiga    ..\pod\perlamiga.pod
        copy ..\README.android  ..\pod\perlandroid.pod
        copy ..\README.bs2000   ..\pod\perlbs2000.pod
-       copy ..\README.ce       ..\pod\perlce.pod
        copy ..\README.cn       ..\pod\perlcn.pod
        copy ..\README.cygwin   ..\pod\perlcygwin.pod
        copy ..\README.dos      ..\pod\perldos.pod
@@ -1383,7 +1382,7 @@ distclean: realclean
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
            perl5311delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
-           perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+           perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
            perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
diff --git a/win32/Makefile.ce b/win32/Makefile.ce
deleted file mode 100644
index d518c1063d..0000000000
--- a/win32/Makefile.ce
+++ /dev/null
@@ -1,1077 +0,0 @@
-#
-# perl makefile for wince
-# During the cross-compilation, it first uses Makefile file to build
-# miniperl on HOST and then build required platform
-#
-
-SRCDIR     = ..
-PV         = 531
-
-# INSTALL_ROOT specifies a path where this perl will be installed on CE device
-INSTALL_ROOT=/netzwerk/sprache/perl
-INST_TOP=$(INSTALL_ROOT)
-INST_VER=
-
-# PERLCEDIR shoud be set to current directory
-PERLCEDIR  = $(MAKEDIR)
-
-# WCEROOT is a directory where Windows CE Tools was installed
-WCEROOT    = D:\Windows CE Tools
-
-# HPERL stands for host perl, which is perl on local desktop machine
-# which is usually ..\miniperl.exe
-#HPERL     = N:\Programme\perl\bin\perl.exe
-HPERL = $(MAKEDIR)\..\miniperl.exe
-
-CEPATH     = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
-CELIBDLLDIR  = h:\src\wince\celib-palm-3.0
-CECONSOLEDIR = h:\src\wince\w32console
-
-# specify following options to build perl on local machine, by MSVC
-MSVCDIR         = D:\MSVStudio\VC98
-CCHOME         = $(MSVCDIR)
-CCINCDIR       = $(CCHOME)\include
-CCLIBDIR       = $(CCHOME)\lib
-
-# cecopy program. Make shure it is in your path, as well as cemkdir, cedel
-CECOPY     = cecopy
-
-#
-# comment this out if you want the legacy default behavior of including '.' at
-# the end of @INC.
-#
-DEFAULT_INC_EXCLUDES_DOT = define
-
-#
-# set this if you wish to use perl's malloc
-# This will make perl run few times faster
-# WARNING: Turning this on/off WILL break binary compatibility with extensions
-# you may have compiled with/without it.
-#
-PERL_MALLOC    = define
-
-
-NOOP      = @echo
-# keep this untouched!
-NULL      =
-
-#
-# uncomment exactly one of the following
-#
-# Embedded Visual C++ 4 and older
-CCTYPE         = MSVC60
-# Smart Devices for Visual C++ 2005 (aka Visual C++ 8.x) (full version)
-#CCTYPE                = MSVC80
-# Smart Devices for Visual C++ 2008 (aka Visual C++ 9.x) (full version)
-#CCTYPE                = MSVC90
-
-#CFG=DEBUG
-CFG=RELEASE
-
-!if "$(MACHINE)" == ""
-MACHINE=wince-arm-hpc-wce300
-#MACHINE=wince-arm-hpc-wce211
-#MACHINE=wince-sh3-hpc-wce211
-#MACHINE=wince-mips-hpc-wce211
-#MACHINE=wince-sh3-hpc-wce200
-#MACHINE=wince-mips-hpc-wce200
-#MACHINE=wince-arm-pocket-wce300
-#MACHINE=wince-mips-pocket-wce300
-#MACHINE=wince-sh3-pocket-wce300
-#MACHINE=wince-x86em-pocket-wce300
-#MACHINE=wince-mips-palm-wce211
-#MACHINE=wince-sh3-palm-wce211
-#MACHINE=wince-x86em-palm-wce211
-#MACHINE=wince-x86-hpc-wce300
-#MACHINE=wince-arm-pocket-wce400
-!endif
-
-# set this to your email address
-#
-#EMAIL         =
-
-##################### CHANGE THESE ONLY IF YOU MUST #####################
-
-######################################################################
-# machines
-
-!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
-CC         = shcl.exe
-ARCH       = SH3
-CPU        = SH3
-TARGETCPU  = SH3
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS HPC Pro
-MCFLAGS    = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.11
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-mips-hpc-wce211"
-CC         = clmips.exe
-ARCH       = MIPS
-CPU        = MIPS
-TARGETCPU  = MIPS
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS HPC Pro
-MCFLAGS    = -D _MT -D _DLL \
-             -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
-             -D PALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.11
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-mips-hpc-wce200"
-CC         = clmips.exe
-ARCH       = MIPS
-CPU        = MIPS
-TARGETCPU  = MIPS
-CEVersion  = 200
-OSVERSION  = WCE200
-PLATFORM   = MS HPC
-# MUST USE -MD to get the right FPE stuff...
-MCFLAGS    = -D _MT -D _DLL -MD \
-             -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
-             -D PALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-sh3-hpc-wce200"
-CC         = shcl.exe
-ARCH       = SH3
-CPU        = SH3
-TARGETCPU  = SH3
-CEVersion  = 200
-OSVERSION  = WCE200
-PLATFORM   = MS HPC
-# MUST USE -MD to get the right FPE stuff...
-MCFLAGS    = -D _MT -D _DLL -MD \
-             -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \
-             -D PALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-arm-hpc-wce211"
-CC         = clarm.exe
-ARCH       = ARM
-CPU        = ARM
-TARGETCPU  = ARM
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS HPC Pro
-MCFLAGS    = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
-             -DPROCESSOR_ARM -DPALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.11
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-arm-hpc-wce300"
-CC         = clarm.exe
-ARCH       = ARM
-CPU        = ARM
-TARGETCPU  = ARM
-CEVersion  = 300
-OSVERSION  = WCE300
-#PLATFORM   = HPC2000
-MCFLAGS    = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
-             -DPROCESSOR_ARM -DPALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,3.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-mips-palm-wce211"
-CC         = clmips.exe
-ARCH       = MIPS
-CPU        = MIPS
-TARGETCPU  = MIPS
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS Palm Size PC
-MCFLAGS    = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.11
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-sh3-palm-wce211"
-CC         = shcl.exe
-ARCH       = SH3
-CPU        = SH3
-TARGETCPU  = SH3
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS Palm Size PC
-MCFLAGS    = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-SUBSYS    = -subsystem:windowsce,2.11
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-x86em-palm-wce211"
-CC         = cl.exe
-ARCH       = X86EM
-CPU        = X86
-TARGETCPU  = X86
-CEVersion  = 211
-OSVERSION  = WCE211
-PLATFORM   = MS Palm Size PC
-MCFLAGS    = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \
-             -D_WIN32_WCE_EMULATION -DPALM_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:x86
-SUBSYS     = -subsystem:windows
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-x86em-pocket-wce300"
-CC         = cl.exe
-ARCH       = X86EM
-CPU        = X86
-TARGETCPU  = X86
-CEVersion  = 300
-OSVERSION  = WCE300
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \
-             -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:x86
-SUBSYS     = -subsystem:windows
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-mips-pocket-wce300"
-CC         = clmips.exe
-ARCH       = MIPS
-CPU        = MIPS
-TARGETCPU  = MIPS
-CEVersion  = 300
-OSVERSION  = WCE300
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
-             -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:mips
-SUBSYS     = -subsystem:windowsce,3.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-#STDLIBPATH = $(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(CPU)
-LDLIBPATH  = -libpath:$(CELIBPATH)
-#"-libpath:$(STDLIBPATH)"
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-sh3-pocket-wce300"
-CC         = shcl.exe
-ARCH       = SH3
-CPU        = SH3
-TARGETCPU  = SH3
-CEVersion  = 300
-OSVERSION  = WCE300
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \
-             -DPALM_SIZE -DPOCKET_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:sh3
-SUBSYS     = -subsystem:windowsce,3.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-arm-pocket-wce300"
-CC         = clarm.exe
-ARCH       = ARM
-CPU        = ARM
-TARGETCPU  = ARM
-CEVersion  = 300
-OSVERSION  = WCE300
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \
-             -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:arm
-SUBSYS     = -subsystem:windowsce,3.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-x86-hpc-wce300"
-CC         = cl.exe
-ARCH       = X86EM
-CPU        = X86
-TARGETCPU  = X86
-CEVersion  = 400
-OSVERSION  = WCE400
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -DX86 -D_X86_ -Dx86 -DPROCESSOR_X86 -D _MT -D _DLL \
-             -DPALM_SIZE -DPOCKET_SIZE -I $(CELIBDLLDIR)\inc
-MACH       = -machine:IX86
-SUBSYS     = -subsystem:windowsce,2.0
-CELIBPATH  = $(CELIBDLLDIR)\wince-x86-hpc-wce300-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-!if "$(MACHINE)" == "wince-arm-pocket-wce400"
-#CC         = clarm.exe #set in WCEARMV4.BAT
-ARCH       = ARM
-CPU        = ARM
-TARGETCPU  = ARM
-CEVersion  = 400
-#OSVERSION  = WCE300 #set in WCEARMV4.BAT
-PLATFORM   = MS Pocket PC
-MCFLAGS    = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \
-             -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
-             -I $(CELIBDLLDIR)\inc
-MACH       = -machine:arm
-SUBSYS     = -subsystem:windowsce,4.00
-CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
-LDLIBPATH  = -libpath:$(CELIBPATH)
-STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
-             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
-!endif
-
-
-######################################################################
-# common section
-
-CEDEFS    = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
-            $(MCFLAGS) -D PERL
-
-CECFLAGS  = $(CEDEFS) -Zi
-
-!if "$(CFG)" == "DEBUG"
-CECFLAGS  = $(CECFLAGS) -Od
-!endif
-
-!if "$(CFG)" == "RELEASE"
-# -O2 and -Ot give internal compiler error in perl.c and lexer.
-# Also the dll cannot be loaded by perl.exe...
-!if "$(CPU)" == "SH3"
-!else
-CECFLAGS  = $(CECFLAGS) -O1
-!endif
-!  IF "$(CCTYPE)" != "MSVC60"
-#turn on LTCG optimization for CCs that have it
-CECFLAGS       = $(CECFLAGS) -GL
-!  ENDIF
-!  IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC90"
-#no stack security cookie for CCs where its on by default
-CECFLAGS       = $(CECFLAGS) -GS-
-!  ENDIF
-!endif
-
-RCDEFS    = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \
-            /d _WIN32_WCE=$(CEVersion)
-
-#PATH=$(CEPATH);$(PATH)
-
-# attention, for eVC 4, these paths are not generated correctly since the
-# WinCE SDK is organized differently from eVC 3, replace the next 2 macros
-# with absolute paths to the correct directories on your system
-#INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include
-#LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
-
-######################################################################
-
-!message
-!message Compiling for $(MACHINE)
-!message LIB=$(LIB)
-!message INCLUDE=$(INCLUDE)
-!message PATH=$(CEPATH)
-!message
-
-######################################################################
-#
-# Additional compiler flags can be specified here.
-#
-
-BUILDOPT       = $(BUILDOPT) $(CECFLAGS) -DUSE_CROSS_COMPILE
-
-
-!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
-D_CRYPT                = undef
-!ELSE
-D_CRYPT                = define
-CRYPT_FLAG     = -DHAVE_DES_FCRYPT
-!ENDIF
-
-!IF "$(PERL_MALLOC)" == ""
-PERL_MALLOC    = undef
-!ENDIF
-
-!IF "$(DEFAULT_INC_EXCLUDES_DOT)" == ""
-DEFAULT_INC_EXCLUDES_DOT = undef
-!ENDIF
-
-!IF "$(USE_MULTI)" == ""
-USE_MULTI      = undef
-!ENDIF
-
-!IF "$(USE_ITHREADS)" == ""
-USE_ITHREADS   = undef
-!ENDIF
-
-!IF "$(USE_IMP_SYS)" == ""
-USE_IMP_SYS    = undef
-!ENDIF
-
-!IF "$(USE_PERLCRT)" == ""
-USE_PERLCRT    = undef
-!ENDIF
-
-!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
-USE_MULTI      = define
-!ENDIF
-
-!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
-USE_MULTI      = define
-!ENDIF
-
-!IF "$(USE_MULTI)" != "undef"
-BUILDOPT       = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
-!ENDIF
-
-!IF "$(USE_IMP_SYS)" != "undef"
-BUILDOPT       = $(BUILDOPT) -DPERL_IMPLICIT_SYS
-!ENDIF
-
-!IF "$(CROSS_NAME)" == ""
-CROSS_NAME     = $(MACHINE)
-!ENDIF
-
-# new option - automatically defined in perl.h...
-#BUILDOPT        = $(BUILDOPT) -DUSE_ENVIRON_ARRAY
-
-PROCESSOR_ARCHITECTURE = $(TARGETCPU)
-ARCHNAME       = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)
-ARCHDIR                = ..\lib\$(ARCHNAME)
-COREDIR                = ..\lib\CORE
-AUTODIR                = ..\lib\auto
-LIBDIR         = ..\lib
-EXTDIR         = ..\ext
-DISTDIR                = ..\dist
-CPANDIR                = ..\cpan
-PODDIR         = ..\pod
-EXTUTILSDIR    = $(LIBDIR)\ExtUtils
-
-LINK32         = link
-LIB32          = $(LINK32) -lib
-RSC            = rc
-
-INCLUDES       = -I.\include -I. -I..
-DEFINES                = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) 
$(CECFLAGS)
-LOCDEFS                = -DPERLDLL -DPERL_CORE
-CXX_FLAG       = -TP
-
-PERLEXE_RES    = perl.res
-PERLDLL_RES    =
-
-!if "$(CFG)" == "RELEASE"
-CELIB           = celib.lib
-!endif
-
-!if "$(CFG)" == "DEBUG"
-CELIB           = celib.lib
-!endif
-
-#use ws2.lib instead of winsock.lib for WSAGetLastError
-CELIBS          = -nodefaultlib \
-                  ws2.lib $(CELIB) coredll.lib
-
-#this libc's purpose is WinCE entrypoint to main wrapper, not a real C std lib
-!if $(CEVersion) > 200
-LIBC          = corelibc.lib
-!else
-LIBC          = msvcrt.lib
-!endif
-
-LIBBASEFILES   = $(CRYPT_LIB) $(CELIBS)
-
-LIBFILES       = $(LIBBASEFILES) $(LIBC)
-
-CFLAGS         = -nologo -GF -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
-               $(PCHFLAGS) $(OPTIMIZE)
-
-LINK_FLAGS     = -nologo -debug -opt:ref,icf -machine:$(PROCESSOR_ARCHITECTURE)
-
-!if "$(CFG)" == "RELEASE" && "$(CCTYPE)" != "MSVC60"
-#see matching flag in CECFLAGS
-LINK_FLAGS     = $(LINK_FLAGS) -ltcg
-!endif
-
-OBJOUT_FLAG    = -Fo
-EXEOUT_FLAG    = -Fe
-
-CFLAGS_O       = $(CFLAGS) $(BUILDOPT)
-
-o = .obj
-
-#
-# Rules
-#
-
-.SUFFIXES : .c $(o) .dll .lib .exe .rc .res
-
-.c$(o):
-       $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
-
-.c.i:
-       $(CC) -c -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $<
-
-.y.c:
-       $(NOOP)
-
-$(o).dll:
-       $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \
-            -implib:$(*B).lib -def:$(*B).def \
-           -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
-
-.rc.res:
-       $(RSC) -i.. $<
-
-# This must be relative to ../lib/CORE, else the ext dll build fails...
-PERLIMPLIB_EXP = perl$(PV).lib
-PERLIMPLIB     = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
-PERLDLL                = $(MACHINE)\perl$(PV).dll
-
-DLLDIR          = $(MACHINE)\dll
-PERLEXE                = $(MACHINE)\perl.exe
-
-CONFIGPM       = ..\lib\Config.pm ..\lib\Config_heavy.pl
-GENUUDMAP      = ..\generate_uudmap.exe
-
-UUDMAP_H       = ..\uudmap.h
-BITCOUNT_H     = ..\bitcount.h
-MG_DATA_H      = ..\mg_data.h
-GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H)
-
-# Unicode data files generated by mktables
-FIRSTUNIFILE     = ..\lib\unicore\Decomposition.pl
-UNIDATAFILES    = ..\lib\unicore\Decomposition.pl \
-                  ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
-                  ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \
-                  ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \
-                  ..\lib\unicore\TestProp.pl
-
-PERLEXE_MANIFEST= .\perlexe.manifest
-PERLEXE_ICO    = .\perlexe.ico
-PERLEXE_RES    = .\perlexe.res
-PERLDLL_RES    =
-
-# Directories of Unicode data files generated by mktables
... 11701 lines suppressed ...

-- 
Perl5 Master Repository

Reply via email to