Mercurial > projects > ldc
annotate runtime/build-sharedlibs.sh @ 579:20c065c46b38
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.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 05 Sep 2008 23:02:18 +0200 |
parents | runtime/build.sh@926a03711ca8 |
children | 6aaa3d3c1183 |
rev | line source |
---|---|
443
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
1 #!/bin/bash |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
2 |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
3 # I'm no good bash scripter ... |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
4 |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
5 # copy imports |
492
bebc6099fb89
Elrood's proposed directory layout changes.
Christian Kamm <kamm incasoftware de>
parents:
461
diff
changeset
|
6 mkdir -p ../tango/llvmdc |
537
bfbd71f60572
Don't use -u in build.sh; not all cp implementations support it.
Christian Kamm <kamm incasoftware de>
parents:
492
diff
changeset
|
7 cp internal/llvmdc/bitmanip.d ../tango/llvmdc/bitmanip.di |
bfbd71f60572
Don't use -u in build.sh; not all cp implementations support it.
Christian Kamm <kamm incasoftware de>
parents:
492
diff
changeset
|
8 cp internal/llvmdc/vararg.d ../tango/llvmdc/vararg.di |
bfbd71f60572
Don't use -u in build.sh; not all cp implementations support it.
Christian Kamm <kamm incasoftware de>
parents:
492
diff
changeset
|
9 cp import/llvmdc/* ../tango/llvmdc |
443
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
10 |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
11 # make the runtime |
537
bfbd71f60572
Don't use -u in build.sh; not all cp implementations support it.
Christian Kamm <kamm incasoftware de>
parents:
492
diff
changeset
|
12 cp -R lib ../tango |
443
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
13 cd ../tango/lib |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
14 make -f llvmdc-posix.mak clean |
579
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
15 make -f llvmdc-posix.mak sharedlib |
569
926a03711ca8
Split runtime into three parts again.
Christian Kamm <kamm incasoftware de>
parents:
537
diff
changeset
|
16 cd ../.. |
443
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
17 |
44f08170f4ef
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff
changeset
|
18 # install the runtime |
579
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
19 rm -f lib/libllvmdc-runtime-shared.so |
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
20 cp runtime/internal/libllvmdc-runtime-shared.so lib |
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
21 rm -f lib/libtango-gc-basic-shared.so |
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
22 cp tango/lib/gc/basic/libtango-gc-basic-shared.so lib |
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
23 rm -f lib/libtango-cc-tango-shared.so |
20c065c46b38
Basic support for runtime in shared library.
Christian Kamm <kamm incasoftware de>
parents:
569
diff
changeset
|
24 cp tango/lib/common/tango/libtango-cc-tango-shared.so lib |