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