summaryrefslogtreecommitdiff
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* Remove gdk-pixbuf-install.props's on re-generationChun-wei Fan2016-10-191-0/+3
| | | | | 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.
* build/: Force MSVC project file generation on Makefile.am changesChun-wei Fan2016-10-192-3/+10
| | | | | | | | | | | 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.
* Visual Studio builds: Make .pc generation more flexibleChun-wei Fan2016-06-221-14/+30
| | | | | Allow the use of ${exec_prefix} for libdir and includedir when passing them in as arguments to the script.
* gdk-pixbuf: Use compiler directives to export symbolsChun-wei Fan2016-06-075-110/+2
| | | | | | | | | | | | | | 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
* Visual Studio builds: Generate .pc fileChun-wei Fan2016-04-2213-15/+361
| | | | | | ...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
* Visual Studio builds: Have package version available in projectsChun-wei Fan2016-04-222-11/+51
| | | | | | | | 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.
* MSVC Builds: Generate the Introspection CommandsChun-wei Fan2016-04-148-250/+173
| | | | | | | | | | | | | 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
* MSVC Introspection Builds: Add a Common Autotools ModuleChun-wei Fan2016-04-141-0/+125
| | | | | | | | | 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
* MSVC builds: Include headers from include/gio-win32-2.0Chun-wei Fan2016-03-022-2/+2
| | | | | 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.
* MSVC 2010+ builds: Do not explicitly use /LTCGChun-wei Fan2015-11-124-10/+0
| | | | | | | | | 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 release builds: Ensure that /LTCG is usedChun-wei Fan2015-10-234-48/+58
| | | | | | | | | | | 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.
* MSVC builds: Move math.h compatibility headerChun-wei Fan2015-10-127-8/+15
| | | | | | | | | | | | | | 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
* Build: Make Makefile.msvcproj A Bit More GenericChun-wei Fan2015-09-251-7/+3
| | | | | Handle also the situation where $(srcdir) == $(top_srcdir), so that this can also be used in cases like librsvg and gobject-introspection.
* build/Makefile-newvs.am: Update Comments for UsageChun-wei Fan2015-09-251-2/+6
| | | | | | | | 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.
* MSVC Builds: Don't Include the Dropped LoadersChun-wei Fan2015-09-252-2/+2
| | | | | | | | 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
* MSVC Builds: Clean Up A BitChun-wei Fan2015-09-172-87/+0
| | | | | Remove the static gdk-pixbuf-install property sheets as they are now being completed during 'make dist'.
* Clean Up Visual Studio Project GenerationChun-wei Fan2015-09-177-49/+97
| | | | | | | | | | | 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.
* build: Add Common Autotools Module for MSVC ProjectsChun-wei Fan2015-09-171-0/+111
| | | | | | | | | | | 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
* MSVC Builds: "Add" Visual Studio 2015 ProjectsChun-wei Fan2015-09-095-16/+43
| | | | | | | 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.
* MSVC Introspection Builds: Remove GCC RequirementChun-wei Fan2015-08-172-16/+2
| | | | | | 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.
* MSVC Builds: Update "Install" Project GUIDChun-wei Fan2015-07-144-36/+36
| | | | | | | | 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.
* MSVC Projects: Fix Source ListingChun-wei Fan2015-05-203-3/+13
| | | | | io-gif-animation.c ought to be built only when we are not using the GDI+ configs, so fix this.
* Makefile-newvs: some .vcxproj.filters files are in builddir, some in srcdirSimon McVittie2015-04-291-5/+15
| | | | | | | | | | | | | | 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>
* build/Makfile-newvs.am: Use Pattern RulesChun-wei Fan2015-04-171-22/+12
| | | | | | 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'.
* MSVC Builds: Rename "Install" projectsChun-wei Fan2015-03-068-9/+9
| | | | | | 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.
* MSVC Builds: "Install" the .pdb FilesChun-wei Fan2015-03-052-22/+10
| | | | | | | | | | | | "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.
* MSVC 2010+ Builds: Improve .pdb GenerationChun-wei Fan2015-03-051-0/+1
| | | | | | 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.
* MSVC Builds: Fix .pdb Generation for gdk-pixbuf-csourceChun-wei Fan2015-03-052-2/+2
| | | | | Use the default .pdb filename and ensure the .pdb file is generated for all configs.
* MSVC 2010+ Builds: Clean Up and Speed UpChun-wei Fan2015-03-054-197/+209
| | | | | | | | | | | | | | | | | | | | | 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.
* MSVC 2008 Builds: Clean Up and Speed UpChun-wei Fan2015-03-053-187/+179
| | | | | | | | | | | | | | | | 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 Builds: Provide Implementation for round()Chun-wei Fan2014-12-234-2/+62
| | | | | | | | | | 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
* Visual Studio Builds: Clean Up a BitChun-wei Fan2014-11-112-4/+4
| | | | | | | | | 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.
* Visual Studio Builds: Use GDK_PIXBUF_RELOCATABLEChun-wei Fan2014-11-112-2/+2
| | | | | | 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).
* Visual Studio Projects: Link to libjpeg-turboChun-wei Fan2014-08-012-8/+8
| | | | | | | 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++.
* Build: Provide Simple Support for MSVC 2012/2013Chun-wei Fan2014-07-014-3/+98
| | | | | | | | | | | | 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.
* MSVC Introspection Builds: Clean up a bitChun-wei Fan2014-07-011-6/+1
| | | | | | | | | 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.
* MSVC 2010+ Projects: Update "Installation" ProcessChun-wei Fan2014-06-092-15/+31
| | | | | | | | | | | | | | | 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.
* MSVC builds: Add NMake Makefile for Introspection BuildsChun-wei Fan2014-02-257-140/+219
| | | | | | | | | | | | | 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.
* Don't Build Introspection Files from MSVC ProjectsChun-wei Fan2014-02-258-253/+2
| | | | | | | | 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.
* Visual Studio Projects: Split the Property SheetsChun-wei Fan2013-12-2626-447/+607
| | | | | | | | | | 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.
* Declare the removal of Makefile.decl completeColin Walters2013-12-212-6/+2
|
* Two more instances of Makefile.declMatthias Clasen2013-12-212-5/+1
|
* build: Use UNIX Line Feeds for MSVC ProjectsChun-wei Fan2013-12-173-453/+453
| | | | | | ... 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.
* build/win32/vs10/gengir.vcxproj: Add PlatformToolset tagChun-wei Fan2013-11-251-0/+4
| | | | | This makes it easier to upgrade to Visual Studio 2012/2013 formats, like the other *.vcxproj files in GDK-Pixbuf.
* Visual C++ Builds: Use Custom Build RulesChun-wei Fan2013-08-305-98/+113
| | | | | | | | ...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.
* Fix Visual Studio 2010 Property SheetChun-wei Fan2013-08-131-6/+6
| | | | | Remove unnecessary quotes, which will also restore the ability for the DLL and the gdk-pixbuf-query-modules tool to be relocatable.
* Add note on libpng for Visual Studio BuildsChun-wei Fan2013-06-172-0/+14
| | | | | | | 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.
* Visual Studio Builds: Link to LibPNG-1.6Chun-wei Fan2013-06-172-16/+16
|
* Update Visual Studio solutionsChun-wei Fan2013-03-062-0/+15
| | | | | | | | | 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
* Add Windows .bat to build the introspection filesChun-wei Fan2013-03-067-2/+433
| | | | | | | | | | | | | 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.