Re: psiconv on Windows


Subject: Re: psiconv on Windows
From: Frodo Looijaard (frodol@dds.nl)
Date: Thu Jan 25 2001 - 14:33:59 CST


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 <frodol@dds.nl>  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.



This archive was generated by hypermail 2b25 : Thu Jan 25 2001 - 14:35:04 CST