Commit Graph

384 Commits

Author SHA1 Message Date
Chris Lattner
7dabf399b9 Allow specifying an explicit list of architectures to build for, e.g.:
make ENABLE_OPTIMIZED=1 UNIVERSAL=1 UNIVERSAL_ARCH="i386 ppc ppc64"

retain the default of building for just i386/ppc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28985 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 19:38:04 +00:00
Chris Lattner
8eb12def01 Add targets for generating .s file in addition to .o files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28903 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 21:01:20 +00:00
Chris Lattner
d92490fbcb Factor a bunch of rules together, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28902 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 20:58:03 +00:00
Evan Cheng
6cee033a80 Allow LLVM to be built with extra options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28873 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:50:48 +00:00
Chris Lattner
f988e53613 Do not hardcode random paths into the makefile. Make the user specify the
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:47:59 +00:00
Chris Lattner
9ec2c3d455 Fix building on case-sensitive file systems, grr :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28801 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 17:31:22 +00:00
Chris Lattner
117f8cd896 Remove obsolete CORE_IS_ARCHIVE stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28648 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:27:42 +00:00
Reid Spencer
48fdf91d0f Provide configuration support and usage for MINGW32 platform
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 19:03:21 +00:00
Reid Spencer
72f42bbc9b For PR786:
Turn -pedantic and -Wno-long-long compile flags on by default. In a few
places, avoid the warnings by removing these options in the local makefile.
One notable exception: lib/Target/CBackend/Writer.cpp. These warnings are
left on as a reminder to developers to clean them up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28614 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:55:21 +00:00
Reid Spencer
18c8b49e7d Use archive libraries instead of object files for VMCore, BCReader,
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:30:27 +00:00
Chris Lattner
73faa39d29 Enable -fno-use-cxa-atexit on darwin/ppc also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28558 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 16:38:06 +00:00
Chris Lattner
d63b964850 Abstract out the current optimization level into a flag that can be overridden
on the make line, to avoid bugs in native compilers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 23:02:40 +00:00
Chris Lattner
f07ddcd38b Remove flags implied by -O3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28456 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 22:59:07 +00:00
Chris Lattner
e5aa8f38a7 Don't use -fomit-frame-pointer on darwin, it breaks stacktrace collection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28451 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 18:34:08 +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
c14c936c79 Make sure that $(CXX.Flags) is passed to the linker so that the same options
with which source is compiled are used when linking. This matters when a
project is using the LLVM makefiles and overrides CXXFLAGS to specify new
flags to use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28322 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:51:02 +00:00
Vladimir Prus
e438c2a466 Replace "../whatever.td" with "whatever.td", so that out-of-tree backends
can just add lib/Target to TableGen includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:39:36 +00:00
Reid Spencer
ab519972fa When linking, make sure the project libraries are linked before the LLVM
libraries. This ensures that the project's libraries (which most likely
depend on LLVM libraries) come first on the command line and can thus be
resolved by the LLVM libraries that appear later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28316 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:25:14 +00:00
Owen Anderson
211b9a2580 Fix some problems linking stuff in libTarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28218 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11 03:10:15 +00:00
Reid Spencer
ab093fa652 Remove traces of Burg utility now that its gone and not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27902 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:42:24 +00:00
Chris Lattner
37408e5d23 Remove V9 jit support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27891 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 17:52:00 +00:00
Chris Lattner
3a00a3e573 Final piece to get relinked .o files buildable universal on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-19 18:45:29 +00:00
Reid Spencer
bbd5e430f1 Make sure that the C Frontend's runtime library directory is included as
a -L option to gccld whenever we're building a bytecode module or archive.
This gets around the "Cannot find library 'crtend'" warning messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 18:21:35 +00:00
Reid Spencer
5ff0dc790c Remove extraneous building in target dist-check. There is no reason that
a distribution should need to be able to make a distribution so eliminate
the "make dist" from the list of targets attempted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27600 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 03:07:02 +00:00
Reid Spencer
854071c163 ENABLE_ASSERTIONS -> DISABLE_ASSERTIONS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27558 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 16:46:04 +00:00
Reid Spencer
f9f431c3b5 Check for DISABLE_ASSERTIONS, not ENABLE_ASSERTIONS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27552 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-09 23:41:14 +00:00
Reid Spencer
bac3ca2e37 For PR723:
1. Don't force debug builds to have assertion checking turned on always.
   Let the default (on) be taken, or overridden by the command line
2. Create two new BuildModes based on assertion checking: Release+Assert
   and Debug-Assert.
3. Ensure that when building a distribution we get a release build with
   assertions enabled, regardless of the tree's configuration.
4. (unrelated) Fix library name generation for llvm-config usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27488 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 16:06:18 +00:00
Evan Cheng
4d0586be0f A saner workaround. I hope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27483 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 08:31:56 +00:00
Evan Cheng
afd131ed0b Temporary workaround for a Mac OSX specific issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27482 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 08:10:09 +00:00
Chris Lattner
ba46665b70 Add support for building the LLVM libraries and tools as a Mac OS/X
universal binary, by specifying UNIVERSAL=1 on the make command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06 06:30:15 +00:00
Reid Spencer
205b02e97a Add a facility for invoking the llvm-config tool when linking a program.
This facility allows LLVMLIBS to be specified with something like:
LLVMLIBS = config --libs jit
instead of:
LLVMLIBS = JIT
with the same effect. However, the llvm-config utility is much more versatile
than the single keyword approach. Note that "config" is the keyword after
which any arguments to llvm-config are allowed. When llvm-config is tested
and working well, we'll start using this and drop support for the JIT
keyword.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 07:36:57 +00:00
Reid Spencer
f2722ca339 These changes are necessary to support the new llvm-config tool. llvm-config
is a handy tool for users of LLVM who want to be able to quickly get
information about LLVM's configuration. It is intended to be used in the
command line of other tools. Documentation will be forthcoming in a
subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26952 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 15:59:55 +00:00
Chris Lattner
7192786afc Enable assertions to be enabled in release builds by building with
make ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26914 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 01:06:41 +00:00
Chris Lattner
be3c2f210c reorder these to make it work with static libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26698 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 21:01:34 +00:00
Chris Lattner
c097798f61 Use $(Verb) instead of @ so that VERBOSE=1 will print these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 06:00:05 +00:00
Chris Lattner
cb3fc53cbe pass -Illvm/include to tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26489 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:54:54 +00:00
Chris Lattner
8f434ffa24 8 spaces -> tab. Reported by Wink Saville
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26425 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-28 19:12:58 +00:00
Chris Lattner
af2f351869 Fix a minor makefile bug with lex/yacc handling that nate noticed. We don't
want to copy the files when the .cpp file changes, we want to copy them
to the .cvs versions when the .l/.y file change (like the comments even say).
This avoids having bogus changes show up in diffs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26229 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-16 05:10:48 +00:00
Chris Lattner
1f1edce683 bugfixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26207 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 07:23:05 +00:00
Chris Lattner
6599c75ccc Convert the bison-output-checked-into-cvs makefile handling stuff to work
like the flex stuff, which actually works when people do cvs updates and
get conflicts in the updated checked in file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26205 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 07:16:57 +00:00
Duraid Madina
197ab8787f HP aCC (and a bunch of other compilers, no doubt) don't share
GCC's syntax for auto-dependency generation stuff. This should
be changed to be disabling dependency stuff unless GCC/ICC is
found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26201 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 03:23:26 +00:00
Duraid Madina
eb713400cb oops, I meant this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26200 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 03:20:16 +00:00
Chris Lattner
342567c987 Implement an alternative way of handling generated lex files in CVS. This
should solve the "updating cvs when .l files change give me conflict markers
that break my build" issue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26160 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 05:12:00 +00:00
Chris Lattner
77efe27ef1 Wrap a couple more long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 04:27:15 +00:00
Chris Lattner
d25ad61086 wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26158 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 04:25:54 +00:00
Chris Lattner
896811180f * Eliminate FAKE_SOURCES
* Make runtimes and projects build with the new front-end by not relying on
  'llvm-gcc -c' to build a .bc file.  Instead, use llvm-gcc -S -emit-llvm,
  then an explicit invocation of gccas.  Also, don't use llvm-gcc to link
  .bc files together, use gccld directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25707 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 22:13:12 +00:00
Reid Spencer
443045a816 For PR625:
Don't install contents of CVS directories and don't double install when
srcdir == objdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24998 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-23 22:27:56 +00:00
Reid Spencer
25e8a70ea3 Some simple cleanups:
1. When srcdir == objdir have "spotless" say that it isn't supported in
   that mode rather than just let make say "no such target"
2. Minor doc cleanups
3. Fix the double rebuild problem with yacc files. A missing dependency
   caused parallel builds to skip building the .cpp file after the .cpp
   file was regenerated by bison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24924 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 23:17:06 +00:00
Reid Spencer
6e96d81c87 Implement fix for PR471:
* Add --enable-debug-runtime option, defaults to disabled
* Pass the new config var, DEBUG_RUNTIME, to Makefiles
* Don't use -Wa,-strip-debug if debug-runtime is enabled


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24891 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 03:31:53 +00:00
John Criswell
a115643357 Move some constant folding code shared by Analysis and Transform passes
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-27 15:54:34 +00:00