Commit Graph

769 Commits

Author SHA1 Message Date
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
Chris Lattner eaae8d0cdc 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 8b9524eede 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 49db738833 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 e609ab00a5 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 310511d429 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 8a28e011f4 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 583c5dcd76 Remove obsolete Makefile magic for calling llvm-upgrade
llvm-svn: 71540
2009-05-12 05:49:22 +00:00
Daniel Dunbar c25ba426bd 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 d1b4636717 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 0a0cc2d7b7 Workaround libstdc++ bug when crosscompiling to mingw.
Patch by Jay Foad!

llvm-svn: 70849
2009-05-04 10:25:30 +00:00
Mikhail Glushenkov 2c332fec97 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 5770950dbb No, we are not avoiding -O3, just -fstrict-aliasing.
llvm-svn: 69633
2009-04-20 22:49:59 +00:00
Evan Cheng 40c52322a7 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 80f48bd13f 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 b4494eb887 move clang-specific makefile goop to clang makefile.
llvm-svn: 69206
2009-04-15 19:57:42 +00:00
Bill Wendling e8b48b49c9 Don't install the libLLVMHello.dylib example.
llvm-svn: 68807
2009-04-10 18:48:38 +00:00
Bill Wendling cd1e037c50 Add compatibility_version and current_version flags when creating dylibs.
llvm-svn: 68801
2009-04-10 18:20:41 +00:00
Bill Wendling f704f90f6e 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 a04ede8d5b 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 82d7cfda21 Avoid -O3 on Darwin for now.
llvm-svn: 68455
2009-04-06 19:58:11 +00:00
Julien Lerouge 15833b93cf Fix build on MacOS 10.4 systems (suggested by Mike Smith).
llvm-svn: 67855
2009-03-27 18:18:00 +00:00
Duncan Sands 99d0b2353e Revert previous change in favour of an explanatory
comment.

llvm-svn: 67833
2009-03-27 11:35:00 +00:00