Commit Graph

791 Commits

Author SHA1 Message Date
Daniel Dunbar b4ce26a2ea build/Make: Integrate llvm-build into Makefiles.
- Basically, we coordinate with llvm-build to create a Makefile fragment we can
   easily use. For now, nothing is wired in except the support to automatically
   regenerate this file when necessary.

llvm-svn: 143662
2011-11-03 22:46:21 +00:00
Daniel Dunbar 4a1a9eceb5 build/Make: Add support for INCLUDE_BUILD_DIR make variable, to specify that
component needs to include files from its ObjDir.

llvm-svn: 143648
2011-11-03 21:01:32 +00:00
Charles Davis bc47545073 Revert 142997. It doesn't work on Mac OS or the BSDs, which all use the BSD
version of the install program, which does not have the --strip-program
switch.

llvm-svn: 143009
2011-10-26 02:28:32 +00:00
Eric Christopher 0db256834d Search for and use the strip program and pass it to install for it
to use for stripping final executables.

Patch by Simon Atanasyan!

llvm-svn: 142997
2011-10-26 00:52:13 +00:00
NAKAMURA Takumi 2c1a4cce4c Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path.
llvm-svn: 142101
2011-10-16 02:54:19 +00:00
NAKAMURA Takumi c5554c9de3 Add -D__STDC_FORMAT_MACROS to use PRIx64.
llvm-svn: 141663
2011-10-11 12:51:44 +00:00
Peter Collingbourne fb3d935649 Build system infrastructure for multiple tblgens.
llvm-svn: 141266
2011-10-06 01:51:51 +00:00
Eric Christopher cafab2ef2e More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Jim Grosbach bcb36be8e3 TableGen'erated MC lowering for simple pseudo-instructions.
This allows the (many) pseudo-instructions we have that map onto a single
real instruction to have their expansion during MC lowering handled
automatically instead of the current cumbersome manual expansion required.
These sorts of pseudos are common when an instruction is used in situations
that require different MachineInstr flags (isTerminator, isBranch, et. al.)
than the generic instruction description has. For example, using a move
to the PC to implement a branch.

llvm-svn: 134704
2011-07-08 17:36:35 +00:00
Evan Cheng c9c090d7a5 Rename XXXGenSubtarget.inc to XXXGenSubtargetInfo.inc for consistency.
llvm-svn: 134281
2011-07-01 22:36:09 +00:00
Daniel Dunbar d1c487cd00 build/Darwin: Fix epic typo fail.
llvm-svn: 134036
2011-06-28 22:30:17 +00:00
Evan Cheng 1e210d08d8 Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.inc
llvm-svn: 134024
2011-06-28 20:07:07 +00:00
Evan Cheng 247533179a Starting to refactor Target to separate out code that's needed to fully describe
target machine from those that are only needed by codegen. The goal is to
sink the essential target description into MC layer so we can start building
MC based tools without needing to link in the entire codegen.

First step is to refactor TargetRegisterInfo. This patch added a base class
MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to
separate register description from the rest of the stuff.

llvm-svn: 133782
2011-06-24 01:44:41 +00:00
NAKAMURA Takumi b2507b3926 Don't force remove config.cache on reconfiguration.
config.cache will be used by the person who specifies '-C' to configure.
config.cache's inconsistency should be responsible to him.

Re-configuration would spend so much on cygming without '-C', esp. cygwin.

llvm-svn: 133252
2011-06-17 11:08:09 +00:00
Daniel Dunbar 0315d4a335 build/configure: Add support for --with-extra-ld-options flag (to provide extra
options just to pass to ld).

llvm-svn: 133206
2011-06-16 22:30:38 +00:00
Chris Lattner 0ab5e2cded Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Daniel Dunbar 0625b1f860 build: Add support for a SHOW_DIAGNOSTICS build variable.
If enabled, this will attempt to use the CC_LOG_DIAGNOSTICS feature I dropped
into Clang to print a log of all the diagnostics generated during an individual
build (from the top-level). Not sure if this will actually be useful, but for
now it is handy for testing the option.

llvm-svn: 129312
2011-04-11 22:37:39 +00:00
Chris Lattner 077f0179bb LLVMCC_EMITIR_FLAG is already either -emit-llvm or -fplugin-arg-dragonegg-emit-ir, so don't add an extra leading -. Clang doesn't accept --emit-llvm.
llvm-svn: 129232
2011-04-09 19:56:28 +00:00
Chris Lattner 96d2507e79 make stuff work when LLVMCC_OPTION is something like installed-clang, not just clang.
llvm-svn: 129229
2011-04-09 19:53:16 +00:00
Chris Lattner 8872ec3ff0 revert accidental commit.
llvm-svn: 129191
2011-04-09 06:01:28 +00:00
Chris Lattner 2bd7015de5 fix a potentially serious bug in AliasSet::removeCallSite
where we shrunk the list without updating the end iterator.
By inspection, from PR9639.  

llvm-svn: 129190
2011-04-09 05:51:34 +00:00
NAKAMURA Takumi 2035ab2816 Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff.
llvm-svn: 127325
2011-03-09 09:11:27 +00:00
NAKAMURA Takumi 0b26c3a674 Reapply r127073(partially): Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO).
On mingw and python/w32, lit would not be expected to understand MSYS-style path.

llvm-svn: 127239
2011-03-08 12:25:10 +00:00
Eric Christopher bb8599ade5 Prepend LD.Flags before LDFLAGS to avoid overriding necessary paths.
Patch by Jack Howarth.

llvm-svn: 127152
2011-03-07 04:25:12 +00:00
Jakob Stoklund Olesen 42fc943f21 Revert r127073: "Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO)."
It broke the llvm-gcc-native-mingw32 buildbot, and we need all of them to be green for the 2.9 branch.

Takumi, please reapply after we branch, preferably with a fix ;-)

llvm-svn: 127107
2011-03-05 18:55:06 +00:00
NAKAMURA Takumi e9dc4d309a Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO).
On mingw and python/w32, lit would not be expected to understand MSYS-style path.

llvm-svn: 127073
2011-03-05 09:46:45 +00:00
Chris Lattner 22b7495ec8 Better OpenBSD support, patch by Amit Kulkarni. I have no way to test
that this doesn't break gold, but it seems reasonable to me.

llvm-svn: 126135
2011-02-21 18:38:56 +00:00
Stephen Wilson a16825106c Do not try to descend into optional build directories if they do not
exist.  This makes the build logic symmetric for both the in tree and
out of tree cases.

llvm-svn: 126070
2011-02-20 03:51:07 +00:00
Rafael Espindola 4e03719cce Factor the computation of the basename of libraries. This avoids renaming
them on install. Before we would have LLVMgold.so on the build directory but
libLLVMgold.so on the install dir.

llvm-svn: 124821
2011-02-03 22:01:15 +00:00
Daniel Dunbar c1c4e9589a build: Shared libraries shouldn't used RPATH on Darwin, only main executables
should use that.

llvm-svn: 121231
2010-12-08 02:29:26 +00:00
Daniel Dunbar 21e71e948b build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.
llvm-svn: 121223
2010-12-08 01:48:05 +00:00
Charles Davis 54c9eb6fff Now to chant the magical incantation that will exorcise the System library
from LLVM forever:

grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g'

llvm-svn: 120314
2010-11-29 19:44:50 +00:00
Michael J. Spencer 447762da85 Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi 98fa0159fc unittests/JITTests: Don't use --export-dynamic but --export-all-symbols on cygming.
GNU ld/PECOFF accepts but ignores them below;
  --version-script
  --export-dynamic
  --rpath

FIXME: autoconf should be aware of them.
llvm-svn: 120179
2010-11-26 09:32:02 +00:00
Duncan Sands 1bc5303aed Using LLVMCC_EMITIR_FLAG rather than hard-coding -emit-llvm
(dragonegg cannot use -emit-llvm so needs a different flag
to everyone else).

llvm-svn: 120155
2010-11-25 21:14:55 +00:00
Chris Lattner 9007c368c6 remove JIT support from the Alpha backend. The JIT will be moving to MC,
and the Alpha backend isn't MCized yet.  Approved by Andrew.

llvm-svn: 119051
2010-11-14 18:24:41 +00:00
Jim Grosbach cd536df63c Add rule to build MC'ized CodeEmitter.
llvm-svn: 118207
2010-11-03 23:46:01 +00:00
Mikhail Glushenkov f4a6809231 Remove -llvmc-temp-hack from tblgen.
llvm-svn: 117197
2010-10-23 07:32:53 +00:00
Peter Collingbourne a92b66ec47 Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this

llvm-svn: 117094
2010-10-22 12:54:34 +00:00
Rafael Espindola 6db2837f7f Don't pass --export-dynamic if TOOL_NO_EXPORTS is set.
llvm-svn: 116550
2010-10-15 00:58:12 +00:00
Chris Lattner 28f034c21a Generalize tblgen's dag parsing logic to handle arbitrary expressions
as the operator of the dag.  Specifically, this allows parsing things
like (F.x 4) in addition to just (a 4).

Unfortunately, this runs afoul of an idiom being used by llvmc.  It
is using dags like (foo [1,2,3]) to represent a list of stuff being
passed into foo.  With this change, this is parsed as a [1,2,3] 
subscript on foo instead of being the first argument to the dag.
Cope with this in the short term by requiring a "-llvmc-temp-hack"
argument to tblgen to get the old parsing behavior.

llvm-svn: 115742
2010-10-06 04:55:48 +00:00
NAKAMURA Takumi b9699070e8 Makefile.rules: Fix breakage on cygming --enable-shared.
This has been applied already in r115093 on release_28.

llvm-svn: 115487
2010-10-04 02:32:21 +00:00
Jim Grosbach d4ee8453a6 Remove self-described temporary hack. A bit over a year seems a reasonable
delay. Anton and PIC16 folks, if this is still good to keep, please go ahead
and add it back in with an updated comment about when would be a good time
to revisit.

llvm-svn: 115358
2010-10-01 22:32:12 +00:00
Daniel Dunbar 923e3eabf3 build: Add support for a TOOL_ORDER_FILE variable so commands can build with an
order file on Darwin.

llvm-svn: 114050
2010-09-16 00:42:32 +00:00
NAKAMURA Takumi 9c8a97ce0a Makefile.rules: LOADABLE_MODULE/Win32: "all" components may be linked
only when ENABLE_SHARED=1.

Loadable module for Win32 requires all symbols resolved for linking.

llvm-svn: 113579
2010-09-10 06:27:02 +00:00
Daniel Dunbar 4c5301d38e build: Allow subdir Makefiles to provide an alternate location for the SRCDIR
Makefile, which can be used to allow building out of tree sources.

llvm-svn: 113503
2010-09-09 17:38:11 +00:00
Dan Gohman 02ab9a69b9 Fix Windows stuff to follow the existing source organization.
llvm-svn: 112976
2010-09-03 17:29:33 +00:00
Mikhail Glushenkov a15f44daa8 Revert "Rules for win32 ld shouldn't fire when cross-compiling."
This reverts commit 012b374e5b46fe93a8fdf605f5929fa8239e0960.

llvm-svn: 112963
2010-09-03 15:42:38 +00:00
Mikhail Glushenkov 60b696db37 Rules for win32 ld shouldn't fire when cross-compiling.
llvm-svn: 112954
2010-09-03 09:57:52 +00:00
Chris Lattner c19eaaa9d4 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 a610304ed9 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 51b8b1d36c 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 938e976b90 llvmc: remove dynamic plugins.
llvm-svn: 111094
2010-08-15 07:07:12 +00:00
Mikhail Glushenkov 84fc4586f7 Simplify generating LLVMC_BUILTIN_PLUGIN.
Patch by NAKAMURA Takumi!

llvm-svn: 110680
2010-08-10 14:49:29 +00:00
Nick Lewycky adaf5172bf 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 b1af605e58 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 14e297e534 Fix library build messages.
llvm-svn: 109430
2010-07-26 20:15:47 +00:00
Nick Lewycky a3f7dcd069 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 1e5d7c6e82 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 56129bd62f Enable LLVM to compile on Mips. Fix PR5828
llvm-svn: 108821
2010-07-20 08:44:20 +00:00
Eric Christopher 55f321426d Remove unnecessary conditional.
llvm-svn: 108516
2010-07-16 06:13:24 +00:00
Daniel Dunbar 0a2f1bafb6 build/Darwin: Add a missing directory dependency.
llvm-svn: 108463
2010-07-15 21:51:52 +00:00
Devang Patel cedf95623b Revert 108456. i.e. bring back r108444.
llvm-svn: 108458
2010-07-15 20:57:09 +00:00
Devang Patel 8f59ff6b23 Revert 108444. It breaks a build.
llvm-svn: 108456
2010-07-15 20:25:51 +00:00
Daniel Dunbar 83fc06783c build/Darwin: Add support for embedding version information in tool executables.
llvm-svn: 108444
2010-07-15 19:33:38 +00:00
Ted Kremenek 34231228ff 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 f9d177622e 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 408bb192de 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 8a62f18091 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 b2c4a99d52 Fix typo.
llvm-svn: 106505
2010-06-21 23:49:08 +00:00
Chris Lattner c8cbcddcf0 improve portability to solaris 10, PR7380, patch by Simon Billingsley!
llvm-svn: 106259
2010-06-18 00:35:32 +00:00
Chris Lattner f9d8e17ec5 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 281d6bc894 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 1ce7a559c0 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 b7edb4287b -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 0af6889b89 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 9d2fe3cadb Use $ORIGIN in the rpath of libraries.
llvm-svn: 103896
2010-05-16 03:05:14 +00:00
Daniel Dunbar dac182450b 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 11328b7fb0 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 207014a992 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 7d9ec4154e 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 3afcd7cd80 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 0557cd7d89 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 e6a9912a76 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 91f8ad7bd3 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 ff9ecb2824 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 1639265421 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 473a53f7b1 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 7b999ea7b7 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 021b995bb2 remove arm mode workaround for ARM host
llvm-svn: 98771
2010-03-17 21:28:19 +00:00
Bob Wilson 1b4e8cc69c --- 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 3d9327bd06 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 0c48de0d62 add DESTDIR support for TOOLALIAS, for PR6557, patch by
Matthias Klose!

llvm-svn: 98193
2010-03-10 21:27:53 +00:00
Erick Tryzelaar 444c0955af 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 6b718f73a5 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 15983e57d6 Roll back r96959 again.
llvm-svn: 96981
2010-02-23 20:53:37 +00:00
Jeffrey Yasskin 3ac46ccdff 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 e615b5fe4d 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 16a1353031 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 8657a02e3e Eliminate CFERuntimeLibDir make variable, this shouldn't be needed.
llvm-svn: 96932
2010-02-23 09:28:50 +00:00
Daniel Dunbar 40886109ce Inline and eliminate LLVMG{CC,XX}WITHPATH.
llvm-svn: 96913
2010-02-23 07:56:41 +00:00
Daniel Dunbar e63080d6cc Remove dead LUPGRADE make variable.
llvm-svn: 96911
2010-02-23 07:56:36 +00:00
Daniel Dunbar e7d4f92cfa Kill off LLVMGCC_MAJVERS make variable.
llvm-svn: 96907
2010-02-23 07:56:22 +00:00
Jeffrey Yasskin c451027db9 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 f750fefaf8 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 82436d1666 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 823aed16f9 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 db308fdd35 libs that need EH need RTTI.
llvm-svn: 94376
2010-01-24 20:21:50 +00:00
Chris Lattner ab8a7c49b2 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 99ab0e0377 make: Make .o files depend on Makefile, at least for now.
llvm-svn: 94184
2010-01-22 18:10:54 +00:00
Anton Korobeynikov 803c60c012 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 e8b8ccefcb 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 0dd2b817c2 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 08d4ab9663 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 b4a289c88e 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 95e6e933ed Build in ARM mode explicitly when on ARM Darwin
llvm-svn: 85615
2009-10-30 21:33:05 +00:00
Nick Lewycky efd3e907b4 Indent.
llvm-svn: 85034
2009-10-25 03:22:00 +00:00
Jakob Stoklund Olesen 79843050d5 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 4ae411e096 AuroraUX needs special Solaris system header.
llvm-svn: 84076
2009-10-14 05:55:03 +00:00
Mikhail Glushenkov fc8809d0ac 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 befc8539d2 Remove trailing whitespace from build output.
llvm-svn: 83284
2009-10-04 17:54:36 +00:00
Jeffrey Yasskin c3273dca48 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 db281085c5 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 f2719e6c6a 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 96ccc47a13 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 63f5a77822 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 37af2a9588 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 24c00479df ... and fix the REQUIRES_RTTI condition.
llvm-svn: 81524
2009-09-11 15:47:24 +00:00
Daniel Dunbar 421bca3c70 Fix REQUIRES_RTTI while awake.
llvm-svn: 81523
2009-09-11 15:45:13 +00:00
Daniel Dunbar 8504030c8b Make REQUIRES_RTTI work.
llvm-svn: 81522
2009-09-11 15:39:39 +00:00
Evan Cheng 57b14190e6 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 40d204fc83 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 3eeddd22dd 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 a7326b5ba5 Remove some unnecessary -f options.
llvm-svn: 80924
2009-09-03 16:11:53 +00:00
Daniel Dunbar 213f8f4860 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 8d799c5144 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 43cce2294c 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 d604b256d5 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 3fe6967b5d 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 90e17e787f 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 5906bc1059 Fixed indentation and spelling.
llvm-svn: 79245
2009-08-17 15:31:24 +00:00
Anton Korobeynikov 28381c05d4 Force reconfigure
llvm-svn: 79019
2009-08-14 18:53:19 +00:00
Daniel Dunbar d81866827c 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 1bb812e86b 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 2841ea4749 Makefile rules for generating assembly matcher.
- Unused, fear not cmakers.

llvm-svn: 75483
2009-07-13 18:35:35 +00:00
Mikhail Glushenkov d6c39ae68c 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 72f3f7eb56 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 73da626340 Remove duplication.
Factor out common preprocessor-related bits to Makefile.rules.

llvm-svn: 74153
2009-06-25 01:07:00 +00:00
Mikhail Glushenkov 248c414024 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 e532b557c4 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