[SOLVED] How to provide both debug and release version of a library in two packages?

  • I would like to make three debian packages for my library. One for development, say libfoo-dev another one for runtime library libfoo and finally a library for debug build libfoo-dbg.

    Currently I'm doing like this in my .pro :

    CONFIG(release, debug|release){
    DESTDIR = ./release
    OBJECTS_DIR = release/.obj
    MOC_DIR = release/.moc
    RCC_DIR = release/.rcc
    UI_DIR = release/.ui
    BUILD = "release"
    TARGET = foo

    CONFIG(debug, debug|release){
    DESTDIR = ./debug
    OBJECTS_DIR = debug/.obj
    MOC_DIR = debug/.moc
    RCC_DIR = debug/.rcc
    UI_DIR = debug/.ui
    BUILD = "debug"
    TARGET = foo_d

    And then, debug and release binaries have different names, (like official Qt libs)

    My Question is that, is there another way to provide debugging symbols without releasing a huge library? May be something like exporting a def dump?

  • IIRC you only need to build a debug version. Debian will strip debug symbols from its packages automatically and it can store those symbols into a dbg package if desired.

    The -dbg package should contain the debugging symbols only, there is no separate debug build of the library needed. The symbols are picked up by the debugger automatically (if done correctly;)

    See http://wiki.debian.org/DebugPackage for the details.

  • It works :)


Log in to reply