[MacPerl-Porters] Re: NavigationLib? / Minimum OS/CPU

[email protected] (Thomas Wegner) Wed, 9 Jan 2002 12:47:22 +0100
Newsgroups perl.macperl.porters
Message-ID <p04320400b861bc39d8c6@[149.225.13.43]>
At 15:27 Uhr -0500 08.01.2002, Chris Nandor wrote:
>At 16:23 -0600 2002.01.07, daltman wrote:
>>Thanks for the clue. I've since learned that NavigationLib is included
>>in newer versions of CarbonLib (since OS 8.5 or 8.6), but has supposedly
>>been available as an add-on since OS 8.0 or 8.1.
>
>The "Navigation" extension implementing Navigation Services is a separate
>extension included in the CarbonLib 1.0.4 installer.  Could you try
>reinstalling CarbonLin 1.0.4?
>
>Please find article #88016 in AppleCare Knowledge Search for more
>information.  Download here:
>
> <URL:ftp://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/
>  English-North_American/Macintosh/System/Other_System/>
>

Here's what I've found in the CarbonPortingGuide [1]:

- NavigationLib (a shared lib) is available for 8.1 and higher (built-in since 8.5, I guess). (Btw, there's a  "Navigation Services SDK" available on ftp://ftp.apple.com/developer/Development_Kits/ , which will probably include the NavigationLib shared lib.)

- Navigation services is not a Carbon thing, i.e. the CarbonLib is not required to get the new style file dialogs.

- Under Carbon (-Lib), the Standard File Package is replaced by Navigation services (also see [2]). Because some calls to CarbonLib call through to the underlying system software, the functions available depend on the system software version. This in fact means, that CarbonLib needs at least 8.1, to get at the Navigation services.

>
>.... and I guess this means Mac OS 8.1 is our minimum OS, and '040 is our
>minimum CPU for the app.  However, we can still use the MPW tool on older
>machines ('030, 7.5.3 probably).
>
>So I am probably going to make for minimum requirements:
>
>	App : Mac OS 8.1,   68040 CPU, 12MB RAM
>	Tool: Mac OS 7.5.3, 68030 CPU, 12MB RAM
>
>Thoughts?
>

The question here is, why do we, for building the MacPerl app, link against the NavigationLib stub lib, thus requiring the NavigationLib at runtime? Neither is MacPerl a Carbon app nor does it use Navigation services.

Of course, building the Mac::Navigation shared lib needs the NavigationLib stub lib, and its Makefile takes care of this. Moreover, using Mac::Navigation requires the NavigationLib at runtime, but  Dynaloader will tell you if can't be found. In a MacPerl script, it would then be a good idea to check if Navigation services are available, if you really need them.

Am I wrong?


Best regards,

--Thomas

[1] http://developer.apple.com/techpubs/macosx/Carbon/pdf/CarbonPortingGuide.pdf
[2] http://developer.apple.com/techpubs/carbon/Files/NavigationServices/navigationservices.html




_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com