| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This ensures the changes to the generated build/win32/vs10/gdk-pixbuf-install.props is
also applied to build/win32/vs[11|12|14] as well.
|
|
|
|
|
|
|
|
|
|
|
| |
Make the Makefile.am targets for generating the Visual Studio projects re-generate the
project files and the header listings whenever the Makefile.am's that include
build/Makefile.msvcproj changes, so that whenever a source/header is added, they will
be reflected in the projects and in the property sheets that are used to copy the
headers.
Also ensure that these are applied to the vs11, vs12 and vs14 projects when this
happens, as they are copied and processed from the Visual Studio 2010 projects.
|
|
|
|
|
| |
Allow the use of ${exec_prefix} for libdir and includedir when passing
them in as arguments to the script.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like what is now done in GLib, ATK, GTK+ and some other libraries, make use
of compiler directives that is determined at configure stage (or
pre-configured) to export the symbols for the GdkPixbuf library. This
cleans up things a bit, as the .symbols file will no longer need to
be maintained, as long as the GDK_PIXBUF_AVAILABLE_IN_* (or so)
annotation is marked in the header and the source file that defines
the function has config.h included first.
Clean up configure.ac and gdk-pixbuf/Makefile.am a bit as a result.
https://bugzilla.gnome.org/show_bug.cgi?id=767164
|
|
|
|
|
|
| |
...if the Python interpretor can be found at $(PythonPath) (x86) or
$(PythonPathX64) (x64). This is done to make introspection builds a bit
easier for packages that depend on GDK-Pixbuf
|
|
|
|
|
|
|
|
| |
This is to make generating .pc files for the package easier for Visual
Studio builds. Also make GlibEtcInstallRoot more consistent across the
board, and add setting entries for installation path to the Python
interpretor, also to make things easier for generating .pc files, as well
as building the introspection files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the autotools module that was added in the previous commit so that
we can use it to generate the file list for introspection at 'make dist',
as well as the command lines for g-ir-scanner and g-ir-compiler to
generate the .gir files and to compile the .typelib files.
This also makes detectenv-msvc.mak and introspection-msvc.mak generic so that
they may be respectively updated from $(glib_srcroot)/build/win32 and
$(gi_srcroot)/build/win32, as they are now copies of them.
https://bugzilla.gnome.org/show_bug.cgi?id=765034
|
|
|
|
|
|
|
|
|
| |
Add a common autotools module that can be included by the Makefile.am's
so that the file lists for the sources and headers can be generated
during 'make dist', along with the command lines for g-ir-scanner and
g-ir-compiler to generate the .gir files and compile the .typelib files.
https://bugzilla.gnome.org/show_bug.cgi?id=765034
|
|
|
|
|
| |
At some point gio.h will also include headers that are in
include/gio-win32-2.0, so make sure we have that in the include paths.
|
|
|
|
|
|
|
|
|
| |
This partially reverts 9bd5863.
As we now ensure that items using GResources and GConstructors are always
referenced so that the linker does not optimize them out in a default
Release build, we no longer need to enforce the use of /LTCG, so
/LTCG:incremental will work as well.
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC 2015 changed its default link-time code generation setting to
/LTCG:incremental, which causes problems if /opt:noref is to be used,
meaning that some code will be optimized out by the linker.
Avoid this situtation here by enforcing the use of /LTCG for MSVC 2010+
builds.
Also rearrange some of the project files a bit for consistency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the math.h compatibility header from build/win32/math-compat to
build/win32/vs9, and copy it to build/win32/vs10 and build/win32/vs11
during 'make dist'. This is because we don't need the header for
Visual Studio 2013 and later, and the math.h header shipped with
Visual Studio 2015 is now included in Windows 10 SDK's UCRT directory,
so the old way of including the compiler-shipped math.h by doing
'#include <../include/math.h>' would not work there.
This will fix the build on Visual Studio 2015.
https://bugzilla.gnome.org/show_bug.cgi?id=756381
|
|
|
|
|
| |
Handle also the situation where $(srcdir) == $(top_srcdir), so that this
can also be used in cases like librsvg and gobject-introspection.
|
|
|
|
|
|
|
|
| |
Update the notes that this is also used for Visual Studio 2015 support,
and correct the MSVC_VER_LONG for MSVC 2015, which is 14, not 2015.
Also add a note that this can be used for other projects that have
Visual Studio build support.
|
|
|
|
|
|
|
|
| |
The PCX, WBMP and RAS loaders have been dropped, so don't include them.
They should be dropped from gdk-pixbuf-io.c as well, otherwise if someone
is building with INCLUDE_xxx for them will get linker errors.
https://bugzilla.gnome.org/show_bug.cgi?id=721372
|
|
|
|
|
| |
Remove the static gdk-pixbuf-install property sheets as they are now
being completed during 'make dist'.
|
|
|
|
|
|
|
|
|
|
|
| |
This makes use of the common autotools modules that was just added so that
there would need to be less items in gdk-pixbuf's main Makefile.am, so that
we can generate the complete Visual Studio 2008/2010 project files (which
will then be used to obtain the Visual Studio 2012 and 2013 projects).
The other added benefit to this is that the property sheets used to install
headers will also make use of this mechanism so that the listing of public
headers can be kept up-to-date whenever the list of headers et updated.
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a common autotools module that can be used by various
projects to generate the Visual Studio projects as needed, and
if necessary, generate the headers listings to "install" for that
project, based on items passed in to this. This is modelled on the
Makefile.introspection autotools file that is used by many GNOME
projects to generate the introspection files.
https://bugzilla.gnome.org/show_bug.cgi?id=721617
|
|
|
|
|
|
|
| |
This "adds" projects for Visual Studio 2015 builds by doing what we
did before: copy the Visual Studio 2010 projects and replace items in
there as necessary, as the formats of the project files for Visual
Studio 2010, 2012, 2013 and 2015 are largely the same.
|
|
|
|
|
|
| |
G-I has been updated to not require a Windows GCC installation
anymore to generate the .gir files, so update the NMake Makefiles
that are used for this purpose.
|
|
|
|
|
|
|
|
| |
To make the Visual Studio project files work together when used in part for
an all-in-one solution file that is used to build from scratch the GTK+
stack, we need to make sure that the GUIDs of the project files in the
solution file do not conflict with each other, as the "install" project
shared the same GUID with Pango's "install" project.
|
|
|
|
|
| |
io-gif-animation.c ought to be built only when we are not using the GDI+
configs, so fix this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this change, out-of-tree distcheck doesn't get very far.
Similarly, allow *.vcxproj, *.props to be in either the builddir or
the srcdir.
Finally, since I'm touching these lines anyway, eliminate some
useless uses of cat: "cat x | sed 's/foo/bar/' > y" is
equivalent to "sed 's/foo/bar/' < x > y".
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=748176
Reviewed-by: Chun-wei Fan <fanchunwei@src.gnome.org>
|
|
|
|
|
|
| |
Make use of pattern rules when generating the Visual Studio 2012/2013
Projects from the Visual Studio 2010 projects, which will help to clean up
the file and also avoid problems when running items like 'make -jN dist'.
|
|
|
|
|
|
| |
Rename the install projects as gdk-pixbuf-install, so that it would be
more easily integrated into grand solutions that are used to, for example,
to build the entire GTK+ or Clutter stack.
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Install" the .pdb files for all tools and DLL that are built, so that it
would make it easier to debug builds, especially when developing the GTK+
stack or so, and we already generate the .pdb files for all builds.
Also be more selective on the files that we copy, to ensure that we only
copy the executables and DLLs and LIBs that are part of gdk-pixbuf, so that
we avoid copying items that are not meant to be copied or copy plugin DLLs
incorrectly when the projects are included from an all-in-one solution used
to build the entire GTK+ stack, for example.
|
|
|
|
|
|
| |
Use the /d2Zi+ compiler flag so that more useful info can be logged to the
.pdb file that is generated for the release builds, so to improve the
debugging experience of such builds.
|
|
|
|
|
| |
Use the default .pdb filename and ensure the .pdb file is generated for all
configs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the builds that use the open source imaging libraries the default
Debug and Release builds, and make the GDI+ builds have configs suffixed
with _GDI+, as the builds using the open source imaging libraries are in
a much better state, at least on more modern versions of Windows.
Also standardize on the linked libraries for all builds, regardless whether
a release or debug build is used, no more 'd' suffixes in the .lib
filenames, and move the .lib's to link into the property sheets, to ease
future maintenance.
Fix .pdb generation for Visual Studio 2010+ builds so that the .pdb file
matches the name of the DLL that is being built, so that it makes the
copying of .pdb files easier, for a later commit.
Speed up release builds by using MultiProcessorComilation for the compiler
options, which can cut down on release build times by quite a bit.
This does emit a brief warning for debug builds, but the code would
otherwise build normally.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the builds that use the open source imaging libraries the default
Debug and Release builds, and make the GDI+ builds have configs suffixed
with _GDI+, as the builds using the open source imaging libraries are in
a much better state, at least on more modern versions of Windows.
Also standardize on the linked libraries for all builds, regardless whether
a release or debug build is used, no more 'd' suffixes in the .lib
filenames, and move the .lib's to link into the property sheets, to ease
future maintenance.
Speed up release builds by using /MP for the compiler options, which can
cut down on release build times by quite a bit. This does emit a brief
warning for debug builds, but the code would otherwise build normally.
|
|
|
|
|
|
|
|
|
|
| |
Visual Studio 2012 and earlier do not provide round() in their CRTs, so
use the round() implementation in GTK+-3.x and add it in a compatibility
math.h header that is strictly for Visual Studio only, and let the Visual
Studio builds find this math.h first (which would then include the stock
math.h).
https://bugzilla.gnome.org/show_bug.cgi?id=739778
|
|
|
|
|
|
|
|
|
| |
Clean up the property sheets as:
-We don't depend on Cairo and Pango currently, which is a leftover from
earlier releases of GTK+-2.x.
-Since we depend on glib-2.37.6+, there isn't a need to link to GThread.
|
|
|
|
|
|
| |
Due to recent changes in GDK-Pixbuf, we need to define
GDK_PIXBUF_RELOCATABLE for the build of the GDK-Pixbuf DLL, as we don't
want to hard code paths for Windows builds (i.e. as we did before).
|
|
|
|
|
|
|
| |
Use the libjpeg-turbo library instead of the stock IJG JPEG library, which
is a better-maintained drop-in replacement for the IJG JPEG library, and
cuts down on the users of static C-Runtime, which the IJG JPEG library
defaults to in its build files for Visual C++.
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the Visual Studio 2012/2013 are only slightly different from the Visual
Studio 2010 projects, we can provide support for them by using scripts to
copy the Visual Studio 2010 projects, and update the specific parts as
necessary.
Thus, there would be little maintenance overhead for these as only the 2010
projects need to be kept up-to-date as a result. This might change when we
do get the stack working with WinRT/Metro, but that's going to be another
totally different issue.
|
|
|
|
|
|
|
|
|
| |
Since gobject-introsection-1.40.0 we are passing in the .lib file(s) to
deduce the DLL(s) that the introspection files should look for, instead of
just passing in the DLL file(s), we no longer need to make a copy of the
main .lib file to match the <namespace-name>-<namespace-version> convention
for use during the linking stage of the introspection build. Remove that
from the introspection builds as a result.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds an NMake Makefile that is used to generate the introspection
files for GDK-Pixbuf, which replaces the previous approach of generating
them via the Visual Studio Projects. This makes it clearer to people on
what things are needed in order to build the introspection files if so
desired, and makes things a bit cleaner as the build results can be
cleaned away easily. This also takes the recent change in g-i into
account, where we no longer pass in the DLL file name but instead pass in
the library name on Windows, just as it was done on *nix.
The existing .bat file for this purpose is removed as a result.
|
|
|
|
|
|
|
|
| |
This removes the gengir projects from the Visual Studio Projects, so that
this paves the initial step of building the introspection files using NMake
Makefiles, as the current approach requires many environment variables to
be set in order to build the introspection files successfully, which is a
bit clunky.
|
|
|
|
|
|
|
|
|
|
| |
Split up the Visual Studio 2008/2010 property sheets, so that they can be
more easily maintained; also remove items that aren't really needed for the
build and merge a few items that are frequently repeated.
Also make the copying of config.h from config.h.win32 done with a custom
build rule so that we have a clean source tree when cleaning the build from
the IDE.
|
| |
|
| |
|
|
|
|
|
|
| |
... so that it would be more consistent with the rest of the source files,
and application of patches would be easier and cleaner. The README.txt and
.sln files under build/win32/vs* still has to have DOS/Windows line feeds.
|
|
|
|
|
| |
This makes it easier to upgrade to Visual Studio 2012/2013 formats,
like the other *.vcxproj files in GDK-Pixbuf.
|
|
|
|
|
|
|
|
| |
...so that the gdk-pixbuf.def can be automatically updated upon build when
gdk-pixbuf.symbols is updated, and that it could be deleted upon a "clean"
request.
Also drop some unneeded items from the property sheets and fix a typo.
|
|
|
|
|
| |
Remove unnecessary quotes, which will also restore the ability for the
DLL and the gdk-pixbuf-query-modules tool to be relocatable.
|
|
|
|
|
|
|
| |
Tell people that the Visual Studio project files will normally link to
the latest stable release series of libpng that is supported by the
codebase, and people can still use libpng 1.0.x-1.6.x if they choose
to do so by changing some settings during the build.
|
| |
|
|
|
|
|
|
|
|
|
| |
This will integrate the utility projects to build the introspection files
into the main solution files for building GDK-Pixbuf so that one can build
the introspection files if he/she chooses to do so (it is not built by
default).
https://bugzilla.gnome.org/show_bug.cgi?id=694433
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a Windows .bat utility to build the introspection files for
GDK-Pixbuf, which also makes use of Python REGEX abilities to read the
autotools files to determine the sources that need to be placed in the
filelist file for giscanner (which is itself a Python 2.6+ module) to
consume. This will enable one to build the introspection files for
Visual Studio builds without the need of using a shell such as MSYS.
Utility Visual Studio projects are also included so that one may be able
to use them and build the introspection files from the Visual Studio
2008/2010 IDE.
|