RE: [ID 19991001.005] [_61] tarball fine on win32, zip isn't

1999-10-03 Thread Konovalov, Vadim

> >If somebody on Win* platforms (who cares enough to demand a .zip in
> >the first place) could produce a script that in a UNIX box automagically
> >converts a latest.tar.gz into a 8.3-friendly .zip, I would be very glad.
> I have to admit that I don't really see the point of providing a zip file
> at all.  People trying to compile Perl themselves shouldn't have any
> problems processing tarballs.
> 
I vote for this point of view. At least cygwin will help to unzip and untar.

> But in any case, doesn't
> 
> zip -ro9 devel perl5.005_61
> 
> create the correct thing?
> 
-zip -ro9 devel perl5.005_61
+zip -Ro9 devel perl5.005_61
:)

If I understand correctly -R stands for 'Recurse subdirectories' and is
upcase letter.

Good luck,
Vadim.



[PATCH 5.005_61 DOC] misprint in perguts

1999-10-13 Thread Konovalov, Vadim

(I think this misprint is obvious)

--- perlguts.pod.oldWed Oct 13 14:53:07 1999
+++ perlguts.podWed Oct 13 14:53:18 1999
@@ -2906,11 +2906,11 @@
 =item strnEQ
 
 Test two strings to see if they are equal.  The C parameter indicates
 the number of bytes to compare.  Returns true or false.
 
-   int strnEQ( char *s1, char *s2 )
+   int strnEQ( char *s1, char *s2, int len )
 
 =item strnNE
 
 Test two strings to see if they are different.  The C parameter
 indicates the number of bytes to compare.  Returns true or false.



else{die} reports incorrect line number

2001-02-01 Thread Konovalov, Vadim

Following script:

if (0) {}
else {die
}

reports:
Died at xr line 1.

whereas following script:

if (0) {}
else {
die
}

reports:
Died at xr line 3.

Both installed on my machine 5.005_03 and 5.6.0 produce same output.
I think this is less than a bug but is bigger than microbe.


&Vadim;


Summary of my perl5 (5.0 patchlevel 5 subversion 03) configuration:
  Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-object
uname=''
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
cc='cl.exe', optimize='-Od -MD -DNDEBUG -TP -GX', gccversion=
cppflags='-DWIN32'
ccflags ='-Od -MD -DNDEBUG -TP -GX -DWIN32 -D_CONSOLE -DNO_STRICT
-DHAVE_DES_FCRYPT -DPERL_OBJECT'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release
-libpath:"C:\Perl\ActivePerl\lib\CORE"  -machine:x86'
libpth="C:\Perl\ActivePerl\lib\CORE" "C:\MSVStudio\VC98\mfc\lib"
"C:\MSVStudio\VC98\lib" 
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib  winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib  oleaut32.lib netapi32.lib
uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib
PerlCRT.lib
libc=C:\Perl\ActivePerl\lib\CORE\PerlCRT.lib, so=dll, useshrplib=yes,
libperl=perlcore.lib
  Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release
-libpath:"C:\Perl\ActivePerl\lib\CORE"  -machine:x86'


Characteristics of this binary (from libperl): 
  Locally applied patches:
ActivePerl Build 522
  Built under MSWin32
  Compiled at Nov  2 1999 09:52:28
  %ENV:
 
PERL5LIB="D:\Work\PerlScripts\sgml;D:\Work\PerlScripts\translations;D:\Work\
PerlScripts\pleps;D:\Work\PerlScripts\utl"
  @INC:
D:\Work\PerlScripts\sgml
D:\Work\PerlScripts\translations
D:\Work\PerlScripts\pleps
D:\Work\PerlScripts\utl
c:/perl/ActivePerl/lib
c:/perl/ActivePerl/site/lib
.



Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
  Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=undef d_sfio=undef uselargefiles=undef 
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
cc='bcc32', optimize='-O2 -D_RTLDLL', gccversion=
cppflags='-DWIN32'
ccflags ='-O2 -D_RTLDLL -DWIN32 -D_MT -D__USELOCALES__
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_ITHREADS'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='ilink32', ldflags ='-x -Gn
-L"D:\perl\lib\MSWin32-x86-multi-thread\CORE"
-L"c:\borland\CBuilder5\lib" -L"c:\borland\CBuilder5\lib\Release"
-L"c:\borland\CBuilder5\lib\Obj"'
libpth=c:\borland\CBuilder5\lib c:\borland\CBuilder5\lib\Release
c:\borland\CBuilder5\lib\obj
libs= import32.lib cp32mti.lib vcl.lib vcl50.lib vcle50.lib vclx50.lib
vcldb50.lib vcldbx50.lib
libc=cp32mti.lib vcl.lib vcl50.lib vcle50.lib vclx50.lib vcldb50.lib
vcldbx50.lib, so=dll, useshrplib=yes, libperl=perl56.lib
  Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags='-tWD'
cccdlflags=' ', lddlflags='-Tpd -x -Gn
-L"D:\perl\lib\MSWin32-x86-multi-thread\CORE"
-L"c:\borland\CBuilder5\lib" -L"c:\borland\CBuilder5\lib\Release"
-L"c:\borland\CBuilder5\lib\Obj"'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
  Locally applied patches:
ActivePerl Build 618
  Built under MSWin32
  Compiled at Oct 19 2000 00:18:20
  %ENV:
 
PERL5LIB="D:\Work\PerlScripts\sgml;D:\Work\PerlScripts\translations;D:\Work\
PerlScripts\pleps;D:\Work\PerlScripts\utl"
  @INC:
D:\Work\PerlScripts\sgml
D:\Work\PerlScripts\translations
D:\Work\PerlScripts\pleps
D:\Work\PerlScripts\utl
D:/perl/lib/MSWin32-x86-multi-thread
D:/perl/lib
D:/perl/site/lib/MSWin32-x86-multi-thread
D:/perl/site/lib
.



RE: fix for win32/buildext.pl

2001-04-03 Thread Konovalov, Vadim

> >> > my $make = shift;
> >> > my $dep  = shift;
> >> > my $dir  = shift;
> >> >
> >> >works not as expected on my system because it's called
> >> >as "dmake -S [argumentarios]"
> >>
> >> It might be better to patch makefile.mk to "quote" $(MAKE),
> >> what does the -S do (I just treat dmake like Unix make and hope
> >> for the best.)

> Still does not answer what -S does - should we keep it and pass
> to sub-make ?

readme.txt for dmake reads:
   -S Force  sequential execution of recipes on architec-
  tures which support concurrent makes.  For backward
  compatibility  with  old  makefiles that have nasty
  side-effect prerequisite dependencies.

I'm not able to understand this explanation, and it's easier for me to live
without it.

> >BTW why GNU make is not used? because of GPL?
> 
> There wasn't a VC++/Mingw32 port of GNU make when we started,
> and cygwin was unstable.

Ok, I understand this now.
It seems to me that dmake have more limitations as compared to "make", isn't
it time to migrate to it now?

Best wishes,

&Vadim;



RE: t/lib/u-* tests

2001-04-23 Thread Konovalov, Vadim

> > My build of perl@9762 fails with all t/lib/u-* tests:

[snip]

> > What I'm misunderstanding here?
> >
> > How to fix it?
> >
> > I use BorlandC++ builder on Win32 platform.
> 
> The BorlandC++ builder might have something to do with the problem
> you had.  I note this in the README.win32 file in the main directory
> of the distribution:
> 
>  =item Borland C++
>  
>  If you are using the Borland compiler, you will need dmake.
>  (The make that Borland supplies is seriously crippled and will not
>  work for MakeMaker builds.)
> 
> Hence you are recommended to switch to dmake and use the 
> win32\makefile.mk
> Note that the latter file has the following rule in it:
> 
> Extensions : buildext.pl $(PERLDEP) $(CONFIGPM)
> $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)
> 
> which ought to take care of building ext\List\Util\* for you.

I do use dmake, and did so a zillion number of times.
Until recently (until introduction of those u-* tests?) all was okay.

I think those test were not correctly introduced into win32/makefile.mk

Okay, I'll dig it at evening later today...

Best wishes

&Vadim;



BCC for Win32 is unhappy @14331

2002-01-20 Thread Konovalov, Vadim

Hello, all!

I hope this is correct fix, if not - please do not apply it.
BCC explains about incorrect numeric operation for some reason ...

diff -u -r perl@14331-orig/hv.h perl@14331/hv.h
--- perl@14331-orig/hv.hThu Jan  3 08:54:58 2002
+++ perl@14331/hv.h Sun Jan 20 23:40:40 2002
@@ -145,7 +145,7 @@
 #define XHvPLACEHOLDERS(xhv)   ((xhv)->xhv_placeholders)
 
 /* the number of keys that exist() (i.e. excluding placeholers) */
-#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) - XHvPLACEHOLDERS(xhv))
+#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) -
(int)XHvPLACEHOLDERS(xhv))
 
 /*
  * HvKEYS gets the number of keys that actually exist(), and is provided



Best wishes,
Vadim.



RE: BCC for Win32 is unhappy @14331

2002-01-20 Thread Konovalov, Vadim

> Hello, all!
> 
> I hope this is correct fix, if not - please do not apply it.
> BCC explains about incorrect numeric operation for some reason ...
> 
> diff -u -r perl@14331-orig/hv.h perl@14331/hv.h
> --- perl@14331-orig/hv.h  Thu Jan  3 08:54:58 2002
> +++ perl@14331/hv.h   Sun Jan 20 23:40:40 2002
> @@ -145,7 +145,7 @@
>  #define XHvPLACEHOLDERS(xhv) ((xhv)->xhv_placeholders)
>  
>  /* the number of keys that exist() (i.e. excluding placeholers) */
> -#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) - 
> XHvPLACEHOLDERS(xhv))

stupid mailer!

please see attached text file...

> +#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) -
> (int)XHvPLACEHOLDERS(xhv))
>  
>  /*
>   * HvKEYS gets the number of keys that actually exist(), and 
> is provided
> 
> 
> 
> Best wishes,
> Vadim.
> 



diff -u -r perl@14331-orig/hv.h perl@14331/hv.h
--- perl@14331-orig/hv.hThu Jan  3 08:54:58 2002
+++ perl@14331/hv.h Sun Jan 20 23:40:40 2002
@@ -145,7 +145,7 @@
 #define XHvPLACEHOLDERS(xhv)   ((xhv)->xhv_placeholders)
 
 /* the number of keys that exist() (i.e. excluding placeholers) */
-#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) - XHvPLACEHOLDERS(xhv))
+#define XHvUSEDKEYS(xhv)  (XHvTOTALKEYS(xhv) - (int)XHvPLACEHOLDERS(xhv))
 
 /*
  * HvKEYS gets the number of keys that actually exist(), and is provided



RE: [ID 20020214.002] inf/inf yields wrong answer with Math::BigInt 1.49

2002-02-14 Thread Konovalov, Vadim

> IEEE 754 also says that inf-inf = NaN and inf - (-inf) = NaN.

I agree with all discussed operations with 'inf' but the last one.
I think it should be
  inf - (-inf) = inf
because 
  inf+inf=inf

Do you mean
  inf + (-inf) = NaN
?

Vadim.



RE: [PATCH] good day for WinCE port of perl.

2002-05-16 Thread Konovalov, Vadim

> > Are you in doubt only for ./ext/Encode/CN/Makefile.PL or 
> you're in doubt for
> > a whole family of those changes? We can temporarily exclude 
> building of
> 
> The whole family of those changes.
> 
> I'm having doubts because having to modify several Makefile.PL's of an
> extension that is completely unrelated to cross-compilation doesn't
> feel right.  Such need for modifications doesn't bode well for future:
> how many other extensions will we have to moodify because of
> cross-compilation?

Just because I tried those recently, I can tell you it is the only place in
perl distribution.
May be sometimes undependent extensions will not build with -MCross option,
but mostly they should.
(currently -MCross for MakeMaker works only for CORE=1, but this is not very
hard to implement it further)

>  It feels like the logic should be somewhere
> higher up (e.g. MakeMaker?).

I see your point. But in this case the script Makefile.PL itself has logic
which tries to construct command line without thinking of some alien
possibilities, in our case it does not worries about -MCross. And in more
common and general cases, like for other extensions, -MCross already works
okay.

If you'll invent a function ExtUtils::MM_Unix::special_arguments() that will
emit needed additional options for unusual cases, who will guarantee that
next time module author will use it at proper time?

Anyway, I thought about those changes as harmless, but if it is not the
case, let's skip them!
(It is pitty that Encode:: will not be that easily available for WinCE then,
but I think there are many things to do  outside that problem anyway)

Best wishes,
Vadim.



[PATCH@23361] RE: [PATCH-for-23358] enable statically linked exte nsions for Win32

2004-10-12 Thread Konovalov, Vadim
> > I did modifications so my patch should fit 592.
> > 
> 
> Thanks, applied to bleadperl as change #23360.

Thanks,

attached is continuation of previous one.

it also makes win32/Makefile and win32/makefile.mk closer.

Best regards,
Vadim.

diff -r -u bperl-current-orig/win32/buildext.pl 
bperl-current1-for-diff/win32/buildext.pl
--- bperl-current-orig/win32/buildext.plTue Oct 12 17:26:54 2004
+++ bperl-current1-for-diff/win32/buildext.pl   Wed Oct 13 09:28:07 2004
@@ -60,7 +60,13 @@
 print $fh "#ifdef STATIC3\n",(map {"newXS(\"$statics2[$_]::bootstrap\", 
boot_$statics1[$_], file);\n"} 0 .. $#statics),"#undef STATIC3\n#endif\n";
   }
   else {
-print map {/([^\/]+)$/;"$_/$1.lib "} @statics;
+my %extralibs;
+for (@statics) {
+  open my $fh, "<..\\lib\\auto\\$_\\extralibs.ld" or die "can't open 
<..\\lib\\auto\\$_\\extralibs.ld: $!";
+  $extralibs{$_}++ for grep {/\S/} split /\s+/, join '', <$fh>;
+}
+print map {/([^\/]+)$/;"..\\lib\\auto\\$_/$1.lib "} @statics;
+print map {"$_ "} sort keys %extralibs;
   }
   exit;
 }
diff -r -u bperl-current-orig/win32/makefile.mk 
bperl-current1-for-diff/win32/makefile.mk
--- bperl-current-orig/win32/makefile.mkTue Oct 12 17:26:54 2004
+++ bperl-current1-for-diff/win32/makefile.mk   Wed Oct 13 09:39:54 2004
@@ -155,7 +155,14 @@
 # extensions if you change the default.  Currently, this cannot be enabled
 # if you ask for USE_IMP_SYS above.
 #
-#PERL_MALLOC   *= define
+PERL_MALLOC*= define
+
+#
+# set this to enable debugging mstats
+# This must be enabled to use the Devel::Peek::mstat() function.  This cannot
+# be enabled without PERL_MALLOC as well.
+#
+DEBUG_MSTATS  = define
 
 #
 # set the install locations of the compiler include/libraries
@@ -239,6 +246,19 @@
 USE_LARGE_FILES*= undef
 USE_PERLCRT*= undef
 
+.IF "$(PERL_MALLOC)" == "undef"
+PERL_MALLOC= undef
+DEBUG_MSTATS   = undef
+.ENDIF
+
+.IF "$(DEBUG_MSTATS)" == "undef"
+DEBUG_MSTATS   = undef
+.ENDIF
+
+.IF "$(DEBUG_MSTATS)" == "define"
+BUILDOPT   += -DPERL_DEBUGGING_MSTATS
+.ENDIF
+
 .IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
 USE_MULTI  != define
 .ENDIF
@@ -1035,10 +1055,9 @@
perl.exp $(LKPOST))
 .ELSE
$(LINK32) -dll -def:perldll.def -out:$@ \
-   -base:0x2800 $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) \
-   $(foreach,i,$(shell $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) 
ext --list-static-libs) \
-   ..\lib\auto\$i) \
-   $(PERLDLL_RES) $(PERLDLL_OBJ:s,\,\\)
+   $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs) \
+   @$(mktmp -base:0x2800 $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) \
+   $(PERLDLL_RES) $(PERLDLL_OBJ:s,\,\\))
 .ENDIF
$(XCOPY) $(PERLIMPLIB) $(COREDIR)
 
@@ -1121,7 +1140,7 @@
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --dynamic
 
-Extensions_static : buildext.pl $(PERLDEP) $(CONFIGPM)
+Extensions_static : buildext.pl
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --static
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --static
 


RE: [perl #31973] Re: "perl 5.8.2 (on Power PC) Can't locate lib .pm - ?" - who is responsible for Power PC perl 5.8.5 port ?

2004-10-15 Thread Konovalov, Vadim
> So I have ONLY two alternatives:
> 
> 1) Somehow "fix" installed power pc perl 5.8.2 - by adding 
> "missing" or
> "misplaced" 5.8.2 perl module files
>  (such as lib.pm, Config.pm, etc. ) 

Although generally you need to make proper installation, in this particular
case you could just get things working.

First, tell us how you get that perl-5.8.2
You tried to build 5.8.5, but then switched to 582. Is it already-built
binaries?
Is it from some Linux distribution?

If this is the case, usually it's not hard to make it just work.
Mostly you place your files properly, edit Config.pm, and all should be
working.

You can send binaries directly to me and I can try figuring this out.

> 2) build 5.8.5 natively - who is responsible for Power PC 
> perl  5.8.5 port ?

I don't see binaries at binaries/ports page for PowerPC at
http://www.cpan.org/ports/
This page is somehow outdated however.



RE: [perl #31973] Re: "perl 5.8.2 (on Power PC) Can't locate lib .pm - ?" - who is responsible for Power PC perl 5.8.5 port ?

2004-10-15 Thread Konovalov, Vadim
> perl-5.8.2 - came as pre-built binaries - from "free" 
> Arabella (partner of
> Motorola/Freescale) CD-ROM (came with the board) - without support and
> without any documentation (fadsroot). I copied it ("fadsroot 
> directory" from
> that CD-ROM onto the disk drive of my Linux Red Hat 9 Shrike 
> Intel PC (NFS
> server) and my board mounts it as root file system during the booting 
> (this is the intended use of "fadsroot").

ok. let us think those are valid binaries until proven otherwise.

> Apparently there were also some "remnants" of 5.8.0  ...

let use hope those do not mess with your binaries, unless...

> >You can send binaries directly to me and I can try figuring this out
> 
> This is "scattered" across several directories - should I 
> tar/zip all those
> and send to you (how ? - may be more than 
> e-mail could handle). 

send them by archive to my home address [EMAIL PROTECTED] , and do NOT CC
to p5p list.
I hope that e-mail is reachable for you, lemme know otherwise.



> 
> So there is no "designated porter" dealing with perl on Power 
> PC arch ?

AFAIK people contribute their efforts as they do, no special designated
porters.

Personally, I have some little experience on running perl on PPC, but I
haven't got so far to rebuild recent perl for it.

Best regards,
Vadim.


RE: [perl #31973] Re: "perl 5.8.2 (on Power PC) Can't locate lib .pm - ?" - who is responsible for Power PC perl 5.8.5 port ?

2004-10-15 Thread Konovalov, Vadim
> I think I've managed to fix some part of it ...
> 
> [EMAIL PROTECTED]:/bin# perl -V
> Summary of my perl5 (revision 5.0 version 8 subversion 2) 
> configuration:
>   Platform:
> osname=linux, osvers=2.4.22-xfs, 
> archname=powerpc-linux-thread-multi
> uname='linux vir 2.4.22-xfs #1 sun sep 14 20:26:05 est 
> 2003 ppc gnulinux

.

> but 
> 
> [EMAIL PROTECTED]:/bin# perl -e 'use lib;'
> 
> produces no output 

it should *not* produce any output.

Congratilations!
You did it mostly by editing Config.pm?

I beleive that adopting existing and working binaries currently easier than
cross-compiling...

Best regards,
Vadim.


RE: new [PATCH] require Carp; vs. use Carp; in warnings.pm

2004-10-01 Thread Konovalov, Vadim
> :Wasn't the point of Carp::Heavy to make this unnecessary?  
> If that's the
> :case, fixing Carp would be a lot easier than changing "use Carp;" to
> :"require Carp;" everywhere.
> 
> "Necessary" or not is a sliding scale - I recently spent some 
> time trying
> to reduce resource cost of a suite of CGI applications, and profiling
> showed a lot of time lost loading useless modules such as 
> Carp, Exporter
> etc.
> 
> I was able to cut out some of the waste by hacking things at 
> installation
> time (eg my installer replaces 'use strict' with the $^H bit-twiddling
> it stands in for) but most of it is forced on me by standard modules.

If speaking about this, want to add some my optimization notes.

I perform editing of local copy of Dynaloader.pm of installed perl quite
often.

Dynaloader.pm contains a bunch of $^O checks and many
my $ext=".dll";
$filename = "blablalba$ext";

When I do factoring out all of these, I get much lighter and still perfectly
working dynaloader.

Dynaloader.pm should be OS-specific, it is generated out from
Dynaloader_pm.PL, so it is designed to be such, but this is only implemented
by 50%.

Why should my Win32 installation always check whether I am on VMS, MacOS or
Linux? (and vice versa)

XS_Loader.pm is much better in respect to this BTW.

I will be happy to propose proper patch improving situation (not only
Dynaloader suffers), but will it be approved as a good idea by comunity?
(afraid of dont-fix-it-aint-broken stuff)

Best regards,
Vadim.


RE: crosscompile perl-5.8.5 source on cygwin (Intel/Windows) for PowerPC/ Linux 2.6 ?

2004-10-04 Thread Konovalov, Vadim
> > How should I approach crosscompile perl-5.8.5 source on 
> cygwin (Intel/Windows)  for PowerPC/Linux 2.6 ? 
> > (Can not use configure, I guess ? )
> 
> Why not? If all the utilities are in place, and Linux runs 
> fine, just fetch
> the source, unpack and go

Perl do not fully support crosscompiling, AFAIK

Mostly you will go to target's miniperl that could be used instead of full
perl (at least it is how many crosscompiles work, only WinCE gets full perl
on target, but that totally different, as there's no configure step there.)

However miniperl is mostly enough.

> # cd /tmp
> # wget 
> ftp://download.xs4all.nl/pub/mirror/CPAN/src/5.0/perl-5.8.5.tar.bz2
> # bzip2 -d  # cd perl-5.8.5
> # ./Configure -des
> # make
> # make test
> # make install

Are you sure this will enable cross-compile?

Best regards,
Vadim.


RE: crosscompile perl-5.8.5 source on cygwin (Intel/Windows) for PowerPC/ Linux 2.6 ?

2004-10-04 Thread Konovalov, Vadim
> > > > How should I approach crosscompile perl-5.8.5 source on 
> > > cygwin (Intel/Windows)  for PowerPC/Linux 2.6 ? 
> > > > (Can not use configure, I guess ? )
> > > 
> > > Why not? If all the utilities are in place, and Linux runs 
> > > fine, just fetch
> > > the source, unpack and go
> > 
> > Perl do not fully support crosscompiling, AFAIK
> > 
> > Mostly you will go to target's miniperl that could be used 
> instead of full
> > perl (at least it is how many crosscompiles work, only 
> WinCE gets full perl
> > on target, but that totally different, as there's no 
> configure step there.)
> > 
> > However miniperl is mostly enough.
> > 
> > > # cd /tmp
> > > # wget 
> > > 
> ftp://download.xs4all.nl/pub/mirror/CPAN/src/5.0/perl-5.8.5.tar.bz2
> > > # bzip2 -d  > > # cd perl-5.8.5
> > > # ./Configure -des
> > > # make
> > > # make test
> > > # make install
> > 
> > Are you sure this will enable cross-compile?
> 
> Why would you need to cross-compile?
> Once Linux is up and running, you've got it all there, haven't you?

I gave exactly same advice yesterday to Alexander, in private mail.

Looks like he has cross-compiler and do not has native compiler for some
reasons.

> 
> Or do you have to go back to cygwin to build stuff and start 
> Linux from there?

cygwin runs on x86, target is PPC (power pc), so those are different
computers.

My satellite receiver is PPC processor that runs linux, so we have similar
architectures, but I do quite little programming on it (although my receiver
runs Perl correctly and I tend to calculate 2**1000 using bigint there
:):):) )

> In that case I'd suggest building the devel environment 
> (bison, sed, awk, flex,
> binutils, gcc, make) from cygwin to be present on your linux 
> environment and
> continue in linux
> 
> Cross compilation from Cygwin to linux does not sound like a 
> sane idea to me.

indeed, using same cross-compilation chain compiled on Linux looks like
better idea, and [EMAIL PROTECTED] is a very busy and helpful list
for such reasons.

> BTW does your Dynaloader work have cross-compiling in mind, 
> or does compiling
> on cygwin/windows inhibit Dynaloader on the cross-target (linux)

Dynaloader executes on TARGET and it is simple and should not know about
cross-compilation.
Dynaloader that used on HOST during cross-compiltion for WinCE also do not
need knowing anything about that.

So, no, Dynaloader work do not have any cross-compiling in mind

Config.pm (and mostly Config.pm creation step) bothers about
cross-compilation for WinCE.

Best regards,
Vadim.


RE: crosscompile perl-5.8.5 source on cygwin (Intel/Windows) for PowerPC/ Linux 2.6 ?

2004-10-04 Thread Konovalov, Vadim
> > BTW does your Dynaloader work have cross-compiling in mind, 
> > or does compiling
> > on cygwin/windows inhibit Dynaloader on the cross-target (linux)
> 
> Dynaloader executes on TARGET and it is simple and should not 
> know about
> cross-compilation.
> Dynaloader that used on HOST during cross-compiltion for 
> WinCE also do not
> need knowing anything about that.

Okay, I thought a little and realized that Dynaloader_pm.PL could be invoked
with fake $^O so that it will generate Dynaloader.pm for target platform.

Here is a script to do that (I tested it yesterday)  :

for my $O (qw(MacOS MSWin32 darwin os2 VMS cygwin linux sunos)) {
  system("../../perl", '-we', "\$^O='$O';do './DynaLoader_pm.PL'");
  `mv DynaLoader.pm DynaLoader-$O.pm`;
}

So Dynaloader_pm.PL could be used to create Dynaloader.pm for different $^O.


RE: [PATCH-for-23341] dynaloader improvements and cleanup

2004-10-04 Thread Konovalov, Vadim
> > Please disregard my previous dynaloader patch and instead 
> use current
> > one, it should be better WRT $ENV{PERL_BUILD_EXPAND_CONFIG_VARS}.
> 
> Thanks, applied as #23348 to bleadperl.
> (Hmm, looking at those templates and substitutions, I was 
> thinking about
> making TT a part of perl's build system... :)

Actually expand_os_specific makes things a bit more complicated from one
side, but it reduced several "print OUT ." into onle larger statement,
so made things a bit simplier.

Actually, as long as same thing should be performed for XS_loader and may be
some other files (lib_pm.pl), it could be reasonable to move subroutine
'expand_os_specific' somewhere (may be to lib/Devel/* directory)?


> 
> > VK>> Additionally, I dare to ask community to allow me to 
> remove AUTOLOAD
> > VK>> mechanic for Dynaloader, because IMHO it makes things 
> a bit heavier
> > VK>> and a bit more complex without good gain.
> > 
> > if no-one will argue against this, I will send a patch for this.
> 
> Actually, I'd rather have PERL_BUILD_EXPAND_CONFIG_VARS and
> PERL_BUILD_EXPAND_ENV_VARS fixed that removed.

Ok, my patch improves situation a bit with PERL_BUILD_EXPAND_CONFIG_VARS

May in case it will remain in source tree, it should be documented as
well...
I found it only in 3 files:
  Changes5.8
  Dynaloader_pm.PL
  lib_pm.PL
... and never documented.

Probably it is used to distinguish perl-lib search behaviour between ancient
(even before 5.004_02?) and modern perls ?


RE: perl ./configure failure (while attempting to configure for crosscomp ile build)

2004-10-06 Thread Konovalov, Vadim
> I have attempted to cross-compile perl-5.8.5 on cygwin for linux/ppc
> using my existant and test proven as working OK 
> powerpc-linux-gcc-3.3.2
> cross compiler ...it fails in compiling test program - I feel 
> that default libraries and includes, which ./configure used 
> are involved in that failure - what libraries and includes I 
> should input/use ?
> 
> Thanks,
> Alex
> 
> $ pwd
> /cygdrive/d/Profiles/apovolot/perl/perl-5.8.5
> 
> $ uname -a
> CYGWIN_NT-5.1 USPITLAD104868 1.5.10(0.116/4/2) 2004-05-25 
> 22:07 i686 unknown unknown Cygwin
> 
> $ CC=powerpc-linux-gcc-3.3.2 LD=powerpc-linux-ld 
> AS=powerpc-linux-as ./configure

my guess is that when you're doing cross-compile you should specify
--target= in similar way as you do for cross-compiling GCC, to make
configure chance to understand that it is performing a crosscompile.

Perl currently has almost no support for crosscompiling, though, and I think
this is all fixeable.

Still, GCC has much more supoprt of crosscompiling, so moving GCC to PPC
first and then compiling on PPC has more chances to survive, even with low
system resources.


RE: perl@11278 - LAST CALL FOR 5.7.2

2001-07-11 Thread Konovalov, Vadim Vladimirovich (Vadim)

> >> http:[EMAIL PROTECTED]
> > 
> > Am I the only person that started to have new failings (via 
> core dump/GPF)
> > in the latest snapshot?
> > 
> > Failed Test   Stat Wstat Total Fail  Failed  List of Failed
> > 
> --
> --
> > ---
> > op/pat.t 5  1280   6720   0.00%  ??
> > op/regexp.t 29  7424   791  392  49.56%  400-791
> > op/regexp_noamp.t5  1280   791  392  49.56%  400-791
> > (3 subtests UNEXPECTEDLY SUCCEEDED), 41 tests and 173 
> subtests skipped.
> > Failed 3/427 test scripts, 99.30% okay. 784/23580 subtests 
> failed, 96.68%
> > okay.
> > dmake.exe:  Error code 6, while making 'test'
> > 
> > Am I the only person that has ext/ByteLoader not compilable 
> without small
> > fix in ext/ByteLoader/bytecode.h:
> > (!following is NOT a PATCH, following is just to point place!)
> > 
> > --- perl@11278-orig\ext\ByteLoader\bytecode.h   Mon Jul 
> 09 07:09:52 2001
> > +++ bytecode.h  Wed Jul 11 21:30:42 2001
> > @@ -132,8 +132,10 @@
> > hv_store((HV*)sv, bstate->bs_pv.xpv_pv, bstate->bs_pv.xpv_cur, arg,
> > 0)
> > #define BSET_pv_free(pv)   Safefree(pv.xpv_pv)
> > #define BSET_pregcomp(o, arg) \
> > -   (PM_SETRE(((PMOP*)o), arg ? \
> > -   CALLREGCOMP(aTHX_ arg, arg + bstate->bs_pv.xpv_cur,
> > ((PMOP*)o)) : 0))
> > +   STMT_START {\
> > +pvcontents a = (arg ? CALLREGCOMP(aTHX_ arg, arg +
> > bstate->bs_pv.xpv_cur, ((PMOP*)o)) : 0);\
> > +PM_SETRE((PMOP*)o, a); \
> > +   } STMT_END
> 
> 
> > #define BSET_newsv(sv, arg)\
> > STMT_START {\
> > sv = (arg == SVt_PVAV ? (SV*)newAV() :  \
> 
> It would seem the patch for moving the REGEX structure didn't 
> work to well
> on Borland! Seems like the PM_SETRE macro is making something 
> very unhappy.
> 
> the macro is basicly
>  
> (sv_setiv(PL_regex_pad[(o)->op_pmoffset], (IV)r))
> 
> Could you try to compile without USEITHREADS and see what happens?

without USEITHREADS all tests okay. and I there were no syntax error that I tried to 
fix eariler.

Additionally, I discovered that when I tried to build without perlio layer, there were 
syntax errors (miniperl successfully built though), I'll look into this later.

Also I've discovered that lib/locale.t tests pass differently on my NT4 at work versus 
Win2000 at home; I'll look into this later also, but I already know a couple of 
reproducible bugs on Borland locale functions, so these failings are completely 
different story.

Best wishes,

&Vadim;