summaryrefslogtreecommitdiff
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* Export symbols with compiler directives if possibleChun-wei Fan2016-06-298-40/+0
| | | | | | | | | | Add a configure check to see whether compiler directives are available for exporting symbols, and use them if so. Likewise, update the Visual Studio projects and config.h.win32.in to do likewise for Windows builds. We can then drop the .def files that were used to export symbols on Windows builds, which should clean up things a bit.
* 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.
* Visual Studio builds: Clean up PangoCairo build filesChun-wei Fan2016-06-224-21/+21
| | | | | Define HAVE_CAIRO_FREETYPE in the property sheets instead of disabling it via conditional compilation, which makes things a bit neater.
* PangoCairo MSVC builds: Look for headers in $(prefix)/include/cairoChun-wei Fan2016-06-224-4/+24
| | | | | Cairo's headers could be in $(prefix)/include/cairo, so look for the headers from there as well.
* Visual Studio builds: Generate .pc filesChun-wei Fan2016-04-2113-24/+449
| | | | | | | If python can be found at $(PythonPath)\python.exe (x86 builds) or $(PythonPathX64)\python.exe (x64 builds), generate .pc files for Pango, as appropriate with the build config chosen. This will make building introspection on Visual Studio easier with packages that depend on Pango.
* Visual Studio builds: Have package version in the projectsChun-wei Fan2016-04-212-11/+48
| | | | | This is used to generate the .pc files to make generating introspection files easier for packages that depend on Pango.
* MSVC Builds: Use Autotools Module for IntrospectionChun-wei Fan2016-04-138-335/+192
| | | | | | | | | | | | This uses the newly-added autotools module so that the file list for introspection using Visual Studio is now generated during 'make dist', along with the g-ir-scanner command line to generate the .gir files and the compilation of the .typelib files. This would help to simplify maintenance of the introspection builds in Visual Studio, which is done using NMake. https://bugzilla.gnome.org/show_bug.cgi?id=764984
* MSVC Builds: Add Common Autotools Module for IntrospectionChun-wei Fan2016-04-131-0/+125
| | | | | | | | | | This adds a common autotools module that can be included in the Makefile.am's so that we can get a list of sources and headers that are to be introspected, as well as the complete g-ir-scanner command(s) that are needed to generate the needed .gir's and to compile the .typelib's. https://bugzilla.gnome.org/show_bug.cgi?id=764984
* MSVC builds: Re-arrange GLib include pathsChun-wei Fan2016-03-022-2/+2
| | | | We ought to include the platform-neutral headers first...
* MSVC 2010+ builds: Do not explicitly use /LTCGChun-wei Fan2015-11-124-11/+0
| | | | | | | | | This partially reverts 03e60dc. 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-20/+31
| | | | | | | | | 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.
* MSVC projects: Ensure files have UNIX line endingsChun-wei Fan2015-10-0813-65/+65
| | | | ...except for the .sln and the README.txt files, to ease maintainenance.
* MSVC builds: Update PangoFT2-related itemsChun-wei Fan2015-10-086-54/+59
| | | | | | Fix the projects, and consolidate repeated items into the property sheets, as they now need to compile and link against HarfBuzz. Also remove unnecessary lines from the PangoFT2 and PangoCairo project files.
* MSVC builds: Clean up PangoWin32 projects a bitChun-wei Fan2015-10-082-2/+0
| | | | Remove unneeded AdditionalIncludeDirectories directive.
* 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.
* Build: Make Makefile.msvcproj A Bit More GenericChun-wei Fan2015-09-251-2/+6
| | | | | Handle also the situation where $(srcdir) == $(top_srcdir), so that this can also be used in cases like librsvg and gobject-introspection.
* MSVC Builds: "Add" MSVC 2015 Project FilesChun-wei Fan2015-09-095-16/+43
| | | | | | | | This "adds" Visual Studio 2015 projects in the way that we did before: copy the Visual Studio 2010 projects and replacing the items in there as necessary. Oh, this does pass 'make -jN distcheck' :)
* MSVC Builds: Rename testsrules_msvc.makChun-wei Fan2015-09-043-10/+2
| | | | | Rename this to detectenv-msvc.mak to be consistent with the other GNOME projects that support MSVC builds, and clean that file up a bit.
* 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.
* 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/Makefile-newvs.am: Clean Up A BitChun-wei Fan2015-04-171-1/+1
| | | | We can use $< for generating the MSVC 2012/2013 Solution files, so use it.
* build/Makefile.msvcproj: Don't Use realpath(1)Chun-wei Fan2015-04-101-9/+5
| | | | | | | | | | | | | | | | | Apaprently there are many incompatible realpath(1) implementations out there, so things like --relative-to can't be assured to work everywhere, such as on Ubuntu. Instead, simply use the subst feature of automake to fulfil the same purpose, which is like what the rest of this file does, and follows the pattern of the introspection makefile, which this is modelled on. Also update the simple tutorial and clean up a bit, changing $(empty) to <nothing> as Behdad pointed out. This is also checked with 'make -j8 distcheck'. https://bugzilla.gnome.org/show_bug.cgi?id=735039
* Revert "build/Makefile.msvcproj: Don't Use realpath(1)"Chun-wei Fan2015-04-091-4/+7
| | | | | | | This reverts commit aa7a9e08d33ac01aa43460a064e086b099f71642. Sorry, I accidently committed this in master, when I am supposed to commit in my own local branch.
* build/Makefile.msvcproj: Don't Use realpath(1)Chun-wei Fan2015-04-091-7/+4
| | | | | | | | | | | | | | Apaprently there are many incompatible realpath(1) implementations out there, so things like --relative-to can't be assured to work everywhere, such as on Ubuntu. Instead, simply use the subst feature of automake to fulfil the same purpose, which is like what the rest of this file does, and follows the pattern of the introspection makefile, which this is modelled on. This is also checked with 'make -j8 distcheck' https://bugzilla.gnome.org/show_bug.cgi?id=735039
* MSVC Builds: CosmeticsChun-wei Fan2015-04-0914-74/+74
| | | | | | | Since we are no longer using the interim Makefile-msvcproj.am way to generate the complete MSVC build files, change all PangoApiVersion to ApiVersion, to be consistent with the other MSVC build files in the GTK+/ Clutter stack.
* MSVC Builds: Fix Header "Installation"Chun-wei Fan2015-04-092-0/+2
| | | | | | Create the directory where the headers should be copied. I did not notice this as there was always $(GlibEtcInstallRoot)\vs$(VSVER)\$(PLAT)\include\pango-1.0\pango. Oops.
* Drop the Unused Makefile-msvcproj.amChun-wei Fan2015-04-081-237/+0
| | | | | ...as this is interim that is to be superceded by Makefile.msvcproj, which is meant to be usable across different projects.
* pango.vcxproj: Fix MSVC 2010+ BuildChun-wei Fan2015-04-081-4/+4
| | | | | The command macro for copying config.h.win32 to config.h was wrong due to a leftover when copying the rule. Fix that, oops.
* MSVC Bulids: Restore Visual Studio 2012/2013 ProjectsChun-wei Fan2015-04-082-0/+36
| | | | | | | | | This restores the EXTRA_DIST for the project file related items, as the underlying mechanism in the previous commit (i.e. Makefile-newvs.am) has been cleaned up and fixed to allow 'make -jN distcheck' to complete successfully. https://bugzilla.gnome.org/show_bug.cgi?id=735039
* build/Makefile-newvs.am: Use Pattern RulesChun-wei Fan2015-04-081-21/+11
| | | | | | | This allows this common autotools file to be cleaned up quite a bit, and has the benefit of having 'make -jN distcheck' complete successfully. https://bugzilla.gnome.org/show_bug.cgi?id=735039
* MSVC Builds: Restore MSVC 2008/2010 Project GenerationChun-wei Fan2015-04-0816-159/+77
| | | | | | | | | | ... in a way that 'make distcheck' (with or without -jN) completes successfully. This uses the common autotools module that was added in a previous commit so that we just need to define the items needed and call the things in there during 'make dist' (or 'make distcheck'), which would have things in a more tidy manner for this. https://bugzilla.gnome.org/show_bug.cgi?id=735039
* build: Add Common Autotools Module for MSVC ProjectsChun-wei Fan2015-04-081-0/+107
| | | | | | | | | | 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=735039
* MSVC Builds: Use Custom Build RulesChun-wei Fan2015-04-075-113/+81
| | | | | | Use a custom build rule for the copying of config.h.win32 to config.h, and reflect on the changes on the module source files for the Arabic and Indic line breaks.
* [win32] Unbreak make distcheckBehdad Esfahbod2015-04-042-6/+8
| | | | Win32 maintainer, please...
* [win32] Unbreak buildBehdad Esfahbod2015-04-042-36/+0
| | | | What is this...
* MSVC Builds: Rename "Install" ProjectChun-wei Fan2015-03-068-9/+9
| | | | | | Rename the install projects to pango-install, so that they can be easier integrated into grand solution files that are used to build items, such as the entire GTK+ or Clutter stack.
* MSVC Builds: "Install" the .pdb filesChun-wei Fan2015-03-042-37/+22
| | | | | To make it easier for people to develop and debug Pango on Windows, especially as the builds already generate the .pdb's.
* MSVC 2010+ Builds: Update .pdb GenerationChun-wei Fan2015-03-041-0/+2
| | | | | | | Make the .pdb filenames like the ones generated by the MSVC 2008 builds, that follows the names of the DLLs. Also, use the /d2Zi+ flag so that more useful information is logged into the .pdb files, in particular the release builds.
* MSVC Builds: Speed Up Release BuildsChun-wei Fan2015-03-042-0/+2
| | | | | | | This adds the /MP option to the compiler, which can cut down on the build time of release builds by quite a bit, by using multi-processor or multi-core capabilities. This will, however, emit a brief warning with debug builds, but the code will otherwise build normally.
* MSVC Builds: Fix "Installation"Chun-wei Fan2014-08-192-3/+1
| | | | | | Make sure we only try to create the directory for pango.aliases if that file didn't exist. This cleans things up a little, and avoids weird MSBuild batch errors.
* MSVC 2012/2013 Support: Update Property Sheet CreationChun-wei Fan2014-07-011-1/+1
| | | | | | Be a bit more carful when copying and updating the property sheets, so that we don't accidently change fields with '10' in them that are actually not indicating the Visual Studio version.
* Build: Provide Simple Support for MSVC 2012/2013Chun-wei Fan2014-07-014-1/+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 2010+ Projects: Update "Installation" ProcessChun-wei Fan2014-06-093-26/+42
| | | | | | | | | | | | | | | 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: Fix "Installation" for MSVC 2010 and LaterChun-wei Fan2014-04-021-0/+2
| | | | | We need to create $(prefix)\etc\pango before trying to create a default pango.aliases file, otherwise it wouldn't work.
* MSVC Builds: Update Introspection Build ProcessChun-wei Fan2014-02-251-12/+3
| | | | | | | | | | 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 Pango can continue to be properly built.
* build/Makefile-msvcproj.am: Remove Generated Intermediate FilesChun-wei Fan2014-02-211-0/+2
| | | | | | Delete libpangocairo.vs10.sourcefiles and libpangocairo.vs10.sourcefiles.filters once we are done with them, so to fix make distcheck
* MSVC Introspection Build: Fix buildChun-wei Fan2014-01-131-1/+2
| | | | | | | | | | Link and run the dumper program firstly against the build of ATK from the same tarball, then linking to the other dependent libraries which this build of ATK was built against before finally trying to link and run against other existing builds. This is especially important for unstable releases, as APIs are often added and dependent upon during development cycles.
* build/introspection-msvc.mak: Fix Default typelib PathChun-wei Fan2014-01-131-2/+2
|
* MSVC Builds: Rework Introspection BuildChun-wei Fan2014-01-1015-450/+280
| | | | | | | | | | | | | | | | | | | | The current approach of building the introspection files for Pango 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.
* MSVC 2008 Projects: More cleanupsChun-wei Fan2013-12-052-12/+0
| | | | | | We don't have the *_FC configs in the Pango and PangoWin32 projects anymore, so get rid of all remaining traces of them in these projects, like the MSVC 2010 ones.