view runtime/build-sharedlibs.sh @ 1317:4099548c80e0

Allocate objects on the stack if they (a) don't have a destructor, and (b) don't override the delete operator (on top of the regular conditions for stack allocation that also apply to arrays, structs, etc.). The "no destructor" clause is not strictly necessary, but calling them at the right time would be tricky to say the least; it would involve, among other things, "manually" inserting a try-finally block around anything that might throw exceptions not caught in the current function. Note: objects with custom new operators are automatically ignored because they don't use the regular allocation runtime call, so there's no need to pay special attention to them.
author Frits van Bommel <fvbommel wxs.nl>
date Sat, 09 May 2009 00:50:15 +0200
parents 6aaa3d3c1183
children
line wrap: on
line source

#!/bin/bash

# I'm no good bash scripter ...

# copy imports
mkdir -p ../tango/ldc
cp internal/ldc/bitmanip.d ../tango/ldc/bitmanip.di
cp internal/ldc/vararg.d ../tango/ldc/vararg.di
cp import/ldc/* ../tango/ldc

# make the runtime
cp -R lib ../tango
cd ../tango/lib
make -f ldc-posix.mak clean
make -f ldc-posix.mak sharedlib
cd ../..

# install the runtime
rm -f lib/libldc-runtime-shared.so
cp runtime/internal/libldc-runtime-shared.so lib
rm -f lib/libtango-gc-basic-shared.so
cp tango/lib/gc/basic/libtango-gc-basic-shared.so lib
rm -f lib/libtango-cc-tango-shared.so
cp tango/lib/common/tango/libtango-cc-tango-shared.so lib