Commit Graph

263 Commits

Author SHA1 Message Date
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
Reid Spencer
0a262ba7c3 For PR616:
These patches make threading optional in LLVM. The configuration scripts are now
modified to accept a --disable-threads switch. If this is used, the Mutex class
will be implemented with all functions as no-op. Furthermore, linking against
libpthread will not be done. Finally, the ParallelJIT example needs libpthread
so its makefile was changed to always add -lpthread to the link line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23003 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:07:20 +00:00
Reid Spencer
bc9e49c77d Fix PR608:
Previously the script assumed the version number was the last field, now
it assumes it is the first sequence of digits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22527 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 21:58:38 +00:00
Reid Spencer
675267e4e2 Get rid of bash specific syntax for variable dereferencing, replacing it
with the more crufty (but more widely available) "eval" command.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22509 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-25 20:25:08 +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
72f71e18a3 Add a parameter to the FIND_STD_PROGRAM macro that allows an alternate name
for the command line options. This helps with situations where the executable
name sought is too generic and a more meaningful name needs to be used for
the command line options. It also helps satisfy picky project leaders.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22461 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-17 05:30:33 +00:00
Reid Spencer
a5e26077ed Add two new checks for use in LLVM configuration files:
* FIND_STD_PROGRAM will find a program in the path or using --with options
  and verify that the path/bin/program is executable. Also allows checking
  for include files and libraries. If found, USE_PROGRAM is set, otherwise
  its not set. Also sets PROGRAM_BIN (bin directory), and PROGRAM_DIR (top
  level directory). If headers are found, sets PROGRAM_INC. If libraries
  are found, sets PROGRAM_LIB.
* CHECK_PROGRAM_SANITY can be used to run a program with some option that
  only produces information output and requires no input. If the output
  matches a regular expression, the program passes the sanity check.
  Otherwise, an error occurs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22458 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-17 00:50:40 +00:00
Reid Spencer
be13028264 * Correct the AC_DEFINE for LLVM_PATH_GRAPHVIZ to use AC_DEFINE_UNQUOTED so
we actually get the path and not $GRAPHVIZ as the value.
* Add a #define for the gv program (HAVE_GV) and its value LLVM_PATH_GV.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22433 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-14 05:19:12 +00:00
Reid Spencer
c232a65827 Put the path to the Graphviz program in the #defines so it can be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22430 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-14 02:25:12 +00:00
Reid Spencer
8a2246f32e Implement a test for the Graphviz program for Chris Lattner. The symbol
GRAPHVIZ will contain the path to the program if its found (or "echo Graphviz"
if not) and the #define HAVE_GRAPHVIZ will be defined if its found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22424 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-13 03:20:14 +00:00
Reid Spencer
ee448630bd For PR540:
This patch completes the changes for making lli thread-safe. Here's the list
of changes:
* The Support/ThreadSupport* files were removed and replaced with the
  MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard.
  The implementation of MutexGuard.h is now based on sys::Mutex which hides
  its implementation and makes it unnecessary to have the -NoSupport.h and
  -PThreads.h versions of ThreadSupport.

* All places in ExecutionEngine that previously referred to "Mutex" now
  refer to sys::Mutex

* All places in ExecutionEngine that previously referred to "MutexLocker"
  now refer to MutexGuard (this is frivolous but I believe the technically
  correct name for such a class is "Guard" not a "Locker").

These changes passed all of llvm-test. All we need now are some test cases
that actually use multiple threads.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22404 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-12 15:51:55 +00:00
Reid Spencer
9e4f701e91 In support of PR418:
Make sure that -lpthread gets added to LIBS variable which puts it at the
end of the tools' link commands, if libpthread.a is found.

Add a test for pthread.h so we can use #ifdef HAVE_PTHREAD_H


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22401 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-12 07:19:13 +00:00
Misha Brukman
6d2e334cce We also have V8, so do not force every Sparc to be treated like a V9. It is
still possible to force V9 (even if configure doesn't think it's one) via
``./configure --target=sparcv9-sun-solaris2.8'' so nothing is lost.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22198 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:29:36 +00:00
Reid Spencer
c84492c2db Fix the definitions of LLVMGCC and LLVMGXX to include the EXEEXT (the
.exe extension) on Cygwin. This fixes the last few remaining Cygwin
issues. Thanks to Aaron Gray for tracking this down.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22191 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-02 22:34:49 +00:00
Reid Spencer
dde5e387d2 For PR514: Do not configure removed files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22139 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 08:37:50 +00:00
John Criswell
5690c53694 Updated version to LLVM 1.6 CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22122 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-18 20:18:40 +00:00
John Criswell
8bfe6a7e5f Merged in release_15.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22120 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-18 19:43:33 +00:00
Duraid Madina
4c61d924d4 detect HP-UX when configuring
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22077 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 05:39:00 +00:00
Reid Spencer
b9a5d6861b Remove the check for the ffsll function. Its no longer needed by the
simplify-libcalls pass (pass now computes it without a call to ffsll).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22074 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 22:15:11 +00:00
Reid Spencer
c29b13d648 Changes for ffs lib call simplification:
* Check for availability of ffsll call in configure script
* Support ffs, ffsl, and ffsll conversion to constant value if the argument
  is constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22027 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-14 16:42:52 +00:00
Reid Spencer
15792b0259 Fix the "stacker doesn't build without llvm-gcc" problem. The configure
script was defaulting the LLVMGCC variable to "llvm-gcc" if it couldn't
find llvm-gcc and --with-llvmgccdir was not specified. In this case, there
is no llvm-gcc available on the system so we shouldn't assume that the
user's path will find it any better than configure could. The fix is to
default it to an empty string. If LLVMGCC is empty, the makefiles will
avoid building things that depend on llvm-gcc and give a nice warning
message to that effect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21953 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 18:30:13 +00:00
Misha Brukman
e8867983d5 llvm-fefw doesn't exist (yet)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21907 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-12 21:56:03 +00:00
Misha Brukman
5ec2ae6015 Remove extraneous `U ' in copyright line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21906 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-12 21:49:11 +00:00
Misha Brukman
ccc1c166cd Build the `Skeleton' target when building "all" targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21455 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 18:00:34 +00:00
Reid Spencer
675f0921bb Make sure the CBackend is always a target that is built.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21448 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 17:06:18 +00:00
Reid Spencer
99d1fccfb9 Consolidate the target selection options into a single option,
--enable-target which can take values "all", "host-only" or a comma
separated list of target names (alpha,ia64,powerpc,skeleton,sparc,x86)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21447 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 17:02:18 +00:00
Reid Spencer
945de9b764 First step in avoiding compilation/usage of non-relevant targets. New
options have been added to the configure script that control which targets
will be used. The options are:

--enable-target-this (default=disabled)
  This will specify that the target corresponding to the build host is
  the target that will be compiled/used. You can't use this with any of
  the other options (they'll be ignored). This is what most people want.

--disable-target-x86 (default=enabled)
  This will prevent the X86 target(s) from being compiled/used.

--disable-target-sparc (default=enabled)
  This will prevent both SparcV8 and SparcV9 from being compiled/used.

--disable-target-powerpc (default=enabled)
  This will prevent the PowerPC target from being compiled/used.

--disable-target-alpha (default=enabled)
  This will prevent the Alpha target from being compiled/used.

--disable-target-ia64 (default=enabled)
  This will prevent the IA64 target from being compiled/used.

Note that without any of these options, the default behavior is to build
all targets, as is the current practice.

All these options do is set up the substititution variable TARGETS_TO_BUILD
which contains the targets that should be compiled/used. The variable is
intended to be used in the makefiles. Those changes will come later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21445 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 07:27:28 +00:00
Misha Brukman
1edb190cfb Recognize an IA64 when we see one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20666 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-17 20:56:22 +00:00
Reid Spencer
1807c1a3c9 Add a call to AC_CONFIG_COMMANDS to ensure that llvm_src is set properly
in the config.status script. This allows the AC_CONFIG_MAKEFILE macro to
work properly after it was changed to support sub-projects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20305 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:31:27 +00:00
Reid Spencer
a8d9789a7a This macro cannot assume that the location of install-sh and mkinstalldirs
is in ${srcdir}/autoconf because that is only true if the project is LLVM.
For other projects (e.g. sample), we don't want to have to distribute the
mkinstalldirs or install-sh programs because it opens a window of breakage
for projects. So, this change requires that the llvm_src variable be set
up via another AC_CONFIG_COMMANDS call. For LLVM this is done in the
configure.ac. For projects its done in the LLVM_CONFIG_PROJECT macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20304 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:28:20 +00:00
Reid Spencer
018e77de67 Add a new macro for configuring projects, LLVM_CONFIG_PROJECT. This macro
takes care of the --with-llvmsrc and --with-llvmobj options for the project
It was moved here from the project's configure.ac file because there is
some tricky handling of the llvm_src variable to tell the project where the
llvm source tree is (for mkinstalldirs and install-sh commands).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20303 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:25:24 +00:00
Reid Spencer
78ba11d0d2 Remove the "pax" program from the list of those needed to support LLVM.
The install target in Makefile.rules no longer uses pax but just uses find
and "install" instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20216 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 16:21:00 +00:00
Chris Lattner
c6cf2fbb01 The pool allocator is now the llvm-poolalloc module in public CVS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20116 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-11 04:46:58 +00:00
Andrew Lenharth
dd106c2f8b let configure recognize Alphas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19811 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-24 17:33:52 +00:00
Misha Brukman
47d2796fee Mark CVS versions different from releases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19809 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-24 16:29:24 +00:00
Reid Spencer
ae6ec8e6c4 We're working towards LLVM 1.5 now so bump the version number. This change
won't be propagated to the configure script until there's a need to change
configure.ac for some larger purpose.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19762 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 21:29:42 +00:00
Alkis Evlogimenos
7bd1ede776 Fix llvm-java project autconfiguration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19616 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 09:44:58 +00:00
Reid Spencer
8085cff7eb Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19600 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16 02:58:39 +00:00
Alkis Evlogimenos
eadc9ef0e2 The Java project now lives under projects/llvm-java.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19295 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-05 17:57:28 +00:00
Reid Spencer
bbf7a8af5a For PR351:
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19205 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 22:54:28 +00:00
Reid Spencer
ba46ca3a3b For PR351:
* lib/System depends on sbrk(3), make sure we check for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 05:49:15 +00:00
Reid Spencer
582a23c686 * Fix a bug in an m4 macro that used an incorrect test operator
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
  program or not.
* Correct a warning messages to be a little more specific on what it checks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 07:07:57 +00:00
Reid Spencer
b09a68ef4b Fix a Bourne Shell syntax error in a test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 06:59:36 +00:00
Reid Spencer
6da9142a6f Fix one of the names to not have a . in front of it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19182 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 05:47:04 +00:00
Reid Spencer
2dc6586073 Make the x86_64 target names match between def and use. Thanks Misha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 07:56:14 +00:00
Reid Spencer
be41b250e0 Make the 64-bit x86 target named "x86_64" instead of "AMD64".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 06:34:11 +00:00
Reid Spencer
f97c703b66 Don't create symbolic links for lib/System any more. It doesn't need them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 09:33:46 +00:00
Reid Spencer
7931a7867b For PR351:
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:15:02 +00:00
Reid Spencer
5d01fa5bbe For PR351:
Provide a check to determine if /dev/zero is needed for AllocateRWX function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:14:48 +00:00
Reid Spencer
3ed2f2f27a Oops, reverse the logic on a test for WITH_LLVMGCCDIR to make it define
the path names correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19146 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 03:15:28 +00:00