summaryrefslogtreecommitdiffstats
path: root/llvm/autoconf
Commit message (Collapse)AuthorAgeFilesLines
...
* Windows: Add support for unicode command linesDavid Majnemer2013-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The MSVCRT deliberately sends main() code-page specific characters. This isn't too useful to LLVM as we end up converting the arguments to UTF-16 and subsequently attempt to use the result as, for example, a file name. Instead, we need to have the ability to access the Unicode command line and transform it to UTF-8. This has the distinct advantage over using the MSVC-specific wmain() function as our entry point because: - It doesn't work on cygwin. - It only work on MinGW with caveats and only then on certain versions. - We get to keep our entry point as main(). :) N.B. This patch includes fixes to other parts of lib/Support/Windows s.t. we would be able to take advantage of getting the Unicode paths. E.G. clang spawning clang -cc1 would want to give it Unicode arguments. Reviewers: aaron.ballman, Bigcheese, rnk, ruiu Reviewed By: rnk CC: llvm-commits, ygao Differential Revision: http://llvm-reviews.chandlerc.com/D1834 llvm-svn: 192069
* Remove error output from configure if CFLAGS is set (r174313).Patrik Hagglund2013-09-241-2/+2
| | | | | | This fixes PR16724. llvm-svn: 191289
* Fix for executing AutoRegen.sh. Revert a part of r187209.Patrik Hagglund2013-09-131-0/+16
| | | | | | | | | | | | | | | | | Since r187209, which modified ltdl.m4, I was unable to execute AutoRegen.sh, getting: ../configure:10779: error: possibly undefined macro: AC_LTDL_FUNC_ARGZ This commit re-adds AC_LTDL_FUNC_ARGZ to ltdl.m4, as a quick fix. For me, this corresponds to the configure file currently checked in. (However, the ltdl library seems to be unused since r74924 in 2009, except for the use of the LTDL_SHLIB_EXT macro in bugpoint(?). Therefore, the right solution seems to try to get rid of the local ltdl.m4 file, specified by autoconf/README.TXT.) llvm-svn: 190677
* [conf] Add config variable to disable crash related overrides.Daniel Dunbar2013-08-301-13/+30
| | | | | | | | | | | | | | | | | | | | | - We do some nasty things w.r.t. installing or overriding signal handlers in order to improve our crash recovery support or interaction with crash reporting software, and those things are not necessarily appropriate when LLVM is being linked into a client application that has its own ideas about how to do things. This gives those clients a way to disable that handling at build time. - Currently, the code this guards is all Apple specific, but other platforms might have the same concerns so I went for a more generic configure name. Someone who is more familiar with library embedding on Windows can handle choosing which of the Windows/Signals.inc behaviors might make sense to go under this flag. - This also fixes the proper autoconf'ing of ENABLE_BACKTRACES. The code expects it to be undefined when disabled, but the autoconf check was just defining it to 0. llvm-svn: 189694
* Autoconf: The Clang ARC migrator now depends on the static analyzer.Jordan Rose2013-08-221-1/+6
| | | | | | | | | I don't actually have a version of autoconf so I edited configure directly as well. It's copy-pasted so I think there was little margin for error. See also Clang-side dependency graph changes. llvm-svn: 189026
* Recognize NetBSD's terminfo implementation.Joerg Sonnenberger2013-08-171-1/+1
| | | | llvm-svn: 188606
* Remove all checking for the various terminfo headers (term.h andChandler Carruth2013-08-121-5/+0
| | | | | | | | | | | | | | | | curses.h). Finding these headers is next to impossible. For example, on Debian systems libtinfo-dev provides the terminfo reading library we want, but *not* term.h. For the header, you have to use libncurses-dev. And libncursesw-dev provides a *different* term.h in a different location! These headers aren't worth it. We want two functions the signatures of which are clearly spec'ed in sys-v and other documentation. Just declare them ourselves and call them. This should fix some debian builders and provide better support for "minimal" debian systems that do want color autodetection. llvm-svn: 188165
* Target a minimal terminfo library rather than necessarily a full cursesChandler Carruth2013-08-121-14/+14
| | | | | | | | | | | | | | | | | | | | library for color support detection. This still will use a curses library if that is all we have available on the system. This change tries to use a smaller subset of the curses library, specifically the subset that is on some systems split off into a separate library. For example, if you install ncurses configured --with-tinfo, a 'libtinfo' is install that provides just the terminfo querying functionality. That library is now used instead of curses when it is available. This happens to fix a build error on systems with that library because when we tried to link ncurses into the binary, we didn't pull tinfo in as well. =] It should also provide an easy path for supporting the NetBSD libterminfo library, but as I don't have access to a NetBSD system I'm leaving adding that support to those folks. llvm-svn: 188160
* Add support for linking against a curses library when available andChandler Carruth2013-08-071-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | using it to detect whether or not a terminal supports colors. This replaces a particularly egregious hack that merely compared the TERM environment variable to "dumb". That doesn't really translate to a reasonable experience for users that have actually ensured their terminal's capabilities are accurately reflected. This makes testing a terminal for color support somewhat more expensive, but it is called very rarely anyways. The important fast path when the output is being piped somewhere is already in place. The global lock may seem excessive, but the spec for calling into curses is *terrible*. The whole library is terrible, and I spent quite a bit of time looking for a better way of doing this before convincing myself that this was the fundamentally correct way to behave. The damage of the curses library is very narrowly confined, and we continue to use raw escape codes for actually manipulating the colors which is a much sane system than directly using curses here (IMO). If this causes trouble for folks, please let me know. I've tested it on Linux and will watch the bots carefully. I've also worked to account for the variances of curses interfaces that I could finde documentation for, but that may not have been sufficient. llvm-svn: 187874
* Link with -rdynamic instead of -Wl,-export-dynamic.Bob Wilson2013-08-022-6/+7
| | | | | | | | | | | | | | | Recent versions of the OS X linker support this but follow the existing OS X linker convention of using an underscore in the option name, i.e., -export_dynamic. Rather than changing our configure scripts to check for that alternate spelling, it is simpler to just use the compiler's -rdynamic option and let it deal with translating that to the appropriate linker option. One potential disadvantage of this approach is that the compiler will typically ignore -rdynamic on platforms where it is not supported, so the HAVE_LINK_EXPORT_DYNAMIC in config.h will not necessarily show whether that option has any effect or not. I don't see any in-tree uses of that macro, so I'm assuming it is OK. llvm-svn: 187686
* Remove dead or useless header checks from cmake and autoconfReid Kleckner2013-07-262-29/+7
| | | | | | | | | | On Windows, this improves clean cmake configuration time on my workstation from 1m58s to 1m32s, which is pretty significant. There's probably more that can be done here, but this is the low hanging fruit. Eric volunteered to regenerate ./configure for me. llvm-svn: 187209
* [PowerPC] Support powerpc64le as a syntax-checking target.Bill Schmidt2013-07-262-1/+4
| | | | | | | | | | | | | | | | | | | | | | | This patch provides basic support for powerpc64le as an LLVM target. However, use of this target will not actually generate little-endian code. Instead, use of the target will cause the correct little-endian built-in defines to be generated, so that code that tests for __LITTLE_ENDIAN__, for example, will be correctly parsed for syntax-only testing. Code generation will otherwise be the same as powerpc64 (big-endian), for now. The patch leaves open the possibility of creating a little-endian PowerPC64 back end, but there is no immediate intent to create such a thing. The LLVM portions of this patch simply add ppc64le coverage everywhere that ppc64 coverage currently exists. There is nothing of any import worth testing until such time as little-endian code generation is implemented. In the corresponding Clang patch, there is a new test case variant to ensure that correct built-in defines for little-endian code are generated. llvm-svn: 187179
* Remove the mblaze backend from llvm.Rafael Espindola2013-07-251-6/+1
| | | | | | Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html llvm-svn: 187145
* No ',' between programs.Eric Christopher2013-07-081-1/+1
| | | | llvm-svn: 185867
* Find xdot or xdot.py.Matt Arsenault2013-07-081-6/+6
| | | | | | Ubuntu installs this as xdot, so finding xdot.py would fail. llvm-svn: 185860
* Reapply r185601 with a fix for the cmake build.Eric Christopher2013-07-041-0/+1
| | | | llvm-svn: 185605
* Temporarily revert 185601 as it caused cmake build regressions.Eric Christopher2013-07-041-1/+0
| | | | llvm-svn: 185603
* Add support for futimens for platforms that don't support futimes.Eric Christopher2013-07-041-0/+1
| | | | | | Patch by pashev.igor. llvm-svn: 185601
* The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.Sylvestre Ledru2013-07-011-2/+9
| | | | | | | | | | | | | | | | | This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16444. Patch by Robert Millan in the context of Debian. llvm-svn: 185311
* Add an autoconf option for turning on -gsplit-dwarf by defaultEric Christopher2013-06-251-0/+13
| | | | | | | | | | | | | when building llvm. This saves quite a bit of time and space when linking. Please report any problems via bugzilla. Caveats: a) This will only work on linux b) This requires a fairly new binutils c) This requires a fairly new gdb llvm-svn: 184808
* Don't define LTDL_SHLIBPATH_VAR.Rafael Espindola2013-06-111-15/+0
| | | | llvm-svn: 183771
* Don't define LLVM_LIBDIR, it is not used anymore.Rafael Espindola2013-06-111-5/+1
| | | | llvm-svn: 183769
* Make R600 non-experimental.Rafael Espindola2013-05-221-2/+3
| | | | | | | The r600 backend has been in tree for some time now. Marking it as non-experimental to avoid accidental breakage. llvm-svn: 182442
* We're in 3.4 land now.Bill Wendling2013-05-071-2/+2
| | | | llvm-svn: 181350
* [SystemZ] Add to --enable-targets=allUlrich Weigand2013-05-061-1/+1
| | | | | | | | | This patch finally enables the SystemZ target in the default build (with --enable-targets=all). Patch by Richard Sandiford. llvm-svn: 181209
* [SystemZ] Add configure bitsUlrich Weigand2013-05-061-1/+6
| | | | | | | | | | This patch wires up the SystemZ target in configure, so that it can now be built using --enable-targets=systemz. It is not yet included in the default build (--enable-targets=all); this will be done by a follow-up patch. Patch by Richard Sandiford. llvm-svn: 181208
* Allow host triple to be correctly overridden in CMake buildsTim Northover2013-05-041-1/+1
| | | | | | | | | | | The intended semantics mirror autoconf, where the user is able to specify a host triple, but if it's left to the build system then "config.guess" is invoked for the default. This also renames the LLVM_HOSTTRIPLE define to LLVM_HOST_TRIPLE to fit in with the style of the surrounding defines. llvm-svn: 181112
* Autoconf: Compile cxxabi.h in C++ mode.Benjamin Kramer2013-05-031-1/+4
| | | | | | Should fix PR15877. llvm-svn: 181026
* Only use cxxabi.h's demangler, if it is actually available.Joerg Sonnenberger2013-04-271-1/+1
| | | | llvm-svn: 180684
* Add basic zlib support to LLVM. This would allow to use ↵Alexey Samsonov2013-04-231-0/+27
| | | | | | compression/uncompression in selected LLVM tools. llvm-svn: 180083
* Add AArch64 into $llvm_cv_target_arch in configure, reviewed by Tim ↵Jia Liu2013-04-221-0/+1
| | | | | | Northover & Eric Christopher llvm-svn: 180025
* Refine fenv.h handling: check if the desired macros exist, before usingJoerg Sonnenberger2013-03-251-0/+1
| | | | | | | it. NetBSD/ARM and TILE-Gx are examples for platforms that have an unusable fenv.h and this avoids the need for a blacklist. llvm-svn: 177865
* Turn anonymous type in anonymous union warning back on after cleaning upEric Christopher2013-03-151-2/+1
| | | | | | issues. llvm-svn: 177136
* configure: remove workaround for gcc's -Wno-maybe-uninitializedDmitri Gribenko2013-02-131-23/+5
| | | | | | | Since r174770 gcc version check is not needed because CXX_FLAG_CHECK implements the workaround itself. llvm-svn: 175080
* configure: when performing a compiler feature test for a -Wno-foo flag, attemptRichard Smith2013-02-081-1/+1
| | | | | | | | | to use -Wfoo instead of -Wno-foo. This works around a bug in some versions of gcc, where it will silently accept an unknown -Wno-foo option, but will generate an error for a compile which uses -Wno-foo if that compile also triggers any warnings. llvm-svn: 174770
* Conditionalize constant folding of math intrinsics on the availability of an ↵Owen Anderson2013-02-071-0/+1
| | | | | | implementation on the host. This is a little bit unfortunate, but until someone decides to implement a full libm for APFloat, we don't have a better way to get this functionality. llvm-svn: 174561
* Enable AArch64 as a target built by default.Tim Northover2013-02-041-1/+1
| | | | llvm-svn: 174322
* Pass CPPFLAGS/CFLAGS/CXXFLAGS from the environment of configure toPatrik Hagglund2013-02-041-0/+5
| | | | | | | | | | | | | | | | | Makefile.config. This is implied at the bottom of the help text of configure (besides CC/CXX/LDFLAGS, already passed to Makefile.config). For backward compatibility, the values of CFLAGS and CXXFLAGS defaults to empty, overriding the default values provided by autoconf (for example, '-g -O2' when CC=gcc'). $(CPP) is not used by our makefiles. Therefore, the value of CPP is not passed to Makefile.config, despite beeing mentioned by 'configure --help'. llvm-svn: 174313
* Recognize aarch64 for --enable-targets as advertised.Joerg Sonnenberger2013-02-031-0/+1
| | | | llvm-svn: 174288
* Add -Wno-nested-anon-types to -pedantic builds of LLVM. This Clang warningRichard Smith2013-01-311-1/+2
| | | | | | | | | | | | | | | | | | | catches uses of an extremely minor and widely-available C++ extension (which every C++ compiler I could find supports, but EDG and Clang reject in strict mode). The diagnosed code pattern looks like this: struct X { union { struct { int a; int b; } S; }; }; llvm-svn: 174103
* Add AArch64 as an experimental target.Tim Northover2013-01-312-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for AArch64 (ARM's 64-bit architecture) to LLVM in the "experimental" category. Currently, it won't be built unless requested explicitly. This initial commit should have support for: + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions (except the late addition CRC instructions). + CodeGen features required for C++03 and C99. + Compilation for the "small" memory model: code+static data < 4GB. + Absolute and position-independent code. + GNU-style (i.e. "__thread") TLS. + Debugging information. The principal omission, currently, is performance tuning. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174054
* build: add --with-python optionSaleem Abdulrasool2013-01-301-0/+29
| | | | | | | | | | | This adds a new --with-python option to allow configuration of the python binary for building. If not specified, $PATH will be searched for common python binary names (python, python2, python3). If specified, and the path is not executable, it will attempt to search $PATH. Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> Reviewed-by: Eric Christopher <echristo@gmail.com>, Daniel Dunbar <daniel@zuster.org> llvm-svn: 173890
* [autoconf]: Fix description in HAVE_CRASHREPORTER_INFO.NAKAMURA Takumi2013-01-301-2/+2
| | | | | | | http://llvm-reviews.chandlerc.com/D332 Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 173879
* [autoconf] Fix m4 quoting for newer autotoolsNAKAMURA Takumi2013-01-303-49/+74
| | | | | | | | | This simply fixes up quoting of macro invocations to appease newer versions of autotools. http://llvm-reviews.chandlerc.com/D332 Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 173878
* [autoconf] Fix 80+ and quoting.NAKAMURA Takumi2013-01-301-8/+14
| | | | | | | | | Additional quoting for safety and satisfying newer autotools. Fix a couple of 80 column violations. http://llvm-reviews.chandlerc.com/D333 Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 173877
* Disable Uninitialized Use Warnings for Broken gcc VersionsDavid Greene2013-01-151-2/+17
| | | | | | | | | | | | Some versions of gcc accept unsupported -W flags and run just fine if there are no warnings, but die with an unsupported flag error if a warning is encountered. gcc 4.3 and gcc 4.4 both exhibit this behavior for -Wno-maybe-uninitialized. Therefore, if the flag check for -Wno-maybe-uninitialized succeeds, only use -Wno-maybe-uninitialized if we are using gcc version 4.7 or greater. Use -Wno-uninitialized otherwise. llvm-svn: 172543
* Disable -Wuninitialized for gccDavid Greene2013-01-091-1/+21
| | | | | | | | | | | | | | If the compiler is gcc, disable variants of -Wuninitialized depending on the gcc version. This gets a lot of false positive warnings out of the build. Generate a new configure for the gcc -Wno-uninitialized fix. Pick up -Wno-uninitialized from configure Add the option -Wno[-maybe]-uninitialized as determined by configure. llvm-svn: 172006
* Configure: if we compile with clang, check that it is not brokenDmitri Gribenko2013-01-091-0/+26
| | | | | | | | | | | | | | | Some linux distibutions (for example, Mageia 2, Fedora 17) ship Clang that is essentially broken for the end user. Clang can not find or compile libstdc++ headers. The issue is that our configure prefers clang over gcc, thus selecting a broken Clang when a working GCC is available. Now we detect this issue by compiling a simple program. If it does not compile, configure stops with an error suggesting the user to select a different compiler. llvm-svn: 171975
* Fix a stray 'dnl' that my editor line-wrapped into this comment. ThanksChandler Carruth2013-01-051-2/+2
| | | | | | to filcab on IRC for spotting. llvm-svn: 171573
* Finally, fix the autoconf setup to allow for a missing clock_gettime;Chandler Carruth2013-01-051-3/+4
| | | | | | the source code should now be set up to handle this. llvm-svn: 171570
OpenPOWER on IntegriCloud