Home Comments

Ice Embedded with mingw?

tjorventjorven Member Jakob ErikssonOrganization: Mediasolutions ABProject: Media content distribution
I think there is a case for Ice Embedded support for mingw. If there was support (or it sort of worked, at least), we could cross compile the windows releases from our linux build environment. This would ease the development cycle a lot for us.

ICE Embedded should also be more portable than ICE, right? I hacked together an ugly patch and managed to build Ice Embedded with a mingw cross toolchain. It took maybe an hour to do the evil hackery.

Comments

  • tjorventjorven Member Jakob ErikssonOrganization: Mediasolutions ABProject: Media content distribution
    Obviously the missing imports could be solved a bit less messy by dynamically loading the offending DLL instead of resorting to archaic srand() and friends. But anyway... would be GREAT to get some response from the ICE powers that be on this topic.
  • matthewmatthew NL, CanadaMember Matthew NewhookOrganization: ZeroC, Inc.Project: Internet Communications Engine ✭✭✭
    Without commercial interest I don't think we would support such a build. If you are interested in commercially supporting a port to mingw, please contact us at [email protected].
  • tjorventjorven Member Jakob ErikssonOrganization: Mediasolutions ABProject: Media content distribution
    No, support, just kinda works then?

    Would you accept patches (assuming you like them, of course) to build IceE under Mingw? And it of works, just like you do not support building Ice 3.3 under Ubuntu 6.06, bit it also kind of works.

    If you don't accept patches it's not a showstopper for me, I'll just maintain the patch internally, but it would possibly be good for ZeroC to get more mindshare in the GPL community. It's a win-win situation and ICE just plain rocks. You kill other proprietary competitors and at the same time the GPL junkies get's an excellent RPC library. (Thanks for the Objective C mapping by the way.)
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi Jakob,

    We occasionally accept and integrate small patches for unsupported platforms.

    Naturally, we would only accept a patch of good quality. I looked briefly at your patch and I see immediately a number of issues:
    - if you want to add support for a new platform, you need to add a new Make.rules.<platform> file, not hack an existing one.
    - if you want to add support for a new compiler on an existing platform, you should modify the Make.rules.<platform>. However don't "hack" it: the default compiler file for that platform should still work after applying the patch
    - likewise in the code, use proper ifdefs -- the code must continue to work with other platforms/compilers
    - if a new code path is needed, like the UUID generation in your patch, it needs to be very clean (e.g. no local statics) and explained/justified. BTW I don't think you can generate unique UUIDs using a pseudo random number generator.

    Cheers,
    Bernard
  • tjorventjorven Member Jakob ErikssonOrganization: Mediasolutions ABProject: Media content distribution
    Ok then

    Of course, my patch was called "evil hackery", and would have been very disappointed if you had accepted a patch resembling anything like it. ... :-)

    But then I will create a "good" patch and let you have a look at it. Should I just post it here when I am done, or is there some other accepted way of submitting patches?

    Thanks for the fast replies in this matter.
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi Jakob,

    Please post your patch(es) on these forums. Depending on the patch, we may also contact you (by email) to get a copyright assignment before we incorporate the patch into Ice or Ice-E.

    Also, we will release soon a new version of Ice-E, with many improvements. It's very possible that other changes will be needed to compile this new Ice-E with mingw, so it would make sense to wait until after this release to create a proper patch.

    Thanks,
    Bernard
Sign In or Register to comment.