Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-04 Thread Pavel Roskin
On Wed, 2006-10-04 at 12:23 +0100, Robert Shearman wrote:
> Pavel Roskin wrote:
> >  GLUT32FILES = glut32
> >  OPENGLFILES = opengl32 wined3d
> >  XFILES = winex11.drv
> > -EXTRADIRS = @GLU32FILES@ @GLUT32FILES@ @OPENGLFILES@ @XFILES@
> > +WIN32FILES = oleaut32
> > +EXTRADIRS = @GLU32FILES@ @GLUT32FILES@ @OPENGLFILES@ @XFILES@ 
> 
> Why?

I don't understand your question.  If you mean that I forgot
@WIN32FILES@, I didn't.  My copy of the patch has it.  I don't think
"stgit mail" could have lost it, but my message is not in the archives
yet, so I cannot check at the moment.  Perhaps @WIN32FILES@ got lost on
your side.

If you mean why this was needed at all, then the answer is that it's one
of two compile errors that prevents building Wine for win64.  I think
it's much more important to concentrate on more fundamental problems,
such as crashes, rather than a compile error in one of the dlls.

It looks like you know the right solution
(http://www.winehq.com/hypermail/wine-devel/2004/10/0356.html), so it
would be great if you do it this way.

The comment in oaidl_p.c says that it was generated and tweaked.  I just
don't know what exactly needs to be done.  I can have a look, but I
cannot promise I'll come with a better solution soon.

-- 
Regards,
Pavel Roskin





Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-04 Thread Robert Shearman

Pavel Roskin wrote:

 GLUT32FILES = glut32
 OPENGLFILES = opengl32 wined3d
 XFILES = winex11.drv
-EXTRADIRS = @GLU32FILES@ @GLUT32FILES@ @OPENGLFILES@ @XFILES@
+WIN32FILES = oleaut32
+EXTRADIRS = @GLU32FILES@ @GLUT32FILES@ @OPENGLFILES@ @XFILES@ 


Why?

--
Rob Shearman





Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-03 Thread James Hawkins

On 10/3/06, Pavel Roskin <[EMAIL PROTECTED]> wrote:

On Tue, 2006-10-03 at 14:46 -0700, James Hawkins wrote:
> > I understand oleaut32 can be fixed for win64, but nobody has done it.
> >
> > I believe my patch is worth applying because it enables Wine compilation
> > without applying incorrect hacks to the sources.  Instead, a mechanism
> > is established to disable some parts of Wine for win64 until they are
> > ported properly.  We may need it for other files.
> >
>
> Removing oleaut32 from the build just hides the real problem, and
> creates a slew of new problems.  What will happen when an app tries to
> use oleaut32 with a win64 build of Wine?  The correct solution is to
> fix oleaut32 to work with win64, no matter how difficult it is.  We
> can't allow temporary hacks in the meantime, or there will be
> significantly less motivation to fix the real problem, because a
> workaround is available.

I'm not going to stop working on other projects and spend days learning
OLE to fix oleaut32.



Ok, then either someone else will step up and fix it, or it will
remain unfixed.  Either way, oleaut32 should remain in the win64
build.



I'm not a regular Wine developer, and the above is just a little more
than "my two cents".  Let's not start a flamewar over this, OK?



Of course not, that would be silly.  I, for one, hope you continue to
submit patches and become a regular Wine developer.  We can use the
help.  One thing you have to learn though is that the developers
provide a lot of constructive criticism in order to keep Wine at a
professional level, and you shouldn't take offense to it.  It's all a
part of the process.

--
James Hawkins




Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-03 Thread Pavel Roskin
On Tue, 2006-10-03 at 14:46 -0700, James Hawkins wrote:
> > I understand oleaut32 can be fixed for win64, but nobody has done it.
> >
> > I believe my patch is worth applying because it enables Wine compilation
> > without applying incorrect hacks to the sources.  Instead, a mechanism
> > is established to disable some parts of Wine for win64 until they are
> > ported properly.  We may need it for other files.
> >
> 
> Removing oleaut32 from the build just hides the real problem, and
> creates a slew of new problems.  What will happen when an app tries to
> use oleaut32 with a win64 build of Wine?  The correct solution is to
> fix oleaut32 to work with win64, no matter how difficult it is.  We
> can't allow temporary hacks in the meantime, or there will be
> significantly less motivation to fix the real problem, because a
> workaround is available.

I understand this argument, but I think it doesn't always work this way.

Different people have different skills, different amount of time and
different hardware.

If Wine for win64 builds somehow, many people will try to fix simple
things, like compile warnings.  That's a lot of rather simple work that
may be too boring for an OLE guru.  Somebody will probably debug further
problems.  And somebody will fix the broken parts.

If oleaut32 is left in the broken and "enabled" state like a roadblock,
fewer people would be motivated to do simple things like fixing warnings
and checking that their modifications compile for win64.

I, for one, don't have any experience with OLE and little experience
with Window programming.  Yet I have the 64-bit hardware and I knowledge
to fix some simple things like printf warnings.

I'm not going to stop working on other projects and spend days learning
OLE to fix oleaut32.

I could, however, fix the problem in generated.c problem one day because
I know Perl scripting.  But please note that the generated.c problem is
only seen after oleaut32 is compiled (or skipped somehow).  Somebody
with Perl knowledge and a 64-bit system could just abandon the native
compilation after seeing the failure in oleaut32, without even being
aware that his or her knowledge would be very useful.

Conversely, somebody who knows how to fix oleaut32 could be stumped by
the generated.c problem.  Then we would have another roadblock that is
supposed to motivate everybody (in theory).

It's just a matter of introducing some parallelism to use the available
resources of the developers in a better way.

I'm not a regular Wine developer, and the above is just a little more
than "my two cents".  Let's not start a flamewar over this, OK?

-- 
Regards,
Pavel Roskin





Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-03 Thread James Hawkins

On 10/3/06, Pavel Roskin <[EMAIL PROTECTED]> wrote:

Hello, James!

On Tue, 2006-10-03 at 14:14 -0700, James Hawkins wrote:
> On 10/3/06, Pavel Roskin <[EMAIL PROTECTED]> wrote:
> > From: Pavel Roskin <[EMAIL PROTECTED]>
> >
> > Compile oleaut32 for win32 but not for win64
>
> Does win64 not come with oleaut32?  What I'm really asking is, why are
> you making this change?

It fails to compile.  The error is "Invalid build platform for this
stub"

Search for "oleaut32 wine win64" (without quotes) on Google to see
multiple attempts to fix it somehow, for instance here:

http://www.winehq.org/pipermail/wine-patches/2006-June/027745.html

I understand oleaut32 can be fixed for win64, but nobody has done it.

I believe my patch is worth applying because it enables Wine compilation
without applying incorrect hacks to the sources.  Instead, a mechanism
is established to disable some parts of Wine for win64 until they are
ported properly.  We may need it for other files.



Removing oleaut32 from the build just hides the real problem, and
creates a slew of new problems.  What will happen when an app tries to
use oleaut32 with a win64 build of Wine?  The correct solution is to
fix oleaut32 to work with win64, no matter how difficult it is.  We
can't allow temporary hacks in the meantime, or there will be
significantly less motivation to fix the real problem, because a
workaround is available.

--
James Hawkins




Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-03 Thread Pavel Roskin
Hello, James!

On Tue, 2006-10-03 at 14:14 -0700, James Hawkins wrote:
> On 10/3/06, Pavel Roskin <[EMAIL PROTECTED]> wrote:
> > From: Pavel Roskin <[EMAIL PROTECTED]>
> >
> > Compile oleaut32 for win32 but not for win64
> 
> Does win64 not come with oleaut32?  What I'm really asking is, why are
> you making this change?

It fails to compile.  The error is "Invalid build platform for this
stub"

Search for "oleaut32 wine win64" (without quotes) on Google to see
multiple attempts to fix it somehow, for instance here:

http://www.winehq.org/pipermail/wine-patches/2006-June/027745.html

I understand oleaut32 can be fixed for win64, but nobody has done it.

I believe my patch is worth applying because it enables Wine compilation
without applying incorrect hacks to the sources.  Instead, a mechanism
is established to disable some parts of Wine for win64 until they are
ported properly.  We may need it for other files.

The same mechanism is applied to ntdll/tests/generated.c.  I believe we
need ntdll/tests/generated64.c for 64-bit systems.  Unfortunately,
winapi_test generate many warnings, so I'm hesitant to provide my copy
of generated64.c - it may be totally wrong.

Finally, the pad extension is needed to fix assertion failure on
startup.  The patch uses a clever trick to avoid preprocessor
conditions.  Instead, the number of integer and long files is selected
so that the maximal length is 64 on win32 and 96 on win64.

-- 
Regards,
Pavel Roskin





Re: [PATCH 1/3] Compile oleaut32 for win32 but not for win64

2006-10-03 Thread James Hawkins

On 10/3/06, Pavel Roskin <[EMAIL PROTECTED]> wrote:

From: Pavel Roskin <[EMAIL PROTECTED]>

Compile oleaut32 for win32 but not for win64


Does win64 not come with oleaut32?  What I'm really asking is, why are
you making this change?

--
James Hawkins