Pavel Labath 4b94a3064a build.py: Implement "gcc" builder
Summary:
This implements the gcc builder in build.py script to allow it to
compile host executables when running on a non-windows host. Where it
made sense, I tried to share code with the msvc builder by moving stuff
to the base class.

Reviewers: zturner

Subscribers: mehdi_amini, dexonsmith, lldb-commits

Differential Revision: https://reviews.llvm.org/D55430

llvm-svn: 348918
2018-12-12 08:54:14 +00:00

36 lines
1.4 KiB
Plaintext

RUN: %build -n --verbose --arch=32 --mode=compile --compiler=any -o %t/foo.out foobar.c \
RUN: | FileCheck --check-prefix=COMPILE %s
RUN: %build -n --verbose --arch=32 --mode=compile --compiler=any --outdir %t foo.c bar.c \
RUN: | FileCheck --check-prefix=COMPILE-MULTI %s
RUN: %build -n --verbose --arch=32 --mode=link --compiler=any -o %t/foo.exe foobar.obj \
RUN: | FileCheck --check-prefix=LINK %s
RUN: %build -n --verbose --arch=32 --mode=link --compiler=any -o %t/foobar.exe foo.obj bar.obj \
RUN: | FileCheck --check-prefix=LINK-MULTI %s
RUN: %build -n --verbose --arch=32 --mode=compile-and-link --compiler=any -o %t/foobar.exe foobar.c \
RUN: | FileCheck --check-prefix=BOTH %s
RUN: %build -n --verbose --arch=32 --mode=compile-and-link --compiler=any -o %t/foobar.exe foo.c bar.c \
RUN: | FileCheck --check-prefix=BOTH-MULTI %s
COMPILE: compiling foobar.c -> foo.out
COMPILE-MULTI: compiling foo.c -> foo.o{{(bj)?}}
COMPILE-MULTI: compiling bar.c -> bar.o{{(bj)?}}
LINK: linking foobar.obj -> foo.exe
LINK-MULTI: linking foo.obj+bar.obj -> foobar.exe
BOTH: compiling foobar.c -> [[OBJFOO:foobar.exe-foobar.o(bj)?]]
BOTH: linking [[OBJFOO]] -> foobar.exe
BOTH-MULTI: compiling foo.c -> [[OBJFOO:foobar.exe-foo.o(bj)?]]
BOTH-MULTI: compiling bar.c -> [[OBJBAR:foobar.exe-bar.o(bj)?]]
BOTH-MULTI: linking [[OBJFOO]]+[[OBJBAR]] -> foobar.exe