Mikhail Glushenkov
c6aaa8bfbf
Rules for win32 ld shouldn't fire when cross-compiling.
...
llvm-svn: 112954
2010-09-03 09:57:52 +00:00
Chris Lattner
707d1b96a2
have the makefiles check the llvm-config error code instead of charging
...
on an producing weird link errors. Patch by Yuri Gribov!
llvm-svn: 112714
2010-09-01 16:11:17 +00:00
Dan Gohman
b5ea21038d
Fix the "Finished Creating" messages for aliases to print the
...
right name.
llvm-svn: 111340
2010-08-18 01:35:53 +00:00
Anton Korobeynikov
e8b4df4143
This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
...
Patch by Takumi Nakamura!
llvm-svn: 111268
2010-08-17 19:03:03 +00:00
Mikhail Glushenkov
10302168ea
llvmc: remove dynamic plugins.
...
llvm-svn: 111094
2010-08-15 07:07:12 +00:00
Mikhail Glushenkov
2c1543bc9d
Simplify generating LLVMC_BUILTIN_PLUGIN.
...
Patch by NAKAMURA Takumi!
llvm-svn: 110680
2010-08-10 14:49:29 +00:00
Nick Lewycky
a360aa10d5
Fix this condition; it has an else clause attached for Darwin only. Patch
...
by Takumi Nakamura.
llvm-svn: 110016
2010-08-02 03:16:19 +00:00
Daniel Dunbar
138136572f
tests: Make 'lit' the default test tool. You can still use 'make check-dg' to
...
run the tests using DejaGNU, but not for much longer. This is a last call for
DejaGNU supporters, if no one complains soon the DejaGNU support is going to
die.
llvm-svn: 109997
2010-08-02 00:05:18 +00:00
Dan Gohman
dd12556007
Fix library build messages.
...
llvm-svn: 109430
2010-07-26 20:15:47 +00:00
Nick Lewycky
848b4defa1
Don't pass -export-dynamic to the linker on Cygwin and MinGW. These platforms
...
accept the flag and do nothing but warn about it, cleverly bypassing our
configure-based detection system. Patch by Takumi Nakamura!
llvm-svn: 109385
2010-07-25 22:33:04 +00:00
Mikhail Glushenkov
bbeb485c74
Get rid of exceptions in llvmc.
...
llvmc can be now compiled with llvm-gcc on Windows.
llvm-svn: 109215
2010-07-23 03:42:55 +00:00
Bruno Cardoso Lopes
332e27a8a3
Enable LLVM to compile on Mips. Fix PR5828
...
llvm-svn: 108821
2010-07-20 08:44:20 +00:00
Eric Christopher
00c613aebe
Remove unnecessary conditional.
...
llvm-svn: 108516
2010-07-16 06:13:24 +00:00
Daniel Dunbar
e44c00b33b
build/Darwin: Add a missing directory dependency.
...
llvm-svn: 108463
2010-07-15 21:51:52 +00:00
Devang Patel
9ace92fd72
Revert 108456. i.e. bring back r108444.
...
llvm-svn: 108458
2010-07-15 20:57:09 +00:00
Devang Patel
f5f54f27f5
Revert 108444. It breaks a build.
...
llvm-svn: 108456
2010-07-15 20:25:51 +00:00
Daniel Dunbar
fbb8d81b7e
build/Darwin: Add support for embedding version information in tool executables.
...
llvm-svn: 108444
2010-07-15 19:33:38 +00:00
Ted Kremenek
09a5f4aaff
Correctly set rpath on Mac OS X for executable tools. Note that I am not certain this is the best fix; the code immediately above looks confused, as it first checks to see if we are NOT on Darwin and then checks the Darwin version number. This fix allows c-index-test (in Clang) to run outside of running the regression test suite. I would appreciate if someone reviewed this.
...
llvm-svn: 108416
2010-07-15 06:36:57 +00:00
Greg Clayton
f62e01f795
Patched Makefile.rules to allow objective C and objective C++ compilation.
...
This allows LLDB (llvm/tools/lldb) to build on Mac OS X.
llvm-svn: 108255
2010-07-13 18:47:09 +00:00
Duncan Sands
eb15d2084a
Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"
...
builds to "Release". The default build is unchanged (optimization on,
assertions on), however it is now called Release+Asserts. The intent
is that future LLVM releases released via llvm.org will be Release builds
in the new sense, i.e. will have assertions disabled (currently they have
assertions enabled, for a more than 20% slowdown). This will bring them
in line with MacOS releases, which ship with assertions disabled. It also
means that "Release" now means the same things in make and cmake builds:
cmake already disables assertions for "Release" builds AFAICS.
llvm-svn: 107758
2010-07-07 07:48:00 +00:00
Dan Gohman
e5aa414fc8
Fix this build message so that it displays the correct library
...
name, specifically the "lib" prefix.
llvm-svn: 107011
2010-06-28 15:55:15 +00:00
Eric Christopher
eb35756a31
Fix typo.
...
llvm-svn: 106505
2010-06-21 23:49:08 +00:00
Chris Lattner
13d8fea770
improve portability to solaris 10, PR7380, patch by Simon Billingsley!
...
llvm-svn: 106259
2010-06-18 00:35:32 +00:00
Chris Lattner
bfec362a86
fix PR7380: use 'test' instead of shell builtins. This improves
...
portability to Solaris 10, which apparently doesn't support
[ foo -ot bar ]
llvm-svn: 106048
2010-06-15 21:35:22 +00:00
Daniel Dunbar
83e447c886
Makefiles: Teach LLVM's recursive makefile descent to update objdir Makefiles if
...
they are out of date, instead of only testing if they exist.
llvm-svn: 105636
2010-06-08 20:10:13 +00:00
Dan Gohman
0aec2d5e72
Freebsd's sed doesn't support \< in regexps, and GNU sed doesn't
...
support [[:<:]]. Use beginning-of-line and end-of-line anchors
instead.
llvm-svn: 105277
2010-06-01 17:08:56 +00:00
Dan Gohman
a5397fe992
-retain-symbols-file is not what it seems. Update the makefiles
...
and configury to use --version-script.
llvm-svn: 105271
2010-06-01 14:56:56 +00:00
Rafael Espindola
aa7f3b0561
Avoid renaming loadable modules at install time. Now the gold plugin is named
...
LLVMgold.so both in both the build and install directories.
llvm-svn: 103897
2010-05-16 03:13:23 +00:00
Rafael Espindola
bd4b8ff8f1
Use $ORIGIN in the rpath of libraries.
...
llvm-svn: 103896
2010-05-16 03:05:14 +00:00
Daniel Dunbar
00f50519b6
Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently:
...
- Disables 'Built on ...' in 'foo --version'.
- Disables timestamps from being embedded into .dir files.
llvm-svn: 103423
2010-05-10 20:11:56 +00:00
Daniel Dunbar
8427c19fe2
Don't use 'else ifdef', I guess this is a 3.81 feature?
...
llvm-svn: 102781
2010-04-30 22:00:17 +00:00
Daniel Dunbar
22881d531a
Fix TOOLALIAS to not make dependency against $(PROJ_bindir), this is unnecessary
...
(and wrong).
llvm-svn: 102763
2010-04-30 20:47:09 +00:00
Daniel Dunbar
7ed4688b9e
Add new NO_INSTALL_ARCHIVES make variable, to suppress install of .a files.
...
llvm-svn: 102752
2010-04-30 20:04:53 +00:00
Nick Lewycky
76c5fe4e6c
Don't touch CXXFLAGS. If it's set in the environment then sub-makes will see
...
the variable that we set as though it came from the user. Fixes PR6835.
llvm-svn: 102239
2010-04-24 04:56:34 +00:00
Dan Gohman
c9fe920296
Enable -Wcast-qual for C++ files, where intentional qualifier-stripping can
...
be done with const_cast.
llvm-svn: 101798
2010-04-19 18:33:28 +00:00
Dan Gohman
bf15cbd02d
Remove -module, which appears to be a leftover from prior libtool usage.
...
llvm-svn: 101793
2010-04-19 18:11:02 +00:00
Dan Gohman
377a5d7751
Add an autoconf check for -retain-symbols-file and conditionalize
...
use of that option with it. This eliminates an imprecise "Linux"
test, and should help support old versions of gold.
llvm-svn: 101560
2010-04-16 22:58:15 +00:00
Dan Gohman
55f814fdc4
Make the export files absolute paths, and change Makefile.rules
...
to expect them this way, to fix srcdir!=objdir builds.
llvm-svn: 101414
2010-04-15 23:08:00 +00:00
Dan Gohman
ace8648850
Add a dependency on the .dir file to make sure that the directory
...
is created before the native exports file is built in a parallel build.
llvm-svn: 101413
2010-04-15 22:46:27 +00:00
Dan Gohman
bfbdc27d54
Generalize the EXPORTED_SYMBOL_FILE concept in the Makefiles to work with
...
native linking export files, including running sed to prepend underscores
on darwin, and make use of it in libLTO and libEnhancedDisassembly.
Remove the leading underscores from library export files so that they
work with the new EXPORTED_SYMBOL_FILE support.
llvm-svn: 101399
2010-04-15 20:54:25 +00:00
Johnny Chen
6d9cbe7270
Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgen
...
backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb,
and the disassembler core which invokes the decoder function and builds up the
MCInst based on the decoded Opcode.
Reviewed by Chris Latter and Bob Wilson.
llvm-svn: 100233
2010-04-02 22:27:38 +00:00
Jim Grosbach
2da4397c39
remove arm mode workaround for ARM host
...
llvm-svn: 98771
2010-03-17 21:28:19 +00:00
Bob Wilson
34aca030c5
--- Reverse-merging r98637 into '.':
...
U test/CodeGen/ARM/tls2.ll
U test/CodeGen/ARM/arm-negative-stride.ll
U test/CodeGen/ARM/2009-10-30.ll
U test/CodeGen/ARM/globals.ll
U test/CodeGen/ARM/str_pre-2.ll
U test/CodeGen/ARM/ldrd.ll
U test/CodeGen/ARM/2009-10-27-double-align.ll
U test/CodeGen/Thumb2/thumb2-strb.ll
U test/CodeGen/Thumb2/ldr-str-imm12.ll
U test/CodeGen/Thumb2/thumb2-strh.ll
U test/CodeGen/Thumb2/thumb2-ldr.ll
U test/CodeGen/Thumb2/thumb2-str_pre.ll
U test/CodeGen/Thumb2/thumb2-str.ll
U test/CodeGen/Thumb2/thumb2-ldrh.ll
U utils/TableGen/TableGen.cpp
U utils/TableGen/DisassemblerEmitter.cpp
D utils/TableGen/RISCDisassemblerEmitter.h
D utils/TableGen/RISCDisassemblerEmitter.cpp
U Makefile.rules
U lib/Target/ARM/ARMInstrNEON.td
U lib/Target/ARM/Makefile
U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h
D lib/Target/ARM/Disassembler
U lib/Target/ARM/ARMInstrFormats.td
U lib/Target/ARM/ARMAddressingModes.h
U lib/Target/ARM/Thumb2ITBlockPass.cpp
llvm-svn: 98640
2010-03-16 16:59:47 +00:00
Johnny Chen
ff030064fb
Initial ARM/Thumb disassembler check-in. It consists of a tablgen backend
...
(RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb,
and the disassembler core which invokes the decoder function and builds up the
MCInst based on the decoded Opcode.
Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm
instructions to help disassembly.
We also changed the output of the addressing modes to omit the '+' from the
assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60.
And modified test cases to not expect '+' in +reg or #+num. For example,
; CHECK: ldr.w r9, [r7, #28 ]
llvm-svn: 98637
2010-03-16 16:36:54 +00:00
Chris Lattner
37594c7a86
add DESTDIR support for TOOLALIAS, for PR6557, patch by
...
Matthias Klose!
llvm-svn: 98193
2010-03-10 21:27:53 +00:00
Erick Tryzelaar
4e7593750d
Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.
...
We need this so can not bake DESTDIR into the O'Caml symlinks.
llvm-svn: 97743
2010-03-04 20:56:19 +00:00
Jeffrey Yasskin
f073920691
Try r96559 for the third time. This time the shared library is only built if
...
--enable-shared is passed to configure.
llvm-svn: 97119
2010-02-25 06:34:33 +00:00
Jeffrey Yasskin
82c2f2fd24
Roll back r96959 again.
...
llvm-svn: 96981
2010-02-23 20:53:37 +00:00
Jeffrey Yasskin
e653785a3d
Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 of
...
the examples shared to make sure the shared library keeps working.
llvm-svn: 96959
2010-02-23 18:10:07 +00:00
Daniel Dunbar
31196b6778
Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}
...
llvm-svn: 96936
2010-02-23 10:28:06 +00:00
Daniel Dunbar
bfb3858de0
Add LLVM{CC,CXX} make variables, which specify the configured path the LLVM
...
capable compilers (which could be llvm-gcc or clang).
llvm-svn: 96935
2010-02-23 10:00:53 +00:00
Daniel Dunbar
9bc9ef2cff
Eliminate CFERuntimeLibDir make variable, this shouldn't be needed.
...
llvm-svn: 96932
2010-02-23 09:28:50 +00:00
Daniel Dunbar
d12f02283c
Inline and eliminate LLVMG{CC,XX}WITHPATH.
...
llvm-svn: 96913
2010-02-23 07:56:41 +00:00
Daniel Dunbar
debaef15e9
Remove dead LUPGRADE make variable.
...
llvm-svn: 96911
2010-02-23 07:56:36 +00:00
Daniel Dunbar
9774a591a4
Kill off LLVMGCC_MAJVERS make variable.
...
llvm-svn: 96907
2010-02-23 07:56:22 +00:00
Jeffrey Yasskin
e4b750f830
Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
...
llvm-svn: 96569
2010-02-18 04:43:02 +00:00
Jeffrey Yasskin
64b33dd9b7
Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an
...
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.) Always link the
example programs shared to test that the shared library keeps working.
On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.
Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.
llvm-svn: 96559
2010-02-18 02:36:02 +00:00
Sean Callanan
59ba2433b0
Added a custom TableGen backend to support the
...
enhanced disassembler, and the necessary makefile
rules to build the table for X86.
llvm-svn: 94764
2010-01-29 00:21:04 +00:00
Chris Lattner
5a57121631
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
...
llvm-svn: 94378
2010-01-24 20:43:08 +00:00
Chris Lattner
e753847267
libs that need EH need RTTI.
...
llvm-svn: 94376
2010-01-24 20:21:50 +00:00
Chris Lattner
c0335bacb4
ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.
...
llvm-svn: 94375
2010-01-24 20:20:40 +00:00
Daniel Dunbar
55769c8aff
make: Make .o files depend on Makefile, at least for now.
...
llvm-svn: 94184
2010-01-22 18:10:54 +00:00
Anton Korobeynikov
aa77d8f532
Provide magic define on mingw to not generate inline variants of ctyper functions.
...
Otherwise we'll end with random cyclic deps between libraries due to this.
Proposed by Gianluigi Tiesi!
llvm-svn: 93635
2010-01-16 14:06:58 +00:00
Daniel Dunbar
7f52922e77
Add the rest of the build system logic for optional target disassemblers
...
llvm-svn: 89841
2009-11-25 04:46:58 +00:00
Daniel Dunbar
6e84701653
Add TOOLALIAS makefile variable; this defines an alternate name for a program
...
which the makefiles will create by symlinking the actual tool to.
- For use by clang, where we want to make 'clang++' and alias for clang (which
enables C++ support in the driver)
- Not sure this is the best approach, alternative suggestions welcome!
llvm-svn: 89282
2009-11-19 00:14:53 +00:00
Daniel Dunbar
3a89c01296
Add "Unoptimized" build (NO_DEBUG_SYMBOLS=1 ENABLE_OPTIMIZED=1), for reducing
...
disk space, and increasing battery lifetime. :)
llvm-svn: 88978
2009-11-16 22:37:52 +00:00
Daniel Dunbar
b19cc0fa91
configure: Add --with-optimize-option, for setting the default value of
...
OPTIMIZE_OPTION.
llvm-svn: 86005
2009-11-04 04:32:50 +00:00
Jim Grosbach
88539d92a3
Build in ARM mode explicitly when on ARM Darwin
...
llvm-svn: 85615
2009-10-30 21:33:05 +00:00
Nick Lewycky
242c20ffde
Indent.
...
llvm-svn: 85034
2009-10-25 03:22:00 +00:00
Jakob Stoklund Olesen
528ceba13f
Tablegen target intrinsics from the target main .td file.
...
Fix pasto.
llvm-svn: 84190
2009-10-15 18:48:47 +00:00
Edward O'Callaghan
e874332be9
AuroraUX needs special Solaris system header.
...
llvm-svn: 84076
2009-10-14 05:55:03 +00:00
Mikhail Glushenkov
59c2ae922b
Raise the limit on built-in plugins in llvmc to 10.
...
llvm-svn: 83614
2009-10-09 04:15:52 +00:00
Jakob Stoklund Olesen
2c7d981a62
Remove trailing whitespace from build output.
...
llvm-svn: 83284
2009-10-04 17:54:36 +00:00
Jeffrey Yasskin
195b24c844
Enable -g with DEBUG_SYMBOLS and --enable-debug-symbols instead of
...
DEBUG_RUNTIME.
llvm-svn: 82906
2009-09-27 17:47:29 +00:00
Jeffrey Yasskin
4321237b78
This patch causes the --enable-debug-runtime configure flag and the
...
DEBUG_RUNTIME Makefile variable to pass -g to gcc when building LLVM's objects.
Without this, it's very hard to debug crashes that happen in Release-Asserts
mode but not Debug mode.
llvm-svn: 82775
2009-09-25 16:46:09 +00:00
Daniel Dunbar
4364c48cdb
Add 'make check-all', which runs the LLVM tests along with the clang tests if
...
its in the standard location.
llvm-svn: 82374
2009-09-20 06:17:21 +00:00
Daniel Dunbar
49c00ccc78
Build (not test) the unittests as part of a normal build.
...
- 'make unittests' still builds and tests.
- 'make unitcheck' inside a unittest directory runs the tests in that directory.
llvm-svn: 81725
2009-09-13 22:39:27 +00:00
Daniel Dunbar
f78cd25928
Revert unittests build changes temporarily, the unit test build isn't -j safe.
...
llvm-svn: 81692
2009-09-13 18:58:14 +00:00
Daniel Dunbar
9eba9d4828
Build (not test) the unittests as part of a normal build.
...
- 'make unittests' still builds and tests.
- 'make unitcheck' inside a unittest directory runs the tests in that directory.
llvm-svn: 81687
2009-09-13 18:43:46 +00:00
Daniel Dunbar
f54dbed77f
... and fix the REQUIRES_RTTI condition.
...
llvm-svn: 81524
2009-09-11 15:47:24 +00:00
Daniel Dunbar
76590ff496
Fix REQUIRES_RTTI while awake.
...
llvm-svn: 81523
2009-09-11 15:45:13 +00:00
Daniel Dunbar
340934be39
Make REQUIRES_RTTI work.
...
llvm-svn: 81522
2009-09-11 15:39:39 +00:00
Evan Cheng
3a839afc42
Do not specify -mmacosx-version-min if building for arm-apple-darwin.
...
llvm-svn: 81240
2009-09-08 18:52:20 +00:00
Dan Gohman
ac3bbe614d
llvm-as is no longer needed here, now that opt can read assembly
...
files directly.
llvm-svn: 81222
2009-09-08 15:52:56 +00:00
Daniel Dunbar
1d03c5c8a7
Add 'lit' support for llvm tests.
...
- This adds 'make check-lit' from the top-level Makefile.
llvm-svn: 81191
2009-09-08 05:31:44 +00:00
Dan Gohman
7591ad5a87
Remove some unnecessary -f options.
...
llvm-svn: 80924
2009-09-03 16:11:53 +00:00
Daniel Dunbar
28838cdd68
Filter out -fno-rtti from CXXFLAGS as well (in an expensive checks build).
...
llvm-svn: 80910
2009-09-03 08:41:19 +00:00
Daniel Dunbar
09b42dc6f8
Fix creation of .bca libraries with EXPORTED_SYMBOLS_LIST, this was putting the
...
llvm-ld shell wrapper script in the archive, not the relinked object!
Also, rename the temp file to avoid conflicts.
llvm-svn: 80373
2009-08-28 16:14:46 +00:00
Nicolas Geoffray
1d60edcf53
Add a REQUIRES_FRAME_POINTER option to disable the frame pointer
...
elimination optimization on the LLVM code base.
llvm-svn: 79477
2009-08-19 22:04:44 +00:00
Eric Christopher
80e419f6f0
Add CXXFLAGS to the Link lines as well in case someone used those instead
...
of LDFLAGS.
llvm-svn: 79352
2009-08-18 18:07:35 +00:00
Eric Christopher
51b2b8b7e6
Separate out Makefile defines so that we can keep the llvm
...
defined ones from the user defined ones. Propagate accordingly.
llvm-svn: 79308
2009-08-18 03:23:40 +00:00
Anton Korobeynikov
c9d9a008b5
The attached patches attempt to fix cross builds. For example, if you
...
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.
Patch by Sandeep Patel!
llvm-svn: 79296
2009-08-18 00:40:33 +00:00
Misha Brukman
399ebe7f48
Fixed indentation and spelling.
...
llvm-svn: 79245
2009-08-17 15:31:24 +00:00
Anton Korobeynikov
ed8a110c2e
Force reconfigure
...
llvm-svn: 79019
2009-08-14 18:53:19 +00:00
Daniel Dunbar
b92d082b59
Add temporary hack to teach LLVM to reconfigure itself to pick up the new PIC16
...
AsmPrinter (in AsmPrinters.def).
llvm-svn: 78922
2009-08-13 17:22:49 +00:00
Anton Korobeynikov
7e6893e772
Add executable suffix for the tool. This is needed e.g. for 'make install' on mingw32.
...
llvm-svn: 78185
2009-08-05 09:37:43 +00:00
Daniel Dunbar
d86bb86bd3
Makefile rules for generating assembly matcher.
...
- Unused, fear not cmakers.
llvm-svn: 75483
2009-07-13 18:35:35 +00:00
Mikhail Glushenkov
46d25fa06e
Add --enable-llvmc-dynamic configure option.
...
Controls whether libCompilerDriver should be loaded dynamically. By default this
is needed only on Win32, to make dynamic plugins work.
llvm-svn: 74759
2009-07-03 03:52:47 +00:00
Mikhail Glushenkov
c513ce52e6
Make dynamic LLVMC plugins work on Windows (finally!).
...
Implemented by making lib/CompilerDriver a shared library that holds all the
global static data (CommandLine options, plugin registry) that we unfortunately
have to live with.
llvm-svn: 74417
2009-06-29 03:09:15 +00:00
Mikhail Glushenkov
112972509a
Remove duplication.
...
Factor out common preprocessor-related bits to Makefile.rules.
llvm-svn: 74153
2009-06-25 01:07:00 +00:00
Mikhail Glushenkov
f7b3bf53e2
Make llvmc work again.
...
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.
llvm-svn: 74000
2009-06-23 20:46:48 +00:00
Duncan Sands
229706d87f
Since -Wno-long-long is ignored without -pedantic,
...
place it with -pedantic. Remove -Wunused since it
is implied by -Wall. Group -Wno-unused-parameter
with -Wall -W since it is the combination of these
two that turns on -Wunused-parameter.
llvm-svn: 73765
2009-06-19 12:40:30 +00:00
Chris Lattner
3c85f09f57
Remove support for building LLVM libraries into "relinked"
...
object files. Now we always build LLVM libraries into archives (.a files).
This makes the 'make' build work more like the cmake build, among other
things. Doing this exposed some latent circular library dependencies, so
I think that llvm-config wasn't quite right for .o files anyway.
llvm-svn: 73579
2009-06-16 23:00:42 +00:00
Duncan Sands
738959fea3
On platforms like Sparc64 you need to pass -r to
...
gcc rather than directly to the linker: gcc will
then modify the linker options it generates (it
will not use --relax for example, incompatible
with -r, as it otherwise would). This fixes the
sparc build.
llvm-svn: 72943
2009-06-05 15:05:19 +00:00
Torok Edwin
1eb7bb1f05
For the new ar --plugin libLLVMgold.so to work we need libLTO linked with
...
pthreads, otherwise ar complains of unresolved references to pthread_mutex_*.
LTO doesn't actually use pthreads, but ManagedStatic does.
Fix this by linking in LIBS (that contains pthreads) for LTO and gold.
For now this links in more libs than needed (libffi for example), we can figure
out later how to link in those libs per-tool later.
llvm-svn: 72430
2009-05-26 19:11:47 +00:00
Jay Foad
b807bd761c
Work around the fact that GNU libstdc++'s debug mode uses RTTI.
...
llvm-svn: 71871
2009-05-15 18:13:31 +00:00
Daniel Dunbar
353db71295
Allow client Makefiles control over whether they want -pedantic by
...
defining NO_PEDANTIC.
- Pedantic C89 is a painful language...
llvm-svn: 71545
2009-05-12 07:26:49 +00:00
Daniel Dunbar
0d350a6e69
Refactor dependency generation for .ll files.
...
- This matches the normal dependency generation code.
- This also fixes the problem that when building a normal and bitcode
archive from the same source, the dependency files would overwrite
one another. Which was bad.
llvm-svn: 71542
2009-05-12 06:35:50 +00:00
Daniel Dunbar
f9f96f1ce1
Remove obsolete Makefile magic for calling llvm-upgrade
...
llvm-svn: 71540
2009-05-12 05:49:22 +00:00
Daniel Dunbar
92d38f05bc
Install bytecode libraries with a .bca suffix, otherwise it isn't
...
possible to build both a .a and a .bca.
- My understanding is no one else is using this stuff, please let me
know if I am wrong.
llvm-svn: 71539
2009-05-12 05:35:40 +00:00
Mike Stump
5deb77232a
In non-pic builds, we can use -mdynamic-no-pic for a little more speed.
...
llvm-svn: 71281
2009-05-08 23:08:58 +00:00
Anton Korobeynikov
68dee47353
Workaround libstdc++ bug when crosscompiling to mingw.
...
Patch by Jay Foad!
llvm-svn: 70849
2009-05-04 10:25:30 +00:00
Mikhail Glushenkov
1b37a864d2
Support --with-llvmgccdir and friends in llvmc, take 2.
...
Should now work when building with objdir != srcdir and when llvm-gcc is not
available.
Thanks to Duncan Sands for testing and advice!
llvm-svn: 69700
2009-04-21 19:46:10 +00:00
Evan Cheng
2ae6d55955
No, we are not avoiding -O3, just -fstrict-aliasing.
...
llvm-svn: 69633
2009-04-20 22:49:59 +00:00
Evan Cheng
9118b7ce52
One Mac OS X, just build with -O3 but without -fstrict-aliasing (which is kinda broken).
...
llvm-svn: 69630
2009-04-20 22:16:40 +00:00
David Greene
ccb1d82cd7
Add a --enable-profiling option to configure to build Debug+Profile and
...
Opt+Profile tools. Now we can profile any kind of flavor we build.
llvm-svn: 69351
2009-04-17 14:49:22 +00:00
Chris Lattner
01ad312099
move clang-specific makefile goop to clang makefile.
...
llvm-svn: 69206
2009-04-15 19:57:42 +00:00
Bill Wendling
8e3613d34b
Don't install the libLLVMHello.dylib example.
...
llvm-svn: 68807
2009-04-10 18:48:38 +00:00
Bill Wendling
e619558f13
Add compatibility_version and current_version flags when creating dylibs.
...
llvm-svn: 68801
2009-04-10 18:20:41 +00:00
Bill Wendling
c2b941b79c
Revert r68708. It was causing this failure in the self-hosting buildbot:
...
llvm[2]: Compiling lto.cpp for Debug build (PIC)
make[2]: *** No rule to make target `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Debug/lib/libLLVMBitWriter.a', needed by `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/lib/libLTO.dylib'. Stop.
make[1]: *** [all] Error 1
make: *** [all] Error 1
llvm-svn: 68721
2009-04-09 18:26:57 +00:00
Misha Brukman
694eb0f18e
Make sure to rebuild dependencies for the check' and
unittests' targets so
...
we're not testing out-of-date code. This also makes "make check" and
"make unittests" work out-of-the box right after the configure step, without
requiring the user to run "make tools-only" or "make libs-only".
Tested on Linux/x86_64 and Darwin/x86.
llvm-svn: 68708
2009-04-09 14:57:00 +00:00
Mike Stump
f8e3eea558
Avoid -O3 on Darwin for now.
...
llvm-svn: 68455
2009-04-06 19:58:11 +00:00
Julien Lerouge
eaa08f7d93
Fix build on MacOS 10.4 systems (suggested by Mike Smith).
...
llvm-svn: 67855
2009-03-27 18:18:00 +00:00
Duncan Sands
28e2a3fee7
Revert previous change in favour of an explanatory
...
comment.
llvm-svn: 67833
2009-03-27 11:35:00 +00:00
Duncan Sands
915db4b084
A Release-Asserts build makes it sound like assertions
...
are turned on, while in fact they are turned off. Name
this Release-NoAsserts instead.
llvm-svn: 67831
2009-03-27 09:41:56 +00:00
Evan Cheng
26bc5d6039
Missed this as part of r67451.
...
llvm-svn: 67500
2009-03-23 03:45:56 +00:00
Bill Wendling
7299f4d1e4
Really should pass -dylib to the linker...
...
llvm-svn: 67469
2009-03-22 08:56:15 +00:00
Bill Wendling
ef7b77b91b
A dylib should be built as a dylib and not a bundle.
...
llvm-svn: 67468
2009-03-22 08:28:45 +00:00
Nick Lewycky
0561fdaaf7
Revert r67334 and r37349 which break "make check" on Linux.
...
llvm-svn: 67368
2009-03-20 07:56:31 +00:00
Evan Cheng
d331946d5b
More makefile changes to allow dejagnu tests to pass when system tools default to a different target from the llvm configuration (e.g. 64-bit gcc and 32-bit llvm).
...
llvm-svn: 67334
2009-03-19 20:27:23 +00:00
Sebastian Redl
5fb9613105
Fix Clang build for srcdir != objdir
...
llvm-svn: 67008
2009-03-14 14:42:51 +00:00
Sebastian Redl
0579fd8f8d
Add support for generating Clang diagnostic defs to Makefile.rules.
...
llvm-svn: 67006
2009-03-14 11:59:18 +00:00
Daniel Dunbar
5c982814cf
Add ENABLE_COVERAGE, for building a +Coverage (gcov) configuration.
...
- Required some extra makefile tweaks to introduce a new flag var
which only goes to compile/link tools but not the relink step,
otherwise we get a copy of libgcov in the relinked .o files.
- No configure magic for this.
llvm-svn: 66945
2009-03-13 20:59:41 +00:00
Scott Michel
addb2cdbea
Darwin 10.4.x: "-rpath" is unnecessary when linking shared libraries.
...
llvm-svn: 66825
2009-03-12 21:03:53 +00:00
Bill Wendling
69b05ddc4f
Revert r66765 and r66766. These were causing build failures on Darwin.
...
llvm-svn: 66770
2009-03-12 04:10:09 +00:00
Nick Lewycky
71fd935173
Set ARCH to x86 on mixed 32/64-bit Linux systems.
...
Remove the explicit if OS = Darwin test around the setting of -m32/-m64.
llvm-svn: 66765
2009-03-12 03:34:19 +00:00
Rafael Espindola
940ac89ff3
Fix rebuilding after a .td file is modified. This was broken since revision
...
65834.
llvm-svn: 66553
2009-03-10 17:58:54 +00:00
Chris Lattner
8ae70c265d
don't pass -Wl,-exported_symbol -Wl,_main to the linker when building on
...
Tiger. PR3743
llvm-svn: 66550
2009-03-10 17:15:56 +00:00
Evan Cheng
7a12489de8
Re-apply 66315, but restrict it to Darwin only.
...
llvm-svn: 66427
2009-03-09 18:28:37 +00:00
Chris Lattner
48b3a32f24
Fix PR3743 - -mmacosx-version-min inappropriate for Mac OS X 10.4.11,
...
by stripping off any versions past the "10.4".
llvm-svn: 66392
2009-03-09 04:45:03 +00:00
Nick Lewycky
aabb2cbf1c
Revert r66315. Fix the build on mixed 64/32 Linux systems.
...
llvm-svn: 66350
2009-03-07 22:17:05 +00:00
Evan Cheng
5582d4bb05
If ARCH is x86_64, pass -m64 to the host compiler. -m32 for i386. This makes sure the JIT work correctly.
...
llvm-svn: 66315
2009-03-07 01:40:17 +00:00
Daniel Dunbar
097458ffb9
Rename my makefile debugging rule to prevent accidental collisions.
...
llvm-svn: 66294
2009-03-06 22:23:25 +00:00
Mikhail Glushenkov
d6a332110e
LINK_COMPONENTS should be added to LLVMLibsOptions.
...
From the code: "There are "Proj" libs (defined by the user's project) and "LLVM"
libs (defined by the LLVM project)." LINK_COMPONENTS are clearly defined by the
LLVM project.
Additionally, this fixes an issue with llvmc's build process:-)
llvm-svn: 65940
2009-03-03 10:03:27 +00:00
Nick Lewycky
28f2571059
Switch to using -Wl,-R on Solaris.
...
llvm-svn: 65927
2009-03-03 04:55:15 +00:00
Nick Lewycky
16799e4e7c
Fix build on Cygwin.
...
llvm-svn: 65922
2009-03-03 03:36:50 +00:00
Mikhail Glushenkov
5d2b946f51
Remove duplication in Makefile.rules.
...
Merge common bits from the LLVMC and TABLEGEN sections.
llvm-svn: 65834
2009-03-02 09:42:59 +00:00
Mikhail Glushenkov
a79911a965
Move the rules for building plugins to Makefile.rules.
...
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Chris Lattner
d137d547ef
Fix universal builds to not use -XCClinker (a libtool thing) now that
...
libtool doesn't exist.
llvm-svn: 65561
2009-02-26 19:08:30 +00:00
Chris Lattner
91dc97604c
no really, use the right path.
...
llvm-svn: 65554
2009-02-26 18:38:40 +00:00
Chris Lattner
63196eeef8
Search for the export map in a place that it can be found.
...
llvm-svn: 65552
2009-02-26 18:37:59 +00:00
Chris Lattner
a9b773c4d9
strip exported symbols from tools that build with TOOL_NO_EXPORTS=1.
...
llvm-svn: 65543
2009-02-26 17:47:49 +00:00
Chris Lattner
9a85c5a626
pass -mmacosx-version-min to the compiler and linker, which makes the build
...
substantially happier on some versions of Mac OS/X.
llvm-svn: 65542
2009-02-26 17:44:38 +00:00
Nick Lewycky
aa0314b1ff
Fix typo.
...
llvm-svn: 65521
2009-02-26 08:48:14 +00:00
Nick Lewycky
2c0df5ef49
Fix typo!
...
llvm-svn: 65520
2009-02-26 08:03:36 +00:00
Nick Lewycky
bc0bb948cc
Remove libtool.
...
llvm-svn: 65517
2009-02-26 07:44:16 +00:00
Daniel Dunbar
4500ec59c2
Add makefile debugging target; use "make print-FOO" to print the
...
value/definition/origin of FOO.
llvm-svn: 65245
2009-02-21 20:42:39 +00:00
Nick Lewycky
4d6ea70a06
Pass different flags on different platforms when building PIC.
...
llvm-svn: 65229
2009-02-21 08:41:09 +00:00
Mike Stump
780d14738b
Avoid order files for now, as they aren't supported in 3.79.
...
llvm-svn: 64412
2009-02-12 23:45:11 +00:00
Dale Johannesen
fa28929927
Reapply 63765. Patches for clang and llvm-gcc to follow.
...
llvm-svn: 63812
2009-02-05 01:49:45 +00:00
Dale Johannesen
f6e1822ccd
Reverting 63765. This broke the build of both clang
...
and llvm-gcc.
llvm-svn: 63786
2009-02-04 22:47:25 +00:00
Nate Begeman
66f10b55ed
New feature: add support for target intrinsics being defined in the
...
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.
llvm-svn: 63765
2009-02-04 19:47:21 +00:00
Mike Stump
ef377ddede
Perform optional clang building.
...
llvm-svn: 62895
2009-01-24 00:00:41 +00:00
Mike Stump
475c530c8a
Don't create .dir files in installation directories. Switch to using
...
order-only dependancies for installation directories.
llvm-svn: 62746
2009-01-22 03:24:22 +00:00
Mikhail Glushenkov
f6b520e88a
Support llvmc plugins in out-of-tree projects.
...
llvm-svn: 61990
2009-01-09 16:31:01 +00:00
Misha Brukman
69aa9d73f0
Removed trailing whitespace.
...
llvm-svn: 61904
2009-01-08 02:11:55 +00:00
Bill Wendling
a0155c41c9
Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to
...
run the tests. Most of this was stolen from the llvm/test Makefiles.
llvm-svn: 61648
2009-01-04 23:12:21 +00:00
Bill Wendling
e54262ccd2
Revert r61598 as it does nothing.
...
llvm-svn: 61614
2009-01-03 22:46:50 +00:00
Bill Wendling
680d1c8fc5
Make sure that 'ranlib' runs only after 'ar' is completed.
...
llvm-svn: 61598
2009-01-03 01:11:39 +00:00
Chris Lattner
a8158ed0a9
Remove lex/bison support from makefile.rules.
...
llvm-svn: 61562
2009-01-02 07:16:45 +00:00
Bill Wendling
46c9d8127d
Don't error out if ranlib fails.
...
llvm-svn: 61551
2009-01-02 02:53:24 +00:00
Duncan Sands
88a2901801
Fix PR3117: not all nodes being legalized. The
...
essential problem was that the DAG can contain
random unused nodes which were never analyzed.
When remapping a value of a node being processed,
such a node may become used and need to be analyzed;
however due to operands being transformed during
analysis the node may morph into a different one.
Users of the morphing node need to be updated, and
this wasn't happening. While there I added a bunch
of documentation and sanity checks, so I (or some
other poor soul) won't have to scratch their head
over this stuff so long trying to remember how it
was all supposed to work next time some obscure
problem pops up! The extra sanity checking exposed
a few places where invariants weren't being preserved,
so those are fixed too. Since some of the sanity
checking is expensive, I added a flag to turn it
on. It is also turned on when building with
ENABLE_EXPENSIVE_CHECKS=1.
llvm-svn: 60797
2008-12-09 21:33:20 +00:00
Evan Cheng
a19ef59d6c
Move target independent td files from lib/Target/ to include/llvm/Target so they can be distributed along with the header files.
...
llvm-svn: 59953
2008-11-24 07:34:46 +00:00
Anton Korobeynikov
beab79d46c
Proper way of doing llvm canadian-cross compilation.
...
Patch by Jim Grosbach!
llvm-svn: 58981
2008-11-10 07:33:13 +00:00
Daniel Dunbar
cd663da6ec
Comment fix.
...
llvm-svn: 58621
2008-11-03 17:33:36 +00:00
Dan Gohman
268cfea6bc
Fun x86 encoding tricks: when adding an immediate value of 128,
...
use a SUB instruction instead of an ADD, because -128 can be
encoded in an 8-bit signed immediate field, while +128 can't be.
This avoids the need for a 32-bit immediate field in this case.
A similar optimization applies to 64-bit adds with 0x80000000,
with the 32-bit signed immediate field.
To support this, teach tablegen how to handle 64-bit constants.
llvm-svn: 57663
2008-10-17 01:33:43 +00:00
Daniel Dunbar
a2c75a73f3
Another dependency fix, prevent ObjDir from having trailing slash.
...
- It turns out this is enough to completely break dependency file
(.d) usage (at least for my gmake).
llvm-svn: 57030
2008-10-03 21:24:52 +00:00
Daniel Dunbar
2264554763
Add IS_CLEANING_TARGET Makefile variable.
...
- Fixes bug in dependency inclusions where make with unspecified
target wouldn't include dependency files, eek!
llvm-svn: 57026
2008-10-03 19:11:19 +00:00
Jim Grosbach
659f1ab77f
Add support for Canadian Cross builds where the host executables are not
...
runnable on the build machine.
There are a few bits that need built for the build environment (TableGen).
This patch builds those bits, and the associated libraries, for the build
environment as well as the (usual) host environment.
Thanks to Eric C. and Devang P. for pre-commit review.
llvm-svn: 56975
2008-10-02 22:56:44 +00:00
Daniel Dunbar
4929090fb1
Reapply majority of r55557 but with the changes to compilation flags
...
disabled until issues with gcc 4.1 on linux 32-bit are resolved.
llvm-svn: 55636
2008-09-02 17:35:16 +00:00
Matthijs Kooijman
96700eceda
Revert r55557, it is causing linking failures on 32bit linux.
...
llvm-svn: 55628
2008-09-02 09:51:00 +00:00
Daniel Dunbar
767a0be71c
Enable -fvisibility-inlines-hidden by default for compilers which
...
support it.
llvm-svn: 55557
2008-08-30 01:16:19 +00:00
Gabor Greif
c3711501ef
fix the output dumbness I have introduced some time ago
...
llvm-svn: 55506
2008-08-28 22:32:39 +00:00
Dan Gohman
4b1b033f89
Initial checkin of the new "fast" instruction selection support. See
...
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.
llvm-svn: 54751
2008-08-13 20:19:35 +00:00
Chris Lattner
7fdc625548
Add support for building on solaris, working around namespace
...
polution problems from system headers. Patch by Nathan Keynes!
llvm-svn: 52682
2008-06-24 17:44:42 +00:00
Evan Cheng
9d5a811ae1
Warn of potential violations of strict aliasing rules.
...
llvm-svn: 52027
2008-06-05 23:00:08 +00:00
Evan Cheng
ce2c3b07ba
Revert 51775.
...
llvm-svn: 51795
2008-05-30 22:47:19 +00:00
Evan Cheng
8ebaae9d1c
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
...
llvm-svn: 51775
2008-05-30 17:16:20 +00:00
Gabor Greif
48ffb6c7dc
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
...
llvm-svn: 51143
2008-05-15 10:04:30 +00:00
Gordon Henriksen
d42b23a2d9
Refresh Makefile.ocaml in objdir if it is modified in srcdir.
...
Patch by Erick Tryzelaar!
llvm-svn: 48149
2008-03-10 15:58:40 +00:00
Gabor Greif
80152c3b09
Remove inappropriate whitespace, change CVS to SVN where it makes sense.
...
llvm-svn: 47671
2008-02-27 13:34:15 +00:00
Andrew Lenharth
4666486a41
when making bytecode modules, link as library
...
llvm-svn: 47574
2008-02-25 22:41:55 +00:00
Chris Lattner
578a3c2083
Make the check for GCC version more robust, fix shared library
...
dependencies in makefile, and fix llvm_cv_no_link_all_option
on darwin.
Patch by Shantonu Sen, more info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-February/012410.html
llvm-svn: 46760
2008-02-05 19:43:40 +00:00
Duncan Sands
069f3f7631
Unbreak builds with differing object and source
...
directories. Patch by Sam Bishop.
llvm-svn: 46453
2008-01-28 17:38:30 +00:00
Chris Lattner
01aaf36663
reduce duplicate -I flags passed to the compiler, cleaning up the VERBOSE
...
output. Patch contributed by Sam Bishop!
llvm-svn: 46432
2008-01-28 04:18:41 +00:00
Chris Lattner
892727ad35
One too many )'s breaks 'make clean' with certain versions of make.
...
This fixes PR1927
This should be pulled into llvm 2.2.
llvm-svn: 46245
2008-01-22 05:19:26 +00:00
Chris Lattner
b7af13397a
Commit a piece that I missed before, patch by Alain Frisch
...
llvm-svn: 46032
2008-01-15 23:27:40 +00:00
Gordon Henriksen
87171d82dc
Modify Makefile.rules to allow makefiles to prepend to C.Flags and
...
fiends. Change Makefile.ocaml to not touch CFLAGS.
llvm-svn: 45663
2008-01-06 21:54:35 +00:00
Chris Lattner
48d3d78bcf
Factor out makefile dependency generation better.
...
Don't include system headers in the .d files.
Don't use $@ in the makefile rules, as there are two possible targets it could resolve to: use the one that we need explicitly.
llvm-svn: 45473
2007-12-31 23:58:31 +00:00
Chris Lattner
6aece93d5c
remove attributions from the rest of the llvm makefiles.
...
llvm-svn: 45416
2007-12-29 20:11:13 +00:00