Commit Graph

148 Commits

Author SHA1 Message Date
Chun-wei Fan
91b9aef0c9 MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled,
the "install" project does not re-build upon changes to the sources, as it
does not believe that its dependencies have changed, although the changed
sources are automatically recompiled.  This means that if a part or more
of the solution does not build, or if the sources need some other fixes
or enhancements, the up-to-date build is not copied automatically, which
can be misleading.

Improve on the situation by forcing the "install" project to trigger its
rebuild, so that the updated binaries can be copied.  This does trigger an
MSBuild warning, but having that warning is way better than not having an
up-to-date build, especially during testing and development.
2014-06-09 10:27:36 +08:00
Chun-wei Fan
6eb55b9a33 Support Building Using Visual Studio 2013
Like the Visual Studio 2012 project files, the Visual Studio 2013 files are
largely the same as the Visual Studio 2010 project files, so support
Visual Studio 2013 by updating the autotools scripts that is used for
Visual Studio 2012.  This means that project files for Visual Studio 2012
and Visual Studio 2013 can be maintained by simply maintaining the Visual
Studio 2010 project files, adding minimal maintenance overhead.
2014-06-03 15:50:37 +08:00
Chun-wei Fan
eb7ef594de Fix GLib MSVC Project
The glib/gthread-win32.c was accidently removed from the last commit, sorry
2014-01-06 12:31:18 +08:00
Chun-wei Fan
940b3c2250 Tidy Up the glib MSVC Project
Move the per-source define/undefine cflags into the property sheets, and
apply the cflags for the bundled PCRE sources to the PCRE sources only
2014-01-06 12:21:46 +08:00
Chun-wei Fan
16c41f0c36 Drop the testglib MSVC Projects
There are many test programs that are shipped with GLib, and this project
is a one-to-one project, which does not make sense to keep as various test
programs may have different CFLAGS, etc, which will require different build
options.
2014-01-06 11:22:39 +08:00
Chun-wei Fan
cda4080af0 MSVC 2012 Projects: Rename a Property Sheet
Forgot to update the property sheet file name from the Visual Studio 2010
update... Sorry!
2014-01-02 09:54:18 +08:00
Chun-wei Fan
ddc29a9036 Visual Studio Projects: Cleanup Property Sheets
Make the projects include a single property sheet as necessary, which will
in turn include the other property sheet(s) as needed, so that we can avoid
warnings where we include the same property sheets twice in a single
project.

Also make the copying of pre-configured headers into custom build rules so
that they can be removed upon the clean command from the IDE and that they
can be re-copied if their counterpart *.h.win32 are updated.
2013-12-27 12:25:18 +08:00
Chun-wei Fan
d01a075632 Visual Studio Projects: Use Unix Line Endings
...where possible, to make application of patches easier in the future.
The README.txt's and the .sln files are still in Windows/DOS line endings
as they need to be so.
2013-12-27 10:50:35 +08:00
Chun-wei Fan
c488aa6785 Visual Studio Property Sheets: Use Unix Line Endings
This makes it easier to apply patches in the future.
2013-12-27 10:32:01 +08:00
Chun-wei Fan
aa7f1ba21a Update Visual C++ "Installation" Phase
Install the Python scripts that is used by gdbus-codegen in
share\glib-2.0\codegen, to be consistent with the other platforms.

Please see https://bugzilla.gnome.org/show_bug.cgi?id=702862 for details
on this.
2013-12-11 20:09:59 +08:00
Chun-wei Fan
4aa6894e82 build/win32/vs9/gio.vcprojin: Use UNIX Line endings
Be more consistent with the other project file templates, which will
simplify future application of patches.
2013-12-02 09:51:18 +08:00
Chun-wei Fan
52251a5237 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.

Include the property sheet which defines these properties to fix this.
2013-09-05 13:59:02 +08:00
Chun-wei Fan
2ff85ca47c Fix typo in last commit
The gio.vcxprojin and glib.vcxprojin were including .vsprops property
sheets, but it should have been .props instead.
2013-08-21 17:54:32 +08:00
Chun-wei Fan
113793a442 MSVC 2010 Project Files: Split up the Property Sheets
Like the Visual Studio 2008 project files, split up the property sheets
so to ease maintenace, and to prepare to use autotools to fill in the
header entries to "install".

Put some of the items that are frequently repeated in the projects as well,
also to simplify maintenance.

Also, update the autotools files to automate the upgrade of Visual Studio
2010 project as we now have multiple property sheets to copy and process.
2013-08-21 16:57:11 +08:00
Chun-wei Fan
3c4ee831f7 MSVC 2008 Projects: Split the Property Sheets
Split the property sheet into four sheets, to make maintainance of the
build files easier, and also to prepare for using autotools to fill in
the parts for the "installation" of headers.

Also put more of the items that are repeated in the projects into the
property sheets, also to improve ease of maintenance.

Updates to the Visual Studio 2010 projects will come later, as the script
to update them to Visual Studio 2012 must also be taken into account during'
the process.
2013-08-21 16:05:47 +08:00
Chun-wei Fan
716ec71ece GLib MSVC Projects: Consolidate PCRE items
Move the definitions of macros used to build PCRE that ships with GLib into
the property sheets, so that it can be easier to maintain
2013-08-21 13:55:52 +08:00
Chun-wei Fan
18f498c3fa GIO MSVC Projects: Drop Unneeded Defines
GIO_MODULE_DIR is dynamically constructed on Windows, so we don't really
need to define it here.
2013-08-21 13:34:42 +08:00
Chun-wei Fan
7145f06941 GIO MSVC Project: Link to iphlpapi.lib
This is needed for GetAdaptersAddresses()[1], which was used to implement
if_nametoindex on Windows, notably on Windows XP, in commit 01156b12.

if_nametoindex and if_indextoname, as noted in config.h.win32(.in), is
available with Windows Vista and later, so when we eventually drop
support for Windows XP, we can call them directly, and these functions
also reside in the same iphlpapi.lib

[1]: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365915%28v=vs.85%29.aspx
2013-08-21 11:16:19 +08:00
Chun-wei Fan
d06400cbaf Visual Studio Builds: Update property sheets
"Install" the newly-introduced gpropertyaction.h header file, which is
required for GIO.
2013-07-17 16:54:35 +08:00
Chun-wei Fan
95f7dc9491 Visual Studio Builds: "Install" gdbus-codegen 2013-07-17 16:45:50 +08:00
Chun-wei Fan
97b82d8d21 Add MSVC Projects for Utility Programs
Build and "install" the gio-querymodules and gdbus utility programs so that
the Visual Studio builds of GLib is more comprehensive.  The Python scripts
for the GDBus codegen will be added to "installation" later.
2013-06-20 15:48:32 +08:00
Chun-wei Fan
ffaf57b936 Update Visual Studio Projects
Make all projects settings use the MultiByte character set when building
GLib to improve consistency.
2013-06-20 15:43:32 +08:00
Chun-wei Fan
26df5e0d94 Update Visual Studio Project Sheets
"Install" the newly-introduced gio/gbytesicon.h...
2013-05-28 12:56:28 +08:00
Chun-wei Fan
0d55c4aaf8 Fix the GObject Visual Studio Projects
Update G_LOG_DOMAIN to be "GLib-GObject" so that we are consistent with
the autotools builds, and that tests expecting the log domain to be
"GLib-GObject" would not fail.
2013-05-27 15:58:54 +08:00
Chun-wei Fan
524470d8e0 Fix the GLib Visual Studio Projects
Define the G_LOG_DOMAIN of the GLib DLL as "GLib", because:
-This makes it consistent with the autotools builds
-Some tests expect the log domain to be "GLib"
2013-05-27 13:23:58 +08:00
Chun-wei Fan
cc092232aa Update Visual Studio property sheets
"Install" gtask.h... it's needed.
2013-03-18 16:52:36 +08:00
Chun-wei Fan
90f726f6b9 Update Visual Studio property sheets
"install" gio/gsimpleproxyresolver.h...
2013-02-19 18:26:30 +08:00
Chun-wei Fan
ca58dae277 Update Visual C++ 2010 property sheet
Left out some items to purge in the last commit.  Sorry :|
2013-01-19 12:05:12 +08:00
Chun-wei Fan
6c7539fe59 Clean up Visual C++ property sheets
We no longer need entries to generate the .def files in the property sheets
as we are now doing __declspec (dllexport) to export all the needed
symbols.  So, purge these items from the property sheets since they are no
longer used.
2013-01-19 12:02:45 +08:00
Chun-wei Fan
bdb7c2d956 Bug 688681: Stop using the .def file for GThread Visual C++ builds
We should also stop using gthread/gthread.def file as well, since we
also use __declspec (dllexport) for the two (deprecated) functions there
since commit f8756694.

This should also silence some linker warnings in x64 builds.

Also get rid of the references to the .symbols files in the
.vcxproj.filters(in) in the various Visual C++ 2010 projects
2013-01-19 11:58:47 +08:00
Chun-wei Fan
4ba56f3653 Bug 688681: Stop using .def files in Visual Studio builds
Since we are now starting to use __declspec (dllexport) to export the
public functions during the build of the GLib DLLs (i.e. to generate the
.lib files), we don't want to generate the .def files from the .symbols
files as we did before for a long time.

This removes from the projects the custom build steps to generate the
various .def files

This will also update the pre-configured config.h(.win32.in) to define
_GLIB_EXTERN appropriately as __declspec (dllexport), as well as making its
entries reflect config.h.in more closely.
2013-01-15 15:23:05 +08:00
Matthias Clasen
c23122b5e9 Fix distcheck 2012-12-17 19:15:29 -05:00
Chun-wei Fan
0b2919a93a Update Visual C++ property sheets
The last commit (Add a preconfigured gio/gnetworking.h for Windows) has to
be split into two as git am does not like a patch that deals with files
that have different line feeds.

This updates the property sheets to use the pre-configured
gio/gnetworking.h during the build process.

https://bugzilla.gnome.org/show_bug.cgi?id=690163
2012-12-15 00:28:30 +08:00
Chun-wei Fan
563ee093bc build/win32/Makefile.am: Also go into the vs11 subdirectory 2012-11-22 08:59:02 +08:00
Chun-wei Fan
76cecf061b Add autotools scripts to create VS2012 projects
As the project file format for Visual Studio 2012 is only slightly
different from Visual Studio 2010 projects, we can provide support for
building GLib (and other projects) with Visual Studio 2012 with relatively
little effort.  This might change when we eventually get GLib to work with
the Windows 8 (Modern UI/formerly Metro) APIs, but this will suffice for
the time being for people needing to build GLib with Visual Studio 2012.

Basically all that needs to be done at 'make dist' is:
-Copy the .sln/.props/README.txt/.vcxproj files and replace the VS2010
 stuff with VS2012 stuff
-Copy the .vcxproj.filters as is
2012-11-22 08:56:51 +08:00
Chun-wei Fan
c5b9a47fac Visual C++ 2010 projects: Prepare support for VS2012
Add the PlatformToolset tag to the project configs so that we can use add a
simple script later to the autotools files to copy the projects and change
the value (v100 -> v110) of that tag (and other simple changes) in order
that we can quickly provide and maintain support for Visual Studio 2012
with minimal effort.

Note that at the moment GLib does not yet support the API/SDK requirements
for Windows 8 Modern UI (formerly known as Metro), but this paves the very
initial step.
2012-11-05 12:31:44 +08:00
Chun-wei Fan
03658b1d12 Visual C++ property sheet updates
Make up for the missed GIO headers that need to be installed.
2012-09-26 15:42:53 +08:00
Chun-wei Fan
5328f760ee Update gspawn-win*helper* Visual C++ projects
Add GLIB_COMPILATION to the preprocessor definitions to fix the build.
2012-08-30 17:14:13 +08:00
Chun-wei Fan
599d1a430e msvc_recommended_pragmas.h: Re-enable C4819 warnings
Apparently the C4819 warnings appear due to a bug on Visual C++ on DBCS
locales, so re-enable this.

Add a note in the Visual C++ Readme.txt's regarding this.
2012-06-20 10:19:14 +08:00
Chun-wei Fan
08a6f8d27f build/win32/vs9/glib.vsprops: Cosmetics
Make it more consistent accross the board by using CopyDir as the
output/"install" folder.
2012-06-18 17:09:56 +08:00
Chun-wei Fan
874355de53 Fix GIO/GObject Visual C++ projects
-Make up for the missed DLL_EXPORT-it's actually needed for all GLib DLL
 builds, omitting this caused problems to surface due to recent works to
 make GDBus work on Windows.
-Also use the FFI_BULIDING macro for GObject builds as the suggessted
 workaround for using static LibFFI builds (as we do now)-please see
 ffi.h(.in). This will fix the build of GObject against LibFFI 3.0.11,
 but it is probable that this will change at some point for LibFFI.
2012-05-02 11:10:23 +08:00
Chun-wei Fan
810a296d42 Visual C++ projects: Clean/fix up
Clean/fix up the Preprocessor Definitions for the various projects, where
we purge out the unneeded macros and add _DEBUG to the Debug builds of
various projects that somehow lacked this.

This will also fix the GIO build under Visual C++ 2008, as the _DEBUG macro
in the release builds will cause a debug entry to appear in its manifest
file during the build, which will cause GIO-using applications to fail
to run on systems not running Visual C++/Studio 2008 due to its embedding
of a badly-generated manifest file.
2012-04-24 00:03:33 +08:00
Chun-wei Fan
63673da5eb Update GLib Visual C++ projects
Some of the bundled PCRE source files are removed as they are not needed
anymore (please see commit e7c0f10e), so don't include them in the projects
2012-04-05 15:45:38 +08:00
Chun-wei Fan
92b84e88ab Fix gspawn-win32-helper Visual C++ projects
The name of the executable for the Release|Win32 and Release|x64 configs
were mixed up.  Fix that.  DOH! for not noting this earlier.
2012-03-28 15:12:04 +08:00
Chun-wei Fan
0463fa1cb0 Fix VS property sheets
We need to accomodate for gspawn-win64-helper-console.exe for the "install"
phase too.
2012-03-28 14:57:12 +08:00
Chun-wei Fan
1c42b6b092 Fix "install" paths in VS property sheets
...and cleanup the VS2010 property sheets a little bit
2012-03-15 16:39:52 +08:00
Chun-wei Fan
9db8692f5a Update Visual C++ projects
Update the build support of the included PCRE as we are now including
PCRE 8.30 with the GLib distribution.

Also "install" the new gversionmacros.h header file.
2012-02-29 11:58:16 +08:00
Chun-wei Fan
af99ccc0d6 Update VS2010 property sheet
Should be $(CopyDir) not $(OutDir) here for VS2010.  Oops :|
2012-02-08 15:09:13 +08:00
Chun-wei Fan
bbda744c0e Update VS property sheets
...To reflect the correct GIO headers to install
2012-02-08 14:54:38 +08:00
Chun-wei Fan
46e2df316d Add Visual C++ 2010 projects to compile GResource tools
Added projects to compile the glib-compile-resources and gresource(-tool)
utility programs during the Visual C++ 2010 build process, "install"
the resulting binaries upon successful compilation, and dist the new
.vcxproj and .vcxproj.filters files.

Also updated the property sheet and "install" project to make sure the new
.exe's are indeed "installed" and removed from the "install" project the
dependency on the testglib project as testglib is not an exhausive test on
GLib and people might want to make that project compile different test
programs as they might need.

Just wondering: I have updated the property sheet to create the
gconstructor_as_data.h header for glib-compile-resources, but is it better
to dist that generated header instead as the VS 2008/2010 projects will
depend on a working installation of PERL on Windows?
2012-02-07 17:05:22 +08:00