~ubuntu-branches/ubuntu/maverick/curl/maverick

« back to all changes in this revision

Viewing changes to docs/INTERNALS

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2009-12-11 19:33:21 UTC
  • mfrom: (3.4.2 squeeze) (40.1.2 curl)
  • Revision ID: james.westby@ubuntu.com-20091211193321-tenukopudyznzbjj
* Merge with Debian testing.  Remaining changes:
  - Keep build deps in main:
    - Drop build dependencies: stunnel, libdb4.6-dev, libssh2-1-dev
    - Add build-dependency on openssh-server
    - Drop libssh2-1-dev from libcurl4-openssl-dev's Depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
 Inside the source code, We make an effort to avoid '#ifdef [Your OS]'. All
104
104
 conditionals that deal with features *should* instead be in the format
105
105
 '#ifdef HAVE_THAT_WEIRD_FUNCTION'. Since Windows can't run configure scripts,
106
 
 we maintain two config-win32.h files (one in lib/ and one in src/) that are
107
 
 supposed to look exactly as a config.h file would have looked like on a
108
 
 Windows machine!
 
106
 we maintain two curl_config-win32.h files (one in lib/ and one in src/) that
 
107
 are supposed to look exactly as a curl_config.h file would have looked like on
 
108
 a Windows machine!
109
109
 
110
110
 Generally speaking: always remember that this will be compiled on dozens of
111
111
 operating systems. Don't walk on the edge.
437
437
 after a complete session,
438
438
 
439
439
 memanalyze.pl is the perl script present only present in CVS (not part of the
440
 
 release archives) that analyzes a log file generated by the memdebug
 
440
 release archives) that analyzes a log file generated by the memory tracking
441
441
 system. It detects if resources are allocated but never freed and other kinds
442
442
 of errors related to resource management.
443
443
 
444
 
 Use -DMALLOCDEBUG when compiling to enable memory debugging, this is also
445
 
 switched on by running configure with --enable-debug.
 
444
 Internally, definition of preprocessor symbol DEBUGBUILD restricts code which
 
445
 is only compiled for debug enabled builds. And symbol CURLDEBUG is used to
 
446
 differentiate code which is _only_ used for memory tracking/debugging.
 
447
 
 
448
 Use -DCURLDEBUG when compiling to enable memory debugging, this is also
 
449
 switched on by running configure with --enable-curldebug. Use -DDEBUGBUILD
 
450
 when compiling to enable a debug build or run configure with --enable-debug.
 
451
 
 
452
 curl --version will list 'Debug' feature for debug enabled builds, and
 
453
 will list 'TrackMemory' feature for curl debug memory tracking capable
 
454
 builds. These features are independent and can be controlled when running
 
455
 the configure script. When --enable-debug is given both features will be
 
456
 enabled, unless some restriction prevents memory tracking from being used.
446
457
 
447
458
Test Suite
448
459
==========