view lphobos/build.sh @ 32:a86fe7496b58 trunk

[svn r36] * Fixed a bug where passing a regular argument to a ref argument did not allocate storage
author lindquist
date Thu, 04 Oct 2007 18:24:05 +0200
parents 860524276608
children 4648206ca213
line wrap: on
line source

#!/bin/bash

if [ "$1" = "gdb" ]; then
dc_cmd="gdb --args llvmdc"
else
dc_cmd="llvmdc"
fi

# build runtime
$dc_cmd internal/contract.d \
        internal/arrays.d \
        internal/moduleinit.d \
        -c -noruntime -odobj || exit 1

llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1
llvm-link -f -o=../lib/llvmdcore.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/moduleinit_backend.bc || exit 1

$dc_cmd internal/objectimpl.d -c -odobj || exit 1
llvm-link -f -o=obj/all.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/objectimpl.bc obj/moduleinit_backend.bc || exit 1

opt -f -std-compile-opts -o=../lib/llvmdcore.bc obj/all.bc || exit 1

# build phobos
$dc_cmd std/stdio.d -c -odobj || exit 1
llvm-link -f -o=../lib/lphobos.bc obj/stdio.bc || exit 1

if [ "$1" = "ll" ]; then
    llvm-dis -f -o=all.ll ../lib/llvmdcore.bc || exit 1
fi

echo SUCCESS