Commit Graph

364 Commits

Author SHA1 Message Date
Reid Spencer eca6f7320e Changes to support cross-compiling LLVM. The GenLibDeps.pl script needs to
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!

llvm-svn: 29368
2006-07-27 23:00:30 +00:00
Chris Lattner 91fe1b4937 Bump version #
llvm-svn: 29327
2006-07-27 04:58:33 +00:00
Reid Spencer 0aa9d00ba0 For PR814:
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!

llvm-svn: 29309
2006-07-26 21:14:56 +00:00
Reid Spencer 1d0ebb9eb7 Remove an extraneous use of ${ac_exeext}. Patch by Anton Korobeynikov.
llvm-svn: 29306
2006-07-26 21:08:09 +00:00
Reid Spencer 3197274203 For PR814:
Add a macro for getting the build host extension for executable. Patch
contributed by Anton Korobeynikov. Thanks!

llvm-svn: 29304
2006-07-26 20:45:12 +00:00
Evan Cheng 5df72aa84e Fixed a typo.
llvm-svn: 29010
2006-07-06 07:46:33 +00:00
Evan Cheng a7bd00b451 Added --with-extra-options=opts to specify additional options to build LLVM and run tests.
llvm-svn: 28882
2006-06-20 22:16:32 +00:00
John Criswell 08907c7e39 Added the privbracket project to the list of projects to auto-configure.
llvm-svn: 28870
2006-06-20 17:44:40 +00:00
Reid Spencer a31ac4eae9 For PR633:
Add configure checks for setjmp/longjmp for Chris. I can't believe this easy
PR has been outstanding for so long. If I don't get to something, please
remind me! :)

llvm-svn: 28686
2006-06-05 16:11:07 +00:00
Reid Spencer 627023a491 Some enhancements for gv/graphviz/dot/dotty support and better handling of
paths under MingW.

llvm-svn: 28685
2006-06-05 15:54:38 +00:00
Reid Spencer 432b315843 For PR798:
Have configure find the "dotty" program and adjust configuration.

llvm-svn: 28674
2006-06-02 23:13:18 +00:00
Reid Spencer 187b4adcfe Provide configuration support and usage for MINGW32 platform
llvm-svn: 28639
2006-06-01 19:03:21 +00:00
Reid Spencer 8273cdb754 Make sure windows.h is #included first.
llvm-svn: 28637
2006-06-01 17:44:29 +00:00
Reid Spencer e62348f401 Make sure that when checking for MINGW32 libraries we ask for windows.h
llvm-svn: 28631
2006-06-01 17:16:20 +00:00
Reid Spencer a16b986df5 Provide support for detecting if the Win32 imaghlp and psapi libraries
are available. These libraries are used in lib/System and should be
included on the link line or if not available generate an error when
building lib/System.

llvm-svn: 28628
2006-06-01 16:55:59 +00:00
Reid Spencer f659e70041 Tighten this script up a bit.
llvm-svn: 28608
2006-06-01 01:08:28 +00:00
Reid Spencer cb10fdc74d For PR784:
Support Win32 platforms for llvm-gcc path. Patch by Anton Korobeynikov

llvm-svn: 28426
2006-05-21 10:40:20 +00:00
Reid Spencer 40f1b1321d Make sure to default ${prefix} to /usr/local if the user didn't specify it.
This assists with getting around configure's late binding values so that
our LLVM variables don't end up with a "NONE" prefix.

llvm-svn: 28325
2006-05-16 08:53:32 +00:00
Rafael Espindola ffdc24b847 added a skeleton of the ARM backend
llvm-svn: 28301
2006-05-14 22:18:28 +00:00
Reid Spencer 357f3e8231 Use the -dumpversion option to llvm-gcc which gives us just the version #
and is unlikely to change in future releases. This also simplifies the
parsing of the full and major llvm-gcc version numbers in the script.

llvm-svn: 28180
2006-05-09 00:31:01 +00:00
Reid Spencer bb0be98fed For PR747:
If we fail to find a required program, simply set that program to echo
out something that tells the user the situation. That is, instead of just
"true runtest" we now get "echo 'Skipped: runtest not found'".

llvm-svn: 27990
2006-04-27 07:49:24 +00:00
Reid Spencer aff245875b Configure llvm-config in tools, not utils.
llvm-svn: 27919
2006-04-20 22:15:30 +00:00
Chris Lattner 8fe3dbceb0 Never build SparcV9
llvm-svn: 27883
2006-04-20 17:01:19 +00:00
Reid Spencer 48b9203a40 Allow OpenBSD to be recognized as a UNIX platform.
llvm-svn: 27848
2006-04-19 23:47:16 +00:00
Chris Lattner b3305fb203 When on darwin, compiler_flags need to be percolated down to the 'gcc -r'
command line so that relinked .o files can be built universal.

llvm-svn: 27837
2006-04-19 18:34:41 +00:00
Reid Spencer c81081ab5e Make it possible to default the llvm_src and llvm_obj variables based on
the arguments to the macro. This better supports the AutoRegen.sh script
in projects/sample/autoconf.

llvm-svn: 27797
2006-04-18 06:25:37 +00:00
Reid Spencer 08a154e1a7 Ahem. HEAD -> 1.8cvs not 1.7 (I'm an idiot).
llvm-svn: 27687
2006-04-14 03:01:27 +00:00
Reid Spencer 89702afa0e remove the "cvs" part of the version number for the release branch.
llvm-svn: 27686
2006-04-14 02:55:43 +00:00
Reid Spencer fa423e9bd1 Change the assertions defaults:
1. Assertions now default to on for all builds
2. If you want them disabled you must (a) --disable-assertions to configure
   or DISABLE_ASSERTIONS=1 to make.

llvm-svn: 27548
2006-04-09 20:42:14 +00:00
Reid Spencer 6025241ee4 Ensure that the automatic "CVS build" detection works for both
objdir == srcdir and objdir != srcdir.

llvm-svn: 27516
2006-04-08 01:41:26 +00:00
Reid Spencer b65ade8bd9 For PR723:
Support detection of a "CVS" directory at configure time to distinguish
whether this is a release build or a "from tree" build. This knowledge is
used to set the defaults for --enable-optimzied and --enable-assertions
options.

llvm-svn: 27487
2006-04-07 16:01:51 +00:00
Reid Spencer 6c99b4191c For support of new GCC v4, obtain the full and major versions of the
llvm-gcc command. This will help distinguish which version is being used
so the makefiles can accommodate.

llvm-svn: 27461
2006-04-06 22:00:36 +00:00
Reid Spencer 972bea5c69 Update to llvm-config tool, by Erik Kidd:
1. Check for Perl and only build llvm-config if its available.
2. Add some virtual components
3. Don't depend on "standard" location for Perl, but configured location
4. Document the tool with a POD file.

This version is now ready for testing by users.

llvm-svn: 27005
2006-03-23 23:21:29 +00:00
Reid Spencer 6f682b79af 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.

llvm-svn: 26952
2006-03-22 15:59:55 +00:00
Chris Lattner d87ea46887 Use -emit-llvm -S to get .ll file output from llvm-gcc
llvm-svn: 26397
2006-02-27 05:39:00 +00:00
Chris Lattner 4382d8e8d9 don't build the skeleton target
llvm-svn: 26237
2006-02-16 21:11:49 +00:00
Duraid Madina 8604de8bec reverting previous change, will add support for other compilers later
llvm-svn: 26211
2006-02-15 07:57:42 +00:00
Duraid Madina 09518d0c73 previously, configure would die if GCC or ICC was not found. Now it'll
go through, but we do want to know if we're using GCC/ICC since they
share certain funky command line options (for dependency generation
stuff)

llvm-svn: 26198
2006-02-15 03:15:55 +00:00
Chris Lattner 1b82081e0e SparcV8 -> Sparc
llvm-svn: 25988
2006-02-05 05:56:51 +00:00
Duraid Madina 584fcad083 don't need this any more; the "#define hashes to trees" hack is coming
llvm-svn: 25531
2006-01-23 06:47:56 +00:00
Chris Lattner 6d5bdb0f9b add checks for new functions. I'd appreciate it if someone could regen
the configure script :)

llvm-svn: 25528
2006-01-23 06:24:09 +00:00
Reid Spencer ec4a7f52fe Make sure that libm is used during config tests so that ceil, floor, and
friends are actually detected.

llvm-svn: 25454
2006-01-19 08:31:08 +00:00
Reid Spencer 364473ce17 For PR696:
Add checks for ceil, ceilf, floor, and floorf

llvm-svn: 25453
2006-01-19 08:22:40 +00:00
Reid Spencer d347c01087 For PR678:
* Make it possible to pass a fourth argument to the CHECK_PROGRAM_SANITY
  macro that controls whether a non-sane program generates an error or
  a warning.

llvm-svn: 24931
2005-12-22 02:08:30 +00:00
Reid Spencer 3f31cc4dcd 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

llvm-svn: 24891
2005-12-21 03:31:53 +00:00
John Criswell 7671a5b844 Added the llvm-kernel project to the list of automatically configured
projects.

llvm-svn: 24865
2005-12-19 20:27:24 +00:00
Chris Lattner 58cee558fe add malloc_zone_statistics, remove mstats
llvm-svn: 24350
2005-11-14 07:24:17 +00:00
Chris Lattner 390ff6e898 add some stuff for mstats on darwin
llvm-svn: 24347
2005-11-14 06:54:33 +00:00
John Criswell e1d319ab69 Updated version to 1.7cvs.
llvm-svn: 24244
2005-11-08 21:13:01 +00:00
John Criswell 3bdbd3024b Merged from RELEASE_16.
llvm-svn: 24243
2005-11-08 21:11:33 +00:00
Misha Brukman 2956ea758d Fixed copy-paste typo, patch by Marco Matthies.
llvm-svn: 24142
2005-11-01 20:58:08 +00:00
Reid Spencer b48e3f8b74 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.

llvm-svn: 23006
2005-08-24 10:43:10 +00:00
Reid Spencer f85fabeb71 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.

llvm-svn: 23003
2005-08-24 10:07:20 +00:00
Reid Spencer 2b381e0c1e Fix PR608:
Previously the script assumed the version number was the last field, now
it assumes it is the first sequence of digits.

llvm-svn: 22527
2005-07-27 21:58:38 +00:00
Reid Spencer dfa35465dd Get rid of bash specific syntax for variable dereferencing, replacing it
with the more crufty (but more widely available) "eval" command.

llvm-svn: 22509
2005-07-25 20:25:08 +00:00
Andrew Lenharth c7fe0f510f Alpha has JIT
llvm-svn: 22501
2005-07-22 20:54:01 +00:00
Reid Spencer 012d35ae17 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.

llvm-svn: 22461
2005-07-17 05:30:33 +00:00
Reid Spencer e7e3c214cf 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.

llvm-svn: 22458
2005-07-17 00:50:40 +00:00
Reid Spencer f284268ba5 * 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.

llvm-svn: 22433
2005-07-14 05:19:12 +00:00
Reid Spencer 0ac41946e1 Put the path to the Graphviz program in the #defines so it can be used.
llvm-svn: 22430
2005-07-14 02:25:12 +00:00
Reid Spencer f17006fdda 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.

llvm-svn: 22424
2005-07-13 03:20:14 +00:00
Reid Spencer 79876f52aa 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.

llvm-svn: 22404
2005-07-12 15:51:55 +00:00
Reid Spencer cd59fb7a1b 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

llvm-svn: 22401
2005-07-12 07:19:13 +00:00
Misha Brukman ee14fc41f1 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.

llvm-svn: 22198
2005-06-06 19:29:36 +00:00
Reid Spencer 2a43ec334a 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.

llvm-svn: 22191
2005-06-02 22:34:49 +00:00
Reid Spencer e63f99c871 For PR514: Do not configure removed files
llvm-svn: 22139
2005-05-19 08:37:50 +00:00
John Criswell ac87c14e2e Updated version to LLVM 1.6 CVS.
llvm-svn: 22122
2005-05-18 20:18:40 +00:00
John Criswell e1a8120f52 Merged in release_15.
llvm-svn: 22120
2005-05-18 19:43:33 +00:00
Duraid Madina 5ea2ba8bae detect HP-UX when configuring
llvm-svn: 22077
2005-05-16 05:39:00 +00:00
Reid Spencer 7ed7930dff 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).

llvm-svn: 22074
2005-05-15 22:15:11 +00:00
Reid Spencer b195fcd5ef 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.

llvm-svn: 22027
2005-05-14 16:42:52 +00:00
Reid Spencer 6ab4ba4030 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.

llvm-svn: 21953
2005-05-13 18:30:13 +00:00
Misha Brukman b151770b4a llvm-fefw doesn't exist (yet)
llvm-svn: 21907
2005-05-12 21:56:03 +00:00
Misha Brukman cb3fc5ca75 Remove extraneous `U ' in copyright line
llvm-svn: 21906
2005-05-12 21:49:11 +00:00
Misha Brukman d5da38c9aa Build the `Skeleton' target when building "all" targets
llvm-svn: 21455
2005-04-22 18:00:34 +00:00
Reid Spencer 90dd65e4a7 Make sure the CBackend is always a target that is built.
llvm-svn: 21448
2005-04-22 17:06:18 +00:00
Reid Spencer e482ca8bfa 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)

llvm-svn: 21447
2005-04-22 17:02:18 +00:00
Reid Spencer 4742804864 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.

llvm-svn: 21445
2005-04-22 07:27:28 +00:00
Misha Brukman 72c27e6112 Recognize an IA64 when we see one
llvm-svn: 20666
2005-03-17 20:56:22 +00:00
Reid Spencer f3102c287d 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.

llvm-svn: 20305
2005-02-24 18:31:27 +00:00
Reid Spencer 28f7cd3216 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.

llvm-svn: 20304
2005-02-24 18:28:20 +00:00
Reid Spencer 76d99df157 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).

llvm-svn: 20303
2005-02-24 18:25:24 +00:00
Reid Spencer 53e86c13f6 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.

llvm-svn: 20216
2005-02-16 16:21:00 +00:00
Chris Lattner 72b5054afb The pool allocator is now the llvm-poolalloc module in public CVS
llvm-svn: 20116
2005-02-11 04:46:58 +00:00
Andrew Lenharth f36418f618 let configure recognize Alphas
llvm-svn: 19811
2005-01-24 17:33:52 +00:00
Misha Brukman 454c06f5a4 Mark CVS versions different from releases
llvm-svn: 19809
2005-01-24 16:29:24 +00:00
Reid Spencer 12b25a12a6 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.

llvm-svn: 19762
2005-01-22 21:29:42 +00:00
Alkis Evlogimenos a9c9f38498 Fix llvm-java project autconfiguration.
llvm-svn: 19616
2005-01-16 09:44:58 +00:00
Reid Spencer d9f4f3b141 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.

llvm-svn: 19600
2005-01-16 02:58:39 +00:00
Alkis Evlogimenos eccb209b6e The Java project now lives under projects/llvm-java.
llvm-svn: 19295
2005-01-05 17:57:28 +00:00
Reid Spencer d7287e05e3 For PR351:
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles

llvm-svn: 19205
2004-12-31 22:54:28 +00:00
Reid Spencer 0fcca1262b For PR351:
* lib/System depends on sbrk(3), make sure we check for it.

llvm-svn: 19200
2004-12-31 05:49:15 +00:00
Reid Spencer 3d745d4378 * 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

llvm-svn: 19184
2004-12-29 07:07:57 +00:00
Reid Spencer 42eaef40d8 Fix a Bourne Shell syntax error in a test
llvm-svn: 19183
2004-12-29 06:59:36 +00:00
Reid Spencer 5309e843d3 Fix one of the names to not have a . in front of it.
llvm-svn: 19182
2004-12-29 05:47:04 +00:00
Reid Spencer 78d9e8763d Make the x86_64 target names match between def and use. Thanks Misha.
llvm-svn: 19170
2004-12-28 07:56:14 +00:00
Reid Spencer 307435c2ae Make the 64-bit x86 target named "x86_64" instead of "AMD64".
llvm-svn: 19169
2004-12-28 06:34:11 +00:00
Reid Spencer cf8f341c36 Don't create symbolic links for lib/System any more. It doesn't need them.
llvm-svn: 19166
2004-12-27 09:33:46 +00:00
Reid Spencer b668158b7c For PR351:
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.

llvm-svn: 19148
2004-12-27 06:15:02 +00:00
Reid Spencer 826da2a721 For PR351:
Provide a check to determine if /dev/zero is needed for AllocateRWX function.

llvm-svn: 19147
2004-12-27 06:14:48 +00:00