aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Only use O_CLOEXEC on platforms that support itLars Volker2017-05-101-0/+4
| | | | | | | | | | | | | | Change a9fca58 made use of the O_CLOEXEC flag, which is not supported on older Linux kernels. This change makes the use contingent on kernel support. Testing: I manually compiled breakpad on CentOS 5.8 running kernel 2.6.18-308.8.2.el5.centos.plusxen. Bug: 730 Change-Id: I21dff928cfba3c156a56708913f65a0c7b5396a6 Reviewed-on: https://chromium-review.googlesource.com/498528 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Make minidump name generation on Linux as random as possibleGabriele Svelto2017-04-121-1/+2
| | | | | | | | | | | | | | | This patch ensures that two crashes taken within the same second have different minidump names. The random characters used in the minidump filename are now read from /dev/urandom where possible or generated via arc4random(). If neither is available we fall back to regular rand() but mixing the address of an object to the current time when generating the random seed to make it slightly less predictable. BUG=681 Change-Id: I2e97454859ed386e199b2628d6b7e87e16481b75 Reviewed-on: https://chromium-review.googlesource.com/445784 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* add -Wunused-local-typedefs to the set of warning flagsTobias Sargeant2017-03-241-0/+1
| | | | | | | | This helps catch issues when rolling in Chromium. Change-Id: I2e3f33df4a69b501d8c04799ee0ac03a4bed9ac9 Reviewed-on: https://chromium-review.googlesource.com/459477 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* autotools: move -W flags to configure detectionMike Frysinger2017-02-161-2/+24
| | | | | | | | This lets us use the flags with clang, and to add more flags easily. Change-Id: I51bb53ffd5ab6da769cdfb422a2c88442f1ff9ad Reviewed-on: https://chromium-review.googlesource.com/441864 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
* aclocal: regenerate properlyMike Frysinger2017-02-081-2/+0
| | | | | | | | | Rather than manually include m4 files in configure.ac, let aclocal do its thing and manage aclocal.m4 automatically for us. Change-Id: I50689ec78a85651949aab104e7f4de46b14bca5a Reviewed-on: https://chromium-review.googlesource.com/438544 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Don't demangle Rust symbols by default, but allow linking to rust-demangle.Ted Mielczarek2016-10-251-0/+25
| | | | | | | | | | | | | | | | | The Rust compiler uses GCC C++ name mangling, but it has another layer of encoding so abi::cxa_demangle doesn't produce great results. This patch changes dump_syms to dump unmangled names by default so that consumers can demangle them after-the-fact. It also adds a tiny bit of support for linking against a Rust library I wrote that can demangle Rust symbols nicely: https://github.com/luser/rust-demangle-capi BUG= Change-Id: I63a425035ebb7ac516f067fed2aa782849ea9604 Reviewed-on: https://chromium-review.googlesource.com/402308 Reviewed-by: Mark Mentovai <mark@chromium.org>
* only build dump_syms_mac for x86 hostsMike Frysinger2016-01-271-0/+8
| | | | | | | | | | | | | | | | | | | The dump_syms_mac tool only works for the system it is being built for (it doesn't support running on ELFs for a diff target), and it builds only for x86 currently. If you look at the mac header: src/third_party/mac_headers/mach/machine/vm_types.h it will #error for non x86/arm systems, and the arm header is not in our source tree. Tweak the build so it's only compiled when targetting x86 systems. BUG=chromium:579384 TEST=`make check` pass R=ted.mielczarek@gmail.com Review URL: https://codereview.chromium.org/1645673002 .
* test: allow use of system gmock/gtest libsMike Frysinger2016-01-251-0/+33
| | | | | | | | | | | | | | Some systems provide prebuilt copies of gmock/gtest (such as Chromium OS). Add a configure flag so they can take advantage of that. This allows for a smaller checkout as they don't need to include the full testing/ tree. BUG=chromium:579384 TEST=`make check` passes w/--enable-system-test-libs TEST=`make check` passes w/--disable-system-test-libs R=thestig@chromium.org Review URL: https://codereview.chromium.org/1638653002 .
* Check for C++11 support in the configure script.Lei Zhang2016-01-081-0/+3
| | | | | | R=mark@chromium.org Review URL: https://codereview.chromium.org/1570013002 .
* build: detect the right `ar` toolMike Frysinger2015-11-111-0/+1
| | | | | | | | | | | Use automake's AM_PROG_AR helper instead of the default of hardcoding `ar` all the time. When cross-compiling, this can often be the wrong one to use. BUG=google-breakpad:519 R=ted.mielczarek@gmail.com Review URL: https://codereview.chromium.org/1435813002 .
* Update configure to look for README.md instead of READMEMark Mentovai2015-09-231-1/+1
| | | | | | | | | This is required after daed3a43836e. configure won't run as-is, reported in https://codereview.chromium.org/1357773004/. R=andybons@chromium.org Review URL: https://codereview.chromium.org/1361993002 .
* make "make install" also install headers and pkgconfig filesvapier@chromium.org2014-08-271-1/+6
| | | | | | | | | | See https://code.google.com/p/google-breakpad/issues/detail?id=219 R=vapier@chromium.org Review URL: https://breakpad.appspot.com/1114002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1364 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use AM_MAINTAINER_MODE so configure supports --enable-maintainer-modeted.mielczarek@gmail.com2013-12-101-0/+1
| | | | | | | A=mcgrathr R=bradnelson at https://breakpad.appspot.com/864003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1251 4c0a9323-5329-0410-9bdc-e9ce6186880e
* check for and enable Large File Support automaticallyvapier@chromium.org2013-12-101-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | If you try to process a file using a 32bit build that is larger than 2GiB in size, the linux kernel will reject things: $ strace -eopen dump_syms ./chrome ./ > chrome.sym ... open(".//chrome.debug", O_RDONLY) = -1 EOVERFLOW (Value too large for defined data type) So let's use the existing autoconf macro to check for and enable support as need be. We have to shift the existing m32 logic up to before we start doing feature test macros though otherwise a simple configure won't work: $ ./configure --enable-m32 This is because it first tests LFS and such w/out the -m32 flags. BUG=chromium:266064 TEST=`./configure --enable-m32 && make && make check` passes R=benchan@chromium.org Review URL: https://breakpad.appspot.com/619002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1250 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add custom getcontext() implementation for Android.digit@chromium.org2012-08-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This adds a minimalistic implementation of getcontext() for Android/ARM and Android/x86. The provided code is in assembly and only implements the bare minimum required by Breakpad to get the current processor state. Note that: - The FPU state is not saved to the ucontext_t on ARM. (that's actually the main difference with a normal getcontext() implementation). This is normal. On Linux/ARM, such state must be obtained with PTRACE_GETVFPREGS instead. This will be implemented in a future patch. - On x86, only the 'regular' FPU state is saved, to mimic the GLibc/i386 implementation. The state of SSE/SSE2/etc registers is not part of the upstream getcontext() implementation. Review URL: https://breakpad.appspot.com/444002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1024 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Improve Android supportdigit@chromium.org2012-08-211-3/+11
| | | | | | | | | | | | | | | | | | This patch remove many Android-specific #ifdefs from the Breakpad source code. This is achieved by providing "fixed-up" platform headers (e.g. <signal.h> or <sys/user,h>), in the new directory src/common/android/include/, which masks differences between the NDK and GLibc headers. The old "android_link.h" and "android_ucontext.h" are moved and renamed. This also requires putting this directory as the first include path during Android-hosted builds, hence the modification of Makefile.am and configure.ac Review URL: https://breakpad.appspot.com/434002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1017 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fixing various compiler warnings and applying minor tweaks to allow running ofivan.penkov@gmail.com2012-07-021-0/+1
| | | | | | | | | | the mojority of breakpad unittests in Google. http://breakpad.appspot.com/399002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@978 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove NetworkSourceLine{Resolver,Server} and related code. It never wound ↵ted.mielczarek2011-07-071-9/+0
| | | | | | | | up being useful enough to use in production, so let's drop the maintenence burden R=jessicag at http://breakpad.appspot.com/292001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@795 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make programs in src/tools/linux build via the automake build systemted.mielczarek2011-02-281-2/+21
| | | | | | R=jimb at http://breakpad.appspot.com/265001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@775 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Change the bug reporting email address.thestig@chromium.org2010-11-081-1/+1
| | | | | | Review URL: http://breakpad.appspot.com/226001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@728 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add support for building the Linux client code using the Android NDKted.mielczarek2010-10-201-1/+1
| | | | | | r=mwu at http://breakpad.appspot.com/212001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@716 4c0a9323-5329-0410-9bdc-e9ce6186880e
* ditch libtool, only build static libsted.mielczarek2010-10-051-3/+2
| | | | | | R=mark at http://breakpad.appspot.com/210001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@709 4c0a9323-5329-0410-9bdc-e9ce6186880e
* add a --disable-processor configure arg to skip building processor libs and ↵ted.mielczarek2010-10-051-0/+22
| | | | | | | | just build client libs R=nealsid at http://breakpad.appspot.com/209001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@708 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix ./configure --enable-m32thestig@chromium.org2010-09-161-1/+2
| | | | | | Review URL: http://breakpad.appspot.com/197001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@692 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 378 - Don't compile Linux client libraries on non-Linux systemsted.mielczarek2010-08-311-0/+10
| | | | | | R=nealsid at http://breakpad.appspot.com/173001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@679 4c0a9323-5329-0410-9bdc-e9ce6186880e
* provide a network source line resolver + server. r=mark,jimb at ↵ted.mielczarek2010-04-081-0/+9
| | | | | | http://breakpad.appspot.com/36001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@569 4c0a9323-5329-0410-9bdc-e9ce6186880e
* ARM support, with some build system changes to support x86-64, arm, and i386 ↵nealsid2010-03-021-0/+20
| | | | | | | | | | | in an autoconf style build in Linux. The O2 build for the unit tests is still broken but I'm checking this in to unblock people A=nealsid R=ajwong, hannahtang, ted.mielczarek git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@541 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Breakpad: Require Automake 1.11.1.jimblandy2010-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change configure.ac to note that Breakpad requires automake version 1.11.1 or later. This will cause older versions of automake to refuse to process the Makefile.am file. Earlier versions of automake generate 'make dist' rules that have a security flaw; see: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-4029 However, note that that notice itself has a flaw: the bug is *fixed in* automake 1.11.1, not present. See: http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html (The change to Makefile.in is a consequence of my having neglected to rebuild Makefile.in after landing r517.) a=jimblandy, r=mmentovai git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@521 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename Airbag to Breakpad.mmentovai2007-02-141-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Module API (#32). r=waylonis, brynermmentovai2006-12-051-1/+1
| | | | | | | | | | | | | | | | | | | - Introduces a standard API for dealing with modules. MinidumpModule is now a concrete implementation of this API. Code may interact with single modules using the CodeModule interface, and collections of modules using its container, the CodeModules interface. - CodeModule is used directly by SymbolSupplier implementations and SourceLineResolver. Reliance on the specific implementation in MinidumpModule has been eliminated. - Module lists are now added to ProcessState objects. Module references in each stack frame are now pointers to objects in these module lists. - The sample minidump_stackwalk tool prints the module list after printing all threads' stacks. http://groups.google.com/group/airbag-dev/browse_frm/thread/a9c0550edde54cf8 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@74 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Better testing for Stackwalker (#18). r=brynermmentovai2006-09-251-0/+19
| | | | | | | | | | | | | | - Test StackwalkerX86 and StackwalkerPPC on the current process, if built by a supported compiler (gcc) on a supported (walkable) CPU (x86, ppc). - This test is not enabled by default because of certain optimizations that interfere with it (stack frame reuse, frame pointer omission). See the comments at the top of stackwalker_selftest.cc. To enable this test in the standard "make check" suite, configure with --enable-selftest. http://groups.google.com/group/airbag-dev/browse_thread/thread/2ca1c8e72c809bec git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@35 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Relicense to BSD (#29). r=brynermmentovai2006-09-201-13/+28
| | | | | | | http://groups.google.com/group/airbag-dev/browse_thread/thread/5f19f13fc172c4e0 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@31 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle frame pointer omission (#21), part 1: ContainedRangeMap. r=bryner.mmentovai2006-09-201-3/+0
| | | | | | | | | | | | | - ContainedRangeMap is the data structure that will be used to store and look up debugging information for frames by instruction address. The debugging information includes a way to locate the calling frame in the absence of a saved frame pointer. - Restructure RangeMap into an -inl file to match ContainedRangeMap. http://groups.google.com/group/airbag-dev/browse_thread/thread/c5823bfc1828ed42 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@29 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make build system less annoying (#8) r=brynermmentovai2006-08-301-12/+22
| | | | | | | | | | | - Place objects in the appropriate directories, instead of filling up the root directory. - Remove namespace macros, which made maintenance troublesome and which created a dependency on config.h in public headers - Skip useless Fortran checks at configure time git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@8 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Initial import, which includes the Windows client-side dump_syms tool, andbryner2006-08-251-0/+29
part of the server-side dump processor. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@4 4c0a9323-5329-0410-9bdc-e9ce6186880e