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
Duncan Sands
af7ae6ce3c
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
3138f7a781
Missed this as part of r67451.
...
llvm-svn: 67500
2009-03-23 03:45:56 +00:00
Bill Wendling
a443ab4bcd
Really should pass -dylib to the linker...
...
llvm-svn: 67469
2009-03-22 08:56:15 +00:00
Bill Wendling
f3ef2c758f
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
18ca80cdda
Revert r67334 and r37349 which break "make check" on Linux.
...
llvm-svn: 67368
2009-03-20 07:56:31 +00:00
Evan Cheng
05799db963
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
6c2d55922f
Fix Clang build for srcdir != objdir
...
llvm-svn: 67008
2009-03-14 14:42:51 +00:00
Sebastian Redl
f2e58d6694
Add support for generating Clang diagnostic defs to Makefile.rules.
...
llvm-svn: 67006
2009-03-14 11:59:18 +00:00
Daniel Dunbar
5b86bf527e
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
b1a830abf0
Darwin 10.4.x: "-rpath" is unnecessary when linking shared libraries.
...
llvm-svn: 66825
2009-03-12 21:03:53 +00:00
Bill Wendling
207495d8ea
Revert r66765 and r66766. These were causing build failures on Darwin.
...
llvm-svn: 66770
2009-03-12 04:10:09 +00:00
Nick Lewycky
ca433d8a84
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
59e371ac96
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
869b6bfd0b
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
3807bb77fa
Re-apply 66315, but restrict it to Darwin only.
...
llvm-svn: 66427
2009-03-09 18:28:37 +00:00
Chris Lattner
3b935fbcf2
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
f653c2e18e
Revert r66315. Fix the build on mixed 64/32 Linux systems.
...
llvm-svn: 66350
2009-03-07 22:17:05 +00:00
Evan Cheng
9153f08c74
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
3b3c3f02cc
Rename my makefile debugging rule to prevent accidental collisions.
...
llvm-svn: 66294
2009-03-06 22:23:25 +00:00
Mikhail Glushenkov
ab6f8ded33
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
7d01e394ba
Switch to using -Wl,-R on Solaris.
...
llvm-svn: 65927
2009-03-03 04:55:15 +00:00
Nick Lewycky
9c51e8f962
Fix build on Cygwin.
...
llvm-svn: 65922
2009-03-03 03:36:50 +00:00
Mikhail Glushenkov
c6333bdc50
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
7cff81825f
Move the rules for building plugins to Makefile.rules.
...
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Chris Lattner
659ed19150
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
75f9c4e4a1
no really, use the right path.
...
llvm-svn: 65554
2009-02-26 18:38:40 +00:00
Chris Lattner
8f9c4e67bb
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
0f19580996
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
c1504647ee
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
b51813fc1c
Fix typo.
...
llvm-svn: 65521
2009-02-26 08:48:14 +00:00
Nick Lewycky
a0b8aaaad4
Fix typo!
...
llvm-svn: 65520
2009-02-26 08:03:36 +00:00
Nick Lewycky
28c62d211a
Remove libtool.
...
llvm-svn: 65517
2009-02-26 07:44:16 +00:00