From: Bob D. <bd...@si...> - 2005-04-12 13:41:27
|
Nice! Great work so far. Did you have any luck getting a rpdf.dll? That is going to be much easier then getting a rlib.dll. rpdf only depends on GLIB2. Is there any chance you can work with RLIB's CVS? Some stuff has changed since the 1.3.2 release (Especially in output performance) - bob On Tue, 2005-04-12 at 11:26 +0200, Zoltan Boszormenyi wrote: > Bob Doan =C3=ADrta: > > Hello, > >=20 > > On Mon, 2005-04-11 at 13:47 +0200, Zoltan Boszormenyi wrote: > >=20 > >>Hi, > >> > >>I am experimenting with this report maker software to finally > >>deploy it in a multiplatform environment. I make my (GPLed) program > >>under Fedora Core 3/x86-64 and will compile it for Windows with MingW. > >=20 > >=20 > > Cool! >=20 > Thanks. :-) >=20 > > One of the reasons UTF-8 support is half ass in RLIB is because UTF-8 > > PDF Support is not there at all. >=20 > I see. >=20 > > You should probably make your encoding "ISO-8859-2" in the xml here i= n > > order to make the characters come out correctly. >=20 > Thinking about a bit more, the explicit encoding is correct, as > the XML file itself IS UTF-8. libxml uses iconv and converts > the strings to the encoding you feed it. I'll leave it as it is. >=20 > > If you make RLIB compile in windows with MingGW I'll make sure UTF-8 > > Support works for you :). Cygwin/mingw and -mno-cygwin have been >=20 > Thanks. :-) >=20 > > driving me nuts trying to make windows DLL's >=20 > :-) >=20 > > Yes. I never use the ODBC stuff and I did it a year ago for some dud= e > > as a favor and I never maintained it or really checked that it worked > > properly ;) >=20 > ODBC is truly cross-platform, that's why I use it whenever I can. >=20 > > Patch looks nice. I'll apply it as soon as you sign the copyright > > assignment. >=20 > Thanks. Here's a much bigger patch, that also contains the previous one. > What it does: >=20 > - RLIB now uses the Glib2 GINT_TO_POINTER() and GPOINTER_TO_INT() > macros, as they compile without warnings and work everywhere. > The explicit casts "(type)var" do not. > - Detects the host system at compilation time, so Windows/Cygwin/MingW > is distinguished. > - Detects ODBC on Windows, includes <windows.h> before <sql.h> > and uses -lodbc32 instead of -lodbc. > - Some Makefile.am magic, to help RPM packaging. It's not polite to > override ${libdir} and ${includedir} in subdirectories... > - Detects presence of <langinfo.h> and uses internal implementation of > nl_langinfo() if missing. > - Detects presence of <sys/resource.h> and disable crash detection > if missing. > - RLIB already detects presence of <monetary.h> but does not follow > that if it's missing then strfmon() will also be missing. I just > replaced it with an sprintf(buf, "%.2lf", d) in this case. You may > have a better idea, though. :-) > - On Cygwin/MingW, it detects older or newer compilers and uses > the proper -fnative-struct or -mms-bitfields compiler option. > Bitfields in structs are different on Windows. > - Compiles everything with -D_GNU_SOURCE. It's mainly because of > llabs() declaration is missing if -D_ISO99_SOURCE is not defined > but this isn't enough: e.g. strcasecmp() is a GNU extension and > -D_GNU_SOURCE is needed to compile cleanly. > - gettimeofday() is missing from MingW, the unique filename creation > in GD support needs this. I used tempnam() for this purpose if > gettimeofday() is not found. I haven't actually tested it, yet. > - The previously sent ODBC fix and since <sql.h> is a system header > under Windows, its inclusion needs #define WINDOWS_LEAN_AND_MEAN 1 > and also #include <windows.h> > - Replaced bzero(x,y) with memset(x, 0, y) everywhere. > - Deleted #include <sys/resource.h> where not needed. > - Defined LC_MESSAGES if it's not already defined. Apparently, it's > missing under MingW. > - rlib.pc do not list -lcpdf as linkage dependence. >=20 > OK, so this megapatch enabled to compile RLIB under MingW-3.1. > The compilation went without warnings on MingW, I still get some > [u]int64 <-> long long size difference warnings under > Fedora Core 3/x86-64. long long is 128 bits on 64 bit systems. >=20 > Unfortunately, under MingW, only static libraries get built, even if I = run > ./configure --enable-shared >=20 > I get this whenever the final libs are to be built: >=20 > libtool: link: warning: undefined symbols not allowed in i686-pc-mingw3= 2=20 > shared libraries >=20 > So if you want to use RLIB under MingW, you have to explicitly link to > -lr -lrpdf -lr-odbc for now. >=20 > And collecting the stuff for RLIB to actually link was quite tricky. > I will make a short HOWTO to describe the procedure in some days. >=20 > So, where's the UTF-8 support in RLIB? ;-) >=20 > Best regards, > Zolt=C3=A1n B=C3=B6sz=C3=B6rm=C3=A9nyi |