Update of /cvsroot/fink/web/xml/packaging
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2117
Modified Files:
Makefile packaging.en.xml packaging.fr.xml packaging.ja.xml
packaging.zh.xml
Log Message:
added a new chapter on compilers
Index: Makefile
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- Makefile 20 Oct 2004 11:11:24 -0000 1.13
+++ Makefile 23 Jun 2005 20:16:35 -0000 1.14
@@ -5,7 +5,7 @@
basedir = ..
SOURCE = packaging.xml
-TARGET = index.php intro.php format.php policy.php fslayout.php reference.php
+TARGET = index.php intro.php format.php policy.php fslayout.php compilers.php
reference.php
WANT_HTML = 1
DESTDIR = doc/packaging
Index: packaging.fr.xml
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/packaging.fr.xml,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- packaging.fr.xml 19 Jun 2005 23:14:55 -0000 1.57
+++ packaging.fr.xml 23 Jun 2005 20:16:36 -0000 1.58
@@ -438,6 +438,83 @@
<p>Aucun autre répertoire que ceux mentionnés ci-dessus ne doit être créé
dans <filename>/sw</filename>. En particulier, les répertoires suivant ne
doivent pas être utilisés : <filename>/sw/man</filename>,
<filename>/sw/info</filename>, <filename>/sw/doc</filename>,
<filename>/sw/libexec</filename> et <filename>/sw/lib/locale</filename>.</p>
</section>
</chapter>
+<chapter filename="compilers">
+<title>Compilers</title>
+<shorttitle>Compilers</shorttitle>
+
+<section name="versions"><title>Compiler Versions</title>
+<p>Fink uses the gcc family of compilers, as provided by Apple computer
+through the Apple Developer Connection. As these compilers have evolved,
+there have been different fink "distributions" to cope with the changes.
+</p><p>
+Each distribution has had certain default values for the gcc and g++
+compilers, which any user compiling from source is expected to have
+installed. You can expect that direct calls to "gcc" and "g++" from
+within your package will use these default values. If you need to use
+a different value (for example, during a transition to a new distribution,
+your packages .info file must specify this using the versioned binaries
+provided by Apple. Exactly how you will do this depends on the build
+system of your software, but for many packages, the <code>SetCC</code>
+and <code>SetCXX</code> fink fields can be used for this puporse.
+For example, you might change the g++ compiler to version 3.3 by the setting
+<code>SetCXX: g++-3.3</code>. Examine the output when building your
+package to make sure that the correct compiler is being used.
+</p><p>
+The 10.1 distribution assumes that the compiler version is 2.95; the
+10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3
+and 10.3 distributions assume tha the compiler version is 3.3. The compiler
+for the 10.4-transitional distribution is complicated: g++-3.3 is being
+used along with gcc-4.0. This will change again in the 10.4 distribution,
+which will use both gcc-4.0 and g++-4.0.
+</p>
+<p>A new method was introduced for ensuring the correct g++ compiler starting
+with the 10.4-transitional distribution. During compilation, a directory
+<code>/sw/var/lib/fink/path-prefix-g++-XXX</code> (where XXX is the version
+number) is added to the PATH during compilation. This directory contains
+shell scripts which ensure that the correct version of g++ is used.
+</p>
+
+</section>
+<section name="abi"><title>The g++ ABI</title>
+<p>
+The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is
+different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs
+are not compatible with each other, and any libraries which use C++
+code and are linked to by your project must be compiled with the same
+ABI as the one currently being used.
+</p>
+<p>
+Fink keeps track of the g++ ABI by means of the GCC field. This field
+should be defined for any package which invokes the g++ or c++ compilers.
+(It should NOT be defined for packages which don't invoke those compilers.)
+Whenever an ABI upgrade occurs, all the dependencies of the packages must
+be checked for their own GCC field. When all of the dependencies have
+been upgraded, the package itself may be upgraded. The versions of the
+dependencies must be changed to guarantee that users will have the correct,
+updated, dependencies in place before they attempt to build the new version
+of your package.
+</p>
+<p>
+A small group of packages which depend only on each other can be left
+at the previous version of the ABI when the distribution changes, if they
+are not ready to be upgrade. When the upgrade is eventually done, they
+must be all upgraded together with the correct versioning on all the
+packages. For this reason, it is best to upgrade most packages at
+the time the distribution changes.
+</p>
+<p>
+Fink uses the GCC field to ensure that users have the correct version of
+the g++ compiler installed. If the GCC field is defined by the package,
+fink checks to see if the <code>gcc_select</code> command has been
+set to the correct current value. (This correct value is 3.3 for the 10.2
+and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The
+<code>gcc_select</code> command was not available prior to OS X 10.2.)
+</p>
+
+</section>
+
+</chapter>
+
<chapter filename="reference">
<title>Référence</title>
<shorttitle>Référence</shorttitle>
Index: packaging.en.xml
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/packaging.en.xml,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- packaging.en.xml 19 Jun 2005 15:24:36 -0000 1.65
+++ packaging.en.xml 23 Jun 2005 20:16:35 -0000 1.66
@@ -1212,6 +1212,82 @@
</chapter>
+<chapter filename="compilers">
+<title>Compilers</title>
+<shorttitle>Compilers</shorttitle>
+
+<section name="versions"><title>Compiler Versions</title>
+<p>Fink uses the gcc family of compilers, as provided by Apple computer
+through the Apple Developer Connection. As these compilers have evolved,
+there have been different fink "distributions" to cope with the changes.
+</p><p>
+Each distribution has had certain default values for the gcc and g++
+compilers, which any user compiling from source is expected to have
+installed. You can expect that direct calls to "gcc" and "g++" from
+within your package will use these default values. If you need to use
+a different value (for example, during a transition to a new distribution,
+your packages .info file must specify this using the versioned binaries
+provided by Apple. Exactly how you will do this depends on the build
+system of your software, but for many packages, the <code>SetCC</code>
+and <code>SetCXX</code> fink fields can be used for this puporse.
+For example, you might change the g++ compiler to version 3.3 by the setting
+<code>SetCXX: g++-3.3</code>. Examine the output when building your
+package to make sure that the correct compiler is being used.
+</p><p>
+The 10.1 distribution assumes that the compiler version is 2.95; the
+10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3
+and 10.3 distributions assume tha the compiler version is 3.3. The compiler
+for the 10.4-transitional distribution is complicated: g++-3.3 is being
+used along with gcc-4.0. This will change again in the 10.4 distribution,
+which will use both gcc-4.0 and g++-4.0.
+</p>
+<p>A new method was introduced for ensuring the correct g++ compiler starting
+with the 10.4-transitional distribution. During compilation, a directory
+<code>/sw/var/lib/fink/path-prefix-g++-XXX</code> (where XXX is the version
+number) is added to the PATH during compilation. This directory contains
+shell scripts which ensure that the correct version of g++ is used.
+</p>
+
+</section>
+<section name="abi"><title>The g++ ABI</title>
+<p>
+The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is
+different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs
+are not compatible with each other, and any libraries which use C++
+code and are linked to by your project must be compiled with the same
+ABI as the one currently being used.
+</p>
+<p>
+Fink keeps track of the g++ ABI by means of the GCC field. This field
+should be defined for any package which invokes the g++ or c++ compilers.
+(It should NOT be defined for packages which don't invoke those compilers.)
+Whenever an ABI upgrade occurs, all the dependencies of the packages must
+be checked for their own GCC field. When all of the dependencies have
+been upgraded, the package itself may be upgraded. The versions of the
+dependencies must be changed to guarantee that users will have the correct,
+updated, dependencies in place before they attempt to build the new version
+of your package.
+</p>
+<p>
+A small group of packages which depend only on each other can be left
+at the previous version of the ABI when the distribution changes, if they
+are not ready to be upgrade. When the upgrade is eventually done, they
+must be all upgraded together with the correct versioning on all the
+packages. For this reason, it is best to upgrade most packages at
+the time the distribution changes.
+</p>
+<p>
+Fink uses the GCC field to ensure that users have the correct version of
+the g++ compiler installed. If the GCC field is defined by the package,
+fink checks to see if the <code>gcc_select</code> command has been
+set to the correct current value. (This correct value is 3.3 for the 10.2
+and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The
+<code>gcc_select</code> command was not available prior to OS X 10.2.)
+</p>
+
+</section>
+
+</chapter>
<chapter filename="reference">
<title>Reference</title>
Index: packaging.zh.xml
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/packaging.zh.xml,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- packaging.zh.xml 9 Jun 2005 21:45:18 -0000 1.19
+++ packaging.zh.xml 23 Jun 2005 20:16:37 -0000 1.20
@@ -904,6 +904,82 @@
</chapter>
+<chapter filename="compilers">
+<title>Compilers</title>
+<shorttitle>Compilers</shorttitle>
+
+<section name="versions"><title>Compiler Versions</title>
+<p>Fink uses the gcc family of compilers, as provided by Apple computer
+through the Apple Developer Connection. As these compilers have evolved,
+there have been different fink "distributions" to cope with the changes.
+</p><p>
+Each distribution has had certain default values for the gcc and g++
+compilers, which any user compiling from source is expected to have
+installed. You can expect that direct calls to "gcc" and "g++" from
+within your package will use these default values. If you need to use
+a different value (for example, during a transition to a new distribution,
+your packages .info file must specify this using the versioned binaries
+provided by Apple. Exactly how you will do this depends on the build
+system of your software, but for many packages, the <code>SetCC</code>
+and <code>SetCXX</code> fink fields can be used for this puporse.
+For example, you might change the g++ compiler to version 3.3 by the setting
+<code>SetCXX: g++-3.3</code>. Examine the output when building your
+package to make sure that the correct compiler is being used.
+</p><p>
+The 10.1 distribution assumes that the compiler version is 2.95; the
+10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3
+and 10.3 distributions assume tha the compiler version is 3.3. The compiler
+for the 10.4-transitional distribution is complicated: g++-3.3 is being
+used along with gcc-4.0. This will change again in the 10.4 distribution,
+which will use both gcc-4.0 and g++-4.0.
+</p>
+<p>A new method was introduced for ensuring the correct g++ compiler starting
+with the 10.4-transitional distribution. During compilation, a directory
+<code>/sw/var/lib/fink/path-prefix-g++-XXX</code> (where XXX is the version
+number) is added to the PATH during compilation. This directory contains
+shell scripts which ensure that the correct version of g++ is used.
+</p>
+
+</section>
+<section name="abi"><title>The g++ ABI</title>
+<p>
+The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is
+different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs
+are not compatible with each other, and any libraries which use C++
+code and are linked to by your project must be compiled with the same
+ABI as the one currently being used.
+</p>
+<p>
+Fink keeps track of the g++ ABI by means of the GCC field. This field
+should be defined for any package which invokes the g++ or c++ compilers.
+(It should NOT be defined for packages which don't invoke those compilers.)
+Whenever an ABI upgrade occurs, all the dependencies of the packages must
+be checked for their own GCC field. When all of the dependencies have
+been upgraded, the package itself may be upgraded. The versions of the
+dependencies must be changed to guarantee that users will have the correct,
+updated, dependencies in place before they attempt to build the new version
+of your package.
+</p>
+<p>
+A small group of packages which depend only on each other can be left
+at the previous version of the ABI when the distribution changes, if they
+are not ready to be upgrade. When the upgrade is eventually done, they
+must be all upgraded together with the correct versioning on all the
+packages. For this reason, it is best to upgrade most packages at
+the time the distribution changes.
+</p>
+<p>
+Fink uses the GCC field to ensure that users have the correct version of
+the g++ compiler installed. If the GCC field is defined by the package,
+fink checks to see if the <code>gcc_select</code> command has been
+set to the correct current value. (This correct value is 3.3 for the 10.2
+and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The
+<code>gcc_select</code> command was not available prior to OS X 10.2.)
+</p>
+
+</section>
+
+</chapter>
<chapter filename="reference">
<title>æä½æå</title>
Index: packaging.ja.xml
===================================================================
RCS file: /cvsroot/fink/web/xml/packaging/packaging.ja.xml,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- packaging.ja.xml 9 Jun 2005 21:45:18 -0000 1.28
+++ packaging.ja.xml 23 Jun 2005 20:16:36 -0000 1.29
@@ -1207,6 +1207,83 @@
</p>
</section>
</chapter>
+<chapter filename="compilers">
+<title>Compilers</title>
+<shorttitle>Compilers</shorttitle>
+
+<section name="versions"><title>Compiler Versions</title>
+<p>Fink uses the gcc family of compilers, as provided by Apple computer
+through the Apple Developer Connection. As these compilers have evolved,
+there have been different fink "distributions" to cope with the changes.
+</p><p>
+Each distribution has had certain default values for the gcc and g++
+compilers, which any user compiling from source is expected to have
+installed. You can expect that direct calls to "gcc" and "g++" from
+within your package will use these default values. If you need to use
+a different value (for example, during a transition to a new distribution,
+your packages .info file must specify this using the versioned binaries
+provided by Apple. Exactly how you will do this depends on the build
+system of your software, but for many packages, the <code>SetCC</code>
+and <code>SetCXX</code> fink fields can be used for this puporse.
+For example, you might change the g++ compiler to version 3.3 by the setting
+<code>SetCXX: g++-3.3</code>. Examine the output when building your
+package to make sure that the correct compiler is being used.
+</p><p>
+The 10.1 distribution assumes that the compiler version is 2.95; the
+10.2 distribution assumes that the compiler version is 3.1; the 10.2-gcc3.3
+and 10.3 distributions assume tha the compiler version is 3.3. The compiler
+for the 10.4-transitional distribution is complicated: g++-3.3 is being
+used along with gcc-4.0. This will change again in the 10.4 distribution,
+which will use both gcc-4.0 and g++-4.0.
+</p>
+<p>A new method was introduced for ensuring the correct g++ compiler starting
+with the 10.4-transitional distribution. During compilation, a directory
+<code>/sw/var/lib/fink/path-prefix-g++-XXX</code> (where XXX is the version
+number) is added to the PATH during compilation. This directory contains
+shell scripts which ensure that the correct version of g++ is used.
+</p>
+
+</section>
+<section name="abi"><title>The g++ ABI</title>
+<p>
+The g++ ABI has changed 3 times during the lifetime of OS X: the ABI is
+different for versions 2.95, 3.1, 3.3 and 4.0. These different ABIs
+are not compatible with each other, and any libraries which use C++
+code and are linked to by your project must be compiled with the same
+ABI as the one currently being used.
+</p>
+<p>
+Fink keeps track of the g++ ABI by means of the GCC field. This field
+should be defined for any package which invokes the g++ or c++ compilers.
+(It should NOT be defined for packages which don't invoke those compilers.)
+Whenever an ABI upgrade occurs, all the dependencies of the packages must
+be checked for their own GCC field. When all of the dependencies have
+been upgraded, the package itself may be upgraded. The versions of the
+dependencies must be changed to guarantee that users will have the correct,
+updated, dependencies in place before they attempt to build the new version
+of your package.
+</p>
+<p>
+A small group of packages which depend only on each other can be left
+at the previous version of the ABI when the distribution changes, if they
+are not ready to be upgrade. When the upgrade is eventually done, they
+must be all upgraded together with the correct versioning on all the
+packages. For this reason, it is best to upgrade most packages at
+the time the distribution changes.
+</p>
+<p>
+Fink uses the GCC field to ensure that users have the correct version of
+the g++ compiler installed. If the GCC field is defined by the package,
+fink checks to see if the <code>gcc_select</code> command has been
+set to the correct current value. (This correct value is 3.3 for the 10.2
+and 10.3 versions of OS X, and 4.0 for the 10.4 version of OS X. The
+<code>gcc_select</code> command was not available prior to OS X 10.2.)
+</p>
+
+</section>
+
+</chapter>
+
<chapter filename="reference">
<title>ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«</title>
<shorttitle>ãªãã¡ã¬ã³ã¹</shorttitle>
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Fink-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-commits