Commit Graph

98 Commits

Author SHA1 Message Date
Douglas Gregor
1555a23335 Introduce new headers whose inclusion forces linking and
initialization of all targets (InitializeAllTargets.h) or assembler
printers (InitializeAllAsmPrinters.h). This is a step toward the
elimination of relinked object files, so that we can build normal
archives.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 20:12:29 +00:00
Chris Lattner
c89146587a Change 'make install' to install tblgen, for better support of out-of-tree targets,
patch by Mikael Lepistö!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71226 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08 17:32:47 +00:00
Mike Stump
166c9e244c Lets install the manual page with install-clang! Radar 6838692
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 01:47:55 +00:00
Gabor Greif
95fc7aac60 Use a bigger hammer to coerce subversion into english.
Patch by Benjamin Kramer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69976 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-24 17:00:03 +00:00
Mike Stump
f23e809be0 Remove ccc now. Radar 6737767
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07 20:29:25 +00:00
Mike Stump
854b9d7623 Add ccc back for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68038 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-30 17:43:04 +00:00
Mike Stump
e568f64131 Update to account for driver renaming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26 23:43:14 +00:00
Nick Lewycky
59fad7d933 Remove configurey-fu to autodetect hash_map and hash_set now that they are
no longer used in LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 06:16:26 +00:00
Mike Stump
b76ace310a Add targets to support the installation of clang in isolation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62522 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 19:48:23 +00:00
Misha Brukman
ef5dc7072f Removed trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 02:11:55 +00:00
Bill Wendling
4113bd1dc6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:12:21 +00:00
Misha Brukman
8fb520eb4f Original patch by Talin.
* Added the first LLVM unittest -- DenseMap.
* Updated mkpatch utility to include llvm/unittests dir
* Added top-level target "unittests" to run all unittests


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-01 02:24:48 +00:00
Anton Korobeynikov
569c45cab2 Proper way of doing llvm canadian-cross compilation.
Patch by Jim Grosbach!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58981 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 07:33:13 +00:00
Jim Grosbach
673612ec72 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 22:56:44 +00:00
Anton Korobeynikov
43d1fd449f For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 17:41:17 +00:00
Gabor Greif
8e0c20bf1b a happier version of happiness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 22:17:07 +00:00
Gabor Greif
a4a0323f63 Run 'svn info' in the C locale. Also appropriately escape spaces and ? for gawk in darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47723 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 18:46:56 +00:00
Gabor Greif
9fa4226925 Simplify and clean up "update" target. Also
add an SVN-UPDATE-OPTIONS variable that controls
the update behaviour. This allows to go to a common
older revision of all svn directories:

  gmake update SVN-UPDATE-OPTIONS=-r47717

would rewind both llvm and clang to a common
revision (if clang is checked out into the llvm
tree).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47717 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 14:58:14 +00:00
Gabor Greif
1d7ca713ba Now that targets are serialized, introduce
two new convenience targets:

- update: svn update toplevel and try hard
          to locate updatable subdirectories
					using cunning tricks
- happiness: update then build and test

so what one wants to do now is:
  nice gmake --jobs happiness

Have fun!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47716 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 13:06:50 +00:00
Gabor Greif
2ae1955398 Treat all targets serially at the toplevel. This allows
to specify
  nice gmake --jobs all check
and go to lunch, while a multiprocessor machine
will build everything using spare resources
and check the result thereafter.
Since concurrency of make is not restricted
in subdirectories, this should be a nearly
optimal way to do it.

Also teach the user about a configure switch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-28 11:48:14 +00:00
Chris Lattner
57360d1f1c remove attributions from the rest of the llvm makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:11:13 +00:00
Nate Begeman
544f83db6b Add install-libs target which only installs libraries, not tools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44979 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-13 02:17:17 +00:00
Gordon Henriksen
8ef426baa3 Adding ocaml language bindings for the vmcore and bitwriter libraries. These are
built atop the C language bindings, and user programs can link with them as 
such:

  # Bytecode
  ocamlc -cc g++ llvm.cma llvmbitwriter.cma -o example example.ml
  # Native
  ocamlopt -cc g++ llvm.cmxa llvmbitwriter.cmxa -o example.opt example.ml

The vmcore.ml test exercises most/all of the APIs thus far bound. Unfortunately,
they're not yet numerous enough to write hello world. But:

  $ cat example.ml
  (* example.ml *)
  
  open Llvm
  open Llvm_bitwriter
  
  let _ =
    let filename = Sys.argv.(1) in
    let m = create_module filename in
    
    let v = make_int_constant i32_type 42 false in
    let g = define_global "hello_world" v m in
    
    if not (write_bitcode_file m filename) then exit 1;
    
    dispose_module m;

  $ ocamlc -cc g++ llvm.cma llvm_bitwriter.cma -o example example.ml
  File "example.ml", line 11, characters 6-7:
  Warning Y: unused variable g.
  $ ./example example.bc
  $ llvm-dis < example.bc
  ; ModuleID = '<stdin>'
  @hello_world = global i32 42            ; <i32*> [#uses=0]

The ocaml test cases provide effective tests for the C interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-18 12:49:39 +00:00
David Greene
df93e57975 Get rid of annoying spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39766 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 23:44:08 +00:00
Reid Spencer
51cf6426bf Install things needed by llvm-top to allow successful building
of llvm from that level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-08 03:50:22 +00:00
Reid Spencer
42f98e54d1 Echo command lines only if the user wants them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36050 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 06:22:48 +00:00
Reid Spencer
9df5561a95 Add a new testing target: check-one. It is used like this:
make check-one TESTONE=test/path/to/test.ll

This runs a single check in exactly the same way that dejagnu runs it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36049 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 06:18:50 +00:00
Chris Lattner
c6b66ebba9 don't build runtime for now, ever
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35470 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:14:00 +00:00
Chris Lattner
122c055711 revert r1.68. This breaks 'make install' without doing 'make' first, but
fixes PR1208.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34466 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-21 06:23:20 +00:00
Reid Spencer
1e46ae47b1 Add a show-footprint target to run du a few times to show how much disk
space a build tree's objects are consuming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33934 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 23:18:58 +00:00
Reid Spencer
11c63a6791 Don't prevent install target from descending into the utils directory.
It prevents "make install" on a clean directory from working.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 09:43:17 +00:00
Reid Spencer
8b2e1419cf Undo removal of the runtime libraries. While this may have been a bit
premature, these libraries will be going away for the 2.0 release. Other
arrangements for profiling, gc, etc. should be made in the next few months.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 03:32:33 +00:00
Reid Spencer
ac90d5e50b In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will
be dropped. This patch pertains to removing the runtime directory from LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-16 23:17:27 +00:00
Chris Lattner
87b5101248 Document build order dependencies. Make sure that llvm-config is built before
tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30083 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:27:07 +00:00
Reid Spencer
f7c75a6832 Add .PHONY targets for building source and binary RPM packages. You can
now just "make rpm" or "make srpm" and it will build them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29717 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 00:43:50 +00:00
Chris Lattner
5720be4138 Revamp this to use filter-out, which makes the logic simpler and not nested.
This restores building of examples and projects!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29297 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 19:10:34 +00:00
Chris Lattner
22033b2a4e More of PR728, don't install utils either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 22:41:18 +00:00
Chris Lattner
936cd541b6 Part of PR728, don't install examples or projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 22:34:39 +00:00
Reid Spencer
5b30ee1c13 Make a shorthand target for running the llvm2cpp test suite. This test
suite is disabled by default because of the length of time it takes to
run. To enable it certain command line fu must be used. This patch just
encodes the command line fu as the magical "check-llvm2cpp" target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 07:27:53 +00:00
Reid Spencer
dd1aac36a1 Make some changes suggested by Chris:
1. Remove the LLVM_DO_NOT_BUILD feature (not needed any more)
2. Ensure that lib/VMCore gets built first. This needs to be done because
   VMCore now uses tblgen to generate the Intrinsics header which are
   needed in other libraries. In parallel builds, this can cause problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17 22:55:35 +00:00
Reid Spencer
0c82def715 Include the win32 and Xcode directories in the distribution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:53:14 +00:00
Reid Spencer
06a801a38c Fix recursion:
1. Make setting OPTIONAL_DIRS use immediate assignment
2. Include Makefile.config before ifeq tests and then Makefile.rules later
   instead of Makefile.common up front. This ensures that the variable
   values are set before the ifeq statements in Makefile.rules are
   evaluated.
With this, recursion into projects/examples is corrected.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27519 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 02:14:37 +00:00
Reid Spencer
8dfb3e5366 Don't build projects/examples if libs-only was specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27518 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 01:57:10 +00:00
Reid Spencer
30ea2fa933 Invert the tests on LLVMGCC_MAJVERS to check for value 4 instead of value
3. This ensures that if llvm-gcc isn't available and consequently the value
of LLVMGCC_MAJVERS is blank, that the old (include runtime) behavior will
persist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27499 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 21:45:23 +00:00
Chris Lattner
38ab6d887c THis -> This
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27490 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 16:21:59 +00:00
Reid Spencer
e22f3c004a For PR723:
Print out something at the end of the build that indicates what kind of
build has just completed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27485 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 15:58:18 +00:00
Reid Spencer
93bc3cdd43 Avoid building the runtime libraries if llvm-gcc version 4 is detected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27464 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06 22:15:51 +00:00
Reid Spencer
ca739c685b For PR614:
Move the implementation of the fix from Makefile.rules to Makefile. This
ensures that it is only checked on a top-level rebuild, and not in every
single subdirectory. This removes some annoying messages from the build and
numerous executions of config.status if the .in file changes but not
substantively enough to cause the .h file to be modified by config.status.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23039 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25 04:59:49 +00:00
Reid Spencer
085ae945af Make sure the tools get built if no build target is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22184 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-29 00:49:24 +00:00
Reid Spencer
8b1f7676bd Add a "libs-only" target for avoiding construction of the tools and
runtime libraries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22169 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-25 21:03:17 +00:00