[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gnu-libiconv] libiconv 1.11 - build for Microsoft Visual Studio
Re: [bug-gnu-libiconv] libiconv 1.11 - build for Microsoft Visual Studio 2005 (VC 8)
Thu, 6 Dec 2007 11:45:58 +0100
I tested libiconv-1.11.1 release with Microsoft Visual Studio 98 (Visual
C/C++ 6) and Microsoft Visual Studio 2005 (Visual C/C++ 8).
I built both static and dynamic libraries (with auto-tests) and it compiled
and worked fine. I used GNU GetText version 0.12.1 (DLL version) with iconv.
Thanks for your prompt reply, for the new release, and keep up the great
----- Original Message -----
From: "Bruno Haible" <address@hidden>
To: "Milan Gornik" <address@hidden>; <address@hidden>
Sent: Tuesday, December 04, 2007 10:25 AM
Subject: Re: [bug-gnu-libiconv] libiconv 1.11 - build for Microsoft Visual
Studio 2005 (VC 8)
we switched to new version of Microsoft Visual Studio - 2005
(VC++ 8) and we wanted to continue using iconv
... we also switched to new version of iconv (1.11).
... I also attached our own
workaround page, which follows instructions from the previous link and
more comments on changes.
Thank you for this detailed workaround list. I appreciate that you took
time to write down not only the resolution, but also the issue that caused
it, and some explanation. This makes it possible for me to reply to your
mail without asking further questions.
I wanted to ask if there is a possibility that development team working
iconv consider these workarounds (and apply something similar to the new
libiconv 1.12 and newer have stopped the support of the MSVC + nmake
environment altogether; now mingw is the only supported environment for
libiconv as a native Woe32 library.
But I have no problem creating a libiconv-1.11.1 release (from
with modifications along your list. You find at
a tarball that, if you confirm that it builds out of the box on MSVC, will
be renamed to libiconv-1.11.1.tar.gz.
I addressed the issues that you found as follows:
1) EXEEXT undefined
I added its definition to the CFLAGS in srclib/Makefile.msvc. Why not
in config.h.msvc, as you proposed? Because the Unix config.h does not
define EXEEXT either.
Also note that the definition must include the dot, i.e. ".exe", not
2) width module is not included in build configuration
I modified srclib/Makefile.msvc like you did, keeping the order of
object files in sync with srclib/Makefile.am.
3) stdint.h unit is not present in MSVC compiler
I added a tiny stdint.h replacement in the windows/ directory.
So that the other source files can remain untouched.
4) POSIX library unistd.h not present in MSVC compiler
Likewise: I added a tiny unistd.h replacement in the windows/
Please test it and let me know if other problems still remain. Thanks.