Update of /cvsroot/fink/web/doc/porting
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27387/web/doc/porting

Modified Files:
        basics.en.php index.en.php libtool.en.php porting.en.html 
        preparing-10.2.en.php preparing-10.3.en.php shared.en.php 
Log Message:
Adding 10.3 stuff.


Index: preparing-10.2.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/preparing-10.2.en.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- preparing-10.2.en.php       16 Mar 2005 18:35:31 -0000      1.2
+++ preparing-10.2.en.php       16 Mar 2005 18:51:05 -0000      1.3
@@ -1,7 +1,7 @@
 <?
 $title = "Porting - Preparing for 10.2";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="next" href="preparing-10.3.php?phpLang=en" 
title="Preparing for 10.3"><link rel="prev" href="libtool.php?phpLang=en" 
title="GNU libtool">';
 
 

Index: shared.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/shared.en.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- shared.en.php       16 Mar 2005 18:35:31 -0000      1.7
+++ shared.en.php       16 Mar 2005 18:51:05 -0000      1.8
@@ -1,7 +1,7 @@
 <?
 $title = "Porting - Shared Code";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="next" href="libtool.php?phpLang=en" title="GNU 
libtool"><link rel="prev" href="basics.php?phpLang=en" title="Basics">';
 
 

Index: index.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/index.en.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- index.en.php        16 Mar 2005 18:35:30 -0000      1.7
+++ index.en.php        16 Mar 2005 18:51:04 -0000      1.8
@@ -1,7 +1,7 @@
 <?
 $title = "Porting";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="next" href="basics.php?phpLang=en" title="Basics">';
 
 
@@ -10,8 +10,8 @@
 <h1>Porting Unix software to Darwin and Mac OS X</h1>
                <p>This document contains hints for porting Unix applications 
to Darwin and Mac OS X. Much of the information here applies to both Mac OS X 
version 10.x.x and "pure" Darwin systems. Both systems will be referred to as 
Darwin, since Mac OS X is actually a superset of Darwin.</p>
        <h2><? echo FINK_CONTENTS ; ?></h2><ul>
-       <li><a href="basics.php?phpLang=en"><b>1 Basics</b></a><ul><li><a 
href="basics.php?phpLang=en#heritage">1.1 Where Darwin came from</a></li><li><a 
href="basics.php?phpLang=en#compiler">1.2 The Compiler and Tools</a></li><li><a 
href="basics.php?phpLang=en#host-type">1.3 Host type</a></li><li><a 
href="basics.php?phpLang=en#libraries">1.4 Libraries</a></li><li><a 
href="basics.php?phpLang=en#other-sources">1.5 Other sources of 
information</a></li></ul></li><li><a href="shared.php?phpLang=en"><b>2 Shared 
Code</b></a><ul><li><a href="shared.php?phpLang=en#lib-and-mod">2.1 Shared 
Libraries vs. Loadable Modules</a></li><li><a 
href="shared.php?phpLang=en#version">2.2 Version Numbering</a></li><li><a 
href="shared.php?phpLang=en#cflags">2.3 Compiler Flags</a></li><li><a 
href="shared.php?phpLang=en#build-lib">2.4 Building a Shared 
Library</a></li><li><a href="shared.php?phpLang=en#build-mod">2.5 Building a 
Module</a></li></ul></li><li><a href="libtool.php?phpLang=en"><b>3 GNU 
libtool</b
 ></a><ul><li><a href="libtool.php?phpLang=en#situation">3.1 The 
 >Situation</a></li><li><a href="libtool.php?phpLang=en#patch-135">3.2 The 
 >1.3.5 Patch</a></li><li><a href="libtool.php?phpLang=en#fixing-14x">3.3 
 >Fixing 1.4.x</a></li><li><a href="libtool.php?phpLang=en#notes">3.4 Further 
 >Notes</a></li></ul></li><li><a href="preparing-10.2.php?phpLang=en"><b>4 
 >Preparing for 10.2</b></a><ul><li><a 
 >href="preparing-10.2.php?phpLang=en#bash">4.1 The bash shell</a></li><li><a 
 >href="preparing-10.2.php?phpLang=en#gcc3">4.2 The gcc3 
 >compiler</a></li></ul></li><li><a href="preparing-10.3.php?phpLang=en"><b>5 
 >Preparing for 10.3</b></a><ul><li><a 
 >href="preparing-10.3.php?phpLang=en#perl">5.1 Perl</a></li></ul></li></ul>
-<!--Generated from $Fink: porting.en.xml,v 1.5 2005/03/16 18:33:31 dmacks Exp 
$-->
+       <li><a href="basics.php?phpLang=en"><b>1 Basics</b></a><ul><li><a 
href="basics.php?phpLang=en#heritage">1.1 Where Darwin came from</a></li><li><a 
href="basics.php?phpLang=en#compiler">1.2 The Compiler and Tools</a></li><li><a 
href="basics.php?phpLang=en#host-type">1.3 Host type</a></li><li><a 
href="basics.php?phpLang=en#libraries">1.4 Libraries</a></li><li><a 
href="basics.php?phpLang=en#other-sources">1.5 Other sources of 
information</a></li></ul></li><li><a href="shared.php?phpLang=en"><b>2 Shared 
Code</b></a><ul><li><a href="shared.php?phpLang=en#lib-and-mod">2.1 Shared 
Libraries vs. Loadable Modules</a></li><li><a 
href="shared.php?phpLang=en#version">2.2 Version Numbering</a></li><li><a 
href="shared.php?phpLang=en#cflags">2.3 Compiler Flags</a></li><li><a 
href="shared.php?phpLang=en#build-lib">2.4 Building a Shared 
Library</a></li><li><a href="shared.php?phpLang=en#build-mod">2.5 Building a 
Module</a></li></ul></li><li><a href="libtool.php?phpLang=en"><b>3 GNU 
libtool</b
 ></a><ul><li><a href="libtool.php?phpLang=en#situation">3.1 The 
 >Situation</a></li><li><a href="libtool.php?phpLang=en#patch-135">3.2 The 
 >1.3.5 Patch</a></li><li><a href="libtool.php?phpLang=en#fixing-14x">3.3 
 >Fixing 1.4.x</a></li><li><a href="libtool.php?phpLang=en#notes">3.4 Further 
 >Notes</a></li></ul></li><li><a href="preparing-10.2.php?phpLang=en"><b>4 
 >Preparing for 10.2</b></a><ul><li><a 
 >href="preparing-10.2.php?phpLang=en#bash">4.1 The bash shell</a></li><li><a 
 >href="preparing-10.2.php?phpLang=en#gcc3">4.2 The gcc3 
 >compiler</a></li></ul></li><li><a href="preparing-10.3.php?phpLang=en"><b>5 
 >Preparing for 10.3</b></a><ul><li><a 
 >href="preparing-10.3.php?phpLang=en#perl">5.1 Perl</a></li><li><a 
 >href="preparing-10.3.php?phpLang=en#typedef">5.2 New symbol 
 >definitions</a></li><li><a 
 >href="preparing-10.3.php?phpLang=en#system-libs">5.3 New builtin system 
 >libraries</a></li></ul></li></ul>
+<!--Generated from $Fink: porting.en.xml,v 1.6 2005/03/16 18:49:05 dmacks Exp 
$-->
 <? include_once "../../footer.inc"; ?>
 
 

Index: basics.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/basics.en.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- basics.en.php       16 Mar 2005 18:35:30 -0000      1.7
+++ basics.en.php       16 Mar 2005 18:51:02 -0000      1.8
@@ -1,7 +1,7 @@
 <?
 $title = "Porting - Basics";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="next" href="shared.php?phpLang=en" title="Shared 
Code"><link rel="prev" href="index.php?phpLang=en" title="Porting Contents">';
 
 
@@ -37,7 +37,7 @@
                        
                        <p>Short story: If configure fails with 'Can't 
determine host type', copy config.guess and config.sub from /usr/share/libtool 
(/usr/libexec for OS versions prior to 10.2) into the current directory.</p>
 
-                       <p>Long story: The GNU world uses a canonical format to 
specify system types. It has three parts: cpu type, manufacturer and operating 
system. Sometimes a fourth part is added - then the third part denotes the 
kernel, while the fourth denotes the operating system. All parts are lower case 
and concatenated using dashes. Some examples: <code>i586-pc-linux-gnu</code>, 
<code>hppa1.1-hp-hpux10.20</code>, <code>sparc-sun-solaris2.6</code>. The host 
type for Mac OS X 10.0 is <code>powerpc-apple-darwin1.3</code>. Versions of Mac 
OS X 10.2 bring various <code>powerpc-apple-darwin6.x.0</code>, where "x" 
depends on the exact OS revision.</p>
+                       <p>Long story: The GNU world uses a canonical format to 
specify system types. It has three parts: cpu type, manufacturer and operating 
system. Sometimes a fourth part is added - then the third part denotes the 
kernel, while the fourth denotes the operating system. All parts are lower case 
and concatenated using dashes. Some examples: <code>i586-pc-linux-gnu</code>, 
<code>hppa1.1-hp-hpux10.20</code>, <code>sparc-sun-solaris2.6</code>. The host 
type for Mac OS X 10.0 is <code>powerpc-apple-darwin1.3</code>. Versions of Mac 
OS X 10.2 bring various <code>powerpc-apple-darwin6.x.0</code> and 10.3 gives 
<code>powerpc-apple-darwin7.x.0</code>, where "x" depends on the exact OS 
version.</p>
 
                        <p>Many packages that use autoconf want to know the 
host type of the system they are compiled on. (Side note: to support 
cross-compiling and porting, there are actually three types - the host type, 
the build type and the target type. Usually, they're all the same.) You can 
either pass the host type to the configure script as a parameter or you can let 
it guess.</p>
 

Index: libtool.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/libtool.en.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- libtool.en.php      16 Mar 2005 18:35:31 -0000      1.7
+++ libtool.en.php      16 Mar 2005 18:51:04 -0000      1.8
@@ -1,7 +1,7 @@
 <?
 $title = "Porting - libtool";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="next" href="preparing-10.2.php?phpLang=en" 
title="Preparing for 10.2"><link rel="prev" href="shared.php?phpLang=en" 
title="Shared Code">';
 
 
@@ -85,6 +85,8 @@
 Side note:
 The libltdl library included with all libtool versions will only work
 on Darwin when dlcompat is installed.
+This is included with OS X starting with 10.3. For previous versions,
+one can install the fink "dlcompat" family of packages.
 </p>
 
 

Index: preparing-10.3.en.php
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/preparing-10.3.en.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- preparing-10.3.en.php       16 Mar 2005 18:35:31 -0000      1.2
+++ preparing-10.3.en.php       16 Mar 2005 18:51:05 -0000      1.3
@@ -1,7 +1,7 @@
 <?
 $title = "Porting - Preparing for 10.3";
 $cvs_author = 'Author: dmacks';
-$cvs_date = 'Date: 2005/03/16 18:33:31';
+$cvs_date = 'Date: 2005/03/16 18:49:05';
 $metatags = '<link rel="contents" href="index.php?phpLang=en" title="Porting 
Contents"><link rel="prev" href="preparing-10.2.php?phpLang=en" 
title="Preparing for 10.2">';
 
 
@@ -10,8 +10,111 @@
 <h1>Porting - 5. Preparing for 10.3</h1>
 
 
+
 <h2><a name="perl">5.1 Perl</a></h2>
 
+  <p>
+    In OS X 10.2, <code>/usr/bin/perl</code> was perl 5.6.0
+    and the architecture string was "darwin". In OS X
+    10.3, <code>/usr/bin/perl</code> was upgraded to perl
+    5.8.1 and the architecture string was changed to
+    "darwin-thread-multi-2level". These changes <b>probably</b> do
+    not affect ordinary uses of the perl executable for package
+    creation since each perl executable knows where to find its own modules.
+    Maintainers of perl-module ("-pm") packages who follow the current
+    <a href="http://fink.sourceforge.net/packaging/policy.php#perlmods";>Perl
+    Modules packaging policy</a> and are careful to follow the
+    <code>CompileScript</code> and <code>InstallScript</code>
+    documentation will already have things set up correctly.
+  </p>
+
+
+
+<h2><a name="typedef">5.2 New symbol definitions</a></h2>
+
+  <p>
+    Starting in Mac OS X 10.3, there is now always a complete
+    definition for the <code>socklen_t</code> type. To get this
+    typedef defined, you may need to add to your program:
+  </p>
+  <pre>
+#include &lt;sys/types.h&gt;
+#include &lt;sys/socket.h&gt;
+  </pre>
+
+
+
+<h2><a name="system-libs">5.3 New builtin system libraries</a></h2>
+
+  <p>
+    Mac OS X 10.3 includes several libraries that were not in previous
+    system releases, and so were provided as fink packages:
+  </p>
+
+  <table border="0" cellpadding="0" cellspacing="10"><tr valign="bottom"><th 
align="left">Field</th><th align="left">Value</th></tr><tr 
valign="top"><td>libpoll</td><td>
+       <p>
+         The files <code>/usr/lib/libpoll.dylib</code> and
+         <code>/usr/include/poll.h</code> are now included,
+         however the OS X-supplied implementation of this library is
+         not complete. If it is sufficient for your purposes, you can
+         remove dependencies on the Fink "libpoll" and
+         "libpoll-shlibs" packages. The library code is
+         actually incorporated into libSystem, which is automatically
+         linked. That means that <code>-lpoll</code> is not necessary
+         if you wish to use the OS X implementation. Be aware that OS
+         X supplies a <code>libpoll.dylib</code>, so
+         <code>-lpoll</code> may give different results depending on
+         whether you have the Fink "libpoll" package
+         installed or not.
+       </p>
+      </td></tr><tr valign="top"><td>libdl</td><td>
+       <p>
+         The files <code>/usr/lib/libdl.dylib</code>
+         and <code>/usr/include/dlfcn.h</code> are now included, so you should
+         not need dependencies on the Fink "dlcompat",
+         "dlcompat-dev", and "dlcompat-shlibs" packages. The library
+         code is actually incorportated into libSystem, which is
+         automatically linked. That means that <code>-ldl</code> is
+         not necessary (but has no effect if used).
+       </p>
+      </td></tr><tr valign="top"><td>GNU getopt</td><td>
+       <p>
+         This library, including the <code>getopt_long()</code>
+         function, has been incorportated into libSystem and
+         <code>/usr/include/getopt.h</code>, so you may not
+         need to use the Fink "libgnugetopt" and
+         "libgnugetopt-shlibs" packages. Because libSystem is
+         automatically linked and <code>/usr/include</code>
+         is automatically searched for headers, you could remove any
+         <code>-lgnugetopt</code>
+         and <code>-I/sw/include/gnugetopt</code> flags that were
+         manually added in order to access Fink's
+         "libgnugetopt".
+       </p>
+      </td></tr></table>
+
+  <p>
+    When migrating a package to OS X 10.3, try to remove these
+    deprecated dependencies, as those packages may be removed from these
+    newer package trees in the future. This means you will need a separate
+    package description file for each tree. As always,
+    the <code>Revision</code> must be increased when making changes to
+    a package. In this manner, a user who upgrades from OS X 10.2 to
+    10.3 will see 10.3-specific packages as "newer" than his
+    existing 10.2 ones. By convention, the <code>Revision</code>
+    should be increased by 10 when changes are made for migration to a
+    higher tree inn order to leave space for the lower-tree package to be
+    updated in the future.
+  </p>
+
+  <p>
+    When testing a migrated package, make sure to uninstall the
+    packages whose <code>BuildDepends</code> you removed. Otherwise
+    the compiler may still link the Fink-supplied libraries.
+  </p>
+
+
+
 
 <? include_once "../../footer.inc"; ?>
 

Index: porting.en.html
===================================================================
RCS file: /cvsroot/fink/web/doc/porting/porting.en.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- porting.en.html     16 Mar 2005 18:35:31 -0000      1.8
+++ porting.en.html     16 Mar 2005 18:51:04 -0000      1.9
@@ -12,7 +12,7 @@
 </table>
 <h1 style="text-align: center;">Porting Unix software to Darwin and Mac OS 
X</h1>
                <p>This document contains hints for porting Unix applications 
to Darwin and Mac OS X. Much of the information here applies to both Mac OS X 
version 10.x.x and "pure" Darwin systems. Both systems will be referred to as 
Darwin, since Mac OS X is actually a superset of Darwin.</p>
-       <h2>Contents</h2><ul><li><a href="#basics"><b>1 
Basics</b></a><ul><li><a href="#basics.heritage">1.1 Where Darwin came 
from</a></li><li><a href="#basics.compiler">1.2 The Compiler and 
Tools</a></li><li><a href="#basics.host-type">1.3 Host type</a></li><li><a 
href="#basics.libraries">1.4 Libraries</a></li><li><a 
href="#basics.other-sources">1.5 Other sources of 
information</a></li></ul></li><li><a href="#shared"><b>2 Shared 
Code</b></a><ul><li><a href="#shared.lib-and-mod">2.1 Shared Libraries vs. 
Loadable Modules</a></li><li><a href="#shared.version">2.2 Version 
Numbering</a></li><li><a href="#shared.cflags">2.3 Compiler 
Flags</a></li><li><a href="#shared.build-lib">2.4 Building a Shared 
Library</a></li><li><a href="#shared.build-mod">2.5 Building a 
Module</a></li></ul></li><li><a href="#libtool"><b>3 GNU 
libtool</b></a><ul><li><a href="#libtool.situation">3.1 The 
Situation</a></li><li><a href="#libtool.patch-135">3.2 The 1.3.5 
Patch</a></li><li><a href="#libtool.fixing-14x
 ">3.3 Fixing 1.4.x</a></li><li><a href="#libtool.notes">3.4 Further 
Notes</a></li></ul></li><li><a href="#preparing-10.2"><b>4 Preparing for 
10.2</b></a><ul><li><a href="#preparing-10.2.bash">4.1 The bash 
shell</a></li><li><a href="#preparing-10.2.gcc3">4.2 The gcc3 
compiler</a></li></ul></li><li><a href="#preparing-10.3"><b>5 Preparing for 
10.3</b></a><ul><li><a href="#preparing-10.3.perl">5.1 
Perl</a></li></ul></li></ul><h2><a name="basics">1 Basics</a></h2>
+       <h2>Contents</h2><ul><li><a href="#basics"><b>1 
Basics</b></a><ul><li><a href="#basics.heritage">1.1 Where Darwin came 
from</a></li><li><a href="#basics.compiler">1.2 The Compiler and 
Tools</a></li><li><a href="#basics.host-type">1.3 Host type</a></li><li><a 
href="#basics.libraries">1.4 Libraries</a></li><li><a 
href="#basics.other-sources">1.5 Other sources of 
information</a></li></ul></li><li><a href="#shared"><b>2 Shared 
Code</b></a><ul><li><a href="#shared.lib-and-mod">2.1 Shared Libraries vs. 
Loadable Modules</a></li><li><a href="#shared.version">2.2 Version 
Numbering</a></li><li><a href="#shared.cflags">2.3 Compiler 
Flags</a></li><li><a href="#shared.build-lib">2.4 Building a Shared 
Library</a></li><li><a href="#shared.build-mod">2.5 Building a 
Module</a></li></ul></li><li><a href="#libtool"><b>3 GNU 
libtool</b></a><ul><li><a href="#libtool.situation">3.1 The 
Situation</a></li><li><a href="#libtool.patch-135">3.2 The 1.3.5 
Patch</a></li><li><a href="#libtool.fixing-14x
 ">3.3 Fixing 1.4.x</a></li><li><a href="#libtool.notes">3.4 Further 
Notes</a></li></ul></li><li><a href="#preparing-10.2"><b>4 Preparing for 
10.2</b></a><ul><li><a href="#preparing-10.2.bash">4.1 The bash 
shell</a></li><li><a href="#preparing-10.2.gcc3">4.2 The gcc3 
compiler</a></li></ul></li><li><a href="#preparing-10.3"><b>5 Preparing for 
10.3</b></a><ul><li><a href="#preparing-10.3.perl">5.1 Perl</a></li><li><a 
href="#preparing-10.3.typedef">5.2 New symbol definitions</a></li><li><a 
href="#preparing-10.3.system-libs">5.3 New builtin system 
libraries</a></li></ul></li></ul><h2><a name="basics">1 Basics</a></h2>
                
                
 
@@ -42,7 +42,7 @@
                        
                        <p>Short story: If configure fails with 'Can't 
determine host type', copy config.guess and config.sub from /usr/share/libtool 
(/usr/libexec for OS versions prior to 10.2) into the current directory.</p>
 
-                       <p>Long story: The GNU world uses a canonical format to 
specify system types. It has three parts: cpu type, manufacturer and operating 
system. Sometimes a fourth part is added - then the third part denotes the 
kernel, while the fourth denotes the operating system. All parts are lower case 
and concatenated using dashes. Some examples: <tt style="white-space: 
nowrap;">i586-pc-linux-gnu</tt>, <tt style="white-space: 
nowrap;">hppa1.1-hp-hpux10.20</tt>, <tt style="white-space: 
nowrap;">sparc-sun-solaris2.6</tt>. The host type for Mac OS X 10.0 is <tt 
style="white-space: nowrap;">powerpc-apple-darwin1.3</tt>. Versions of Mac OS X 
10.2 bring various <tt style="white-space: 
nowrap;">powerpc-apple-darwin6.x.0</tt>, where "x" depends on the exact OS 
revision.</p>
+                       <p>Long story: The GNU world uses a canonical format to 
specify system types. It has three parts: cpu type, manufacturer and operating 
system. Sometimes a fourth part is added - then the third part denotes the 
kernel, while the fourth denotes the operating system. All parts are lower case 
and concatenated using dashes. Some examples: <tt style="white-space: 
nowrap;">i586-pc-linux-gnu</tt>, <tt style="white-space: 
nowrap;">hppa1.1-hp-hpux10.20</tt>, <tt style="white-space: 
nowrap;">sparc-sun-solaris2.6</tt>. The host type for Mac OS X 10.0 is <tt 
style="white-space: nowrap;">powerpc-apple-darwin1.3</tt>. Versions of Mac OS X 
10.2 bring various <tt style="white-space: 
nowrap;">powerpc-apple-darwin6.x.0</tt> and 10.3 gives <tt style="white-space: 
nowrap;">powerpc-apple-darwin7.x.0</tt>, where "x" depends on the exact OS 
version.</p>
 
                        <p>Many packages that use autoconf want to know the 
host type of the system they are compiled on. (Side note: to support 
cross-compiling and porting, there are actually three types - the host type, 
the build type and the target type. Usually, they're all the same.) You can 
either pass the host type to the configure script as a parameter or you can let 
it guess.</p>
 
@@ -228,6 +228,8 @@
 Side note:
 The libltdl library included with all libtool versions will only work
 on Darwin when dlcompat is installed.
+This is included with OS X starting with 10.3. For previous versions,
+one can install the fink "dlcompat" family of packages.
 </p>
 
 
@@ -485,12 +487,115 @@
 <h2><a name="preparing-10.3">5 Preparing for 10.3</a></h2>
 
 
+
 <h3><a name="preparing-10.3.perl">5.1 Perl</a></h3>
 
+  <p>
+    In OS X 10.2, <tt style="white-space: nowrap;">/usr/bin/perl</tt> was perl 
5.6.0
+    and the architecture string was "darwin". In OS X
+    10.3, <tt style="white-space: nowrap;">/usr/bin/perl</tt> was upgraded to 
perl
+    5.8.1 and the architecture string was changed to
+    "darwin-thread-multi-2level". These changes <b>probably</b> do
+    not affect ordinary uses of the perl executable for package
+    creation since each perl executable knows where to find its own modules.
+    Maintainers of perl-module ("-pm") packages who follow the current
+    <a href="http://fink.sourceforge.net/packaging/policy.php#perlmods";>Perl
+    Modules packaging policy</a> and are careful to follow the
+    <tt style="white-space: nowrap;">CompileScript</tt> and <tt 
style="white-space: nowrap;">InstallScript</tt>
+    documentation will already have things set up correctly.
+  </p>
+
+
+
+<h3><a name="preparing-10.3.typedef">5.2 New symbol definitions</a></h3>
+
+  <p>
+    Starting in Mac OS X 10.3, there is now always a complete
+    definition for the <tt style="white-space: nowrap;">socklen_t</tt> type. 
To get this
+    typedef defined, you may need to add to your program:
+  </p>
+  <pre>
+#include &lt;sys/types.h&gt;
+#include &lt;sys/socket.h&gt;
+  </pre>
+
+
+
+<h3><a name="preparing-10.3.system-libs">5.3 New builtin system 
libraries</a></h3>
+
+  <p>
+    Mac OS X 10.3 includes several libraries that were not in previous
+    system releases, and so were provided as fink packages:
+  </p>
+
+  <table border="0" cellpadding="0" cellspacing="10"><tr valign="bottom"><th 
align="left">Field</th><th align="left">Value</th></tr><tr 
valign="top"><td>libpoll</td><td>
+       <p>
+         The files <tt style="white-space: 
nowrap;">/usr/lib/libpoll.dylib</tt> and
+         <tt style="white-space: nowrap;">/usr/include/poll.h</tt> are now 
included,
+         however the OS X-supplied implementation of this library is
+         not complete. If it is sufficient for your purposes, you can
+         remove dependencies on the Fink "libpoll" and
+         "libpoll-shlibs" packages. The library code is
+         actually incorporated into libSystem, which is automatically
+         linked. That means that <tt style="white-space: nowrap;">-lpoll</tt> 
is not necessary
+         if you wish to use the OS X implementation. Be aware that OS
+         X supplies a <tt style="white-space: nowrap;">libpoll.dylib</tt>, so
+         <tt style="white-space: nowrap;">-lpoll</tt> may give different 
results depending on
+         whether you have the Fink "libpoll" package
+         installed or not.
+       </p>
+      </td></tr><tr valign="top"><td>libdl</td><td>
+       <p>
+         The files <tt style="white-space: nowrap;">/usr/lib/libdl.dylib</tt>
+         and <tt style="white-space: nowrap;">/usr/include/dlfcn.h</tt> are 
now included, so you should
+         not need dependencies on the Fink "dlcompat",
+         "dlcompat-dev", and "dlcompat-shlibs" packages. The library
+         code is actually incorportated into libSystem, which is
+         automatically linked. That means that <tt style="white-space: 
nowrap;">-ldl</tt> is
+         not necessary (but has no effect if used).
+       </p>
+      </td></tr><tr valign="top"><td>GNU getopt</td><td>
+       <p>
+         This library, including the <tt style="white-space: 
nowrap;">getopt_long()</tt>
+         function, has been incorportated into libSystem and
+         <tt style="white-space: nowrap;">/usr/include/getopt.h</tt>, so you 
may not
+         need to use the Fink "libgnugetopt" and
+         "libgnugetopt-shlibs" packages. Because libSystem is
+         automatically linked and <tt style="white-space: 
nowrap;">/usr/include</tt>
+         is automatically searched for headers, you could remove any
+         <tt style="white-space: nowrap;">-lgnugetopt</tt>
+         and <tt style="white-space: nowrap;">-I/sw/include/gnugetopt</tt> 
flags that were
+         manually added in order to access Fink's
+         "libgnugetopt".
+       </p>
+      </td></tr></table>
+
+  <p>
+    When migrating a package to OS X 10.3, try to remove these
+    deprecated dependencies, as those packages may be removed from these
+    newer package trees in the future. This means you will need a separate
+    package description file for each tree. As always,
+    the <tt style="white-space: nowrap;">Revision</tt> must be increased when 
making changes to
+    a package. In this manner, a user who upgrades from OS X 10.2 to
+    10.3 will see 10.3-specific packages as "newer" than his
+    existing 10.2 ones. By convention, the <tt style="white-space: 
nowrap;">Revision</tt>
+    should be increased by 10 when changes are made for migration to a
+    higher tree inn order to leave space for the lower-tree package to be
+    updated in the future.
+  </p>
+
+  <p>
+    When testing a migrated package, make sure to uninstall the
+    packages whose <tt style="white-space: nowrap;">BuildDepends</tt> you 
removed. Otherwise
+    the compiler may still link the Fink-supplied libraries.
+  </p>
+
+
+
 <hr><h2>Copyright Notice</h2><p>Copyright (c) 2001 Christoph Pfisterer,
 Copyright (c) 2001-2005 The Fink Project.
 You may distribute this document in print for private purposes,
 provided the document and this copyright notice remain complete and
 unmodified. Any commercial reproduction and any online publication
 requires the explicit consent of the author.</p><hr>
-<p>Generated from <i>$Fink: porting.en.xml,v 1.5 2005/03/16 18:33:31 dmacks 
Exp $</i></p></body></html>
+<p>Generated from <i>$Fink: porting.en.xml,v 1.6 2005/03/16 18:49:05 dmacks 
Exp $</i></p></body></html>



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to