aboutsummaryrefslogtreecommitdiff
path: root/.gitignore
AgeCommit message (Collapse)Author
2020-11-15gitignore: remove now-unused autotools filesMichael Stapelberg
related to https://github.com/i3/i3/issues/4086
2020-05-19add meson build files (#4094)Michael Stapelberg
Motivation: • faster builds (on an Intel Core i9-9900K): ( ../configure --disable-sanitizers && make -j8; ) 19,47s user 2,78s system 395% cpu 5,632 total ( meson .. -Dmans=true -Ddocs=true -Dprefix=/usr && ninja; ) 38,67s user 3,73s system 1095% cpu 3,871 total • more approachable build system configuration in the python-esque meson domain specific language instead of the autotools m4 macro language • built-in language server support thanks to ninja: the required compile_commands.json is built automatically and only needs to be linked from the source dir, e.g.: ln -s build/compile_commands.json . Changes: • the embedded vcs version info format changed from e.g. 4.18-282-gabe46f69 (2020-05-16, branch "next") to: 4.18-282-gabe46f69 I think it’s better to lose a little bit of detail for the gained cleanliness of using meson’s vcs_tag() • Drop unused xcb-event dependency. • We can no longer enable sanitizers and debug options based on whether we are in a release or non-release build, because our new version logic runs at ninja build time, not at meson configure time. The new behavior is probably for the better in terms of what people expect, and we can make the CI use address sanitizer explicitly to ensure it is still exercised. • We lose the AX_EXTEND_SRCDIR behavior, i.e. including the path component of the parent of the source dir in all paths. This was a trick we used for easier debugging, so that stack traces would contain e.g. ../i3-4.18.1/src/main.c, instead of just src/main.c. The other mechanism (_i3_version symbol) that we have for including the version number in the “backtrace full” (but not merely “backtrace”) output of gdb still works. • Release tarballs now use tar.xz. Why not. Migration plan This commit adds the meson build files to the tree, but does not remove autotools yet. For the development phase, we will keep both build systems functional (and built on travis). Then, just before the i3 v4.19 release, we will remove autotools from the tree and the release tarball will require meson to compile. This way, we incentivize maintainers to change, while also offering them an easy way out (if desired) by reverting the most recent commit. In practice, switching a distribution package from autotools to meson should only be a few line change, easier than applying the provided patch :). Take a look at the debian/ changes in this commit for an example. meson is broadly available everywhere that i3 is available: Both xorg-server and systemd gained meson build files in 2017, so we can follow suit: https://anholt.livejournal.com/52574.html https://in.waw.pl/~zbyszek/blog/systemd-meson.html How do I? For producing a coverage report, enable the b_coverage meson base option and run ninja coverage-html: % cd build % meson .. -Db_coverage=true % ninja % ninja test % ninja coverage-html See also https://mesonbuild.com/howtox.html#producing-a-coverage-report For using the address sanitizer, memory sanitizer or undefined behavior sanitizer, use the b_sanitize meson base option: % cd build % meson .. -Db_sanitize=address % ninja See also https://mesonbuild.com/Builtin-options.html#base-options related to #4086
2017-09-09Add files generated by make check in AnyEvent-I3/ to .gitignore (#2915)Orestis
2016-10-23pull autotools.gitignore into .gitignoreMichael Stapelberg
2015-04-12Rebuild version.o when version.c or LAST_VERSION changeDeiz
$(TOPDIR)/LAST_VERSION is a cached copy of common.mk's I3_VERSION var, updated only if the two differ.
2013-11-26ignore symbol files on OS X (only for debugging, breaks git-add -A)Jean-Philippe Ouellet
2013-10-23Add `.clang_complete` and `Xdummy.so` to gitignoreTony Crisci
Adds two files to gitignore. `.clang_complete` is created by the clang_complete vim plugin [https://github.com/Rip-Rip/clang_complete] `Xdummy.so` is created by compiling the Xdummy module.
2013-06-23Add a few things to .gitignoreAlexander Berntsen
2013-01-26split main .gitignore and ignore more filesVivien Didelot
This patch splits the main .gitignore with a specific testcases/.gitignore and also add 4 patterns to the ignore list: i3-command-parser.stamp i3-config-parser.stamp testcases/- testcases/i3-cfg-for-*
2012-10-08add test.config_parser to .gitignoreMichael Stapelberg
2012-08-07update .gitignore (Thanks SardemFF7)Michael Stapelberg
2012-07-22Update .gitignoreQuentin Glidic
2012-07-22i3: Replace loglevels by a global debug loggingQuentin Glidic
File-limited were not used nor really useful Besides, they are painful to maintain in Makefile rules compared to the benefit
2012-06-24Fix up .gitignorestfn
2012-04-12replace the refcard with an HTML version (by SardemFF7)Michael Stapelberg
This eliminates our build-depedency on latex.
2011-11-23.gitignore: add generated testcases/MakefileMaik Fischer
2011-10-23add libi3/libi3.a to .gitignoreMichael Stapelberg
2011-07-31add i3-config-wizard to .gitignoreMichael Stapelberg
2011-07-27i3-config-wizard: use a managed, floating (dialog) window. fixes focus problemsMichael Stapelberg
Probably only when another window is already opened, but people can do that (start i3 from within a terminal in their X session)
2011-07-25extend .gitignoreMichael Stapelberg
2011-07-23expand .gitignore (Thanks madroach)Michael Stapelberg
2011-07-10add binaries to .gitignoreMichael Stapelberg
2011-06-12add *.gcda and *.gcno (code coverage files) to .gitignoreMichael Stapelberg
2011-05-25gitignore: ignore tarballsMichael Stapelberg
2011-05-01initial commit of the i3-config-wizard (GUI working, functionality incomplete)Michael Stapelberg
2010-11-28update .gitignoreMichael Stapelberg
2009-02-08Separate font stuff to font.c, beautify MakefileMichael Stapelberg