view bin/ldmd2 @ 1650:40bd4a0d4870

Update to work with LLVM 2.7. Removed use of dyn_cast, llvm no compiles without exceptions and rtti by default. We do need exceptions for the libconfig stuff, but rtti isn't necessary (anymore). Debug info needs to be rewritten, as in LLVM 2.7 the format has completely changed. To have something to look at while rewriting, the old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means that you have to define this to compile at the moment. Updated tango 0.99.9 patch to include updated EH runtime code, which is needed for LLVM 2.7 as well.
author Tomas Lindquist Olsen
date Wed, 19 May 2010 12:42:32 +0200
parents 593f99fddd2f
children
line wrap: on
line source

#! /usr/bin/env bash

# Default to 'ldc' next to this file
LDC=`dirname "$0"`/ldc2
if [ ! -x "$LDC" ]; then
    # If that doesn't work, assume this script was called via $PATH
    # and do the same for ldc
    if which ldc2 &> /dev/null; then
        LDC=ldc2
    else
        echo 'ldc not found, check your installation' >/dev/stderr
        exit 1
    fi
fi

declare -a ARGS
IDX=0
for arg; do
    case "$arg" in
    -C*)
        # turn -Cfoo into -foo.
        # Useful for passing -inline to ldc, for instance.
        arg="-${arg:2}"
        ;;
    -debug|-debug=*|-version=*)
        arg="-d$arg"
        ;;
    -inline)
        arg="-enable-inlining"
        ;;
    -fPIC)
        arg="-relocation-model=pic"
        ;;
    --a|--b|--c|--f|--r|--w|--x|--y)
        # "Hidden debug switches"
        # Are these ever used?
        arg="-hidden-debug${arg:1}"
        ;;
    esac
    ARGS[IDX++]="$arg"
done

exec "$LDC" "${ARGS[@]}"