[Python-checkins] r80648 - in python/branches/py3k: Mac/Makefile.in Mac/PythonLauncher/Makefile.in Mac/README Misc/NEWS configure configure.in
ronald.oussoren
python-checkins at python.org
Fri Apr 30 13:41:57 CEST 2010
Author: ronald.oussoren
Date: Fri Apr 30 13:41:56 2010
New Revision: 80648
Log:
Merged revisions 80647 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80647 | ronald.oussoren | 2010-04-30 13:20:14 +0200 (Fri, 30 Apr 2010) | 11 lines
Fix for issue #3646: with this patch it is possible to do a
framework install of Python in your home directory (on OSX):
$ configure --enable-framework=${HOME}/Library/Frameworks
$ make && make install
Without this patch the framework would get installed just fine,
but 'make install' would try to install the application bundles
and command-line tools outside the user's home, which doesn't work
for non-admin users (and is bad form anyway).
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Mac/Makefile.in
python/branches/py3k/Mac/PythonLauncher/Makefile.in
python/branches/py3k/Mac/README
python/branches/py3k/Misc/NEWS
python/branches/py3k/configure
python/branches/py3k/configure.in
Modified: python/branches/py3k/Mac/Makefile.in
==============================================================================
--- python/branches/py3k/Mac/Makefile.in (original)
+++ python/branches/py3k/Mac/Makefile.in Fri Apr 30 13:41:56 2010
@@ -24,7 +24,7 @@
# These are normally glimpsed from the previous set
bindir=$(prefix)/bin
-PYTHONAPPSDIR=/Applications/$(PYTHONFRAMEWORK) $(VERSION)
+PYTHONAPPSDIR=@FRAMEWORKINSTALLAPPSPREFIX@/$(PYTHONFRAMEWORK) $(VERSION)
APPINSTALLDIR=$(prefix)/Resources/Python.app
# Variables for installing the "normal" unix binaries
Modified: python/branches/py3k/Mac/PythonLauncher/Makefile.in
==============================================================================
--- python/branches/py3k/Mac/PythonLauncher/Makefile.in (original)
+++ python/branches/py3k/Mac/PythonLauncher/Makefile.in Fri Apr 30 13:41:56 2010
@@ -21,7 +21,7 @@
BUNDLEBULDER=$(srcdir)/../Tools/bundlebuilder.py
-PYTHONAPPSDIR=/Applications/$(PYTHONFRAMEWORK) $(VERSION)
+PYTHONAPPSDIR=@FRAMEWORKINSTALLAPPSPREFIX@/$(PYTHONFRAMEWORK) $(VERSION)
OBJECTS=FileSettings.o MyAppDelegate.o MyDocument.o PreferencesWindowController.o doscript.o main.o
install: Python\ Launcher.app
Modified: python/branches/py3k/Mac/README
==============================================================================
--- python/branches/py3k/Mac/README (original)
+++ python/branches/py3k/Mac/README Fri Apr 30 13:41:56 2010
@@ -5,13 +5,24 @@
This document provides a quick overview of some Mac OS X specific features in
the Python distribution.
-* ``--enable-framework``
+* ``--enable-framework[=DIR]``
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.
+ If the optional directory argument is specified the framework it installed
+ into that directory. This can be used to install a python framework into
+ your home directory::
+
+ $ configure --enable-framework=/Users/ronald/Library/Frameworks
+ $ make && make install
+
+ This will install the framework itself in ``/Users/ronald/Library/Frameworks``,
+ the applications in a subdirectory of ``/Users/ronald/Applications`` and the
+ command-line tools in ``/Users/ronald/bin``.
+
* ``--with-framework-name=NAME``
Specify the name for the python framework, defaults to ``Python``. This option
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Fri Apr 30 13:41:56 2010
@@ -1109,6 +1109,9 @@
Build
-----
+- Issue #3646: It is now easily possible to install a Python framework into
+ your home directory on MacOSX, see Mac/README for more information.
+
- Issue #3928: os.mknod() now available in Solaris, also.
- Issue #3326: Build Python without -fno-strict-aliasing when the gcc does not
Modified: python/branches/py3k/configure
==============================================================================
--- python/branches/py3k/configure (original)
+++ python/branches/py3k/configure Fri Apr 30 13:41:56 2010
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 80481 .
+# From configure.in Revision: 80576 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for python 3.2.
#
@@ -664,6 +664,7 @@
CONFIGURE_MACOSX_DEPLOYMENT_TARGET
SGI_ABI
MACHDEP
+FRAMEWORKINSTALLAPPSPREFIX
FRAMEWORKUNIXTOOLSPREFIX
FRAMEWORKALTINSTALLLAST
FRAMEWORKALTINSTALLFIRST
@@ -2849,18 +2850,55 @@
enable_framework=
;;
*)
- PYTHONFRAMEWORKPREFIX=$enableval
+ PYTHONFRAMEWORKPREFIX="${enableval}"
PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR
FRAMEWORKINSTALLFIRST="frameworkinstallstructure"
FRAMEWORKALTINSTALLFIRST="frameworkinstallstructure "
FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools"
FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools"
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
if test "x${prefix}" = "xNONE" ; then
FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}"
+
else
FRAMEWORKUNIXTOOLSPREFIX="${prefix}"
fi
+
+ case "${enableval}" in
+ /System*)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ if test "${prefix}" = "NONE" ; then
+ # See below
+ FRAMEWORKUNIXTOOLSPREFIX="/usr"
+ fi
+ ;;
+
+ /Library*)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ ;;
+
+ */Library/Frameworks)
+ MDIR="`dirname "${enableval}"`"
+ MDIR="`dirname "${MDIR}"`"
+ FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications"
+
+ if test "${prefix}" = "NONE"; then
+ # User hasn't specified the
+ # --prefix option, but wants to install
+ # the framework in a non-default location,
+ # ensure that the compatibility links get
+ # installed relative to that prefix as well
+ # instead of in /usr/local.
+ FRAMEWORKUNIXTOOLSPREFIX="${MDIR}"
+ fi
+ ;;
+
+ *)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ ;;
+ esac
+
prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION
# Add files for Mac specific code to the list of output
@@ -2906,6 +2944,7 @@
+
##AC_ARG_WITH(dyld,
## AS_HELP_STRING([--with-dyld],
## [Use (OpenStep|Rhapsody) dynamic linker]))
Modified: python/branches/py3k/configure.in
==============================================================================
--- python/branches/py3k/configure.in (original)
+++ python/branches/py3k/configure.in Fri Apr 30 13:41:56 2010
@@ -179,18 +179,55 @@
enable_framework=
;;
*)
- PYTHONFRAMEWORKPREFIX=$enableval
+ PYTHONFRAMEWORKPREFIX="${enableval}"
PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR
FRAMEWORKINSTALLFIRST="frameworkinstallstructure"
FRAMEWORKALTINSTALLFIRST="frameworkinstallstructure "
FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools"
FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools"
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
if test "x${prefix}" = "xNONE" ; then
FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}"
+
else
FRAMEWORKUNIXTOOLSPREFIX="${prefix}"
fi
+
+ case "${enableval}" in
+ /System*)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ if test "${prefix}" = "NONE" ; then
+ # See below
+ FRAMEWORKUNIXTOOLSPREFIX="/usr"
+ fi
+ ;;
+
+ /Library*)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ ;;
+
+ */Library/Frameworks)
+ MDIR="`dirname "${enableval}"`"
+ MDIR="`dirname "${MDIR}"`"
+ FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications"
+
+ if test "${prefix}" = "NONE"; then
+ # User hasn't specified the
+ # --prefix option, but wants to install
+ # the framework in a non-default location,
+ # ensure that the compatibility links get
+ # installed relative to that prefix as well
+ # instead of in /usr/local.
+ FRAMEWORKUNIXTOOLSPREFIX="${MDIR}"
+ fi
+ ;;
+
+ *)
+ FRAMEWORKINSTALLAPPSPREFIX="/Applications"
+ ;;
+ esac
+
prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION
# Add files for Mac specific code to the list of output
@@ -227,6 +264,7 @@
AC_SUBST(FRAMEWORKALTINSTALLFIRST)
AC_SUBST(FRAMEWORKALTINSTALLLAST)
AC_SUBST(FRAMEWORKUNIXTOOLSPREFIX)
+AC_SUBST(FRAMEWORKINSTALLAPPSPREFIX)
##AC_ARG_WITH(dyld,
## AS_HELP_STRING([--with-dyld],
More information about the Python-checkins
mailing list