Commit Graph

519 Commits

Author SHA1 Message Date
mike-m e08af303a6 Overhauled llvm/clang docs builds. Closes PR6613.
NOTE: 2nd part changeset for cfe trunk to follow.

*** PRE-PATCH ISSUES ADDRESSED

- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
  assumptions and make use of absolute root in static html files;
  namely CommandGuide tools hard codes a website destination
  for cross references and some html cross references assume
  website root paths

*** IMPROVEMENTS

- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
  if any target (or any variable is evaluated) which attempts
  to remove any dirs which match a hard-coded 'safelist', a verbose
  error will be printed and make will error-stop.

llvm-svn: 103213
2010-05-06 23:45:43 +00:00
Daniel Dunbar e96fcbb085 Default OPTIMIZE_OPTION to -O2 on FreeBSD, at the request of the Clang/FreeBSD
folks. LLVM/Clang is miscompiled by the standard GCC at -O3.

llvm-svn: 102719
2010-04-30 17:12:23 +00:00
Dan Gohman a1c94049c2 Fix an autoconf bug: The second argument to AC_LANG_PROGRAM is code that
gets placed inside a main function, and should not itself be a main
function. This is silently hidden in GCC-hosted builds because the
inner main looks like a nested function declaration, which GCC supports.
In builds with compilers which do not support nested functions (by default),
this was causing an error, which caused these autoconf checks to fail, 
leaving their options disabled.

This fixes test/Feature/load_module.ll on x86_64-unknown-linux-gnu
llvm-gcc selfhost builds, among other things.

This also includes a regenerated configure, as the diff is small and telling.

llvm-svn: 102288
2010-04-25 00:12:20 +00:00
Dan Gohman 91f8ad7bd3 Add an autoconf check for -retain-symbols-file and conditionalize
use of that option with it. This eliminates an imprecise "Linux"
test, and should help support old versions of gold.

llvm-svn: 101560
2010-04-16 22:58:15 +00:00
Eric Christopher dea3bda860 Add a check for posix_spawn.
Regenerate configure and other autoconf files.

llvm-svn: 101444
2010-04-16 05:14:21 +00:00
Daniel Dunbar 4e06a5b8b3 configure: Fix default value for optimize_option, I messed up the test condition
in r86005 and unintentionally changed the default from -O3 to -O2.

 - It's odd the things automated perf testing turns up! :)

 - Also, the configure diff is messed up slightly. It looks like someone either
   didn't regenerate configure correctly (or I didn't), or autoconf has some
   funnyness in it. Eric, any ideas?

This has been at -O2 for so long, that I am slightly nervous that this change
will uncover miscompiles of LLVM on other systems. If that is the case, I think
we should just set the default universally at -O3, and let developers/vendors
use -O3 if they want it and have tested it.

llvm-svn: 100941
2010-04-10 18:56:24 +00:00
Chris Lattner c86cdc7d47 add minix support, patch by Kees van Reeuwijk! PR6797
llvm-svn: 100895
2010-04-09 20:45:04 +00:00
John Criswell 4e61b255e2 Fixed spurious warning problem noticed by Daniel Dunbar. The configure script
now configures prerequisite projects individually but also ignores them in the
big project switch statement to avoid the incorrect warning.

llvm-svn: 99506
2010-03-25 13:59:09 +00:00
John Criswell f369e779a8 Force configuration of some projects before others. In particular, some
projects rely upon llvm-gcc, the LLVM test suite, and poolalloc.  This ensures
that the aforementioned projects have their object trees created first so that
other projects can find their object trees when they themselves are configured.

llvm-svn: 98998
2010-03-19 21:31:39 +00:00
Tanya Lattner 122f07a0c9 Bump version number.
llvm-svn: 98989
2010-03-19 21:19:10 +00:00
John Criswell 1734a2a550 Updated copyright year to 2010.
llvm-svn: 98985
2010-03-19 21:04:16 +00:00
Jeffrey Yasskin 3ddd88f523 Tell Valgrind when we modify already-executed machine code so it knows
to re-instrument the code.  We depend on the system valgrind.h to
avoid adding a new license.

llvm-svn: 98529
2010-03-15 04:57:55 +00:00
Eric Christopher b3762a05c5 Move the docsdir to /usr/share/doc/llvm to match other projects.
Fixes PR6267.

llvm-svn: 97549
2010-03-02 05:17:21 +00:00
Eric Christopher f0ee6a1407 Make sure we save CXXFLAGS before setting it as pedantic and regenerate
configure.

Fixes PR6388.

Patch by Yann Droneaud!

llvm-svn: 97548
2010-03-02 05:06:54 +00:00
John Criswell 4d377d8c59 Added SAFECode (safecode) to the list of projects to automatically configure.
llvm-svn: 97179
2010-02-25 22:57:19 +00:00
Jeffrey Yasskin 6b718f73a5 Try r96559 for the third time. This time the shared library is only built if
--enable-shared is passed to configure.

llvm-svn: 97119
2010-02-25 06:34:33 +00:00
Chris Lattner 8423d0241f fix PR5954, patch by Roman Divacky.
I don't have a great way to test this myself (it's linux/bsd only), 
but Roman says it works. :)

llvm-svn: 97069
2010-02-24 22:33:41 +00:00
Jeffrey Yasskin 15983e57d6 Roll back r96959 again.
llvm-svn: 96981
2010-02-23 20:53:37 +00:00
Wesley Peck e4801e49c9 Adding the MicroBlaze backend.
The MicroBlaze is a highly configurable 32-bit soft-microprocessor for
use on Xilinx FPGAs. For more information see:
http://www.xilinx.com/tools/microblaze.htm
http://en.wikipedia.org/wiki/MicroBlaze

The current LLVM MicroBlaze backend generates assembly which can be
compiled using the an appropriate binutils assembler.

llvm-svn: 96969
2010-02-23 19:15:24 +00:00
Jeffrey Yasskin 3ac46ccdff Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 of
the examples shared to make sure the shared library keeps working.

llvm-svn: 96959
2010-02-23 18:10:07 +00:00
Daniel Dunbar 49b962cc26 Initial configure support for using Clang as the LLVM capable compiler.
Comes in two parts:
 1. Use --with-clang=path/to/clang/compiler to select an installed clang, or
    --with-built-clang to have the makefiles use the clang which will be built
    as the LLVM capable compiler. If neither is given, --with-built-clang will
    be used if the Clang sources are checked out into the standard location
    (tools/clang).

 2. Use --with-llvmcc={llvm-gcc,clang,none} to specify which LLVM capable
    compiler to use. If not given, then llvm-gcc will be used if available,
    otherwise Clang.

Makefile support still to come.

Eric, Doug, Chris, seem reasonable?

llvm-svn: 96934
2010-02-23 10:00:49 +00:00
Daniel Dunbar 52af870692 Kill off unused LLVMGCCLIBEXEC make variable.
llvm-svn: 96910
2010-02-23 07:56:34 +00:00
Daniel Dunbar e67ebdc60a Kill off LLVMGCCARCH and LLVMGCC_VERSION make variables.
llvm-svn: 96909
2010-02-23 07:56:31 +00:00
Daniel Dunbar e7d4f92cfa Kill off LLVMGCC_MAJVERS make variable.
llvm-svn: 96907
2010-02-23 07:56:22 +00:00
Jeffrey Yasskin c451027db9 Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
llvm-svn: 96569
2010-02-18 04:43:02 +00:00
Jeffrey Yasskin f750fefaf8 Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.)  Always link the
example programs shared to test that the shared library keeps working.

On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.

Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.

llvm-svn: 96559
2010-02-18 02:36:02 +00:00
Jeffrey Yasskin 914050bc5a Make --disable-libffi work on systems with libffi installed. Also
make no-ffi the default even on systems with libffi.  This fixes
http://llvm.org/PR5018.

llvm-svn: 95712
2010-02-09 23:03:44 +00:00
Jeffrey Yasskin bf5ce0a6c2 Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version.
llvm-svn: 95191
2010-02-03 02:11:49 +00:00
Torok Edwin 1e86bc50c7 Remove unneeded checks from configure.ac.
HAVE_{BI,STD,FWD}_ITERATOR and HAVE_NAMESPACES were not used in the code.
bison and flex are no longer used.
CAN_DLOPEN_SELF was never used either.
AC_PROG_LIBTOOL is not needed since we don't use libtool, we only need the
libltdl checks for dlopen.
Add check for AR, it used to be done by AC_PROG_LIBTOOL.
AC_TYPE_SIGNAL is deprecated, follow autoupdate's suggestion and replace with
void.
Remove unused m4 files.
Configure can now be generated using autoconf 2.65 too, without any warnings!

llvm-svn: 94534
2010-01-26 08:48:04 +00:00
Torok Edwin b3b43e65ba Fix autoconf 2.65 warning (don't use _cv_ inside AC_CACHE_VAL).
llvm-svn: 94533
2010-01-26 08:43:05 +00:00
Anton Korobeynikov d93ecc8fef Proper deduce z/System LLVM target from target triple when
--enable-targets=host is specified.

llvm-svn: 92762
2010-01-05 20:45:13 +00:00
Rafael Espindola 662908cdcf Fix typos. Thanks to John Tytgat for noticing it!
llvm-svn: 90728
2009-12-07 00:27:35 +00:00
Daniel Dunbar f472129722 Add CMake and configure logic to create llvm/Config/Disassemblers.defs.
llvm-svn: 89839
2009-11-25 04:30:13 +00:00
Edward O'Callaghan a724e48f79 autoconf config.* claims to not know about auroraux triple.
llvm-svn: 89301
2009-11-19 02:25:50 +00:00
Rafael Espindola 65e9be6dc2 Add configure options for specifying where to look for libstdc++.
llvm-svn: 88943
2009-11-16 19:46:55 +00:00
Rafael Espindola d95960be25 Add the --with-c-include-dirs to llvm's configure.
The clang patch is next.

llvm-svn: 86955
2009-11-12 05:46:09 +00:00
Daniel Dunbar b4a289c88e configure: Add --with-optimize-option, for setting the default value of
OPTIMIZE_OPTION.

llvm-svn: 86005
2009-11-04 04:32:50 +00:00
Julien Lerouge e4492f6121 Add an autoconf test to check for optional compiler flags like
-Wno-missing-field-initializers or -Wno-variadic-macros.

llvm-svn: 85147
2009-10-26 19:58:44 +00:00
Chandler Carruth 56869f22c4 Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.

llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Edward O'Callaghan edea326896 Undo pthread patch from rev. 83930 & 83823. Credit to Paul Davey.
llvm-svn: 84083
2009-10-14 11:12:33 +00:00
Edward O'Callaghan 153d23f4cd Provide AuroraUX triple support in configure. Credit to - Paul Davey.
llvm-svn: 84067
2009-10-14 00:44:50 +00:00
Edward O'Callaghan 8227b0512f Haiku porting patches, Credit to Paul Davey.
llvm-svn: 83823
2009-10-12 04:57:20 +00:00
Jeffrey Yasskin 2da7231034 Fix the OProfile part of PR5018. This fixes --without-oprofile, makes
it the default, and works around a broken libopagent on some Debian
systems.

llvm-svn: 83503
2009-10-07 23:22:42 +00:00
Nick Lewycky fa4c2d3baf Fix configure bug that only shows up in a clean build. Don't try to invoke gcc
until after the compiler itself has been set up.

llvm-svn: 83051
2009-09-29 06:18:00 +00:00
Nick Lewycky 90df990f73 On Linux, uname -m reports the kernel type. Some Linux systems are 32-bit but
with a 64-bit kernel, which confuses LLVM. Make LLVM double-check this by
checking which defines the system gcc actually sets.

llvm-svn: 83047
2009-09-29 05:40:45 +00:00
Jeffrey Yasskin c3273dca48 Enable -g with DEBUG_SYMBOLS and --enable-debug-symbols instead of
DEBUG_RUNTIME.

llvm-svn: 82906
2009-09-27 17:47:29 +00:00
Nick Lewycky 147d40d4a2 Leave a pointer to the documentation so that people don't end up change one but
not the other in the future.

llvm-svn: 82887
2009-09-27 04:57:35 +00:00
Jeffrey Yasskin 14a5cc54e5 Fix a compile failure introduced by r82675 on MinGW which doesn't have
setenv().  This patch just disables the test rather than getting putenv() to
work.  Thanks to Sandeep Patel for reporting the problem.

llvm-svn: 82797
2009-09-25 21:07:20 +00:00
Jeffrey Yasskin 42a49dfb02 PR4047: Permit configure --enable-targets=host,cpp for example. "host" has the
same effect that "host-only" used to have, but can be combined with other
targets.  host-only is still available as a synonym but no longer documented.

llvm-svn: 82634
2009-09-23 17:05:42 +00:00
Mike Stump e79171ca42 Update to latest versions of config.guess and config.sub from
http://savannah.gnu.org/projects/config

llvm-svn: 82229
2009-09-18 17:10:27 +00:00