On Monday 28 December 2009 17:00:11, Vincent Torri wrote: > > On Mon, 28 Dec 2009, Pedro Alves wrote: > > >> btw, feel free to mention any improvements about the port (see the README > >> file, about the optimization flags, for example) > > > >> From said README: > > > >> 7) Compilation > >> > >> * Version: svn 22-Jul-2008 > >> * Architecture: mingw32ce > >> * CPPFLAGS: -D_WIN32_WCE=0x0400 -DNO_ERRNO_H > >> * CFLAGS: -O3 -Wall -mms-bitfields > > > > Is the explicit "-mms-bitfields" really needed? I > > thought mingw32ce defaulted to -ms-bitfields? > > How can we know that ?
gcc/config/arm/mingw32.h #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_NOP_FUN_DLLIMPORT | \ MASK_MS_BITFIELD_LAYOUT | \ ^^^^^^^^^^^^^^^^^^^^^^^ MASK_RETURN_AGGREGATES_IN_MEMORY) You could confirm this is doing what it's meant to be doing by compiling a testcase uses structures with bitfields, and checking that it compiles to the same thing with and without the flag. But, yeah, this should be documented somewhere. > > > Any reason -D_WIN32_WCE=0x0400 (or -D_WIN32_WCE=0x0300, I think > > it builds fine) isn't set in zutil.h instead of > > on the command line? > > Hmm, i don't know, i never thought about it. I'll check that We're discussing this in the zlib mailing list. > > >> * LDFLAGS: --enable-auto-import -s > > > > Same for --enable-auto-import. > > same question :-) I meant to delete that sentence, but it seems I forgot. Anyway, what I really meant was to ask was if zlib is actually auto-importing anything. Is it? > > > Any reason you don't use win32/Makefile.gcc instead of heavily patching the > > top Makefile? BTW, I think used to just run: > > > > make CC=arm-mingw32ce-gcc AR="arm-mingw32ce-ar rc" > > RANLIB="arm-mingw32ce-ranlib" CFLAGS="-DNO_ERRNO_H -g3 -O0" > > > > on the top Makefile. > > the Makefile.gcc compiles also the binaries (I compile only the library). What's wrong with compiling the binaries? It's good for testing at the least. > It is cleaner too. Why? > I plan to provide a Makefile for Windows CE only, in a > subdir of zlib > > > I also see that you set -D_WIN32_IE=0x0400 in the Makefile. I wish > > people would stop doing that. _WIN32_IE is not meant for CE > > usage. If you do need it, it's a bug in the w32api headers that > > needs fixing (to expose functions/macros under _WIN32_WCE). > > Then, this should be removed from: > > http://cegcc.sourceforge.net/docs/details.html It already says that you shouldn't do that, though. > I'll remove it Thanks. Let's see if something breaks. :-) > >> * Porting issues: > > > >> - does not use the errno system, but zlib implement some dummy > >> errno variable for the compilation on Windows CE. > > > > Hmmm. Is there any plan to use GetLastError instead? dummy errno > > variables are evil. IMO, the need for NO_ERRNO_H should be cleaned > > away. > > About GetLastError, i didn't plan to use it. I'll check that too. I'll try > to use it. Indeed, using dummy errno is not good. I'll try this, and reply over at zlib-de...@. > > I spotted one thing extra thing should be tweaked: > > > > >grep "fd < 0" * > > gzio.c: s->file = fd < 0 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, > > fmode); > > gzio.c: if (fd < 0) return (gzFile)Z_NULL; > > > > Should be changed to check for explicit -1, like: > > > > s->file = fd == -1 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, fmode); > > > > This is because file descriptors in Windows CE are really > > handles in desguise, and they can really end up negative > > without that being an error. > > I'll ask Marc about that. There should be no problem. Awesome. I see Marc already applied the fix. :-) -- Pedro Alves ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel