Commit Graph

580 Commits

Author SHA1 Message Date
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
Daniel Dunbar 0094e341d0 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 9e5ed6d329 Pass different flags on different platforms when building PIC.
llvm-svn: 65229
2009-02-21 08:41:09 +00:00
Mike Stump 35f423e09e 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 b842d529a3 Reapply 63765. Patches for clang and llvm-gcc to follow.
llvm-svn: 63812
2009-02-05 01:49:45 +00:00
Dale Johannesen ae616c2c61 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 6ae3aa83d0 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 82221d62a9 Perform optional clang building.
llvm-svn: 62895
2009-01-24 00:00:41 +00:00
Mike Stump f7a16e9380 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 726440dbc9 Support llvmc plugins in out-of-tree projects.
llvm-svn: 61990
2009-01-09 16:31:01 +00:00
Misha Brukman 2879c29274 Removed trailing whitespace.
llvm-svn: 61904
2009-01-08 02:11:55 +00:00
Bill Wendling 8790e3260d 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 b2f724edb4 Revert r61598 as it does nothing.
llvm-svn: 61614
2009-01-03 22:46:50 +00:00
Bill Wendling cea11dbf6e Make sure that 'ranlib' runs only after 'ar' is completed.
llvm-svn: 61598
2009-01-03 01:11:39 +00:00
Chris Lattner 814d9eec97 Remove lex/bison support from makefile.rules.
llvm-svn: 61562
2009-01-02 07:16:45 +00:00
Bill Wendling ea58ff5a8a Don't error out if ranlib fails.
llvm-svn: 61551
2009-01-02 02:53:24 +00:00
Duncan Sands 445071c44f 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 977e7be9d4 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 8e58c52b37 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 d395a1722d Comment fix.
llvm-svn: 58621
2008-11-03 17:33:36 +00:00
Dan Gohman ca0546facc 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 4b928f6550 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 78caa02ef4 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 009db89513 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 61e0a821cc 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 7b704a502b Revert r55557, it is causing linking failures on 32bit linux.
llvm-svn: 55628
2008-09-02 09:51:00 +00:00
Daniel Dunbar 8eec985ac7 Enable -fvisibility-inlines-hidden by default for compilers which
support it.

llvm-svn: 55557
2008-08-30 01:16:19 +00:00
Gabor Greif 2dd54ed593 fix the output dumbness I have introduced some time ago
llvm-svn: 55506
2008-08-28 22:32:39 +00:00
Dan Gohman b2226e21c3 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 01602a18a9 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 c7007a7211 Warn of potential violations of strict aliasing rules.
llvm-svn: 52027
2008-06-05 23:00:08 +00:00
Evan Cheng 215c528565 Revert 51775.
llvm-svn: 51795
2008-05-30 22:47:19 +00:00
Evan Cheng a50833b695 Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
llvm-svn: 51775
2008-05-30 17:16:20 +00:00
Gabor Greif 697e94cc22 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 04e38cf30a 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 c848f9ea4e Remove inappropriate whitespace, change CVS to SVN where it makes sense.
llvm-svn: 47671
2008-02-27 13:34:15 +00:00
Andrew Lenharth dddb68c63a when making bytecode modules, link as library
llvm-svn: 47574
2008-02-25 22:41:55 +00:00
Chris Lattner 42e35d4fcc 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 9f6f4d39f7 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 6379fc68ff 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 efc922d089 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 5047536879 Commit a piece that I missed before, patch by Alain Frisch
llvm-svn: 46032
2008-01-15 23:27:40 +00:00
Gordon Henriksen db911e9037 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 c23e6351de 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 11cc8b3c14 remove attributions from the rest of the llvm makefiles.
llvm-svn: 45416
2007-12-29 20:11:13 +00:00
Chris Lattner d0382a8550 noone uses etags. Connected to PR1601
llvm-svn: 42344
2007-09-26 06:10:47 +00:00
Reid Spencer fcd7815249 Restore ability to build archives (oops)
Fix -include line so it doesn't reference /dev/null

llvm-svn: 40429
2007-07-23 08:20:46 +00:00
Reid Spencer 63ebdf7994 Remove bizarre use of /dev/null in a makefile include line that
produces warning from make about bad timestamp on /dev/null

Patch by Holger Schurig.

llvm-svn: 40426
2007-07-23 08:09:15 +00:00
Reid Spencer bca0811462 Make sure to keep symbols for profile build.
Patch by Benoit Boissinot. Thanks, Benoit!

llvm-svn: 38490
2007-07-10 14:52:01 +00:00
Reid Spencer fd8e641c1e Make sure that preprocessor symbols like _DEBUG, NDEBUG, and _GLIBC_DEBUG are
put into the CPP.Defines variable. Seems the convention was corrupted with
various changes made. It is important to get command line parameters into the
right variable because things like llvm-config and sub-makefiles depend on it.

llvm-svn: 38486
2007-07-10 07:19:53 +00:00
Reid Spencer 7214cfdf66 Add a missing .
llvm-svn: 37800
2007-06-29 14:02:07 +00:00
David Greene 869e4b5dac Clean up comments to be consistent with code.
llvm-svn: 37798
2007-06-29 03:36:21 +00:00
David Greene cbc8ddf81a Add support for building with _GLIBCXX_DEBUG. New configure option
--enable-expensive-checks allows the developer to enable runtime
checking that can greatly increase compile time.  Currently it only
turns on _GLIBCXX_DEBUG.  Other expensive debugging checks added later
should be controlled by this configure option.

This patch also updates llvm-config with a --cppflags option to inform
llvm-gcc how to build itself so that it is compatible with an llvm that
was built with _GLIBCXX_DEBUG.

llvm-svn: 37777
2007-06-28 19:36:08 +00:00
Reid Spencer 07aa66887c Fix a problem with building .y files when BISON is not present.
Merged from the release_20 branch.

llvm-svn: 37188
2007-05-17 22:51:35 +00:00
Reid Spencer 700a0381b5 Disable RTTI handling until we're ready.
llvm-svn: 36651
2007-05-02 21:31:09 +00:00
Reid Spencer e6bc20629d Add a rule to get the footprint of binaries and libraries.
llvm-svn: 36650
2007-05-02 21:29:39 +00:00
Anton Korobeynikov fb80151c42 Removed tabs everywhere except autogenerated & external files. Add make
target for tabs checking.

llvm-svn: 36146
2007-04-16 18:10:23 +00:00
Chris Lattner f8adf7af88 add a target to print out 80-column violations.
llvm-svn: 36032
2007-04-14 23:35:45 +00:00