Worklog for Brucey

Something to do...

Return to Worklogs

Cross-platform ISN'T fun...(Posted 2007-01-22)
Ho hum, and a ho ho hum.

So, it turns out that either,
1) Windows is a very sucky place to code for.
2) I don't know much about mingw/gcc/win32...

Because, how is it that if I include :
Import "-lshell32"
Import "-ladvapi32"

it generates the following compile errors?
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(start.c.release.win32.x86.o)(.text+0x121):start.c: undefined reference to `CommandLineToArgvW'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x163):filestat.c: undefined reference to `GetEffectiveRightsFromAclW'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x19f):filestat.c: undefined reference to `GetEffectiveRightsFromAclW'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x1de):filestat.c: undefined reference to `GetEffectiveRightsFromAclW'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x488):filestat.c: undefined reference to `GetSecurityInfo'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x573):filestat.c: undefined reference to `GetNamedSecurityInfoA'
C:/Program Files/BlitzMax/mod/bah.mod/apr.mod/apr.release.win32.x86.a(filestat.c.release.win32.x86.o)(.text+0x5cf):filestat.c: undefined reference to `GetNamedSecurityInfoW'


...oh well.. it's mostly working.
At least all the libs compile without error.. you just can't create an executable at the moment.

Other than that, the "other" two platforms appear to be working perfectly ;-)

-+ Brucey +-

Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax -

* The Definitive Module List * Qt-On-BlitzMax

Why not command-line?(Posted 2007-01-19)
Some might ask, why didn't I just create an svn command-line parser/wrapper, rather than go to all the trouble to wrap the entire API?

Basically, because the API exposes *much* more information to the programmer. Stuff that they might find very useful, for whatever reasons.
Oh, and it's a *lot* faster too - since you don't have separate executions of "svn" running off everytime you want to do something.

So that's.... speed + functionality.... works for me ;-)

-+ Brucey +-

Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax -

* The Definitive Module List * Qt-On-BlitzMax

Cross-platform != fun(Posted 2007-01-19)
I've been working, for the last couple of weeks, on yet another new Max module - I know, I need to get a life (or something!).

This time I decided subversion would be an interesting venture. It's got a great API, is well documented, and is allegedly cross-platform.

I started work on Linux, since it's by far the easiest platform to build modules for - specifically because it's easy to link your code to a shared object.

After a week's work, it was pretty much working the way I wanted it to, everything being accessed through the subversion APIs, and returned pretty Max'd Types rather than those horrible structs/byte ptrs.

With Linux, I'm not using any source from Apr, Svn or Neon, just calling the libraries directly.

Then I wanted to try to port to Mac.
Argh... well, I decided I would build the other version "from source", in an effort for those users not to have to install the relevant libraries.

After another weeks work, I have the Mac version running as well as the Linux one. Yay! In fact, once I'd resolved all the "undefined" symbols on the Mac, my tests all ran first time! ;-) ... which kind of is a large Plus for developing in BlitzMax !

Then we come to Windows...
It turned out that the version of APR that comes with subversion doesn't support compiling using mingw - only that visual c thing.
However, "trunk" seems to have been changed to support that build process, and I've just checked it out of svn.apache.org onto the Mac using BlitzMax ;-)

Time will tell how much work will be required to get the win32 build going...

-+ Brucey +-

Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax -

* The Definitive Module List * Qt-On-BlitzMax