summaryrefslogtreecommitdiff
path: root/wince
diff options
context:
space:
mode:
authorVadim Konovalov <vkonovalov@lucent.com>2002-05-16 07:33:23 +0400
committerJarkko Hietaniemi <jhi@iki.fi>2002-05-16 13:22:57 +0000
commitfefd7080dbb7bc74916ad5ba8b63e3bdeeb86c38 (patch)
tree069dc5c7b8ba63e6a4733979f5e9fd2a24fb1ce5 /wince
parentdbfdd4380d0545596477e869e5553d1636fc53ce (diff)
downloadperl-fefd7080dbb7bc74916ad5ba8b63e3bdeeb86c38.tar.gz
good day for WinCE port of perl.
Message-ID: <001301c1fc68$e808e560$a95cc3d9@vad> p4raw-id: //depot/perl@16628
Diffstat (limited to 'wince')
-rw-r--r--wince/FindExt.pm66
-rw-r--r--wince/Makefile.ce25
-rw-r--r--wince/config.ce2
-rw-r--r--wince/config_H.ce2
4 files changed, 24 insertions, 71 deletions
diff --git a/wince/FindExt.pm b/wince/FindExt.pm
deleted file mode 100644
index 30392687d1..0000000000
--- a/wince/FindExt.pm
+++ /dev/null
@@ -1,66 +0,0 @@
-package FindExt;
-
-our $VERSION = '1.00';
-
-use strict;
-use File::Find;
-use File::Basename;
-use Cwd;
-
-my $no = join('|',qw(DynaLoader GDBM_File ODBM_File NDBM_File DB_File
- Syslog SysV Langinfo));
-$no = qr/^(?:$no)$/i;
-
-my %ext;
-my $ext;
-sub scan_ext
-{
- my $here = getcwd();
- my $dir = shift;
- chdir($dir) || die "Cannot cd to $dir\n";
- ($ext = getcwd()) =~ s,/,\\,g;
- find(\&find_ext,'.');
- chdir($here) || die "Cannot cd to $here\n";
- my @ext = extensions();
-}
-
-sub dynamic_extensions
-{
- return grep $ext{$_} eq 'dynamic',keys %ext;
-}
-
-sub noxs_extensions
-{
- return grep $ext{$_} eq 'nonxs',keys %ext;
-}
-
-sub extensions
-{
- return keys %ext;
-}
-
-sub find_ext
-{
- if (/^(.*)\.pm$/i || /^(.*)_pm\.PL$/i || /^(.*)\.xs$/i)
- {
- my $name = $1;
- return if $name =~ $no;
- my $dir = $File::Find::dir;
- $dir =~ s,./,,;
- return if exists $ext{$dir};
- return unless -f "$ext/$dir/Makefile.PL";
- if ($dir =~ /$name$/i)
- {
- if (-f "$ext/$dir/$name.xs")
- {
- $ext{$dir} = 'dynamic';
- }
- else
- {
- $ext{$dir} = 'nonxs';
- }
- }
- }
-}
-
-1;
diff --git a/wince/Makefile.ce b/wince/Makefile.ce
index 272769a53b..55f9dfea1d 100644
--- a/wince/Makefile.ce
+++ b/wince/Makefile.ce
@@ -526,6 +526,12 @@ PERLEXE = $(MACHINE)\perl.exe
CONFIGPM = ..\xlib\$(CROSS_NAME)\Config.pm
MINIMOD = ..\lib\ExtUtils\Miniperl.pm
+# Nominate a target which causes extensions to be re-built
+# This used to be $(PERLEXE), but at worst it is the .dll that they depend
+# on and really only the interface - i.e. the .def file used to export symbols
+# from the .dll
+PERLDEP = perldll.def
+
MAKE = nmake -nologo
CFGSH_TMPL = config.ce
@@ -534,7 +540,7 @@ CFGH_TMPL = config_H.ce
#
# filenames given to xsubpp must have forward slashes (since it puts
# full pathnames in #line strings)
-XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ...\$(EXTUTILSDIR)\xsubpp \
+XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
-C++ -prototypes
MICROCORE_SRC = \
@@ -760,20 +766,21 @@ all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE)
$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
$(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
- cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
+ cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
-mkdir $(XCOREDIR)
$(XCOPY) ..\*.h $(XCOREDIR)\*.*
$(XCOPY) *.h $(XCOREDIR)\*.*
$(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
$(RCOPY) include $(XCOREDIR)\*.*
- $(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
+ -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
+ if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
.\config.h:
-del /f config.h
copy config_H.ce config.h
..\config.sh: config.ce config_sh.PL
- $(HPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
+ $(HPERL) -I..\lib -I..\win32 config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
$(MINIMOD) : ..\minimod.pl
cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
@@ -796,6 +803,16 @@ $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
$(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
+#----------------------------------------------------------------------------------
+Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM)
+ $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
+ !Errno !File/Glob !POSIX !Time/HiRes
+
+Extensions_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
+
+#----------------------------------------------------------------------------------
+
$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
cd $(EXTDIR)\Data\$(*B)
$(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
diff --git a/wince/config.ce b/wince/config.ce
index 07eed645f3..6582c1c325 100644
--- a/wince/config.ce
+++ b/wince/config.ce
@@ -873,6 +873,7 @@ usevendorprefix='undef'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
@@ -888,6 +889,7 @@ vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='~VERSION~'
+versiononly='undef'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
diff --git a/wince/config_H.ce b/wince/config_H.ce
index f447ba1a81..04c7eb0a08 100644
--- a/wince/config_H.ce
+++ b/wince/config_H.ce
@@ -3178,7 +3178,7 @@
#define UVuf "lu" /**/
#define UVof "lo" /**/
#define UVxf "lx" /**/
-#define UVXf undef /**/
+#define UVXf "lX" /**/
#define NVef "e" /**/
#define NVff "f" /**/
#define NVgf "g" /**/