diff options
author | Vadim Konovalov <vkonovalov@lucent.com> | 2002-05-16 07:33:23 +0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-16 13:22:57 +0000 |
commit | fefd7080dbb7bc74916ad5ba8b63e3bdeeb86c38 (patch) | |
tree | 069dc5c7b8ba63e6a4733979f5e9fd2a24fb1ce5 /wince | |
parent | dbfdd4380d0545596477e869e5553d1636fc53ce (diff) | |
download | perl-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.pm | 66 | ||||
-rw-r--r-- | wince/Makefile.ce | 25 | ||||
-rw-r--r-- | wince/config.ce | 2 | ||||
-rw-r--r-- | wince/config_H.ce | 2 |
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" /**/ |