retitle 43787 [AMENDMENT 05/09/1999] Compiling with debugging symbols thanks
Hi, I would prefer this version (which is the one discussed, and which has a blurb for a specific package removed). Arguably, this is the version on which a consensus was achieved. Additionally, the paragraph removed had commentary on the current shortcomings of the specific package under consideration, which does not belong i technical policy either. If people think that a blurb for any specific helper package should be included in the technical policy (which I think is a bad idea), they can come up with an independent proposal to add such a paragraph. manoj ====================================================================== We deprecate the old method, but let it be still legal. ====================================================================== CC = gcc - CFLAGS = -O2 -g -Wall # sane warning options vary between programs + # sane warning options vary between programs + CFLAGS = -O2 -Wall + ifneq (,$(findstring $(DEB_BUILD_OPTIONS),DEBUG Debug debug)) + CFLAGS += -g + INSTALL_FLAGS= -s + endif LDFLAGS = # none - install -s # (or use strip on the files in debian/tmp) + install $(INSTALL_FLAGS) # ......... The `-g' flag is useful on compilation so that you have available a full set of debugging symbols in your built source tree, in case anyone should file a bug report involving (for example) a core dump. + It is acceptable, but deprecated, to always have -g in + ``CFLAGS'', and use ``install -s'' to install binaries or use + ``strip'' on the binaries in debian/tmp, but that make it + hard to create a debuggable debian package, and increase + build time for all builds, since debugging information is + created and then stripped away. The preferred method is to + use an environment variable DEB_BUILD_OPTIONS, which, if it + contains `debug', would cause compilation to be done with -g. The + resulting binaries in your package will then contain the full + set of debugging symbols (remember not to call ``install -s'' + or ``strip'' on the binaries afterwards). + + + The DEB_BUILD_OPTIONS var will also let us later add other options in + a fairly clean way. + + Additionally, (and optionally) you may also provide a target + `build-debug' in debian/rules which has the same effect as + setting DEB_BUILD_OPTIONS to contain `debug'. This can be done + quite simply, with the following lines: + build-debug: DEB_BUILD_OPTIONS+=debug + build-debug: build ====================================================================== -- The most merciful thing in the world ... is the inability of the human mind to correlate all its contents. Lovecraft Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E