Visual Studio 2008 Projects: Update and Overhaul

Update the Visual Studio 2008 projects, and give them a cleanup, by moving
many repeated parts into property sheets.  Similar changes to the Visual
Studio 2005 and 2010 project files will follow in the next few days.

	* MSVC_Net2008/glibmm-version-paths.vsprops:
	* MSVC_Net2008/glibmm-build-defines.vsprops: Add property sheets to
	  group together commonly-used items in the Visual Studio 2008
	  projects, like what is done in GLib.
	* MSVC_Net2008/giomm/giomm.vcproj: Move to MSVC_Net2008, clean up
	  by using the property sheets and adjust the paths accordingly.
	  Also add the sources that are added to the giomm sources.
	  Simplify project names a bit.
	* MSVC_Net2008/gendef/gendef.vcproj:
	* MSVC_Net2008/glibmm/glibmm.vcproj:
	* MSVC_Net2008/examples/compose/compose.vcproj:
	* MSVC_Net2008/examples/dispatcher/dispatcher.vcproj:
	* MSVC_Net2008/examples/dispatcher2/dispatcher2.vcproj:
	* MSVC_Net2008/examples/keyfile/keyfile.vcproj:
	* MSVC_Net2008/examples/markup/markup.vcproj:
	* MSVC_Net2008/examples/options/options.vcproj:
	* MSVC_Net2008/examples/properties/properties.vcproj:
	* MSVC_Net2008/examples/regex/regex.vcproj:
	* MSVC_Net2008/examples/resolver/resolver.vcproj:
	* MSVC_Net2008/examples/thread/thread.vcproj:
	* MSVC_Net2008/tests/glibmm_simple/glibmm_simple.vcproj:
	* MSVC_Net2008/tests/giomm_simple/giomm_simple.vcproj: Move to
	  MSVC_Net2008/, and clean up by using the property sheets.  Update
	  paths accordingly and simplify propject names a bit.
	* MSVC_Net2008/examples/socket-client/socket-client.vcproj:
	* MSVC_Net2008/examples/socket-server/socket-server.vcproj: Move to
	  MSVC_Net2008/, clean up by using the property sheets, and correct
	  the sources that are being built.  Update paths accordingly too,
	  and simplify project names a bit.
	* MSVC_Net2008/examples:
	* MSVC_Net2008/tests: Remove directories as projects have been
	  moved to MSVC_Net2008/.
	* MSVC_Net2008/filelist.am: Reflect on the movement of the project
	  files and also the added property sheets.
MSVC_Net2008/filelist.am: Fix up Dist'ed Files

	* MSVC_Net2008/filelist.am: Change thread_pool.vcproj to
	  threadpool.vcproj, as that project file has been renamed.
Visual Studio 2008 Projects: Further Cleanups

	* MSVC_Net2008/glibmm-version-paths.vsprops:
	* MSVC_Net2008/glibmm-build-defines.vsprops: Remove unneeded items
	  and move path-related item into glibmm-version-paths.vsprops
Update and Overhaul Visual Studio 2010 Projects

Give the Visual Studio 2010 projects, like the Visual Studio 2008 projects
in the previous commits, a much-needed overhaul and cleanup, so to ease
future maintenance, by consolidating commonly-used items into property
sheets.

	* MSVC_Net2010/glibmm-build-defines.props:
	* MSVC_Net2010/glibmm-version-paths.props: New property sheets to
	  consolidate commonly-used items, so that they can be referred to
	  from the projects and changes to them will only have to be done
	  here, which will greatly simplify maintenace of the projects.
	* MSVC_Net2010/glibmm/glibmm.vcxproj:
	* MSVC_Net2010/glibmm/glibmm.vcxproj.filters:
	* MSVC_Net2010/giomm/giomm.vcxproj:
	* MSVC_Net2010/giomm/giomm.vcxproj.filters: Move to MSVC_Net2010/,
	  and clean up by making use of the newly-added property sheets.
	  Update the paths accordingly.  Remove unwanted/unneeded items in
	  them as well.
	* MSVC_Net2010/examples/*/*.vcxproj:
	* MSVC_Net2010/examples/*/*.vcxproj.filters:
	* MSVC_Net2010/tests/*/*.vcxproj
	* MSVC_Net2010/tests/*/*.vcxproj.filters: Move all the projects to
	  MSVC_Net2010/, and adjust the file paths in them accordingly.
	  Clean up by using the property sheets, and remove unwanted/
	  unneeded items.  Remove the example_ and test_ prefixes from the
	  project names, and correct the source file names for the
	  socket-client and socket-server projects
	* MSVC_Net2010/glibmm.sln: Update project names and paths
	  accordingly.
	* MSVC_Net2010/filelist.am: Update file names and paths accordingly
2.41.4
Update and Overhaul Visual Studio 2005 Projects

Give the Visual Studio 2005 projects, like the Visual Studio 2008 projects
in the previous commits, a much-needed overhaul and cleanup, so to ease
future maintenance, by consolidating commonly-used items into property
sheets.

	* MSVC_Net2005/glibmm-build-defines.vsprops:
	* MSVC_Net2005/glibmm-version-paths.vsprops: New property sheets to
	  consolidate commonly-used items, so that they can be referred to
	  from the projects and changes to them will only have to be done
	  here, which will greatly simplify maintenace of the projects.
	* MSVC_Net2005/glibmm/glibmm.vcproj:
	* MSVC_Net2005/giomm/giomm.vcproj:
	  and clean up by making use of the newly-added property sheets.
	  Update the paths accordingly.  Remove unwanted/unneeded items in
	  them as well.
	* MSVC_Net2005/examples/*/*.vcproj:
	* MSVC_Net2005/tests/*/*.vcproj:
	  MSVC_Net2005/, and adjust the file paths in them accordingly.
	  Clean up by using the property sheets, and remove unwanted/
	  unneeded items.  Remove the example_ and test_ prefixes from the
	  project names, and correct the source file names for the
	  socket-client and socket-server projects
	* MSVC_Net2005/glibmm.sln: Update project names and paths
	  accordingly.
	* MSVC_Net2005/filelist.am: Update file names and paths accordingly
h2def.py: fixed generator in case of inline functions (bgo#736427)

    * tools/gen_scripts/h2def.py: removing inline methods body, removing
      'static' and 'inline' keywords in function declaration, avoiding
      double entries of the same method in generated *.def file by storing
      method's names in a Set collection.
Fix Previous Commit On Visual Studio 2010 Projects

	* MSVC_Net2010/filelist.am: Include the newly-added property
	  sheets.
Bug 736720: Fix ustring for Visual Studio Builds

Update the property sheets so that SIZEOF_WCHAR_T is defined as 2 when
the glibmm library is built.  This ensures that the correct code path in
the ustring class is taken for Visual Studio builds, which avoids an
unhandled GLib::ConvertError exception.

	* MSVC_Net2005/glibmm-build-defines.vsprops:
	* MSVC_Net2008/glibmm-build-defines.vsprops:
	* MSVC_Net2010/glibmm-build-defines.props: Define SIZEOF_WCHAR_T
	  when building glibmm so that ustring will use the correct code
	  path on Visual Studio builds.
Visual Studio Builds: Add "install" project

This adds an install project to the Visual Studio 2008 and 2010 projects,
which is used to install the built .dll and .lib, along with the headers
needed for glibmm and giomm, to make it easier to deploy amd use after
compilation.

	* MSVC_Net2008/glibmm-install.vsprops:
	* MSVC_Net2010/glibmm-install.props: New property sheets to
	  "install" built DLLs, LIBs and headers.
	* MSVC_Net2008/install.vcproj:
	* MSVC_Net2010/install.vcxproj: New projects to carry out the
	  "installation" process.
	* MSVC_Net2008/glibmm.sln:
	* MSVC_Net2010/glibmm.sln: Build the new install project
	* MSVC_Net2008/filelist.am:
	* MSVC_Net2010/filelist.am: Add the newly-added files for
	  distribution
MSVC Builds: Fix Missed Headers for "Install"

There were some more m4-generated headers that need to be installed.  Make
up for that.

	* MSVC_Net2008/glibmm-install.vsprops:
	* MSVC_Net2010/glibmm-install.props: "Install" the generated
	  headers indicated by glibmm_files_h_m4.
Visual Studio 2008 Projects: More Cleanups and Tweaks

Remove items from the projects that are no longer necessary to build
glibmm[1], and generate debug info (.pdb files, with little to no
performance defecit) for release builds as well.  These changes also fixes
the builds of glibmm and gtkmm as the glibmm_interface_implementation test
now runs successfully, and the gtkmm demo program now starts without
crashing (although it still does crash when a window is being closed).

	* MSVC_Net2008/*.vproj: Remove the build of blank.cpp and the /vd2
	  build options, as they are no longer needed.
	* MSVC_Net2008/giomm.vcproj:
	* MSVC_Net2008/glibmm.vcproj: Generate Debug Info for the Release
	  builds as well.
Cleanup and Tweak Visual Studio 2010 Projects

Remove the /vd2 compilation option, as it is no longer necessary[1], and
generate debug info (.pdb files, with little to no performance deficit),
to ease debugging release builds.

	* MSVC_Net2010/glibmm.vcxproj:
	* MSVC_Net2010/giomm.vcxproj: Remove /vd2 build option from the
	  builds, and generate .pdb files for release builds as well.

[1]: http://msdn.microsoft.com/en-us/library/7sf3txa8%28v=vs.100%29.aspx
Visual Studio 2008 Builds: Further Tweaks

Don't generate .ilk files (incremental link files) for release builds.

	* MSVC_Net2008/glibmm.vcproj:
	* MSVC_Net2008/giomm.vcproj: Use optimize references for release
	  builds so that we don't link incrementally for release builds.
	  It is mainly a debug build option.
Make giomm tests Run Under Windows

/etc/fstab is a *nix only file, which would not normally exist under
Windows unless one is under Cygwin.  Use the path for the Wordpad
application on Windows, which is a standard part of Windows; and use
/etc/fstab otherwise.

	* tests/giomm_ioerror/main.cc:
	* tests/giomm_simple/main.cc: Test for c:/windows/write.exe
	  (Wordpad application) on Windows, and use /etc/fstab otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=736778

https://bugzilla.gnome.org/show_bug.cgi?id=736778
ustring.h: Add Specialization for Stringify<const char[N]>

This adds a specialization for string literals in the form of const char[N]
as some compilers would take such things to have ambiguous constructor
overloads, such as Visual Studio, which take string literals in this form.

	* glib/glibmm/ustring.h: Add a specialization for Stringify for
	  const char[N] so that ambiguous constructor overloads can be
	  avoided for string literals in this form.

https://bugzilla.gnome.org/show_bug.cgi?id=736778
ustring.h: Comment On Last Commit for Specialization

Mention that the new specialization for Stringify for const char[N] is to
avoid ambiguous constructor overloads for later versions of Visual C++.

	* glib/glibmm/ustring.h: Mention in the comments for the
	  specialization on Stringify for const char[N] is for later
	  versions of Visual C++, to avoid ambiguous contructor overloads.

https://bugzilla.gnome.org/show_bug.cgi?id=736778
Fix MSVC 2010 "Installation"

	* MSVC_Net2010/glibmm-install.props: Fix Typo in creating path for
	  the *mmconfig.h headers.
Merge branch 'master' of git://git.gnome.org/glibmm
JOHNE - Bump the version number to 2.41.04