Commit Graph

408 Commits

Author SHA1 Message Date
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
John Criswell
e96a1a576b 1. Remove libraries no longer created from the list of libraries linked into the
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 20:35:13 +00:00
Chris Lattner
0366fcb396 analyses after transformations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23977 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 17:54:19 +00:00
Chris Lattner
89938080a6 Now that all libraries are built in either .o or .a form, make BUILD_ARCHIVE
default to turning off building of relinked objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23939 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 02:21:45 +00:00
Chris Lattner
aafbaaa204 pull in the .a version of scalaropts lib to reduce the size of programs
using the JIT


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:15:14 +00:00
Jeff Cohen
9dc33e53d6 Remove redundant flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23889 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:51:22 +00:00
Jeff Cohen
66c5fd6c53 When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:37:20 +00:00
Jim Laskey
f5fc2cbd6b Plugin new subtarget backend into the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23870 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:05:19 +00:00
Chris Lattner
0b61677ae0 Make sure targets depend on TargetSelectionDAG.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23732 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 06:31:58 +00:00
Chris Lattner
0cb09f1a7a Add some rules for building preprocessed files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23629 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-05 00:28:41 +00:00
Chris Lattner
f31f09e67c allow for a target to ask for a dag isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23237 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-03 01:15:25 +00:00
Reid Spencer
68a24bdba4 Implement PR614:
These changes modify the makefiles so that the output of flex and bison are
placed in the SRC directory, not the OBJ directory. It is intended that they
be checked in as any other LLVM source so that platforms without convenient
access to flex/bison can be compiled. From now on, if you change a .y or
.l file you *must* also commit the generated .cpp and .h files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23115 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-27 18:50:39 +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
6f5f8b380a Don't attempt to update LLVM configured header files from a build in a
project. Thanks to Chris for pointing out this deficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23037 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25 04:44:18 +00:00
Reid Spencer
0ced4fbcd7 Whoops, don't use PROJ variables, these are all LLVM headers. This allows
projects to compile properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23007 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:55:07 +00:00
Reid Spencer
755bcf086d For PR619:
Make any header files that are automatically generated be preconditions of
the compilation. This ensures that if a *.h.in file is changed then its
corresponding *.h file gets updated on the next rebuild. Note that this can
lead to confusing (but correct) results if the *.h.in file changed
unsubstantially so that autoheader doesn't update the *.h file. In that case,
manually touch the *.h file in question to restore order. Moral of the story,
if you're going to "touch" a *.in file then modify it substantially.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23006 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:43:10 +00:00
Misha Brukman
6c26da6c04 Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22821 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-17 02:38:56 +00:00
Andrew Lenharth
7ac17529d2 Fix oversized GOT problem with gcc-4 on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22777 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-13 05:09:50 +00:00
Misha Brukman
ab25eda801 No, really, it's an Alpha! And you probably thought it was a PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22506 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 22:43:40 +00:00
Andrew Lenharth
22894e980f I know PowerPC wishes it could be alpha, but it cannot. so there
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22504 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 22:00:24 +00:00
Andrew Lenharth
ddc31e813d Alpha has JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22501 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 20:54:01 +00:00
Reid Spencer
45eeed9b35 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22166 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-24 02:33:20 +00:00
Reid Spencer
5da2d08433 Make sure that tool names don't have any leading or trailing spaces in them.
If they do, it screws up the concatenation of the .exe suffix on cygwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22141 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 21:03:11 +00:00
Reid Spencer
aa8bc43007 Build the install directories just exactly as any others. Hopefully this
helps out cygwin build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22140 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 20:26:14 +00:00
Reid Spencer
8f9e21e3de Two changes to support building shared libraries that contain multiple
llvm archive or re-linked libraries:
1. Permit the "JIT" special keyword on LLVMLIBS to be recognized when
   building a library, not just for building tools
2. If LINK_LIBS_IN_SHARED is set, the LLVMLIBS and USEDLIBS can be specified
   when linking a shared library and the libraries listed will be
   incorported into the shared library. THis is only used when the
   SHARED_LIBRARY variable is set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22127 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 00:37:31 +00:00
Duraid Madina
0ad8fcf936 hp-ux needs this to get through the System/Support libs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22078 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 06:38:09 +00:00
Reid Spencer
0d255bd5ce * Make some warning messages stand out a bit by putting **** at the end
* Fix a typo that prevents BuildMode from being printed


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21954 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 18:32:54 +00:00
Misha Brukman
a37ed05ede * Remove extraneous spaces
* Convert some tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20560 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-11 04:15:18 +00:00
Nate Begeman
bf18b267b8 Add SelectionDAG library to PPC JIT so that lli will link when
PPC32ISelPattern.cpp is present.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20559 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-11 03:58:53 +00:00
Reid Spencer
e0acb769f4 Correct a typo in Makefile.rules.
Patch idea contributed by Vladimir Merzliakov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20384 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-01 16:27:06 +00:00
Alkis Evlogimenos
eebaf33b5d Add llc to tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20345 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 10:21:37 +00:00
Reid Spencer
b80621fb7e Don't try to strip bytecode files!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20320 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 21:36:32 +00:00
Reid Spencer
151bbe44ac The install program doesn't know how to strip bytecode files so install
bytecode as data, not program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20319 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 21:30:37 +00:00
Reid Spencer
860598a295 Fix the other half of PR528 .. don't try to strip header files!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20301 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 07:12:43 +00:00
Reid Spencer
4a0aaea3de For PR528:
* Consolidate all "install" usage to the install program/script found by
  autoconf which includes the autoconf/install-sh script if necessary
* Change Makefile.rules to not use the -D flag to install but use the
  MKDIR command as necessary.
* Change Makefile.rules to differentiate between installation of executable
  files and regular data files to get the permission modes correct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20294 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 03:56:32 +00:00
Reid Spencer
2804201b63 Fix installation of configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20215 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 16:17:11 +00:00
Reid Spencer
1a9a69c596 * Don't flatten the directory hierarchy when installing headers
* Make it possible to have the Install program run in verbose mode when
  the TOOL_VERBOSE=1 option is set
* Ensure non-executable installed files do not install with execute perms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20214 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 16:13:02 +00:00
Reid Spencer
2edabc00dc Don't use pax for installing header files. Use the install program instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20213 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 15:54:03 +00:00
Reid Spencer
9a8398e7a6 For PR496:
When llvm-gcc is not available, bypass rules for Modules and Bytecode
Libraries that require llvm-gcc and emit instead a warning that llvm-gcc
is not available. This permits "make LLVMGCC=" to build LLVM completely
without error and provides warnings about the modules and bc libs that
could not be constructed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20185 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:54:08 +00:00
Andrew Lenharth
39bcf5b8d0 non-ieee arith crashes passes on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20144 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 03:41:10 +00:00
Chris Lattner
ca94fa21a3 Fix installation of configured headers when objdir != srcdir. Patch
contributed by Vladimir Merzliakov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20084 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-09 02:24:00 +00:00
Chris Lattner
b05a76c67d Add support for .cc and .hpp files. Patch contributed by Vladimir Merzliakov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20042 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-04 21:28:50 +00:00
Alkis Evlogimenos
270e851c59 Add variable for bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19981 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-02 00:40:15 +00:00
Reid Spencer
f8f5740a37 Fix some typos in the Makefile.rules.
Patch contributed by Vladimer Merzliakov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19877 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-28 19:52:32 +00:00
Reid Spencer
11fde54f23 Several changes:
* Rename BUILD_* to PROJ_*
* Differentiate between LLVM's Makefile.conf and the project's
* Use project specific install locations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19590 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 02:20:54 +00:00
Reid Spencer
3ca6d8bf85 Allow the Echo and EchoCmd variables to be overridden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19551 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14 16:33:36 +00:00
Reid Spencer
492c2935be Implement the LOADABLE_MODULE option when building a shared library. This
passes the -module option on the libtool command line to ensure that the
shared library being built can be dlopened and dlsym can work on that
module. LOADABLE_MODULE should be sent only in conjunction with the
SHARED_LIBRARY directive. It should generally be used for any module that
is intended to be the target of an LLVM -load option. Note that loadable
modules will not have the lib prefix but otherwise look like shared
libraries. This is per the libtool recommendations and prevents these
special shared libraries from being linked in via -l option to the linker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19454 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-11 04:31:07 +00:00
Chris Lattner
85139f5ec3 X86 JIT requires the selection dag library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19336 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:51:11 +00:00
John Criswell
f5629d037f Quote the paths and not the assignment of the PATH variable.
This seems to make things happier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19276 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 17:42:57 +00:00
John Criswell
447d5bba27 Joining the quote fray...
Reverting the quote patch.  For some reason, this breaks the building of
llvm/runtime (the shell doesn't like it for some reason).  I might play
with it to see if I can get the quotes done in such a way that the shell
like it, but no promises.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19275 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 17:41:56 +00:00
Reid Spencer
140935a5a1 Re-apply last (reverted) patch. Reverting doesn't solve the actual problem
and creates issues on other platforms like Cygwin and MingW.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19266 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 04:04:54 +00:00
Jeff Cohen
22e7eddcd6 Don't quote the PATH variable value just in case it has spaces in it, as
it breaks "gmake check".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19265 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 02:44:54 +00:00
Reid Spencer
325a87e3fd Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
exceptions to abort() in cases where it should not.

Many thanks to Duraid Madina for doing the heavy lifting on the analysis
of this problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19256 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 17:43:20 +00:00
Reid Spencer
4a1e5c09bb Quote the PATH variable value just in case it has spaces in it (like on
Cygwin).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19255 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 09:45:54 +00:00
Reid Spencer
775bf890e1 Correct the name of the variable for the LLVM examples directory so that
parallel builds don't attempt to create it twice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 07:59:22 +00:00
Reid Spencer
f3664e0a4f Make it possible to reconfigure a project as well as just LLVM main dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 08:50:27 +00:00
Reid Spencer
bc52ad7920 Make sure llvm-g++ gets the right path for the llvm tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19138 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-24 14:47:34 +00:00
Reid Spencer
32924e01f3 Two corrections:
* When reconfiguring, make sure the config.cache file is blown away so that
  its (old) values don't short-circuit doing the tests. When a reconfigure
  is done, it should be done from scratch, without the cache.
* For dist-check, don't pass --with-llvmgccdir any more because configure
  doesn't have this option any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-24 03:36:31 +00:00
Reid Spencer
2f138e726f For PR432:
* Cleanup LLVMGCXX and LLVMGCC by providing LLVMGXXWITHPATH and LLVMGCCWITHPATH
  variables that add the $(LLVMToolDir) to the path so the CFE tools can find
  the right LLVM tools they depend on.
* Standardize the name of a variable: cferuntime_libdir -> CFERuntimeLibDir


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19095 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-22 05:57:21 +00:00
Reid Spencer
39b7363617 Complete the implementation of the spotless rule and make it not depend on
the .. directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19012 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-17 07:45:03 +00:00
Chris Lattner
10ce496201 X86 doesn't actually use SelectionDAG yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18996 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 19:40:10 +00:00
Reid Spencer
c371984598 Some minor upgrades
* Convert "cmp" usage to $(CMP)
* Convert "cp" usage to $(CP)
* Fix some build messages to reflect what's actually going on
* Add a "reconfigure" target for forcing a reconfigure. Helps with testing
  things like Chris's recent changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18991 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 18:26:53 +00:00
Chris Lattner
23ee79579d Factor all of the .inc : .inc.tmp rules into one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18989 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 17:38:56 +00:00
Chris Lattner
02a4f90903 Add spaces between rule groups to make it more obvious which ones pair
Remove instrselector generation, remove Intel/ATT specifics from Makefile.rules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18988 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 17:34:04 +00:00
Chris Lattner
3c4734765e When tblgen changes, regenerate all .inc files, but do not rebuild any .o
files that USE the .inc file unless the contents of the .inc file changes.

This should fix the problem where reconfiguring causes all targets to be
completely rebuilt (because config.h is usually modified, causing libsystem
to be rebuilt, causing tblgen to be rebuilt, causing .inc files to be
rebuilt, causing .o files to be rebuilt).

This patch also checks in a gross hack where .o files now explicitly depend
on $(BUILT_SOURCES), to avoid problems where the .inc files are not completely
generated before the .o files start to compile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 17:28:50 +00:00
Reid Spencer
31f9524f7e Add a "make spotless" rule for environments with BUILD_OBJ_ROOT not equal
to BUILD_OBJ_SRC. This will save the config.status and mklib files, then
wipe out the BUILD_OBJ_ROOT, copy back config.status and mklib, and then
run config.status to regenerate the makefiles. This target gives you a
completely clean/fresh BUILD_OBJ_ROOT.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18981 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 08:00:46 +00:00
Reid Spencer
f2ac189e52 Get rid of extraneous dependencies on $(BUILT_SOURCES) now that we've fixed
the bug with BUILT_SOURCES being dependencies of the user targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 07:36:08 +00:00
Reid Spencer
07a549aeb0 Fix a major bug with BUILT_SOURCES. You actually have to dereference a
variable before you can filter its value. Duh!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18979 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 07:15:16 +00:00
Reid Spencer
c8afbd5c2f Revert last patch which breaks PowerPC target because it fails to build
the 32bit and 64bit variants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18978 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-16 07:14:19 +00:00
Chris Lattner
34717e114a Make %'s a bit more explicit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18975 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 23:38:13 +00:00
Chris Lattner
264ccbef75 Make archive rules properly depend on llvm-ar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18963 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 17:14:06 +00:00
Reid Spencer
18d3b982b4 Fix the default install directory of modules from / to $(libdir) !
Many thanks to Vladimir Merzliakov for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14 22:44:05 +00:00
Alkis Evlogimenos
20d793aad1 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18901 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 18:08:29 +00:00
Alkis Evlogimenos
7e80cd9993 Add llvm tool variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18897 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 17:44:14 +00:00
Reid Spencer
ab3690bdd1 Finish the implementation of the BYTECODE_DESTINATION feature for modules
too and getting rid of the last remnants of bytecode_libdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18880 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 07:38:07 +00:00
Reid Spencer
8f094f3a8b Implement a new feature, BYTECODE_DESTINATION, to allow a user makefile to
specify where the bytecode library is to be installed. This allows the
default location ($prefix/lib) to be overridden, for special case runtime
libraries like the cfe runtime libs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18879 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 07:28:21 +00:00
Reid Spencer
efd6bb37a3 Make sure the archive doesn't have to exist before we remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:59:35 +00:00