symbian-qemu-0.9.1-12/python-2.6.1/Modules/ld_so_beos
author Gareth Stockwell <gareth.stockwell@accenture.com>
Wed, 22 Sep 2010 15:40:40 +0100
branchgraphics-phase-3
changeset 111 345f1c88c950
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Fixes to syborg-graphicswrapper.vcproj These changes allow syborg-graphicswrapper to link against the hostthreadadapter and khronosapiwrapper libraries built by the graphics.simulator component. The .vcproj file uses relative paths, which requires that the following three packages are laid out as follows: os/ graphics adapt/ graphics.simulator qemu

#! /bin/sh
#
# linkmodule for Python
# Chris Herborth (chrish@qnx.com)
#
# This is covered by the same copyright/licensing terms as the rest of
# Python.
#
# Shell script to build shared library versions of the modules; since
# the change to the *ahem* "proper" import/export mechanism, this script
# is much simpler.  It handles PowerPC and x86, too.
#
# This is called by the Modules/Makefile as $(LDSHARED):
#
# $(LDSHARED) foomodule.o -o foomodule$(SO)
#
# Could also be called as:
#
# $(LDSHARED)  readline.o  -L/boot/home/config/lib -lreadline -ltermcap \
# -o readline$(SO)
#
# so we need to preserve the arguments, sort of.

# Make sure we got reasonable arguments.
TARGET=""
ARGS=""

while [ "$#" != "0" ]; do
	case "$1" in
		-o)	TARGET="$2"; shift; shift;;
		*)	ARGS="$ARGS $1"; shift;;
	esac
done

if [ "$TARGET" = "" ] ; then
	echo "Usage:"
	echo
	echo "	$0 [args] -o foomodule.so [args] foomodule.o [args]"
	echo
	echo "Where:"
	echo
	echo "	[args]	normal compiler arguments"
	exit 1
fi

# The shared libraries and glue objects we need to link against; these
# libs are overkill for most of the standard modules, but it makes life
# in this shell script easier.
LIBS="-lbe -lnet -lroot"

case $BE_HOST_CPU in
	ppc)
		# Boy, do we need a lot of crap...
		GLUE_LOC=/boot/develop/lib/ppc
		GLUE="${GLUE_LOC}/glue-noinit.a ${GLUE_LOC}/init_term_dyn.o"
		case $(uname -r) in
			4.0*) CC="mwcc -xms -export pragma -nodup" ;;
			*) CC="mwcc -shared -export pragma -nodup" ;;
		esac
		;;

	x86)
		# We don't need as much crap here...
		GLUE=""
		CC="gcc -nostart -Wl,-soname=${TARGET}"
		;;

	*)
		# What the?!?
		echo "$0 doesn't support $BE_HOST_CPU systems..."
		echo "You're on your own... I'd be surprised if this works."
		GLUE=""
		CC="cc"
		;;
esac

# Now link that shared lib...
$CC -o $TARGET $ARGS $GLUE $LIBS