Commit graph

133 commits

Author SHA1 Message Date
Stephen Hines
5339640da6 Switch name from tblgen -> llvm-tblgen for consistency with upstream tools.
Change-Id: I7735fd88104ff95001dd5f88a1c387df9af993ad
2014-06-03 18:28:44 -07:00
Ying Wang
ae9ee9c0e7 am 71617605: am 8e2b2d8a: am b0143e2f: Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS"
* commit '716176059ab8962c7049f91c83c82b1af9f2632a':
  Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS
2014-05-22 18:28:06 +00:00
Ying Wang
b0143e2fff Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS" 2014-05-22 17:38:01 +00:00
Ying Wang
a448430343 am 9e55ed53: am 47316a27: am 5137d458: Merge "Force to build llvm from source in 64-bit host build."
* commit '9e55ed53ef7dfebc759a2494503b19e33b0c47d7':
  Force to build llvm from source in 64-bit host build.
2014-05-16 19:05:40 +00:00
Ying Wang
6374153fbf Force to build llvm from source in 64-bit host build.
Bug: 13751317
Change-Id: I4a4150bfe21607eb7a2342bbd8120b431427eee5
2014-05-16 09:37:23 -07:00
Ying Wang
5077d6b4f8 am 0a2c133d: am 5b768a72: am f14653ce: Merge "x86_common.mk has been replaced by HOST_x86_common.mk"
* commit '0a2c133dc85e611b209244a6024a8390f338a63d':
  x86_common.mk has been replaced by HOST_x86_common.mk
2014-05-16 02:00:28 +00:00
Ying Wang
a303c4f546 x86_common.mk has been replaced by HOST_x86_common.mk
Change-Id: I19eea82bb35d3f65a2d894c687131a1eafbe2cc9
2014-05-15 18:50:06 -07:00
Ying Wang
8200231ae1 am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"
* commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553':
  Support host multilib build
2014-05-15 01:09:49 +00:00
Ying Wang
6feb6d5607 Support host multilib build
This change basically ported our target multilib to the host side.
It supports 2 host build modes: x86 and x86_64 multilib build.
For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
multilib build. Later we'll default to x86_64 build and have a flag
to force 32-bit only build, which may be needed by SDK build.

In host module definition, like in target ones, you can use the
following
LOCAL variables to set up multilib configuration:
LOCAL_MULTILIB: can be "both", "first", "32" or "64".
It also supports the same set of arch or 32-vs-64 specific LOCAL
variables.
By default, it builds only for the first arch.

To keep path compatibility, in x86_64 build files are still output to
out/host/linux-x86; Both 32-bit and 64-bit executables are in
out/host/linux-86/bin;
In x86_64 build 32-bit shared libraries are installed to
out/host/linux-x86/lib32
and 64-bit shared libraries are installed to out/host/linux-x86/lib;
32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
object files
are output to out/host/linux-x86/obj.

Bug: 13751317
Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
2014-05-14 16:55:04 -07:00
Bernhard Rosenkraenzer
d6e11825c4 Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS
Add some more gcc specific flags that are used somewhere in the tree
(e.g. external/chromium_org) to CLANG_CONFIG_UNKNOWN_CFLAGS

Change-Id: Icc572fdb6ea4ba818c4d18e430296589eb61bf55
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-12 16:05:14 +02:00
Andrew Hsieh
9604c0680f am a01cb054: am c581e10a: am eca0043b: Merge "Disable canonical prefixes of system headers"
* commit 'a01cb05450c6435c9cdca58534ed00eafb07f6eb':
  Disable canonical prefixes of system headers
2014-05-09 17:06:54 +00:00
Andrew Hsieh
48f239c94f Disable canonical prefixes of system headers
GCC know a few pre-defined paths (relative to its location) to
search for headers, libraries, program, etc.  By default GCC prefixes
its own path(argv[0]) and calls realpath() which result in absolute
path with all symlink, . and .. removed.

It's usually good to have canonicalised paths, but absolute paths
in *.d file can cause unnecessary relinking when stale entries
in ccache cache hit

Add -no-canonical-prefixes (gcc>=4.6) and
-fno-canonical-system-headers (gcc>4.6) to disable realpath() on
prefixed paths

Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
2014-05-09 22:12:49 +08:00
Tim Murray
f38dd880c9 am 09e044ea: am 6ac74e6d: am d720c5a2: Merge "Add -no-integrated-as for ARM64."
* commit '09e044ea813cc23b1d3b5ed99b20dea9ec7c5328':
  Add -no-integrated-as for ARM64.
2014-05-02 18:30:12 +00:00
Tim Murray
d720c5a2a6 Merge "Add -no-integrated-as for ARM64." 2014-05-02 18:21:34 +00:00
Tim Murray
93dc057826 am cf53e0e0: am 27fe9406: am 7e65b6c1: Merge "Remove tblgen and clang-tblgen from prebuilts."
* commit 'cf53e0e0aaf569d7e76472e2958dca5a44f45df2':
  Remove tblgen and clang-tblgen from prebuilts.
2014-04-30 23:35:46 +00:00
Tim Murray
6f144b8f65 Add -no-integrated-as for ARM64.
Change-Id: I7faba190554aa43f43b2eb164bdc7b3bfab68ef0
2014-04-30 15:55:52 -07:00
Tim Murray
75b58cc827 Remove tblgen and clang-tblgen from prebuilts.
Change-Id: I89fb74da5a516d0f768f72518a401216f8a5b1a8
2014-04-30 13:54:32 -07:00
Stephen Hines
46df181815 am f0dda8d0: am 9661b09f: am 9956bb6a: Merge "Build changes necessary for LLVM 3.5 switch."
* commit 'f0dda8d0cbb249be24a71776289b1d9ebe17faaf':
  Build changes necessary for LLVM 3.5 switch.
2014-04-25 22:51:38 +00:00
Tim Murray
43d5e1bbc4 Build changes necessary for LLVM 3.5 switch.
Change-Id: Icb6065daada7cb1d7425206830a4ef9e23454c03

Conflicts:
	core/clang/arm.mk
2014-04-24 13:14:32 -07:00
Andrew Hsieh
582e5ecb75 am aabe27cc: am 9754735f: am db55f602: Merge "Switch to new host prebuilt x86_64-linux-glibc2.11-4.6"
* commit 'aabe27ccfd7f372d75426181eeeede4a7f908179':
  Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
2014-04-24 15:43:17 +00:00
Andrew Hsieh
dfde360b2c Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
Change-Id: I763398d523bf4851a13722f72b12ec69d7a4bb4f
2014-04-23 14:47:00 -07:00
Ying Wang
6e048afb4b am ad60c86e: am f1a3d5e8: am 871bc703: Merge "Update build system for better Clang behavior on Mac."
* commit 'ad60c86eda1a975d6966f414b4a7065d97e7505b':
  Update build system for better Clang behavior on Mac.
2014-04-23 00:23:22 +00:00
Tim Murray
d318ba66f9 Update build system for better Clang behavior on Mac.
Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
2014-04-22 09:26:22 -07:00
Evgeniy Stepanov
5d8029f234 Update ASan configuration.
Change runtime library name to keep in sync with upstream.
Enable frame pointers in instrumented code for fast stack unwind.

Change-Id: I815912bb856c56c399639ea76ad4cb6b97961840
2014-04-16 10:52:10 +00:00
Tim Murray
125a3c9fb0 Always use prebuilt clang, even if we're explicitly building clang/LLVM.
This is needed for self-hosting Clang/LLVM.

bug 13588226

Change-Id: Ic98adc2b174b12ce046b7b65bbc28901a766a485
2014-04-01 16:08:51 -07:00
Tim Murray
02cefc93a8 Make Clang host builds hermetic on Linux.
This lays the groundwork for making builds hermetic on Darwin as well.
That will be fixed in a future patch.

bug 13435344

Change-Id: Iae82d0b9efad0598d682ff5fd4daa737aa607866
2014-03-24 19:38:47 -07:00
Ying Wang
ed56902c29 Remove arm64 clang build warning
Now we have enabled arm64 clang.
This change remvoed arm64 clang build warning and cleaned the
arm64 unknow c flags.

Change-Id: Ia583a78c6d364e603ff09df423aa34a6e03d0b9b
2014-03-18 15:58:13 -07:00
Tim Murray
b5f333bbef Work in progress to enable build system support for Clang.
Change-Id: I278b48bcd976afcbde8d86261da9b9b9efc9002c
2014-03-14 00:39:03 -07:00
Ying Wang
ba8b377d89 Split WITHOUT_CLANG to WITHOUT_HOST_CLANG and WITHOUT_TARGET_CLANG
Still keep WITHOUT_CLANG, which enables both.

Bug: 13402154
Change-Id: I32cb668223997719875751bf3d64f592d6086830
2014-03-10 18:59:12 -07:00
Stephen Hines
7bc754bca9 Switch to LLVM 3.4 prebuilts in AOSP.
Change-Id: I064e953fb1bf69e7e321616647aab88dcc39af76
2014-02-19 09:03:00 -08:00
Stephen Hines
6d5dd2367a Fix incorrect x86 build rules.
combo/TARGET_x86*.mk mistakenly added TARGET_GLOBAL_CFLAGS to their
linker command lines. This results in clang builds not working properly,
since they strip some unknown flags from TARGET_GLOBAL_CFLAGS.

Change-Id: I60a1ff5df70305323134435e4ae107ea7acfe8ea
2014-02-13 09:24:29 -08:00
Colin Cross
b0ef9111ac fix 2nd target clang prebuilt paths
Change-Id: I4c196221bd377e30bbff1aafa265952e29c85cb5
2014-02-11 12:48:12 -08:00
Ying Wang
1f9828387d Refactor llvm_config.mk and support the 2nd arch
1. Following the setup of gcc in build/core/combo/,
we added the [HOST|TARGET]_<arch>.mk clang config files,
and load only the configs needed by the current product.
2. Added support for the 2nd arch.

Change-Id: I2a383418a9688a050b39492f8e489d40eeeb5f2d
2014-02-07 09:11:22 -08:00