Basic support for runtime in shared library.

Needs to be built with runtime/build-sharedlibs.sh and activated manually by
providing -defaultlib=llvmdc-runtime-shared -defaultlib=tango-cc-tango-shared
-defaultlib=tango-gc-basic-shared on llvmdc call at the moment.

To support D shared libraries in non-D code, we need to remove the main() from
libllvmdc-runtime-shared.
This commit is contained in:
Christian Kamm
2008-09-05 23:02:18 +02:00
parent a27b5c5684
commit 2f2987371f
7 changed files with 77 additions and 12 deletions

24
runtime/build-sharedlibs.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/bash
# I'm no good bash scripter ...
# copy imports
mkdir -p ../tango/llvmdc
cp internal/llvmdc/bitmanip.d ../tango/llvmdc/bitmanip.di
cp internal/llvmdc/vararg.d ../tango/llvmdc/vararg.di
cp import/llvmdc/* ../tango/llvmdc
# make the runtime
cp -R lib ../tango
cd ../tango/lib
make -f llvmdc-posix.mak clean
make -f llvmdc-posix.mak sharedlib
cd ../..
# install the runtime
rm -f lib/libllvmdc-runtime-shared.so
cp runtime/internal/libllvmdc-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