blob: a2a5b2f2cc008baeb424a695706047686de6a24a [file] [log] [blame]
Andrew Hsieh3601d6f2013-06-18 12:24:28 -07001#!/usr/bin/env sh
2
3exit_with_usage ()
4{
5 echo "Usage: $0 [ignored.py] --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir"
6 exit 1
7}
8
9case "$1" in
10 *.py)
11 shift
12 ;;
13esac
14
15if [ "$1" = "" ] ; then
16 exit_with_usage
17fi
18
19# Returns the actual prefix where this script was installed to.
20installed_prefix ()
21{
22 local RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
23 local READLINK=readlink
24 if [ "$(uname -s)" = "Darwin" ] ; then
25 # readlink in darwin can't handle -f. Use greadlink from MacPorts instead.
26 READLINK=greadlink
27 fi
28 if [ $(which $READLINK) ] ; then
29 RESULT=$($READLINK -f "$RESULT")
30 fi
31 echo $RESULT
32}
33
Elliott Hughes2f2ac652015-07-14 16:17:01 -070034prefix_build="$TMPDIR/buildhost/install/prebuilt/linux-x86"
Andrew Hsieh3601d6f2013-06-18 12:24:28 -070035prefix_real=$(installed_prefix "$0")
36
37# Use sed to fix paths from their built to locations to their installed to locations.
38prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
39exec_prefix_build="${prefix}"
40exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
41includedir=$(echo "${prefix}/include" | sed "s#$prefix_build#$prefix_real#")
42libdir=$(echo "${exec_prefix}/lib" | sed "s#$prefix_build#$prefix_real#")
43CFLAGS=$(echo "-O2 -Os -fomit-frame-pointer -s" | sed "s#$prefix_build#$prefix_real#")
44VERSION="2.7"
45LIBM="-lm"
46LIBC=""
47SYSLIBS="$LIBM $LIBC"
48ABIFLAGS="@ABIFLAGS@"
49# Protect against lack of substitution.
50if [ "$ABIFLAGS" = "@ABIFLAGS@" ] ; then
51 ABIFLAGS=
52fi
Andrew Hsiehd8276262013-10-18 14:22:54 +080053LIBS="-lpthread -ldl -lpthread -lutil $SYSLIBS -lpython${VERSION}${ABIFLAGS}"
Andrew Hsieh3601d6f2013-06-18 12:24:28 -070054BASECFLAGS=" -fno-strict-aliasing"
55LDLIBRARY="libpython${VERSION}.a"
56LINKFORSHARED="-Xlinker -export-dynamic"
Andrew Hsiehd8276262013-10-18 14:22:54 +080057OPT="-DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes"
Andrew Hsieh3601d6f2013-06-18 12:24:28 -070058PY_ENABLE_SHARED="0"
59DLLLIBRARY=""
60LIBDEST=${prefix}/lib/python${VERSION}
61LIBPL=${LIBDEST}/config
62SO=".so"
63PYTHONFRAMEWORK=""
64INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}"
65PLATINCDIR="-I$includedir/python${VERSION}${ABIFLAGS}"
66
67# Scan for --help or unknown argument.
68for ARG in $*
69do
70 case $ARG in
71 --help)
72 exit_with_usage
73 ;;
74 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags)
75 ;;
76 *)
77 exit_with_usage
78 ;;
79 esac
80done
81
82for ARG in $*
83do
84 case $ARG in
85 --prefix)
86 echo "$prefix"
87 ;;
88 --exec-prefix)
89 echo "$exec_prefix"
90 ;;
91 --includes)
92 echo "$INCDIR"
93 ;;
94 --cflags)
95 echo "$INCDIR $BASECFLAGS $CFLAGS $OPT"
96 ;;
97 --libs)
98 echo "$LIBS"
99 ;;
100 --ldflags)
101 LINKFORSHAREDUSED=
102 if [ -z "$PYTHONFRAMEWORK" ] ; then
103 LINKFORSHAREDUSED=$LINKFORSHARED
104 fi
105 LIBPLUSED=
106 if [ "$PY_ENABLE_SHARED" = "0" -o -n "${DLLLIBRARY}" ] ; then
107 LIBPLUSED="-L$LIBPL"
108 fi
109 echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED"
110 ;;
111esac
112done