Commit Graph

180 Commits

Author SHA1 Message Date
Gabor Greif d71b410cb8 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 76e7083f49 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 11cc8b3c14 remove attributions from the rest of the llvm makefiles.
llvm-svn: 45416
2007-12-29 20:11:13 +00:00
Nate Begeman 938d8cb8d9 Add install-libs target which only installs libraries, not tools
llvm-svn: 44979
2007-12-13 02:17:17 +00:00
Gordon Henriksen 37582f74cd 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 b2e2be4b6d Get rid of annoying spaces.
llvm-svn: 39766
2007-07-11 23:44:08 +00:00
Reid Spencer 64a2622682 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 6d4a417df9 Echo command lines only if the user wants them.
llvm-svn: 36050
2007-04-15 06:22:48 +00:00
Reid Spencer a9482c8916 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 323a5137c6 don't build runtime for now, ever
llvm-svn: 35470
2007-03-29 18:14:00 +00:00
Chris Lattner 31f99b9b45 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 99a1e6b6eb 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 f8094e4719 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 4b8067f37b 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 3f97d03f86 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 31b4aa5b8d 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 d14c6ca455 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 b85c3253b8 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 2ad80c2d17 More of PR728, don't install utils either.
llvm-svn: 28673
2006-06-02 22:41:18 +00:00
Chris Lattner f566821f36 Part of PR728, don't install examples or projects.
llvm-svn: 28671
2006-06-02 22:34:39 +00:00
Reid Spencer 9c226205e2 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 a22a5b382f 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 d3d5fc072e Include the win32 and Xcode directories in the distribution.
llvm-svn: 27626
2006-04-12 20:53:14 +00:00
Reid Spencer 8ac5062646 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 4b22fdc928 Don't build projects/examples if libs-only was specified.
llvm-svn: 27518
2006-04-08 01:57:10 +00:00
Reid Spencer 4873c79e41 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 e690a93c64 THis -> This
llvm-svn: 27490
2006-04-07 16:21:59 +00:00
Reid Spencer 754cfecd59 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 aed84e46fc 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 53846bcdb6 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 d85c00251e 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 fec4f805d6 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 13f5193ff7 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 876ae54f63 Remove the check target. Its now in Makefile.rules
llvm-svn: 18565
2004-12-06 05:35:00 +00:00
Reid Spencer b16e4b7ca5 CVS directory elimination moved to Makefile.rules
llvm-svn: 18503
2004-12-04 22:33:58 +00:00
Tanya Lattner 26a1367d8a Made it default to check instead of check-dejagnu.
llvm-svn: 18488
2004-12-04 06:25:08 +00:00
Chris Lattner e175aa5cc1 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 51877c95d3 Add "docs" as a descendable directory (at the end)
llvm-svn: 18328
2004-11-29 04:57:55 +00:00
Reid Spencer 334782733f 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 eb4dbfd4e2 Move path override in test/Makefile.
llvm-svn: 17613
2004-11-08 05:44:05 +00:00
Alkis Evlogimenos d91bca6941 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 dd157e31fd Removed passing TARGET.
llvm-svn: 17587
2004-11-07 21:43:57 +00:00
Tanya Lattner 71a3368fdd 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 9119b9cff5 Minor error.
llvm-svn: 17573
2004-11-07 08:29:03 +00:00
Tanya Lattner 7aad4fef81 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 9082d7a6fd 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 f88808ae43 Internalize variable names to prevent recursive assignment. Cleanup docs.
llvm-svn: 17359
2004-10-30 09:19:36 +00:00
Reid Spencer 4a9b5ff536 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 100080cc38 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 70969c005b Move top level rules for tags and installing headers to Makefile.rules
llvm-svn: 17203
2004-10-24 08:20:10 +00:00
John Criswell db981ab5cc Changed the distclean target to handle the new location of config.h.
llvm-svn: 16385
2004-09-17 15:08:25 +00:00
Reid Spencer 90f56ee8b4 Add lib/System ahead of lib/Support in case there are operating system
issues.

llvm-svn: 16095
2004-08-29 19:33:21 +00:00
Reid Spencer b1a014f786 Include the "examples" directory as optional.
Update configure script to configure the examples/Makefile

llvm-svn: 16028
2004-08-24 16:32:21 +00:00
Chris Lattner b9df0c004a etags isn't portable at all. Make it not run by default. If you still
want it, just type 'make tags'

llvm-svn: 14368
2004-06-24 18:19:42 +00:00
Reid Spencer 95290c7d33 Change tags rule to pipe output from find through etags command so that it
doesn't break on machines with limited command line lengths.

llvm-svn: 14138
2004-06-11 03:10:27 +00:00
Reid Spencer d936d812bc Change the install-includes target to completely ignore the llvm/Internal
directory. Headers located there are not public to LLVM but are shared
between LLVM modules.

llvm-svn: 13769
2004-05-25 20:01:25 +00:00
Misha Brukman 7426c893f0 Standardize header comments of top-level Makefiles.
llvm-svn: 13143
2004-04-24 00:10:56 +00:00
Brian Gaeke 7850dd6877 As a part of the bootstrapping process, the top-level tools-only target
should not build projects.

llvm-svn: 12984
2004-04-16 15:57:02 +00:00
Brian Gaeke c6d8be1137 Should fix pr220 - "make install" doesn't install header files when
BUILD_SRC_ROOT != BUILD_OBJ_ROOT

llvm-svn: 11253
2004-02-10 01:10:01 +00:00
Brian Gaeke 12705d56ef Fix bug in installation process: MKDIR must respect DESTDIR.
llvm-svn: 11236
2004-02-09 17:38:52 +00:00
Brian Gaeke 4f99c4f75f Remove rules for autoconf'ing files from top-level Makefile
llvm-svn: 11185
2004-02-08 07:44:30 +00:00
Chris Lattner 135dcc024b Revised version of a patch for PR222 that works with my version of gmake.
llvm-svn: 11104
2004-02-03 23:05:24 +00:00
Chris Lattner 6bd75a6223 Apply Michael Kahl's patch to fix the 'make tools-only' target when OBJDIR != SRCDIR.
See PR222.

llvm-svn: 11102
2004-02-03 22:56:40 +00:00
Brian Gaeke 83d485cfed Move support for building tags database from Makefile.rules to Makefile, because
it's only used in the top-level directory.

llvm-svn: 10960
2004-01-22 21:54:51 +00:00
Brian Gaeke adfa73d0cf Part 2 of DESTDIR support
llvm-svn: 10945
2004-01-21 23:28:03 +00:00
Brian Gaeke 663a05917e Simplify configure rules. (I don't know if anyone else cares...)
llvm-svn: 10816
2004-01-13 07:09:56 +00:00
Brian Gaeke f2484742b7 Support 'make install' for LLVM include files.
llvm-svn: 10378
2003-12-10 18:41:20 +00:00
Brian Gaeke 030474f284 Add tools-only target, for bootstrapping the C/C++ front end.
llvm-svn: 9341
2003-10-21 18:08:10 +00:00
John Criswell 4436c49787 Added LLVM copyright notice to Makefiles.
llvm-svn: 9312
2003-10-20 22:26:57 +00:00
Brian Gaeke 0f0f617379 I really meant to use that AUTOHEADER variable I put in there.
llvm-svn: 8972
2003-10-08 21:38:35 +00:00
Brian Gaeke 11e25a7f5f Add rule for regenerating config.h.in using autoheader.
llvm-svn: 8957
2003-10-07 23:44:10 +00:00
Brian Gaeke ce6ade1c03 Add target to regenerate top-level "configure" script.
llvm-svn: 8927
2003-10-07 17:12:11 +00:00
Chris Lattner 20c9b8cbe8 Revert back to keeping Burg and TableGen in the utils directory
llvm-svn: 8876
2003-10-05 19:28:27 +00:00
John Criswell b438fd7a7a Moved llvm/lib/Support to llvm/support/lib/Support.
Moved llvm/utils/Burg and llvm/utils/TableGen to llvm/support/tools.

llvm-svn: 8733
2003-09-29 14:52:28 +00:00
Chris Lattner 4640c6c05e build the new runtime directory
llvm-svn: 7876
2003-08-15 04:53:45 +00:00
John Criswell 48ecca60e1 Merged in changes between PRE11_ROOT and LLVM_PRE111 (i.e. the beginning of
the pre-release 1.1 branch and pre-release 1.1.1).
Made the USE_SPEC option work.
Silenced unnecessary error output from the cmp command when checking for
updates to lex/yacc generated files.  This fixes a problem where we get error
messages the first time the file is generated.
Fixed the distclean option.  It is now in the Makefile (i.e. only runs in the
top level source directory), removes more files, and plays nicely with
external project Makefiles.

llvm-svn: 7780
2003-08-12 18:51:51 +00:00
John Criswell 0607d88385 Modified Makefile.common to handle compilation of projects inside and outside
of the llvm source directory.
The main modification was to add new environment variables: one set for llvm
entities and another set for source entities current being compiled.
This should make the Makefile more flexible and easier to understand as each
environment variable only does one thing.

llvm-svn: 6679
2003-06-11 13:55:44 +00:00
Chris Lattner 27fceda974 Make sure to build lib/Support before the utilities, then use the new
makefile in utils to build the utilities

llvm-svn: 4844
2002-12-02 01:23:26 +00:00
Chris Lattner d86c20366c Build burg tree
llvm-svn: 3792
2002-09-17 23:23:52 +00:00
Chris Lattner 2f7c963559 Initial revision
llvm-svn: 2
2001-06-06 20:29:01 +00:00