On Wed, May 08, 2013 at 07:56:18PM +0400, Alexander Monakov wrote: > Hello, > > I'd like to make libbacktrace easier to import for use in other software. > Right now it's mostly standalone, but depends on rest of GCC in the following: > > 1. Build system. > 2. Trivially depends on "filenames.h". > 3. Depends on "dwarf2.{def,h}" to obtain DW_* enumeration values. > > My autotools-foo is not strong enough to elegantly resolve build system > dependencies (and for my intended use in APITrace I will need to write a > CMake-based build recipe anyhow). To remove dependency on GCC dwarf2.h, I'm > proposing to enable building with system dwarf.h header. However, in that > header the enums are anonymous, and some enum values may be missing. My > preference is that references to named enums are retained, so I'm typedef'ing > those to 'int' if unavailable. > > To deal with potentially missing enum values, I'm adding configure checks and > wrapping uses in HAVE_foo. I'm also removing one use of DW_LNS_extended_op: > the standard does not seem to define that name, but instead says that value 0 > is treated specially. > > The following patch is the best compromise I have found between adding ugly > fixups and making libbacktrace buildable standalone (with the caveat that > either a different build system is used, or autotools files are hacked to > remove GCC dependencies). > > Comments?
Is it possible to link staticaly without external dependencies? This simplifies generating backtrace when inside linker.