]> granicus.if.org Git - python/commitdiff
Merged revisions 75131 via svnmerge from
authorRonald Oussoren <ronaldoussoren@mac.com>
Tue, 29 Sep 2009 13:01:59 +0000 (13:01 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Tue, 29 Sep 2009 13:01:59 +0000 (13:01 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75131 | ronald.oussoren | 2009-09-29 15:00:44 +0200 (Tue, 29 Sep 2009) | 8 lines

  * Update the Mac/README file. Add the list of OSX-specific configure options
    to that README file with some explanation.

  * Be more strict in the configure script: complain loudly when the user has
    specified invalid combinations of OSX-specific configure arguments.

    The error message refers to the Mac/README file for more information.
........

Mac/README
configure
configure.in

index 5e74d7bde37856b14de6f598ef797aebf74dd6f8..c4f6b655fbeaaadeac63c874443140bf400d0c7c 100644 (file)
@@ -5,6 +5,39 @@ MacOSX Notes
 This document provides a quick overview of some Mac OS X specific features in
 the Python distribution.
 
+Mac-specific arguments to configure
+===================================
+
+* ``--enable-framework``
+
+  If this argument is specified the build will create a Python.framework rather
+  than a traditional Unix install. See the section
+  _`Building and using a framework-based Python on Mac OS X` for more 
+  information on frameworks.
+
+* ``--with-framework-name=NAME``
+
+  Specify the name for the python framework, defaults to ``Python``. This option
+  is only valid when ``--enable-framework`` is specified.
+
+* ``--enable-universalsdk[=PATH]``
+
+  Create a universal binary build of of Python. This can be used with both
+  regular and framework builds.
+
+  The optional argument specifies with OSX SDK should be used to perform the
+  build. This defaults to ``/Developer/SDKs/MacOSX.10.4u.sdk``, specify 
+  ``/`` when building on a 10.5 system, especially when building 64-bit code.
+
+  See the section _`Building and using a universal binary of Python on Mac OS X`
+  for more information.
+
+* ``--with-univeral-archs=VALUE``
+
+  Specify the kind of universal binary that should be created. This option is 
+  only valid when ``--enable-universalsdk`` is specified.
+
+  
 
 Building and using a universal binary of Python on Mac OS X
 ===========================================================
@@ -31,6 +64,34 @@ unix build. Either way you will have to build python on Mac OS X 10.4 (or later)
 with Xcode 2.1 (or later). You also have to install the 10.4u SDK when 
 installing Xcode.
 
+The option ``--enable-universalsdk`` has an optional argument to specify an
+SDK, which defaults to the 10.4u SDK. When you build on OSX 10.5 or later 
+you can use the system headers instead of an SDK::
+
+  $ ./configure --enable-universalsdk=/
+
+2.1 Flavours of universal binaries
+..................................
+
+It is possible to build a number of flavours of the universal binary build,
+the default is a 32-bit only binary (i386 and ppc). The flavour can be
+specified using the option ``--with-universal-archs=VALUE``. The following
+values are available:
+
+  * ``32-bit``:   ``ppc``, ``i386``
+
+  * ``64-bit``:   ``ppc64``, ``x86_64``
+
+  * ``all``:      ``ppc``, ``ppc64``, ``i386``, ``x86_64``
+
+  * ``3-way``:   ``ppc``, ``i386`` and ``x86_64``
+
+  * ``intel``:   ``i386``, ``x86_64``
+
+To build a universal binary that includes a 64-bit architecture you must build
+on a system running OSX 10.5 or later. The ``all`` flavour can only be build on
+OSX 10.5.
+
 
 Building and using a framework-based Python on Mac OS X.
 ========================================================
@@ -81,18 +142,20 @@ inside the Python.framework, and unix tools "python" and "pythonw" into
 the relevant portions of the Mac subtree into the Python.framework.
 
 It is normally invoked indirectly through the main Makefile, as the last step
-in the sequence
-
- 1. ./configure --enable-framework
+in the sequence::
 
- 2. make
3. make install
+ $ ./configure --enable-framework
+ $ make
$ make install
 
 This sequence will put the framework in /Library/Framework/Python.framework,
 the applications in "/Applications/MacPython 2.6" and the unix tools in 
 /usr/local/bin.
 
+It is possible to select a different name for the framework using the configure 
+option ``--with-framework-name=NAME``. This makes it possible to have several
+parallel installs of a Python framework.
+
 Installing in another place, for instance $HOME/Library/Frameworks if you have
 no admin privileges on your machine, has only been tested very lightly. This
 can be done by configuring with --enable-framework=$HOME/Library/Frameworks.
@@ -101,14 +164,6 @@ will then also be deposited in $HOME. This is sub-optimal for the unix tools,
 which you would want in $HOME/bin, but there is no easy way to fix this right 
 now.
 
-If you want to install some part, but not all, read the main Makefile. The
-frameworkinstall is composed of a couple of sub-targets that install the
-framework itself, the Mac subtree, the applications and the unix tools.
-
-There is an extra target frameworkinstallextras that is not part of the
-normal frameworkinstall which installs the Demo and Tools directories
-into "/Applications/MacPython 2.6", this is useful for binary distributions.
-
 What do all these programs do?
 ===============================
 
index f58fde44b6cb950b4c03c61f241278d6a3df7bbb..348cd9166a24e38a0e0b3ef42aa4c2816626d422 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 74712 .
+# From configure.in Revision: 74982 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for python 2.6.
 #
@@ -1910,6 +1910,13 @@ if test "${with_universal_archs+set}" = set; then
        { echo "$as_me:$LINENO: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6; }
        UNIVERSAL_ARCHS="$withval"
+        if test "${enable_universalsdk}" ; then
+               :
+       else
+               { { echo "$as_me:$LINENO: error: --with-universal-archs without --enable-universalsdk. See Mac/README" >&5
+echo "$as_me: error: --with-universal-archs without --enable-universalsdk. See Mac/README" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
 
 else
 
@@ -1925,6 +1932,13 @@ fi
 # Check whether --with-framework-name was given.
 if test "${with_framework_name+set}" = set; then
   withval=$with_framework_name;
+    if test "${enable_framework}"; then
+           :
+    else
+       { { echo "$as_me:$LINENO: error: --with-framework-name without --enable-framework. See Mac/README" >&5
+echo "$as_me: error: --with-framework-name without --enable-framework. See Mac/README" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
     PYTHONFRAMEWORK=${withval}
     PYTHONFRAMEWORKDIR=${withval}.framework
     PYTHONFRAMEWORKIDENTIFIER=org.python.`echo $withval | tr 'A-Z' 'a-z'`
@@ -13069,8 +13083,8 @@ _ACEOF
 echo "${ECHO_T}yes" >&6; }
        if test $enable_shared = "yes"
        then
-               { { echo "$as_me:$LINENO: error: Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead" >&5
-echo "$as_me: error: Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead" >&2;}
+               { { echo "$as_me:$LINENO: error: Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead. See Mac/README." >&5
+echo "$as_me: error: Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead. See Mac/README." >&2;}
    { (exit 1); exit 1; }; }
        fi
 else
index 277edc7b6b8d9e247e8afe230bb6a755f67c8bc6..cec970547e945ffdd400b8eeb7bdfa21a5621c6c 100644 (file)
@@ -101,6 +101,11 @@ AC_ARG_WITH(universal-archs,
 [
        AC_MSG_RESULT($withval)
        UNIVERSAL_ARCHS="$withval"
+        if test "${enable_universalsdk}" ; then
+               :
+       else
+               AC_MSG_ERROR([--with-universal-archs without --enable-universalsdk. See Mac/README])
+       fi
 ],
 [
        AC_MSG_RESULT(32-bit)
@@ -112,6 +117,11 @@ AC_ARG_WITH(framework-name,
               AC_HELP_STRING(--with-framework-name=FRAMEWORK, 
                              specify an alternate name of the framework built with --enable-framework),
 [
+    if test "${enable_framework}"; then
+           :
+    else
+       AC_MSG_ERROR([--with-framework-name without --enable-framework. See Mac/README])
+    fi
     PYTHONFRAMEWORK=${withval}
     PYTHONFRAMEWORKDIR=${withval}.framework
     PYTHONFRAMEWORKIDENTIFIER=org.python.`echo $withval | tr '[A-Z]' '[a-z]'`
@@ -1626,7 +1636,7 @@ then
        AC_MSG_RESULT(yes)
        if test $enable_shared = "yes"
        then
-               AC_MSG_ERROR([Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead])
+               AC_MSG_ERROR([Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead. See Mac/README.])
        fi
 else
        AC_MSG_RESULT(no)