Commit Graph

124 Commits

Author SHA1 Message Date
Chun-wei Fan
3036a53667 Visual C++ Builds: Fix Header Installation
Make sure that gtk/a11y/gtkpopoveraccessible.h is copied, so that programs
using GTK+'s a11y will compile correctly.
2014-04-09 14:03:01 +08:00
Chun-wei Fan
46802d33e1 Visual C++ Builds: Build Introspection for GdkWin32
Add support to build the introspection files for GdkWin32, as done recently
in the autotools builds and clean up the NMake Makefile for building the
introspection files a bit.

For some reason, gdk_win32_display_manager_get_type() was not exported in
gdk-3.0.lib, force its export, so that the GdkWin32-3.0.gir can be built
properly with the Visual C++ builds.  This is a known problem that some
symbols in static libraries that are linked into a DLL in Visual C++, even
if they were marked with __declspec(dllexport) via _GDK_EXTERN.
2014-04-03 15:49:05 +08:00
Chun-wei Fan
78176cd311 MSVC Builds: Clean up gtk-version-paths.*props
Remove lines that are not really referred to.
2014-04-03 15:08:23 +08:00
Chun-wei Fan
dba7a676b4 MSVC Builds: Update Introspection Build Process
GObject-Introspection was recently changed to support acquiring the name of
the DLL from a library (.lib, etc) that was passed into g-ir-scanner on
Windows, like the *nix builds, instead of directly passing in the name of
the DLL.

This updates the introspection build process, so that introspection files
for GTK+ can continue to be properly built.
2014-02-25 13:32:13 +08:00
Chun-wei Fan
465005f929 Make Visual Studio Build Process A Bit Simpler
Add some flexibility in the property sheets for one building GTK+ that it
also searches for a settable installation path of Python, in addition to
searching the PATH for an installation of the Python interpretor.  This
currently defaults to Python 2.7.x, which is normally installed in
c:\python27 on Windows by default.  Also tell people in the README.txt's
for the Visual Studio builds
2014-02-21 18:00:29 +08:00
Chun-wei Fan
647dbf4e90 MSVC Builds: "Install" gtk3-demo.png
This is needed to show the gtk3-demo icon and is needed for the "Multiple
Views" demo to work.  Hmm, why couldn't I do a for loop for a batch in a
property sheet ? :|
2014-01-24 15:00:55 +08:00
Chun-wei Fan
186ecee4d4 Update Visual Studio Build Files
-"Install" the newly-added public gtkpopover.h
-Make the gtk3-demo projects up-to-date
2014-01-24 14:20:07 +08:00
Chun-wei Fan
202d9c4a35 build/: Rename a Shared MSVC NMake Makefile
Rename testsrules_msvc.mak to detectenv_msvc.mak and remove some package-
specific stuff from it, to reflect on the nature that this NMake Makefile
is shared.
2014-01-13 17:19:07 +08:00
Chun-wei Fan
7115ccd3b0 MSVC Builds: Rework Introspection Build
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.
2014-01-13 16:05:32 +08:00
Chun-wei Fan
f70c0afd65 Update gtk-install.*props
Make sure the needed public headers for GTK master is "installed", and re-
order some items so that it is easier when the headers lists are
automatically acquired from the various Makefile.am's.
2014-01-13 12:39:04 +08:00
Chun-wei Fan
396f01681b build/win32/vs9/Makefile: Fix typo 2014-01-13 12:02:12 +08:00
Chun-wei Fan
367b4eb0ff Rework the Visual Studio 2010 Projects a bit
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.
2013-12-30 13:17:43 +08:00
Chun-wei Fan
e68f7eca6e Rework the Visual Studio 2008 Projects a bit
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.

Updates to the Visual Studio 2010 projects will follow later.
2013-12-30 12:08:01 +08:00
Chun-wei Fan
26f8488a66 Update the gtk3-demo Visual C++ Projects
Add the sources of the headerbar and event_axes demos to the list of files
to build.
2013-12-26 16:23:14 +08:00
Chun-wei Fan
e7e57507b1 MSVC Projects: Use UNIX Line endings
...for all files except the README.txt and the .sln files, which have to
have DOS/Windows line endings.  This makes application of patches, when
applicable, easier.
2013-12-04 08:51:39 +08:00
Chun-wei Fan
dcfa3aa8cd build/win32/vs*/README.txt: Re-word a bit
Use PATH rather than path to make things clearer
2013-11-29 09:53:49 +08:00
Chun-wei Fan
c13c741143 Visual C++ Projects: Add rules to generate GTK DBus sources
Since commit 7c2a5072 the gtkdbusgenerated.[c|h] are not included in the
dist tarball and thus have to be generated, which broke the Visual C++
builds.

This patch adds property sheets and custom build rules for the Visual C++
projects so that gtkdbusgenerated.[c|h] will be generated upon building the
GTK+ DLL sources.

This also tells people building GTK+ from the projects that they need to
have Python 2/3 installed and the Python interpretor needs to be in their
PATH before building GTK+ from the projects.
2013-11-27 18:05:32 +08:00
Chun-wei Fan
fd134d8457 Update GDK-Broadway MSVC Projects
-Improve optimization a bit for broadwayd, by enabling link time code
 generation
-Add PlatformToolset tag for the Visual C++ 2010 projects, to ease
 transition to Visual C++ 2012/2013
2013-11-27 16:46:45 +08:00
Chun-wei Fan
8981de77bc Update Visual Studio Property Sheets
"Install" the GtkFlowBox headers
2013-10-07 13:00:14 +08:00
Chun-wei Fan
013e2bbb33 Visual Studio 2010 Property Sheets: Cosmetics
Make each file entry of non-autotools-completed .vcxproj.filters to be on
one line only, for consistency reasons.
2013-10-07 12:55:35 +08:00
Chun-wei Fan
1104c18752 Update gtk3-demo Visual Studio Projects
Build the recently-introduced flowbox.c demo into the gtk3-demo demo
program.
2013-10-07 12:17:04 +08:00
Chun-wei Fan
8ee5c0c2ba gengir_gtk.bat: Correctly handle time_t
...on x64 Windows/MSVC builds.  This is because time_t is a long long on
x64 arch on Windows.
2013-10-03 17:24:17 +08:00
Chun-wei Fan
cb867d88bb Update Demos Visual Studio Projects
Improve optimization, by re-enabling WholeProgramOptimization but changing
the linker optimization to not drop items that are not referenced in code
(such as compiled gresource sources that are not directly referenced in
code, as they are still needed for the demos to run properly).
2013-09-26 19:50:56 +08:00
Chun-wei Fan
00f9b1e769 MSVC Builds: "Install" gtklistboxrowaccessible.h
...which is an a11y header introduced in commit c22e27f9.
2013-09-22 22:10:28 +08:00
Chun-wei Fan
6c0769a47c MSVC Builds: Fix gengir Projects
Like the install projects that were fixed few days ago, the gengir projects
did not have info on the intermediate and output directories as a result of
the split up of the property sheets.  Fix this by including the appropriate
property sheet in the gtk-gengir property sheet so that we can avoid
confusing messages from Visual Studio on whether to reload the gengir
project as it was modified, at least on 2008.
2013-09-10 15:51:55 +08:00
Chun-wei Fan
feb72ad45e Visual C++ Builds: Fix "install" Projects
Due to the split up of the property sheets, the install projects did not
have info on the Intermediate and Output Paths, which caused confusing
messages from Visual Studio to show up upon completing build+"install" and
closing Visual Studio on whether to reload the install project, at least on
Visual Studio 2008.

Also clean up the Visual Studio 2008 install project a bit.

Include the property sheet which defines these properties to fix this.
2013-09-05 14:33:22 +08:00
Chun-wei Fan
b264d27c4f MSVC Builds: Fix Build of Introspection Files
We need to copy the GDK .lib/.dll from Release_Broadway\<Platform>\bin
or Debug_Broadway\<Platform>\bin to Release\<Platform>\bin or
Debug\<Platform>\bin respectively during the build of Broadway flavors of
GDK, as the MSVC introspection builds expects the GDK .lib/.dll to be
in Release\<Platform>\bin or Debug\<Platform>\bin.

Use a new property sheet to do so for Broadway builds of GDK-during the
builds of Win32-only GDK, the broadway builds of the GDK .lib/.dll would
be cleared out prior to the build of the Win32-only GDK.
2013-08-28 14:27:02 +08:00
Chun-wei Fan
68ce183dfa Clean up Property Sheets a bit
...from the last commit, as some unecessary stuff was left over in the
Visual Studio 2010 property sheets.
2013-08-15 21:48:22 +08:00
Chun-wei Fan
f60e42d726 Update Visual Studio Property Sheets
-For the binary "installation", look for the DLL files with their file
 names consistent with the ones that are generated with the respective
 Visual Studio projects.
-Remove any stray GDK DLLs that were left over from a Broadway-enabled
 GDK when building a non-Broadway-enabled GTK+ binary set.
2013-08-15 21:45:27 +08:00
Chun-wei Fan
980000a64e MSVC Builds: Update "installation" of headers
"Install" the newly-introduced public header gdkwin32misc.h.
2013-08-14 08:17:18 +08:00
Chun-wei Fan
d83294b2ac MSVC builds: Enhance Binary Installation
Update the gtk-install-bin property sheets so that it does not "install"
the wrong GDK DLL/LIB when building a broadway-enabled GDK
when the non-Broadway GDK had been previously built.
2013-08-02 18:47:42 +08:00
Chun-wei Fan
2ea9772cf0 build/win32/vs9/Makefile.am: Fix typo 2013-08-02 17:29:23 +08:00
Chun-wei Fan
ca2dea0a5a Add Visual Studio 2010 Build Support for Broadway
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.
2013-08-02 17:05:57 +08:00
Chun-wei Fan
dcb766c461 Add Visual Studio Build Support for Broadway
-Add Visual Studio 2008 projects and pre-configured gdkconfig.h for
 Broadway builds
-Decouple the Visual Studio property sheets, to simplify maintenance and
 enhance flexibility for different builds

Visual Studio 2010 projects updates will follow later.
2013-08-02 11:20:19 +08:00
Chun-wei Fan
de5a27be8c Update the Visual Studio Property Sheets
"Install" the gtklistboxaccessible.h header file... it's a public header
of gtk-a11y
2013-07-29 17:10:33 +08:00
Chun-wei Fan
158ab86d1d Update Visual Studio Property Sheets
"Install" the newly-deprecated headers accordingly and also "install" the
newly-introduced public headers
2013-07-29 11:22:46 +08:00
Chun-wei Fan
4fcc1a83e0 Update gtk3-demo Visual C++ Projects
Remove the demos were removed due to deprecation of APIs
2013-07-19 18:32:38 +08:00
Alexander Larsson
970edd7e25 Fix typo in Makefile.am 2013-07-01 15:00:19 +02:00
Chun-wei Fan
fb6f34e499 Include crypt(3) implementation for MSVC
This adds a crypt(3) implementation for use with broadwayd as Visual Studio
does not support crypt(3) out of the box.

The public domain implementation is taken from the following URL,
http://michael.dipperstein.com/crypt/, where AFAICT this implementation
would not be subject to licensing restrictions that would prevent it from
being bundled.
2013-07-01 14:52:45 +02:00
Chun-wei Fan
2a4c7ea073 Fix gtk3-demo MSVC Project
Build the new listbox.c source file, as that file was missed.
2013-06-24 14:25:31 +08:00
Chun-wei Fan
6cb63b6390 Update Visual Studio 2010 Property Sheets
Remove quotes that aren't really needed
2013-05-31 13:03:23 +08:00
Chun-wei Fan
54e2091740 build/win32/vs10/gdk.vcxprojin: Remove Stray Line
The last commit on this file accidently left a stray </ItemGroup>, which
Visual Studio 2010 does not like.  Get rid of that line.
2013-05-30 18:08:32 +08:00
Chun-wei Fan
9b217a0d98 Update Visual Studio Build Files
-Update the pre-configured config.h.win32(.in) to define _GDK_EXTERN as
 __declspec (dllexport) as we are not using .def files to export symbols
 anymore.
-Update the GDK/GTK DLL projects and the property sheets to stop using
 the .symbols/.def files
-Update the property sheets to "install" the newly-introduced GTK headers
-Update the gtk3-demo project to build the new demo sources that must be
 built
2013-05-28 15:08:16 +08:00
Chun-wei Fan
3741a3bfbe Update Visual Studio 2010 projects
Add a PlatformToolset tag for each configuration for project files that
do not yet have them.  This is to ease support for Visual Studio 2012 as
we can copy and easily replace a few items with automated scripts as
project files for Visual Studio 2010 and 2012 are very similar.

This might change when we eventually support the Metro (aka Windows 8
Modern UI), but this will suffice for the time being.
2013-05-27 18:25:57 +08:00
Chun-wei Fan
be2c1ac316 Fix Visual Studio property sheets
The creation of the folder for the "installation" of a11y headers is wrong,
so fix that.
2013-03-26 11:58:33 +08:00
Chun-wei Fan
b20fde048f Update Visual Studio Proprerty Sheets
Stop installing the gtk3-demo data files as they are now built into the
gtk3-demo program using GResources.
2013-03-20 19:08:19 +08:00
Chun-wei Fan
9103dbb81d Fix introspection building for Visual Studio builds
Apparently time_t is used in gtkrecentmanager.h, which is a special type
that could not be recognized when Gtk-3.0.gir is built.  Judging from the
ast.py from the gobject-introspection package, we can define time_t as
long, and this will allow pygobject to load the Gtk module from
gi.repository.
2013-03-20 17:42:15 +08:00
Chun-wei Fan
83f94ed1b9 Fix Visual Studio Debug configs
The debug builds must link to the Debug version of the CRT, otherwise
trouble will arise from mixing different CRTs into the resulting binary.
2013-03-18 17:14:33 +08:00
Chun-wei Fan
b0ccdae753 Update Visual Studio Solution Files
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.
2013-03-06 13:14:02 +08:00
Chun-wei Fan
801a7ca17f Visual Studio Builds: Support Building Introspection Files
Add Windows .bat and Python script to call g-ir-scanner to build
introspection files for Visual Studio builds.  This will read from the
autotools files using Python REGEX functionality to determine the headers
and sources for g-ir-scanner to process, so the autotools files will not
need to be updated except to distribute the necessary files.  Thils will
also enable one to build introspection files on Windows without using a
BASH-style shell such as MSYS.

Also add an utility Visual Studio project to call the Windows .bat to
build the introspection files for GTK+/GDK, for convenience.
2013-03-06 13:12:01 +08:00