What would you compile for?

Discussion in 'Mac Programming' started by caveman_uk, Jul 12, 2005.

  1. caveman_uk Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #1
    Looking at the Omni Group's update stats page (http://update.omnigroup.com) it seems that most folks that use Omni's programs are on either Tiger or Panther.

    Now from a programming view in Cocoa you could live without Core Data but as Cocoa bindings are in 10.3 you could use those without losing too many users. My question is this. If you were starting an app today would you target 10.3 and 10.4 or would you just use the 'universal' SDK that would allow you to compile for Intel and PPC but will mean you don't cover Panther?

    I've read that you can compile Intel for 10.4 and PPC for 10.3 at the same time (per-Architecture settings) but that looks pretty complicated. Has anyone done anything like this (and got it to work)?
     
  2. Mac-Xpert macrumors 6502

    Joined:
    Dec 18, 2003
    Location:
    The Netherlands
    #2
    So the universal binaries will only work on >10.4.x ? Thats interesting, I didn't hear anything about that before.
     
  3. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #3
    Not necessarily. If you only use features that are available in 10.3 then a Universal Binary will run on 10.3 (I have tried this). The problem is that XCode will not help you with this.

    With respect to the original question I think that supporting the current and previous versions of OSX with new code is fine (whether that is a new application or a new version).
     
  4. caveman_uk thread starter Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #4
    I didn't say that. You can use per-architecture build settings in xcode that allow you to compile for different OS versions on different architectures. So you could compile for 10.4 on Intel and a lower version on PPC. I don't know exactly how you do it though.

    This is not much different to setting your SDK to being for 10.4 but allowing the app to run on 10.3. If you do this you have to check what you're running on at runtime and don't try any 10.4 specific calls on a 10.3 system. If you say the minimum OS you will run on is 10.3 and use the 10.3 SDK you can't use 10.4 features at all regardless of what you run on. If you say you want a 10.4 sdk and a 10.4 minimum system it won't run on 10.3 at all.

    At least that's my reading of the documentation.

    What I was asking here (in a long winded way) was what would people here do. Is it worth including Panther support? Or do you just support Tiger and perhaps make you life easier. This would be for a new app not a current one so your choice of deployment target OS impinges on the design of the app.
     
  5. Mac-Xpert macrumors 6502

    Joined:
    Dec 18, 2003
    Location:
    The Netherlands
    #5
    O.K. thanks for clearing that up. I think It shouldn't be to much of a problem if it's >10.4.x only. By the time most of these apps and the Intel-macs are ready I think most people will have 10.4.x installed.
     
  6. mrgreen4242 macrumors 601

    mrgreen4242

    Joined:
    Feb 10, 2004
    #6
    Right NOW, I would support Panther. I know, personally, I am thinking about switching back to 10.3 unless 10.4.2 is good. Tiger has felt sluggish to me, compared to Panther on the same machine. Dashboard is *neat* but not a deal breaker, but Spotlight is keeping me in Tiger for now.

    Anyways, I think that Panther was easily the best OS X release up to this point. 10.4 has potential to take that spot, but until it does I think a lot of people will stick with Panther, especially if they are looking at a new Intel Mac in a year, they may just wait to get the "free" update then.

    Hope that makes sense! ;-)
     
  7. HiRez macrumors 603

    HiRez

    Joined:
    Jan 6, 2004
    Location:
    Western US
    #7
    I'd be compiling PPC only at this point to cover Panther, unless my app required Tiger features or was very experimental and wouldn't be expected to be in full use for quite a while. If I did ship anything for Panther, I'd include a disclaimer stating clearly that the requirements may very well be bumped up to 10.4 at any time. When Apple ships real Intel hardware, I'll recompile, but not before then.
     
  8. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #8
    I have 2 apps out rhere right now compiled into a Universal Binary for PPC & Intel that run on Panther fine. Target architecture does not have a direct effect on the major OSX version(s) supported.
     
  9. cube macrumors G4

    Joined:
    May 10, 2004
    #9
    The right thing is to set up the development machines with 10.0 and work your way up as the APIs or bug fixes require. Forget about Intel.
     
  10. whooleytoo macrumors 603

    whooleytoo

    Joined:
    Aug 2, 2002
    Location:
    Cork, Ireland.
    #10
    Whether or not you support Panther depends on what you're developing, and when it's going to become available.

    For instance, I'm developing a (non public release) program for a client, and since I know they haven't upgraded to Tiger yet the software is nearly completely untested on 10.4; but the focus is on it working well on 10.2.7 up to 10.3.9. Then we'll focus on 10.4.

    On the other hand, if it were a public release, 10.4 would be the priority, then 10.3.9.
     

Share This Page