Building GTK+
=============

What happens when building Gdk-3.0.gir?

1) gdk/Makefile.am sets Gdk_3_0_gir_LIBS = libgdk-3.la



2) Makefile.introspection computes _gir_libraries based
   on Gdk_3_0_gir_LIBS. So _gir_libraries is set to
   "--library=libgdk-3.la"

3) The value of _gir_libraries is passed as argument to g-ir-scanner

4) scannermain.py:scanner_main() takes these arguments, pulls
   them through an optparse.OptionParser() instance and stores
   the result in the options and args variables

5) scannermain.py:scanner_main() goes on to eventually pass the
   options variable to create_binary(transformer, options, args)
   which in turn calls...

6) ...resolve_shlibs(options, binary, libraries)
   Here it is determined that "libgdk-3.la" is a ".la" file, so
   it gets shoved into the "libtool" list and passed to
   _resolve_libtool(options, binary, libraries)

_resolve_libtool already does the right thing :)




























echo  --quiet --add-include-path=../gdk --warn-all --namespace=Gdk --nsversion=3.0 --libtool="../libtool" --pkg=gio-2.0 --pkg=gdk-pixbuf-2.0 --pkg=pango --pkg=cairo --include=Gio-2.0 --include=GdkPixbuf-2.0 --include=Pango-1.0 --include=cairo-1.0 --pkg-export=gdk-3.0  --library=libgdk-3.la --c-include="gdk/gdk.h" -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION -I/d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src -I.. -I../gdk -DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES -mms-bitfields -Id:/dev/gnome.org/gnome-windows/checkout/gdk-pixbuf/git/dist/include/gdk-pixbuf-2.0 -Id:/dev/gnome.org/gnome-windows/checkout/pango/git/dist/include/pango-1.0 -Id:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/include/glib-2.0 -Id:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/lib/glib-2.0/include -Id:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/cairo-1.10.2-1/include/cairo -Id:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/libpng-1.4.3-1/include/libpng14 -Id:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/fontconfig-2.8.0-2/include -Id:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include/freetype2 -Id:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include     /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdk.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkapplaunchcontext.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcairo.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcolor.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcursor.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdevice.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdevicemanager.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdisplay.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdisplaymanager.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdnd.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkevents.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkkeys.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkkeysyms.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkmain.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkpango.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkpixbuf.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkprivate.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkproperty.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkrectangle.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkrgba.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkscreen.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkselection.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdktestutils.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkthreads.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdktypes.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkvisual.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkwindow.h /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdk.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkapplaunchcontext.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcairo.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcolor.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkcursor.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdevice.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdevicemanager.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdisplay.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdisplaymanager.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkdnd.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkevents.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkglobals.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkkeys.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkkeyuni.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkoffscreenwindow.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkpango.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkpixbuf-drawable.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkrectangle.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkrgba.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkscreen.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkselection.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkvisual.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkwindow.c /d/dev/gnome.org/gnome-windows/checkout/gtk+/git/src/gdk/gdkwindowimpl.c gdkenumtypes.c gdkenumtypes.h libgdk-3.la Makefile --output Gdk-3.0.gir > g-ir-scanner.args
  GISCAN Gdk-3.0.gir



* resolve_shlibs(options, binary, libraries)
* options    : {'': None,
                'external_library': False, 
		'verbose': None, 
		'cpp_defines': ['GDK_COMPILATION', 
		                'G_ENABLE_DEBUG', 
				'G_ERRORCHECK_MUTEXES'],
                'accept_unprefixed': False,
		'identifier_prefixes': [], 
		'symbol_prefixes': [], 
		'libraries': ['libgdk-3.la'], 
		'library_paths': [], 
		'nolibtool': False, 
		'format': 'gir', 
		'typelib_xml': None, 
		'program': None, 
		'namespace_version': '3.0', 
		'c_includes': ['gdk/gdk.h'], 
		'cpp_undefines': [], 
		'reparse_validate_gir': False, 
		'includes_uninstalled': [], 
		'strip_prefix': None, 
		'includes': ['Gio-2.0', 
		             'GdkPixbuf-2.0', 
			     'Pango-1.0', 
			     'cairo-1.0'], 
                'm_option': ['ms-bitfields'], 
		'include_paths': ['../gdk'], 
		'warn_fatal': None, 
		'args_file': None, 
		'test_codegen': None, 
		'packages': ['gio-2.0', 
		             'gdk-pixbuf-2.0', 
			     'pango', 
			     'cairo'], 
                'namespace_name': 'Gdk', 
		'program_args': [], 
		'libtool_path': '../libtool', 
		'init_sections': [], 
		'quiet': True, 
		'packages_export': ['gdk-3.0'], 
		'warn_all': True, 
		'output': 'Gdk-3.0.gir', 
		'passthrough_gir': None, 
		'cpp_includes': ['d:/dev/gnome.org/gnome-windows/checkout/gtk+/git/src', 
		                 '..', 
				 '../gdk', 
				 'd:/dev/gnome.org/gnome-windows/checkout/gdk-pixbuf/git/dist/include/gdk-pixbuf-2.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/pango/git/dist/include/pango-1.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/include/glib-2.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/lib/glib-2.0/include', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/cairo-1.10.2-1/include/cairo', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/libpng-1.4.3-1/include/libpng14', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/fontconfig-2.8.0-2/include', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include/freetype2', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include', 
				 'd:/dev/gnome.org/gnome-windows/checkout/gdk-pixbuf/git/dist/include/gdk-pixbuf-2.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/pango/git/dist/include/pango-1.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/include/glib-2.0', 
				 'd:/dev/gnome.org/gnome-windows/checkout/glib/git/dist/lib/glib-2.0/include', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/cairo-1.10.2-1/include/cairo', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/libpng-1.4.3-1/include/libpng14', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/fontconfig-2.8.0-2/include', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include/freetype2', 
				 'd:/dev/gnome.org/gnome-windows/checkout/legacynativebuilds/devel/dist/win32/freetype-2.4.4-1/include']}
* binary     : <giscanner.gdumpparser.IntrospectionBinary object at 0x01005970>
* libraries  : ['libgdk-3.la']
* libtool    : ['libgdk-3.la']
* non_libtool: []
