Commit Graph

125 Commits

Author SHA1 Message Date
Jeffrey Yasskin
407fbdd161 Roll back r96959 again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96981 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-23 20:53:37 +00:00
Jeffrey Yasskin
ea6c39d417 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96959 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-23 18:10:07 +00:00
Daniel Dunbar
99d9863cce Kill off LLVMGCC_MAJVERS make variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-23 07:56:22 +00:00
Jeffrey Yasskin
2155d459a7 Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 04:43:02 +00:00
Jeffrey Yasskin
f6afae2f49 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96559 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18 02:36:02 +00:00
Daniel Dunbar
6b8dfed15e For 'install-clang' target, also traverse tools/clang/lib/Runtime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20 00:43:07 +00:00
Daniel Dunbar
55df144a78 Update install-clang target for clang-cc removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91226 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-12 21:17:54 +00:00
Daniel Dunbar
f87ea4dd9a Add the rest of the build system logic for optional target disassemblers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 04:46:58 +00:00
Daniel Dunbar
da589a3a96 Don't build examples by default, use BUILD_EXAMPLES=1 to build them. The only utility of this is testing that we keep the examples up to date, I will just make the buildbots run with this flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88979 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16 22:38:00 +00:00
Jim Grosbach
1f22d6f131 When cross-building, the CFLAGS and CXXFLAGS are for the target, and don't
apply to the build tools. If we want to allow build tool flags input, we
should have separate inputs (BUILD_CFLAGS and BUILD_CXXFLAGS, perhaps).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 19:53:38 +00:00
Jim Grosbach
79dec80e19 Remove extraneous comment line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 19:52:05 +00:00
Jim Grosbach
2cdc80c067 update name check for Apple style builds to be more permissive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 19:51:32 +00:00
Chandler Carruth
8b67f774e9 Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 01:35:46 +00:00
Chandler Carruth
3d5ec9f0c1 Remove stale reference to ThreadSupport.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25 23:41:56 +00:00
Stuart Hastings
4a53e1ef9d Trying again to tweak the top-level Makefile to facilitate an Apple-style build.
Now with Clang-compatibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 17:22:37 +00:00
Daniel Dunbar
9a6d88d38b Revert "Tweak top-level Makefile to facilitate Apple-style build.", this is
breaking Clang's Apple-style build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-20 02:23:13 +00:00
Stuart Hastings
93d8cd8072 Tweak top-level Makefile to facilitate Apple-style build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 17:53:54 +00:00
Mikhail Glushenkov
bdd040fba2 Reconfigure automatically when Base.td.in is changed.
Thanks to Chris for heads-up!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83613 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 02:40:01 +00:00
Torok Edwin
282098be84 Speed up clang-only link, by really linking only clang, and not the unittests
too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82873 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26 20:18:58 +00:00
Daniel Dunbar
7f068f47a3 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 22:39:27 +00:00
Daniel Dunbar
1026c163c8 Revert unittests build changes temporarily, the unit test build isn't -j safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81692 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 18:58:14 +00:00
Daniel Dunbar
db0ce7d90f 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81687 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 18:43:46 +00:00
Shantonu Sen
5e869c353c Improve support for cross-hosted builds of LLVM.
--build=triple and other configure options are passed
to the BuildTools/ sub-invocation more consistently


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80854 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 23:52:23 +00:00
Gabor Greif
4c75054b01 re-apply r80197, now that iterator.h is not mentioned any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27 17:07:35 +00:00
Bill Wendling
fffb7266fe --- Reverse-merging r80147 into '.':
A    include/llvm/ADT/iterator.cmake
U    autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U    cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U    Makefile
--- Reverse-merging r80173 into '.':
U    configure
U    include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A    include/llvm/ADT/iterator.h.in

Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.

Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80197 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27 03:29:26 +00:00
Gabor Greif
c403995143 eliminate references to ADT/iterator.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 22:55:19 +00:00
Daniel Dunbar
671a853991 Build runtime libraries by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79465 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 21:09:45 +00:00
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