1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Commit Graph

180 Commits

Author SHA1 Message Date
Daniel Dunbar
deb67461c0 Update for CIndex rename.
llvm-svn: 102803
2010-04-30 23:36:47 +00:00
Daniel Dunbar
81745b2e67 Add an install-clang-c top-level target, which does a Clang C API install.
llvm-svn: 102751
2010-04-30 20:04:45 +00:00
Jim Grosbach
5d2852cdd0 cross-build Makefile needs to unset CFLAGS/CXXFLAGS when building the build-side utilities since the flags will be for the cross-compiler.
llvm-svn: 102225
2010-04-24 00:46:14 +00:00
Gabor Greif
7ea6b0d132 modernize the do-all-for-me target to run lit
llvm-svn: 99148
2010-03-21 22:23:02 +00:00
Jeffrey Yasskin
f073920691 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
82c2f2fd24 Roll back r96959 again.
llvm-svn: 96981
2010-02-23 20:53:37 +00:00
Jeffrey Yasskin
e653785a3d 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
9774a591a4 Kill off LLVMGCC_MAJVERS make variable.
llvm-svn: 96907
2010-02-23 07:56:22 +00:00
Jeffrey Yasskin
e4b750f830 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
64b33dd9b7 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
Daniel Dunbar
39f85e6a96 For 'install-clang' target, also traverse tools/clang/lib/Runtime.
llvm-svn: 93958
2010-01-20 00:43:07 +00:00
Daniel Dunbar
ed743f6524 Update install-clang target for clang-cc removal.
llvm-svn: 91226
2009-12-12 21:17:54 +00:00
Daniel Dunbar
7f52922e77 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
f3784a8781 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.
llvm-svn: 88979
2009-11-16 22:38:00 +00:00
Jim Grosbach
e0e5896a29 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).

llvm-svn: 85607
2009-10-30 19:53:38 +00:00
Jim Grosbach
7f05d433e0 Remove extraneous comment line
llvm-svn: 85606
2009-10-30 19:52:05 +00:00
Jim Grosbach
85fb2965a5 update name check for Apple style builds to be more permissive
llvm-svn: 85605
2009-10-30 19:51:32 +00:00
Chandler Carruth
766362c707 Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.

llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Chandler Carruth
88cbba7934 Remove stale reference to ThreadSupport.h.
llvm-svn: 85082
2009-10-25 23:41:56 +00:00
Stuart Hastings
89d8dc1bde Trying again to tweak the top-level Makefile to facilitate an Apple-style build.
Now with Clang-compatibility.

llvm-svn: 84872
2009-10-22 17:22:37 +00:00
Daniel Dunbar
25f8a7e4fd Revert "Tweak top-level Makefile to facilitate Apple-style build.", this is
breaking Clang's Apple-style build.

llvm-svn: 84592
2009-10-20 02:23:13 +00:00
Stuart Hastings
0e0c090f5d Tweak top-level Makefile to facilitate Apple-style build.
llvm-svn: 84507
2009-10-19 17:53:54 +00:00
Mikhail Glushenkov
684fcbea02 Reconfigure automatically when Base.td.in is changed.
Thanks to Chris for heads-up!

llvm-svn: 83613
2009-10-09 02:40:01 +00:00
Torok Edwin
9d7a492755 Speed up clang-only link, by really linking only clang, and not the unittests
too.

llvm-svn: 82873
2009-09-26 20:18:58 +00:00
Daniel Dunbar
49c00ccc78 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
f78cd25928 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
9eba9d4828 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
Shantonu Sen
4b392bc853 Improve support for cross-hosted builds of LLVM.
--build=triple and other configure options are passed
to the BuildTools/ sub-invocation more consistently

llvm-svn: 80854
2009-09-02 23:52:23 +00:00
Gabor Greif
6cd12a9f7f re-apply r80197, now that iterator.h is not mentioned any more
llvm-svn: 80254
2009-08-27 17:07:35 +00:00
Bill Wendling
5f74a3e3b9 --- 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.

llvm-svn: 80197
2009-08-27 03:29:26 +00:00
Gabor Greif
95b0cf004f eliminate references to ADT/iterator.h
llvm-svn: 80171
2009-08-26 22:55:19 +00:00
Daniel Dunbar
7655fc08e9 Build runtime libraries by default.
llvm-svn: 79465
2009-08-19 21:09:45 +00:00
Douglas Gregor
f5291553f2 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.

llvm-svn: 73543
2009-06-16 20:12:29 +00:00
Chris Lattner
5e3bb54910 Change 'make install' to install tblgen, for better support of out-of-tree targets,
patch by Mikael Lepistö!

llvm-svn: 71226
2009-05-08 17:32:47 +00:00
Mike Stump
9581b0eb4c Lets install the manual page with install-clang! Radar 6838692
llvm-svn: 70529
2009-05-01 01:47:55 +00:00
Gabor Greif
228f28e1ac Use a bigger hammer to coerce subversion into english.
Patch by Benjamin Kramer!

llvm-svn: 69976
2009-04-24 17:00:03 +00:00
Mike Stump
f105732a13 Remove ccc now. Radar 6737767
llvm-svn: 68544
2009-04-07 20:29:25 +00:00
Mike Stump
b50565295f Add ccc back for now.
llvm-svn: 68038
2009-03-30 17:43:04 +00:00
Mike Stump
9ccd6c4c70 Update to account for driver renaming.
llvm-svn: 67791
2009-03-26 23:43:14 +00:00
Nick Lewycky
1a4b5fd173 Remove configurey-fu to autodetect hash_map and hash_set now that they are
no longer used in LLVM.

llvm-svn: 66406
2009-03-09 06:16:26 +00:00
Mike Stump
75b286bba9 Add targets to support the installation of clang in isolation.
llvm-svn: 62522
2009-01-19 19:48:23 +00:00
Misha Brukman
69aa9d73f0 Removed trailing whitespace.
llvm-svn: 61904
2009-01-08 02:11:55 +00:00
Bill Wendling
a0155c41c9 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
Misha Brukman
3b9228c5ce 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

llvm-svn: 61541
2009-01-01 02:24:48 +00:00
Anton Korobeynikov
beab79d46c Proper way of doing llvm canadian-cross compilation.
Patch by Jim Grosbach!

llvm-svn: 58981
2008-11-10 07:33:13 +00:00
Jim Grosbach
659f1ab77f 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
Anton Korobeynikov
f77142326f For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
llvm-svn: 51687
2008-05-29 17:41:17 +00:00
Gabor Greif
7dc7c09246 a happier version of happiness
llvm-svn: 48663
2008-03-21 22:17:07 +00:00
Gabor Greif
c9739e9de5 Run 'svn info' in the C locale. Also appropriately escape spaces and ? for gawk in darwin.
llvm-svn: 47723
2008-02-28 18:46:56 +00:00
Gabor Greif
6efc4a5c4d 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).

llvm-svn: 47717
2008-02-28 14:58:14 +00:00
Gabor Greif
dd987bc788 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!

llvm-svn: 47716
2008-02-28 13:06:50 +00:00
Gabor Greif
596fb7b39f 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.

llvm-svn: 47715
2008-02-28 11:48:14 +00:00
Chris Lattner
6aece93d5c remove attributions from the rest of the llvm makefiles.
llvm-svn: 45416
2007-12-29 20:11:13 +00:00
Nate Begeman
29729c8ccd Add install-libs target which only installs libraries, not tools
llvm-svn: 44979
2007-12-13 02:17:17 +00:00
Gordon Henriksen
29fe360b5a 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.

llvm-svn: 42093
2007-09-18 12:49:39 +00:00
David Greene
41a921b12c Get rid of annoying spaces.
llvm-svn: 39766
2007-07-11 23:44:08 +00:00
Reid Spencer
786fdee6e5 Install things needed by llvm-top to allow successful building
of llvm from that level.

llvm-svn: 38423
2007-07-08 03:50:22 +00:00
Reid Spencer
6a23468a28 Echo command lines only if the user wants them.
llvm-svn: 36050
2007-04-15 06:22:48 +00:00
Reid Spencer
b9d5ebf98c 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.

llvm-svn: 36049
2007-04-15 06:18:50 +00:00
Chris Lattner
5eaf5acf6a don't build runtime for now, ever
llvm-svn: 35470
2007-03-29 18:14:00 +00:00
Chris Lattner
b8a9b86473 revert r1.68. This breaks 'make install' without doing 'make' first, but
fixes PR1208.

llvm-svn: 34466
2007-02-21 06:23:20 +00:00
Reid Spencer
b14a03cd7c Add a show-footprint target to run du a few times to show how much disk
space a build tree's objects are consuming.

llvm-svn: 33934
2007-02-05 23:18:58 +00:00
Reid Spencer
25f656a559 Don't prevent install target from descending into the utils directory.
It prevents "make install" on a clean directory from working.

llvm-svn: 33905
2007-02-05 09:43:17 +00:00
Reid Spencer
788d8ef578 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.

llvm-svn: 31807
2006-11-17 03:32:33 +00:00
Reid Spencer
77422c102b 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.

llvm-svn: 31793
2006-11-16 23:17:27 +00:00
Chris Lattner
544535c0a4 Document build order dependencies. Make sure that llvm-config is built before
tools.

llvm-svn: 30083
2006-09-04 04:27:07 +00:00
Reid Spencer
db940fb3e7 Add .PHONY targets for building source and binary RPM packages. You can
now just "make rpm" or "make srpm" and it will build them.

llvm-svn: 29717
2006-08-16 00:43:50 +00:00
Chris Lattner
884eb77753 Revamp this to use filter-out, which makes the logic simpler and not nested.
This restores building of examples and projects!

llvm-svn: 29297
2006-07-26 19:10:34 +00:00
Chris Lattner
62737129a4 More of PR728, don't install utils either.
llvm-svn: 28673
2006-06-02 22:41:18 +00:00
Chris Lattner
67d357bb6b Part of PR728, don't install examples or projects.
llvm-svn: 28671
2006-06-02 22:34:39 +00:00
Reid Spencer
2b1ffa572d 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.

llvm-svn: 28626
2006-06-01 07:27:53 +00:00
Reid Spencer
8dbff8efda 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.

llvm-svn: 28374
2006-05-17 22:55:35 +00:00
Reid Spencer
f568bb394c Include the win32 and Xcode directories in the distribution.
llvm-svn: 27626
2006-04-12 20:53:14 +00:00
Reid Spencer
2bab033f26 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.

llvm-svn: 27519
2006-04-08 02:14:37 +00:00
Reid Spencer
96d179528e Don't build projects/examples if libs-only was specified.
llvm-svn: 27518
2006-04-08 01:57:10 +00:00
Reid Spencer
04730dfbf7 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.

llvm-svn: 27499
2006-04-07 21:45:23 +00:00
Chris Lattner
5ef0e91718 THis -> This
llvm-svn: 27490
2006-04-07 16:21:59 +00:00
Reid Spencer
d4bdc7793c For PR723:
Print out something at the end of the build that indicates what kind of
build has just completed.

llvm-svn: 27485
2006-04-07 15:58:18 +00:00
Reid Spencer
8067330e59 Avoid building the runtime libraries if llvm-gcc version 4 is detected.
llvm-svn: 27464
2006-04-06 22:15:51 +00:00
Reid Spencer
3cbdac1edb 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.

llvm-svn: 23039
2005-08-25 04:59:49 +00:00
Reid Spencer
cccc417f16 Make sure the tools get built if no build target is specified.
llvm-svn: 22184
2005-05-29 00:49:24 +00:00
Reid Spencer
fbf2caa005 Add a "libs-only" target for avoiding construction of the tools and
runtime libraries.

llvm-svn: 22169
2005-05-25 21:03:17 +00:00
Reid Spencer
e126c81722 Two dist-check related changes:
1. Allow DIST_CHECK_CONFIG_OPTION to specify a set of options to be passed
   to the configure script during the dist-check target. This allows things
   to be passed down on a project basis so the configure doesn't fail.

2. Use the tar | (cd ; tar ) idiom to copy files which is more flexible
   than using the cp command. THis allows us to exclude CVS .svn
   directories at source rather than stripping them out of the tar ball.

llvm-svn: 22166
2005-05-24 02:33:20 +00:00
Reid Spencer
e60f71861a Remove the check target. Its now in Makefile.rules
llvm-svn: 18565
2004-12-06 05:35:00 +00:00
Reid Spencer
c5759a84c8 CVS directory elimination moved to Makefile.rules
llvm-svn: 18503
2004-12-04 22:33:58 +00:00
Tanya Lattner
b449c01529 Made it default to check instead of check-dejagnu.
llvm-svn: 18488
2004-12-04 06:25:08 +00:00
Chris Lattner
1871315df4 check is now a single colon rule. Also make it default to running dejagnu instead of qmtest
llvm-svn: 18471
2004-12-03 23:57:00 +00:00
Reid Spencer
673bdf9679 Add "docs" as a descendable directory (at the end)
llvm-svn: 18328
2004-11-29 04:57:55 +00:00
Reid Spencer
c8ec221b8d Add a convenience target to build all three modes: Debug, Release, Profile
llvm-svn: 18241
2004-11-25 09:08:54 +00:00
Alkis Evlogimenos
306136fdf0 Move path override in test/Makefile.
llvm-svn: 17613
2004-11-08 05:44:05 +00:00
Alkis Evlogimenos
e6e07d31ff Override PATH to submake so that all tools are found if the PATH is
not set up properly (it also avoids using different tools that happen
to be in the path).

llvm-svn: 17612
2004-11-08 05:35:03 +00:00
Tanya Lattner
3889be029b Removed passing TARGET.
llvm-svn: 17587
2004-11-07 21:43:57 +00:00
Tanya Lattner
4af4d3715e Changed check-dejagnu to take TESTSUITE as its args instead of TEST in order to not conflict with other stuff. Added path for test/Scripts. Also added a check to deal with TESTSUITE and runtest flags.
llvm-svn: 17586
2004-11-07 21:39:41 +00:00
Tanya Lattner
31e899d3ee Minor error.
llvm-svn: 17573
2004-11-07 08:29:03 +00:00
Tanya Lattner
44c5ebfeac Added support to specify which test suite dejagnu should run (Feature or Regression). Use TEST=suite
llvm-svn: 17572
2004-11-07 08:24:59 +00:00
Tanya Lattner
093d12e40f Added rough support for dejagnu testing. Changes need to be made to autoconf to provide the target_triplet and to check for 'grep -C' which would be used instead of the python script we have now. Eventually the python script should be converted to bash.
The dejagnu-clean needs to be fixed to use find.

llvm-svn: 17555
2004-11-07 04:59:52 +00:00
Reid Spencer
acb1305e99 Internalize variable names to prevent recursive assignment. Cleanup docs.
llvm-svn: 17359
2004-10-30 09:19:36 +00:00
Reid Spencer
6f5b45d9d3 Reduce the number of EXTRA_DIST files since Makefile.rules now handles the
autoconf directory automagically.

llvm-svn: 17249
2004-10-26 07:05:09 +00:00
Reid Spencer
b459222ce0 New Makefile Features:
* "dist" target now builds tar.gz, tar.bz2, and zip files suitable for
  distribution. "dist" can only be run from $(BUILD_OBJ_ROOT) and implies
  a "check".

* made the preconditions not do a recursive make and ensured that they are
  executed sequentially.

* made the messages output by the makefile be prefixed with "llvm" and the
  make level (e.g. llvm[1]: ) in the same way that make does so that the
  messages are uniform and more readable.

* Fixed the tags target so that tags depends on TAGS which contains the
  rules to build a file named TAGS

* Implemented the EXTRA_DIST feature in a few directories to make sure it
  works.

llvm-svn: 17210
2004-10-25 08:27:37 +00:00
Reid Spencer
4946a660b3 Move top level rules for tags and installing headers to Makefile.rules
llvm-svn: 17203
2004-10-24 08:20:10 +00:00