components/python/python27/Makefile
changeset 458 2edc011b559e
child 578 4f51372decaf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python27/Makefile	Thu Aug 04 19:59:04 2011 -0700
@@ -0,0 +1,99 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+
+#
+include ../../../make-rules/shared-macros.mk
+
+PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
+
+COMPONENT_NAME=		Python
+COMPONENT_VERSION=	2.7.1
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.bz2
+COMPONENT_ARCHIVE_HASH=	sha1:fbe1894322ff91b80726e269c97454f4129fc2a3
+COMPONENT_ARCHIVE_URL=	http://python.org/ftp/python/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
+
+include $(WS_TOP)/make-rules/prep.mk
+include $(WS_TOP)/make-rules/configure.mk
+include $(WS_TOP)/make-rules/ips.mk
+
+# We patch auto* files, so regenerate headers and configure
+COMPONENT_PREP_ACTION = \
+	(cd $(@D) ; autoheader ; autoconf)
+
+# to find the ncurses headers
+CPPFLAGS +=	-I/usr/include/ncurses
+
+# libffi for _ctypes
+CPPFLAGS +=	$(shell pkg-config --cflags-only-I libffi)
+
+# because python links with $(CC) ... $(LDFLAGS) ...
+LDFLAGS =	$(CC_BITS) $(CC_PIC)
+
+# build pic
+CFLAGS +=	$(CC_PIC)
+
+# add /usr/gnu/lib to the library search/run path
+LDFLAGS.32 = -R/usr/gnu/lib -L/usr/gnu/lib
+LDFLAGS.64 = -R/usr/gnu/lib/$(MACH64) -L/usr/gnu/lib/$(MACH64)
+LDFLAGS += $(LDFLAGS.$(BITS))
+
+CONFIGURE_OPTIONS  +=		--infodir=$(CONFIGURE_INFODIR)
+CONFIGURE_OPTIONS  +=		--enable-shared
+CONFIGURE_OPTIONS  +=		--with-system-expat
+CONFIGURE_OPTIONS  +=		--with-system-ffi
+CONFIGURE_OPTIONS  +=		--without-gcc
+CONFIGURE_OPTIONS  +=		--enable-ipv6
+CONFIGURE_OPTIONS  +=		ac_cv_opt_olimit_ok=no
+CONFIGURE_OPTIONS  +=		ac_cv_olimit_ok=no
+CONFIGURE_OPTIONS  +=		CPPFLAGS="$(CPPFLAGS)"
+CONFIGURE_OPTIONS  +=		BASECFLAGS="$(CFLAGS)"
+CONFIGURE_OPTIONS  +=		LDFLAGS="$(LDFLAGS)"
+CONFIGURE_OPTIONS  +=		DFLAGS="-$(BITS)"
+
+COMPONENT_BUILD_ENV  +=		DFLAGS="-$(BITS)"
+
+# patches/00-bits.patch removes some AC_CHECK_SIZEOF tests in order to
+# generate a pyconfig.h that is both 32 and 64 bit compatible.  We add this
+# back to the environment so that configure can still work.  configure.in and
+# pyconfig.h.in should probably be rewhacked to do this more cleanly in the
+# future.
+CONFIGURE_OPTIONS.32  +=	ac_cv_sizeof_long=4
+CONFIGURE_OPTIONS.64  +=	ac_cv_sizeof_long=8
+
+# 64 bit shared objects need to go in a 64-bit directory
+COMPONENT_INSTALL_ARGS.64 += DESTSHARED=$(CONFIGURE_PREFIX)/lib/python2.7/lib-dynload
+
+# common targets
+build:		$(BUILD_32_and_64)
+
+$(INSTALL_32):	$(INSTALL_64)
+
+install:	$(INSTALL_32_and_64)
+
+COMPONENT_TEST_TARGETS = test
+
+test:	$(TEST_32_and_64)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
+
+include $(WS_TOP)/make-rules/depend.mk