Commit Graph

130 Commits

Author SHA1 Message Date
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
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
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
bbda744c0e Update VS property sheets
...To reflect the correct GIO headers to install
2012-02-08 14:54:38 +08:00
Chun-wei Fan
2b400d853e Update Visual C++ 2008 projects
Make the "install" project depend on the glib-compile-resources gresource
projects so that these tools will be indeed installed.  Missed that in my
last commit-oops.

Also make the "install" project not to depend on the testglib project as:
-the test program in the project is not an exhausive test of the GLib
 libraries
-One may want to use the project to compile different test program(s), so
 it might be better to keep the project but not "install" the resulting
 .exe
2012-02-07 16:31:53 +08:00
Chun-wei Fan
d858cd3047 Add Visual C++ 2008 projects for GResource tools
Add projects to build the glib-compile-resources and gresource(-tool)
utilities, and "install" these tools upon successful compilation, and dist
the new projects.

One piece of note: will it be better to dist gconstructor_as_data.h instead
of generating it in the VS build process (I generated it in the property
sheet update in this commit)?

Visual C++ 2010 projects will follow shortly.
2012-02-07 14:37:57 +08:00
Chun-wei Fan
e121d46b25 Update GIO Visual C++ projects
Link to zlib1.lib for release builds and zlib1d.lib for debug builds-
this is to be consistent across the board for the GTK+ stack (and many
other opensource code linking to the ZLib DLL on Windows)
2011-12-22 20:18:11 +08:00
Chun-wei Fan
550fee44a9 Update Visual C++ property sheets
"Install" the newly-introduced gremoteactiongroup.h header.
2011-12-22 18:49:01 +08:00
Chun-wei Fan
ab15175567 Update VS property sheets
"Install" the newly-added public headers in GLib and GIO, such as the ones
for GMenuModel, etc.
2011-12-13 12:12:48 +08:00
Chun-wei Fan
fee6293bc9 Update GLib Visual C++ projects
Also link to WinMM.lib since timeGetTime is used (commit 8d023c27).
2011-11-21 10:45:27 +08:00
Chun-wei Fan
0e283dcb94 Update VS property sheets
gmain.h was added into the list of deprecated headers, so "install"
that as weel.
2011-11-07 14:14:45 +08:00
Chun-wei Fan
e1a481ec0a Fix VS 2008 property sheet
Missed a required ';'-sorry about this.  DOH! :|
2011-10-20 14:42:51 +08:00
Chun-wei Fan
3a04f87968 Update VS property sheets
Some new headers were added...
2011-10-17 17:47:00 +08:00
Chun-wei Fan
1bfa7e7e86 Update VS property sheets
gcache.h is now a deprecated header, so up the "install" part for it.
2011-10-17 16:40:44 +08:00
Chun-wei Fan
eb125665d8 Update VS property sheets
Stop using G_DISABLE_DEPRECATED as there are now warnings for usage of
deprecated APIs/items in GLib
2011-10-17 14:18:35 +08:00
Chun-wei Fan
f5f242caf8 Update VS projects
Get rid of _CRT_SECURE_NO_WARNINGS and _CRT_NONSTDC_NO_WARNINGS
from the preprocessor definitions as those two macros are now defined
in msvc_recommended_pragmas.h, which is force-included in these projects
via the property sheets.  This will silence C4005 warnings on macro
redefinition.
2011-10-12 11:23:49 +08:00
Chun-wei Fan
17c713d3f6 Update VS property sheets
Missed the new glib/gstringchunk.h header that needed to be installed as
well.
2011-10-12 10:37:24 +08:00
Chun-wei Fan
a73113908f Update VS property sheets
Copy the deprecated headers in their appropriate places.
2011-10-11 18:04:07 +08:00
Chun-wei Fan
b2717740a2 VS support updates
-Fix GLib project/filter files generation as some source items are under
 the "deprecated" subfolder, and filter out the gthread-*.c
-Explicitly specify gthread-win32.c in the GLib project/filter file
 templates, since tarballs are done on Linux.
-Don't define g_static_mutex_get_mutex in the pregenerated
 glibconfig.h.win32(.in) as it is defined in deprecated/gthread.h for Windows
2011-09-23 10:48:25 +08:00
Chun-wei Fan
275f1864d8 Update Visual C++ README.txt's a bit
LibFFI 3.0.10 is now out officially...
2011-09-02 08:41:01 +08:00
Chun-wei Fan
3354b02ccd Update Win32 and VS Readme files
Tell people about the GNOME Live! page that outlines building
GLib and its dependencies with Visual C++.
2011-08-31 13:01:04 +08:00
Chun-wei Fan
d51e0615f9 Update VS property sheets
Stop the "installation" of gio/gtimezonemonitor.h as it has been removed
from GIO (commit 5b68b49b20)
2011-08-23 00:22:06 +08:00
Chun-wei Fan
7e5874dd17 Update GLib Visual C++ Projects
Define USE_SYSTEM_PCRE for all configurations which uses the PCRE that
was already built and "installed" beforehand (i.e. the *_ExtPCRE
configurations) so that the compilation will not pick up the
GLib-bundled pcre.h when one wants to use the PCRE "installation" on
his/her system.
2011-08-23 00:09:05 +08:00
Chun-wei Fan
5fbf3c93b2 Update VS property sheets
-Added glib/ghmac.h to the list of files to copy during the "install" stage
-Cleaned up a bit (glib-2.0->glib-$(ApiVersion), where $(ApiVersion) is
 2.0)
2011-08-22 22:35:31 +08:00
Chun-wei Fan
ebc74835e0 Update VS property sheets ("install" phase)
Copy the new GioTLS headers that were introduced into the GIO
library in commit 	0f99cfa882 during the
"install" stage.
2011-08-12 11:43:40 +08:00
Chun-wei Fan
e6f37ca472 Update Windows READMEs
-Tell people about that libFFI is now needed.
-Tell people not to compile GLib in paths containing spaces.
2011-07-25 11:42:17 +08:00
Chun-wei Fan
c83c91a574 Bug 653841: Update README.win32 and VS README.txt's
This relates to my previous commit titled "add a script to generator
files for building" on behalf of Shixin Zeng.

Tell people about the availability of a python script to create the
necessary files for a Visual C++ build from a GIT checkout.

This is done with the courtesy of Shixin Zeng's python script which does
the job and eliminates the troubles of getting a suitable shell environment
to do the "make dist" job (which is especially not easy on Windows itself!)
2011-07-06 08:25:41 +08:00
Chun-wei Fan
fabbf82ae1 Updated GIO Visual Studio Projects
-In gio/Makefile.am, the name for one of the filters for capturing the
 sources for the GIO VS Project Files is corrected.
-Remove the GIO source file items in the VS project files templates as
 a result for this change, and move the entry of the "new"
 gregistrysettingsbackend.c into the filter in gio/Makefile.am
2011-07-04 21:47:59 +08:00
Chun-wei Fan
d1e26c51c8 Update Visual Studio README.txt's
-The VS2010 README.txt should have Windows CRLF EOL.
-Tell people about the added dependency on LibFFI
2011-06-29 14:07:38 +08:00
Chun-wei Fan
088b08bdfc Refine Visual Studio Projects
-Reinstate build/win32/vs10/glib.sln with the correct EOL (DOS/Windows) so
 that the file can be correctly recognized by Windows, rather than having
 the "Unrecognized Visual Studio Version".

-Update the main GLib projects to output the DLL/LIB file into <Release or
 Debug>\<Win32 or x64>\bin for all configurations.

-Update/simplify the property sheets to copy all DLL and LIB files from
 <Release or Debug>\<Win32 or x64>\bin for all configurations.

-Update the VS 2008 property sheet to seperate the intermediate directories
 for all projects as well to avoid errors/warnings of being unable to
 write/access the PDB files as they are in use.
2011-06-24 11:22:47 +08:00
Chun-wei Fan
c4796a4d7a Update gsettings/glib-compile-schemas VS Projects
These tools require the use of GModule headers also, so update the include
directories so that the correct gmodule.h will be included instead of the
system-installed version.
2011-06-18 17:55:58 +08:00
Chun-wei Fan
7f6a8d3484 Update VS 2008/2010 property sheets
"Install" the new gobject/glib-types.h as well... it is needed.
2011-06-07 10:58:54 +08:00
Chun-wei Fan
c08fc65edf Update GLib VS9/10 projects
There is no longer need to distinguish between gatomic.c and gatomic-gcc.c.
This will avoid gatomic.c from being included in the projects twice.
2011-06-07 00:37:38 +08:00
Chun-wei Fan
f529dc0e08 Update Visual C++ README.txt
Correct the unpacking path of GLib...
2011-05-18 11:14:00 +08:00
Chun-wei Fan
8f484c482d Update VS property sheets
There are some new public headers added for GIO.  Make up for them here
in the install phase
2011-05-05 13:36:34 +08:00
Chun-wei Fan
58c5973a00 MSVC support update for GObject
Apparently GObject now depends on libffi.  Add it to the dependencies list.

For MSVC, use the libffi-3.0.10(rcx) versions.
2011-05-05 12:42:44 +08:00
Chun-wei Fan
707e011061 Update VS2008/2010 README.txt
Tell people about the usage of ZLib to avoid the
problem such as the one mentioned in Bug 633977
2011-05-01 09:42:22 +08:00
Chun-wei Fan
d8de88e541 Add VS 2008 compilation support for some utilities
-Added projects to compile the glib-compile-schemas and gsettings utilities
-Update .vsprops to install these in "install" phase
-Distribute these projects also
2011-04-25 13:47:07 +08:00
Chun-wei Fan
9de42602c4 Bug 637852 - Updates to glib.vsprops
Due to changes in the GIO APIs/headers, the glib.vsprops
is updated to reflect that in the "install" phase, namely:
-removal of the gperiodic.h header
-addition of GPollable I/O Stream, GTCP Connection and
 GTLS headers
2011-01-05 22:57:48 +08:00
Chun-wei Fan
4a012a9754 Updated README.txt for VS9 2010-11-09 09:50:11 +08:00
Chun-wei Fan
0af6343fed Updated .def generation for x64
Some symbols need to be excluded from the .def file as they are set to be so on Win64
2010-11-09 09:27:27 +08:00
Chun-wei Fan
9d4423c15d Various updates...
-Made up for missed header files in glib and gio during "install"
-Added macro necessary for GLib/GModule .def generation under Win64
-updated location of getting glibconfig.h.win32 for building
2010-11-09 09:26:05 +08:00
Chun-wei Fan
e655a849e3 Some enhancements for Win64 and using existing PCRE installtions
Added option for people to use an existing PCRE build and updated .def generation for x64 systems (some symbols are set to be excluded from Win64 builds)
Also fixed the filter "PCRE" for the bundled PCRE as file layout changed
2010-11-09 09:23:47 +08:00
Chun-wei Fan
50ca357104 Added option to use existing installation of PCRE
Allow the person compiling GLib to use his/her own copy of PCRE, bug#633075
2010-11-09 09:11:48 +08:00
Chun-wei Fan
8c4a96c6ff Made up for missed source files
Made up for missing required source files in  gio.vcproj(in) for Windows builds
2010-11-09 09:08:45 +08:00
Tor Lillqvist
cd8361f4dd Update headers being installed in the Visual Studio project
It sucks to have the lists of public headers duplicated in the
Makefile.am files and the glib.vsprops file. But it isn't exactly easy
to work around all the weirdness in autotools, Visual Studio, and bat
files either to do it another way.
2010-07-02 15:31:24 +03:00
Tor Lillqvist
4487b326d7 Fix list of sources in the gio Visual Studio project
List the additional sources needed in gio/Makefile.am, not in
gio.vcprojin. Fix broken usage of sort. Filter out Unix-only source
files.
2010-05-03 19:56:46 +03:00
Tor Lillqvist
9af8b83211 Add GWin32InputStream and GWin32OutputStream classes
Correspond to GUnixInputStream and GUnixOutputStream. No true async
support though. But that is how the Win32 API is, for files not
explicitly opened for so-called overlapped IO.

The API to create these streams takes Win32 HANDLEs. Not file
descriptors, because file descriptors are specific to the C library
used. The user code and GLib might be using different C libraries.

Also add a test program for the new classes, and a gio-windows-2.0.pc
file.
2010-04-19 11:54:56 +03:00
Tor Lillqvist
440713e393 Filter out gatomic-gcc.c from the VS project sources
Instead, explicitly include gatomic.c.
2010-03-22 15:55:11 +02:00
Ryan Lortie
5c419c300b gitignore for win32 build stuff 2010-03-21 13:07:36 -05:00
Tor Lillqvist
3369548130 Add new headers to be installed the VS "install" project
Yeah, we should generate the list of headers to install from the
corresponding Makefile.am files, like the lists of source files to
compile.
2010-03-21 16:54:49 +02:00
Tor Lillqvist
226cc663e4 Avoid much of duplication in lists of source files
Don't keep the lists of source files for libglib, libgobject and
libgio in the VS project files in addition to the canonical location,
the corresponding Makefile.am files.

Instead, generate the corresponding .vcproj files at make dist time
using the C preprocessor, from template files called .vcprojin. We
still list explicitly in the .vcprojin files some of the
Windows-specific source files, and the sources files of gnulib and
pcre.
2010-03-21 16:15:02 +02:00
Tor Lillqvist
28b025de96 Drop empty Tool elements from the project files for clarity
Makes the files appear a bit simpler when edited manually.
2010-03-21 13:33:44 +02:00
Tor Lillqvist
dc51eff2a9 Update with new source files and dependencies 2010-03-20 13:32:37 +02:00
Tor Lillqvist
00b55e2bc7 Drop empty elements from the VS9 vcproj files
Dunno if this makes sense, if one lets VS edit the it will put them
back anyway. But it's more pleasing to the eye.
2010-02-06 10:42:28 +02:00
Tor Lillqvist
762e18d8ce Further work on VS9 project files 2010-02-04 19:59:12 +02:00
Tor Lillqvist
05291c0d11 Enable libtool compatible DLL naming in the VS9 projects 2010-02-04 19:58:21 +02:00
Tor Lillqvist
cb7dfdc194 Use inherited properties in all configurations in gmodule, too 2010-02-04 15:04:22 +02:00
Tor Lillqvist
79eb03aa4f Use README.txt instead of README for Windows developer friendliness 2010-02-04 14:54:28 +02:00
Tor Lillqvist
ec19447815 Update README for VS9 build 2010-02-04 14:54:20 +02:00
Tor Lillqvist
9d444f7b12 Refactor VS9 project files
Factor out common parts into a vsprops file. Drop empty elements for
tools that aren't used.
2010-02-04 14:53:44 +02:00
Tor Lillqvist
e62e7227bf Fix the "install" VS9 project
Install also ghostutils.h. Don't bother mentioning any pointless
PreprocessorDefinitions for the "install" project, as all it does is
copy files.
2010-02-03 18:12:32 +02:00
Tor Lillqvist
1de58ef708 Link with dnsapi.lib also in 32-bit builds 2010-02-02 21:26:12 +02:00
Tor Lillqvist
57d3e4cba3 Include also testglib.vcproj in tarball 2010-02-02 21:26:01 +02:00
Pierre A. Joye
e5734fb875 Update VS9 project files to fix build
From bug #596784
2009-10-02 12:34:44 +03:00
Tor Lillqvist
0f35c33ecf win32/vs8/README New files. Mention this VS solution and projects are
2009-01-13  Tor Lillqvist  <tml@novell.com>

	* win32/vs8/README
	* win32/vs9/README: New files. Mention this VS solution and
	projects are experimental and that https://code.launchpad.net/oah
	might be a better choice.

	* win32/vs8/Makefile.am
	* win32/vs9/Makefile.am (EXTRA_DIST): Add the READMEs and two
	missing vcproj files.


svn path=/trunk/; revision=7806
2009-01-13 12:13:55 +00:00
Tor Lillqvist
212075094f Bug 558153 - Patch for .def files generation
2008-11-02  Tor Lillqvist  <tml@novell.com>

	Bug 558153 - Patch for .def files generation

	* win32/{vs8,vs9}/*.vcproj: Add &quot; around paths, making it
	possible to compile in a directory containing spaces. .def files
	generation is done for every configuration not only the "Debug"
	ones.

	Patch by Guillaume Duhamel.


svn path=/trunk/; revision=7639
2008-11-02 19:41:25 +00:00
Tor Lillqvist
9d3d04412b Add an "install" project that copies the deliverables into a place
from which projects in other packages will use them.

svn path=/trunk/; revision=7499
2008-09-16 01:04:55 +00:00
Tor Lillqvist
553a13c641 Use "win64" in the names of the helper exes when built for 64-bit
Windows, like in the Makefile.am.


svn path=/trunk/; revision=7498
2008-09-15 23:10:10 +00:00
Tor Lillqvist
47d23c1888 New folder. Project files for use with MSVS9. Based on the MSVS8 project
2008-09-16  Tor Lillqvist  <tml@novell.com>

	* win32/vs9: New folder. Project files for use with MSVS9. Based
	on the MSVS8 project files is win32/vs8. Four configurations:
	Debug|Win32, Release|Win32, Debug|x64 and Release|x64. DLL names
	simplified to of the style glib-2-vs9.dll.


svn path=/trunk/; revision=7497
2008-09-15 22:59:44 +00:00