Differences between revisions 3 and 4
Revision 3 as of 2013-01-29 17:16:12
Size: 3275
Comment:
Revision 4 as of 2013-02-08 10:56:27
Size: 4266
Comment: added Makefile.in
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
       This looks like it's manipulated from the outside somewhere?                         This looks like it's manipulated from the outside somewhere?
Line 102: Line 102:
Line 104: Line 103:
(more to come) === Makefile.in ===
{{{
assign:
   directory variables
   SVN CCP directives
some _swig_* items, files and directories
javahl items
Gettext items
compilers, shell, libtool, inclues
apache includes
swig items
ctypes
apr
flags for make
CFLAGS
special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
special compilation for files destined for javahl (i.e. C++)
special compilation for files destined for cxxhl
special link rule for mod_dav_svn
Special LDFLAGS for some libraries
Compilation of SWIG-generated C source code
link the wrapper objects into an extension library/module
install swig
additional installation rules for the SWIG wrappers
assorted swig
Automate JAR creation using Makefile generator's javahl-java.jar
    property. Enhance generator to support JAR installation.
Ruby variables
make targets
make check
targets for external projects
documentation rules
install targets
install bindings
clean targets
swig targets, make and clean
install tools
}}}

autogen.sh

  calls build/buildcheck.sh which checks autoconf and autoheader and copies libtool stuff
  sets up  libtool services
  checks for python
  calls gen-make.py build.conf
  produces configure

gen-make.py

  // I suspect it somehow calls this tool to process build.conf: ~/trunk/build/generator/gen_make.py
  main(fname, gentype, verfname=None,
       skip_depends=0, other_options=None):

       computes the header dependencies (not sure what this means)
       write the (above obtained?) sqlite headers
       offer debug output if --debug is defined

   useage_exit & class Options:
       It also offers interactive useage service -- when is that used?
       This looks like it's manipulated from the outside somewhere?
       It calls it's own main?

build.conf -- defines a lot of things used by the python scripts

   [options] section, not sure what this syntax does, stuff gets
             assigned to undefined variables %-)
   Build target definition list by target
   Constructed Headers (not sure what that means?)
   Testing Targets
   External targets (no build needed)
   Targets for i18n support
   TARGETS FOR SWIG SUPPORT
   JavaHL targets
   C++HL targets
   TESTING TARGETS (2 -- libsvn_test only -- should this go with the others?)
   Tests for libsvn_fs_base
   Tests for libsvn_fs_fs
   Tests for libsvn_fs
   Tests for libsvn_repos
   Tests for libsvn_subr
   Tests for libsvn_delta
   Tests for libsvn_client
   Tests for libsvn_diff
   Tests for libsvn_ra
   Tests for libsvn_ra_local
   Tests for libsvn_wc
   libsvn_delta API cmdline programs that should be rehomed
   EXTERNAL TARGETS (NO BUILD NEEDED) (again???)

   [__ALL_TESTS__] (this appears to be part of the above but does not look in place?)
   Contrib and tools

configure.ac

  set up AUTOCONF
  look for programs(compiler etc)
  Libraries, for which we may have source to build
    (apr, gssapi and so on)
  Libtool stuff
  trang
  doxygen
  Check for trang.
  Check for doxygen
  Check for libraries
    Expat
    Berkeley DB
  Mac OS specific features
  APR_HAS_DSO
  D-Bus (required for support for KWallet)
  GPG Agent
  GNOME Keyring
  Ev2 experimental features
  I18n
  Some commented out code: AH_BOTTOM([
  GETTEXT_CODESET:Used to simulate makefile conditionals
  libmagic
  KWallet
  plaintext passwords
  Build and install rules
  Check for header files-- typedefs, structures, and compiler characteristics and some other stuffs
  Process some configuration options
     AC_ARG_WITH(
        ssl,openssl,debug...
  AC_SUBST([libsvn_auth_gnome_keyring_LDFLAGS]) -- lots of LDFLAGS for almost everything
  compose help & options for ./configure
  Scripting and Bindings languages
    Python: Used for testsuite, and bindings
    The minimum version for the JVM runtime
    Perl
    Ruby
    Swig
  decide whether we want to link against the RA/FS libraries
  JavaHL
  Miscellaneous bits
    (CPPFLAGS),
    BSD Makefile stuff
    Detection complete - output and run config.status

    Ensure that SWIG is checked after reconfiguration.
  Print final messages to user

Makefile.in

assign:
   directory variables
   SVN CCP directives
some _swig_* items, files and directories
javahl items
Gettext items
compilers, shell, libtool, inclues
apache includes
swig items
ctypes
apr
flags for make
CFLAGS
special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
special compilation for files destined for javahl (i.e. C++)
special compilation for files destined for cxxhl
special link rule for mod_dav_svn
Special LDFLAGS for some libraries
Compilation of SWIG-generated C source code
link the wrapper objects into an extension library/module
install swig
additional installation rules for the SWIG wrappers
assorted swig
Automate JAR creation using Makefile generator's javahl-java.jar
    property.  Enhance generator to support JAR installation.
Ruby variables
make targets
make check
targets for external projects
documentation rules
install targets
install bindings
clean targets
swig targets, make and clean
install tools

Build System Map2 (last edited 2013-02-08 12:10:05 by GabrielaGibson)