patches/Python-02-pycc.diff
author laca
Mon, 31 Oct 2005 03:22:11 +0000
changeset 6215 2653e6560475
child 6252 847e00ae80d8
permissions -rw-r--r--
2005-10-30 Laszlo Peter <[email protected]> * ORBit2.spec: remove orbit2-config from the 64-bit bindir * glib2.spec: remove glib scripts from 64-bit bindir * libIDL.spec: remove libIDL-config-2 from 64-bit bindir * libbonobo.spec: remove bonobo-slay from 64-bit bindir * patches/Python-01-solaris-lib-dirs.diff: update * patches/Python-02-pycc.diff: new. contains the pycc script * patches/Python233-01-solaris-lib-dirs.diff: new. Port of Python-01 to 2.3.3 * pyxml.spec: remove %build section, unnecessary and wrong
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6215
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     1
--- /dev/null	2005-10-30 15:16:12.000000000 -0500
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     2
+++ python/pycc	2005-10-30 14:29:54.542131000 -0500
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     3
@@ -0,0 +1,106 @@
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     4
+#!/bin/ksh
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     5
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     6
+# Script for running the C/C++ compiler when building python modules
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     7
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     8
+# CDDL HEADER START
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
     9
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    10
+# The contents of this file are subject to the terms of the
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    11
+# Common Development and Distribution License, Version 1.0 only
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    12
+# (the "License").  You may not use this file except in compliance
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    13
+# with the License.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    14
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    15
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    16
+# or http://www.opensolaris.org/os/licensing.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    17
+# See the License for the specific language governing permissions
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    18
+# and limitations under the License.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    19
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    20
+# When distributing Covered Code, include this CDDL HEADER in each
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    21
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    22
+# If applicable, add the following below this CDDL HEADER, with the
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    23
+# fields enclosed by brackets "[]" replaced with your own identifying
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    24
+# information: Portions Copyright [yyyy] [name of copyright owner]
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    25
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    26
+# CDDL HEADER END
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    27
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    28
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    29
+# Copyright 2004-2005 Sun Microsystems, Inc.  All rights reserved.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    30
+# Use is subject to license terms.
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    31
+#
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    32
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    33
+MYNAME=`basename $0`
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    34
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    35
+# name of the compiler executable
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    36
+CCEXE='cc'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    37
+# name of the GNU compiler executable
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    38
+GCCEXE='gcc'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    39
+# name of the programming language
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    40
+CLANG='C'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    41
+# name of the env variable for setting the compiler path
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    42
+CVAR='CC'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    43
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    44
+if [ "x$MYNAME" = xpyCC ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    45
+    CCEXE='CC'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    46
+    GCCEXE='g++'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    47
+    CLANG='C++'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    48
+    CC="$CXX"
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    49
+    CVAR='CXX'
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    50
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    51
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    52
+# check if the CC env variable is set
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    53
+if [ "x$CC" != x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    54
+    # check if $CC exists
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    55
+    if [ ! -e "$CC" ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    56
+	echo "WARNING: pycc: $CC not found" 1>&2
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    57
+	CC=
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    58
+    else
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    59
+        # check if $CC is an executable
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    60
+	if [ ! -x "$CC" -o ! -f "$CC" ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    61
+	    echo "WARNING: pycc: $CC is not an executable" 1>&2
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    62
+	    CC=
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    63
+	fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    64
+    fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    65
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    66
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    67
+if [ "x$CC" == x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    68
+    # Look for the Sun Studio compiler in the PATH
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    69
+    IFS=:
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    70
+    for dir in $PATH; do
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    71
+	if [ -x "$dir/$CCEXE" ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    72
+	    CC="$dir/$CCEXE"
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    73
+	    break
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    74
+	fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    75
+    done
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    76
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    77
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    78
+if [ "x$CC" == x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    79
+    # Look for gcc in the PATH
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    80
+    IFS=:
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    81
+    for dir in $PATH; do
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    82
+	if [ -x "$dir/$GCCEXE" ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    83
+	    CC="$dir/$GCCEXE"
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    84
+	    break
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    85
+	fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    86
+    done
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    87
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    88
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    89
+if [ "x$CC" == x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    90
+    # Check for Sun Studio in /opt/SUNWspro (default install location)
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    91
+    if [ -x /opt/SUNWspro/bin/$CCEXE ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    92
+	CC=/opt/SUNWspro/bin/$CCEXE
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    93
+    fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    94
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    95
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    96
+if [ "x$CC" == x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    97
+    # Check for the GNU compiler in /usr/sfw/bin
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    98
+    if [ -x /usr/sfw/bin/$GCCEXE ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
    99
+	CC=/usr/sfw/bin/$GCCEXE
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   100
+    fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   101
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   102
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   103
+if [ "x$CC" == x ]; then
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   104
+    # Cannot continue without a C compiler
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   105
+    echo "ERROR: no $CLANG compiler not found; update your PATH or set the $CVAR env variable" 1>&2
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   106
+    exit 1
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   107
+fi
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   108
+
2653e6560475 2005-10-30 Laszlo Peter <[email protected]>
laca
parents:
diff changeset
   109
+exec "$CC" "${@}"