The current approach of building the introspection files for GTK works, but
is often cumbersome as one needs to set many environmental variables before
launching a solution file, which runs a Windows batch script to generate
the .gir/.typelib files. It was also possible to hand-run the batch script
from the Visual Studio command prompt, but even more environmental
variables need to be set.
This changes the approach to build the introspection files using an NMake
Makefile (but elimating from the Visual Studio Project Files the part to
build the introspection files) to:
-Make it clearer to the person building the introspection files what
environmental variables are needed, specifically for PKG_CONFIG_PATH and
MINGWDIR and CFG (formerly CONF). Setting stuff like VSVER, PLAT and BASEDIR
is no longer required, which was a bit clunky.
-Allows some more easier flexibility on the build of the intropsection files.
Add a utility project to get config.h and gdkconfig.h from their *.h.win32
(or win32_broadway, if applicable) counterparts, using custom build rules,
so that these "generated" files can also be removed on clean and
"regenerated" upon update. This also enables the removal of configs in
certain projects that isn't really needed as a result.
Also update and merge the projects and property sheets to include a single
property sheet that it needs, which will then in turn include the other
property sheets that is needed, so that things are cleaner.
Add the Visual Studio 2010 projects to build the GDK Broadway backend, just
like the Visual Studio 2008 project files in the last commit. Similarly,
split up the property sheets so that they are easier to maintain and can
be made more flexible for different build types. Also remove some unneeded
stuff from some of these items.
Also, fix the filter file completion for GTK, as a source file was excluded
for that and this was overlooked as it seemingly did not cause any trouble.
Integrate the utility projects to build the introspection files into the
main solution files, so that one can build the introspection files from the
IDE. This is not built by default, so one can build the introspection
files if he/she chooses to do so.
This is used by the "Application Class" demo... so this should be built
as well especially as we are getting gspawn-win{32|64}-helper.exe fixed
on Visual Studio 2005 (and later) builds.
Update the Visual Studio projects for gtka11y and the completion of the
projects that go along with it. This have been distcheck'ed on my Ubuntu
12.04 system.
-Rename the "libgail" projects to gtka11y, for consistency with the
autotools builds
-Update the projects completion in gtk/a11y/Makefile.am, as the sources are
now listed under $(libgtka11y_la_SOURCES) instead of $(libgail_la_SOURCES)
-Added projects to compile the a11y portion of GTK+. This is now necessary
as a11y/GAIL is now integrated into the main GTK+ library, and it must
be built before compiling/linking GTK+. This project is done like the
GDK/GTK+ projects, where the source file listings for the VS2008/2010
projects are fed into templates (.vcprojin, .vcxprojin and
.vcxproj.filtersin) during 'make dist'
-Added projects to compile the libgail-util DLL (no templates for this
as this does not have source files added/removed often)
-Added the new projects into distribution, and headers, DLLs and .LIB files
into the "install" stage
This time I realized that I needed to set autocrlf=false on my Windows side
... ugh...
This is one of those files that must have CRLF line endings to work
correctly :|
-Reinstate build/win32/vs10/gtk+.sln with the correct EOL (DOS/Windows), so
that it will be correctly recognized by Windows instead of having the
annoying "Unrecognized Visual Studio Version".
-Update property sheets to reflect on new headers added
-Change the demo program to be gtk3-demo.exe, to be consistent with the
names on other platforms, and updated/renamed related project/solution
files, and added overlay.c to the list of demo sources.
These are the VS2010 Project files to compile GDK and GTK+, using
the Win32 backend, along with a brief README.txt explaining the
process.
The GDK and GTK project/filter files are templates that are filled
in during "make dist" with up-to-date source file listings as far
as possible, to simplify maintenance.
Comments on their usage are most welcome.