Building on 10.4 - deploying on 10.3.9

  • If I want to deploy on 10.3.9, what are my options for building under the current system (10.4.3)?

    Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure not to use any system calls that are unavaillable under 10.3.9, or must I compile using GCC 3.3 and the 10.3.9 SDK?

    Thanks.

    Brant Sears
  • > If I want to deploy on 10.3.9, what are my options for building
    > under the current system (10.4.3)?
    >
    > Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure
    > not to use any system calls that are unavaillable under 10.3.9, or
    > must I compile using GCC 3.3 and the 10.3.9 SDK?

    Not as I understand it, since the big difference is in the C/C++
    runtime system.
    --
    -- Marshall

    Marshall Clow    Idio Software  <mailto:<marshall...>

    It is by caffeine alone I set my mind in motion.
    It is by the beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.
  • >> If I want to deploy on 10.3.9, what are my options for building
    >> under the current system (10.4.3)?
    >>
    >> Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure
    >> not to use any system calls that are unavaillable under 10.3.9, or
    >> must I compile using GCC 3.3 and the 10.3.9 SDK?
    >
    > Not as I understand it, since the big difference is in the C/C++
    > runtime system.

    So, if I want to build a Universal binary, it only works with 10.4 and up?

    Or can I build a universal binary with GCC 3.3?

    What if you need to support both universal binaries and also older OS at the same time? Release two packages?
  • At 10:39 PM -0500 12/13/05, Brant Sears wrote:
    >>> If I want to deploy on 10.3.9, what are my options for building
    >>> under the current system (10.4.3)?
    >>>
    >>> Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure
    >>> not to use any system calls that are unavaillable under 10.3.9, or
    >>> must I compile using GCC 3.3 and the 10.3.9 SDK?
    >>
    >> Not as I understand it, since the big difference is in the C/C++
    >> runtime system.
    >
    > So, if I want to build a Universal binary, it only works with 10.4 and up?
    >
    > Or can I build a universal binary with GCC 3.3?
    >
    > What if you need to support both universal binaries and also older
    > OS at the same time? Release two packages?

    Search the archives of this list - I'm pretty sure you can make a
    "morbidly obese" binary that contains one executable for 10.3.x, one
    for 10.4.x, and one for Intel.
    --
    -- Marshall

    Marshall Clow    Idio Software  <mailto:<marshall...>

    It is by caffeine alone I set my mind in motion.
    It is by the beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.
  • At 10:39 PM -0500 12/13/05, Brant Sears wrote:
    > So, if I want to build a Universal binary, it only works with 10.4 and up?
    >
    > Or can I build a universal binary with GCC 3.3?

    You can build a PPC version with gcc 3.3 on PPC, and gcc 4.0 on Intel.
    --
    -- Marshall

    Marshall Clow    Idio Software  <mailto:<marshall...>

    It is by caffeine alone I set my mind in motion.
    It is by the beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.
  • On Dec 13, 2005, at 7:33 PM, Brant Sears wrote:

    > If I want to deploy on 10.3.9, what are my options for building
    > under the current system (10.4.3)?
    >
    > Can I build using "Current MacOS" and using GCC 4.0.2 if I make
    > sure not to use any system calls that are unavaillable under
    > 10.3.9, or must I compile using GCC 3.3 and the 10.3.9 SDK?

    Review...

    <http://developer.apple.com/documentation/DeveloperTools/Conceptual/
    cross_development/Introduction/chapter_1_section_1.html
    >

    > So, if I want to build a Universal binary, it only works with 10.4
    > and up?

    ...and in particular...

    <http://developer.apple.com/documentation/DeveloperTools/Conceptual/
    cross_development/UniversalBinaries/chapter_4_section_1.html
    >

    -Shawn
  • On Dec 13, 2005, at 7:37 PM, Marshall Clow wrote:

    >> If I want to deploy on 10.3.9, what are my options for building under
    >> the current system (10.4.3)?
    >>
    >> Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure
    >> not to use any system calls that are unavaillable under 10.3.9, or
    >> must I compile using GCC 3.3 and the 10.3.9 SDK?
    >
    > Not as I understand it, since the big difference is in the C/C++
    > runtime system.

    This is incorrect.  10.3.9 contains the libstdc++.dylib dynamic runtime
    required by gcc 4.0, so you can compile on Xcode 2.1 or 2.2 [preferred]
    with gcc 4.0 (4.0.1 comes with 2.2; 4.0.0 with 2.0 and 2.1).

    You only need to use gcc 3.3 if you need to deploy earlier than 10.3.9.

    There is no such thing as a 'morbidly obese'  binary.  You can't
    segregate executables by OS.  The Mach-O packaging scheme allows
    separate code modules per chip architecture, but not for OS versions.

    Chris
  • On Tue, 13 Dec 2005 22:33:29 -0500, "Brant Sears" <bsears...>
    wrote:

    > If I want to deploy on 10.3.9, what are my options for building under the
    current system (10.4.3)?
    >
    > Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure not to
    use any system calls that are unavaillable under 10.3.9, or must I compile using
    GCC 3.3 and the 10.3.9 SDK?
    >

    > From
    <http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_de
    velopment/Using/chapter_3_section_2.html
    >:

    Select an SDK to develop for, such as Mac OS X version 10.2.8. The software
    can use features available in system versions up to and including the one
    you select.
    If you do not select an SDK, the default is to build for the current
    operating system.

    If your software must run on a range of operating system versions, choose a
    Mac OS X deployment OS, such as v10.2. The deployment OS identifies the
    earliest system version on which the software can run.
    If you do not select a deployment OS, the default is to target the current
    operating system.

    There are nice pretty pictures of where to set these settings on the page at
    the URL above. ;-)

    More details are available at:
    <http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_de
    velopment/UniversalBinaries/chapter_4_section_1.html
    >
    --
    Enjoy,
    George Warner,
    Schizophrenic Optimization Scientist
    Apple Developer Technical Support (DTS)
  • A href="http://developer.apple.com/documentation/DeveloperTools">http://developer.apple.com/documentation/DeveloperTools<ars...>
    wrote:

    >>> If I want to deploy on 10.3.9, what are my options for building
    >>> under the current system (10.4.3)?
    >>>
    >>> Can I build using "Current MacOS" and using GCC 4.0.2 if I make sure
    >>> not to use any system calls that are unavaillable under 10.3.9, or
    >>> must I compile using GCC 3.3 and the 10.3.9 SDK?
    >>
    >> Not as I understand it, since the big difference is in the C/C++
    >> runtime system.
    >
    > So, if I want to build a Universal binary, it only works with 10.4 and up?

    False. Only the Intel code requires 10.4.

    > Or can I build a universal binary with GCC 3.3?

    False. The Intel code has to be built with gcc 4.x.

    > What if you need to support both universal binaries and also older OS at the
    same time? Release two packages?

    Then you build the ppc part with what ever's required for the older OS and
    build the Intel part using 10.4 & gcc 4.x.

    For all the details of how to do this see:
    <http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_de
    velopment/index.html?http://developer.apple.com/documentation/DeveloperTool
    s
    /Conceptual/cross_development/UniversalBinaries/chapter_4_section_1.html
    >:


    --
    Enjoy,
    George Warner,
    Schizophrenic Optimization Scientist
    Apple Developer Technical Support (DTS)
previous month december 2005 next month
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Go to today