Tom Briggs wrote:
> 
> 
>    I believe that I've finally managed to track down all the problems with
> psiconv on Windows.  Unfortunately, I don't have the time or the knowledge
> to fix them, so I'm going to explain what I've come up with and respectfully
> request that someone else implement the fix.

Thanks for testing this extensively! I am rather encouraged that the
problems you note are not in the code itself, but in the build system,
and even then mostly with its integration into the AbiWord build system.
 
>    The compilation problems were due to a incorrect include paths in a couple of
> the makefiles.  Simple enough, already taken care of.

Were the fixes in the abi tree or in the psiconv tree? Did you commit
them yet?
 
>    The larger problem, however, is linking.  The core of the problem is that
> psiconv is compiled as an XP library (in src/config/require/xp/Makefile), not a
> platform specific library (like wv or iconv, in src/config/require/XX/Makefile).

True. This may be a mistake by me due to an imperfect understanding of
the AbiWord build system. As it is the idea that psiconv is used on all
platforms, I thought it would be less work to put it into the xp/Makefile,
instead of in all the XX/Makefile's.

> This causes configure to make all it's choices based on the cygwin environment,
> rather than based on information passed to it;

Unless there happen some strange things underwater, I don't see this
as the reason. I'd rather think that I need to add some autoconf-
variables to detect the proper environment. Unlesss cl.exe does
something really weird.

> in addition, the generated
> Makefile is used for compilation rather than a predefined Makefile.abi.  This
> results in a build process that's incompatible with AbiWord's, primarily
> because psiconv gets built with gcc instead of the MSVC compiler. 

Hmm. I would still think that it should not be so hard to force it to
use the right compiler. It is a pity I do not have a Windows computer
within the proper enviroment to play around with it. However, if you
are willing to help me run a few tests, and have autoconf, automake 
and libtool installed, we could try to solve this together.

>  This makes
> it impossible to link psiconv into AbiWord.exe, because unfortunately you can't
> link objects built with gcc against objects built with MSVC (I believe that
> the gcc-built objects are looking for some globals in libc that the MS libc
> doesn't provide, or something; it's a big mess, but I think it's safe to blame
> a gcc vs. msvc conflict).

Yes, I am not surprised by this.
 
>    On a related note: the linker flags for psiconv aren't currently specified
> correctly, so any linker errors you see for the Win32 tinderbox build are
> related to that (the EXTRA_LIBS var isn't an LDFLAGS equivalent, and isn't 
> intended to be passed to the linker verbatim).  It isn't until after you resolve
> the LDFLAGS vs. EXTRA_LIBS problem that you begin to see the gcc vs. MSVC
> problems.

Yes, I mentioned this in an earlier email. If you can tell me the
Windows way of doing things, I can easily prepare a patch.
 
Thanks again,
  Frodo

-- 
Frodo Looijaard <[EMAIL PROTECTED]>  PGP key and more: http://huizen.dds.nl/~frodol
Defenestration n. (formal or joc.):
  The act of removing Windows from your computer in disgust, usually followed
  by the installation of Linux or some other Unix-like operating system.

Reply via email to