debian/0000755000000000000000000000000012265452376007202 5ustar debian/changelog0000644000000000000000000000162512265450727011056 0ustar iwyu (3.3-4) unstable; urgency=medium * Make iwyu co-installable with clang 3.5 (Closes: #734900) * Standards-Version updated to 3.9.5 * Switch the default clang to 3.4 -- Sylvestre Ledru Wed, 15 Jan 2014 10:14:58 +0100 iwyu (3.3-3) unstable; urgency=low * Remove the trailing debian/ from debian/control * Also ship fix_include in iwyu. It applies the changes (Closes: #728590) * Fix the clean of the package * Remove the "SEE ALSO" section from the manpage (Closes: #722225) -- Sylvestre Ledru Mon, 04 Nov 2013 09:02:17 +0100 iwyu (3.3-2) unstable; urgency=low * clang is a mandatory dependency (Closes: #722132) -- Sylvestre Ledru Sun, 08 Sep 2013 12:33:59 +0200 iwyu (3.3-1) unstable; urgency=low * Initial release (Closes: #721267) -- Sylvestre Ledru Thu, 29 Aug 2013 17:16:23 +0200 debian/docs0000644000000000000000000000001312212556041010031 0ustar README.txt debian/iwyu.links0000644000000000000000000000005412212556041011222 0ustar /usr/bin/include-what-you-use usr/bin/iwyu debian/control0000644000000000000000000000242512265452234010601 0ustar Source: iwyu Section: devel Priority: extra Maintainer: LLVM Packaging Team Uploaders: Sylvestre Ledru Build-Depends: debhelper (>= 8.0.0), cmake, libclang-3.3-dev, llvm-3.3-dev, help2man Standards-Version: 3.9.5 Homepage: http://code.google.com/p/include-what-you-use/ Vcs-Svn: svn://svn.debian.org/svn/pkg-llvm/iwyu/trunk/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-llvm/iwyu/trunk/ Package: iwyu Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, clang-3.3 | clang-3.4 | clang-3.5, python Description: Analyze #includes in C and C++ source files "Include what you use" means this: for every symbol (type, function variable, or macro) that you use in foo.cc, either foo.cc or foo.h should #include a .h file that exports the declaration of that symbol. The include-what-you-use tool is a program that can be built with the clang libraries in order to analyze #includes of source files to find include-what-you-use violations, and suggest fixes for them. . The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible. debian/compat0000644000000000000000000000000212212556041010362 0ustar 8 debian/iwyu.manpages0000644000000000000000000000011212246415613011676 0ustar iwyu-build/include-what-you-use.1 iwyu-build/iwyu.1 debian/fix_include.1 debian/iwyu.install0000644000000000000000000000003712246415613011557 0ustar iwyu-build/fix_include usr/bin debian/fix_include.10000644000000000000000000000723612246415613011555 0ustar .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.2. .TH FIX_INCLUDE "1" "November 2013" "fix_include 3.3" "User Commands" .SH NAME fix_include \- Update the source code with iwyu output .SH SYNOPSIS .B fix_include [\fIoptions\fR] [\fIfilename\fR] ... \fI< \fR OR .B fix_include \fB\-s\fR [other options] ... .SH DESCRIPTION .PP fix_include reads the output from the include\-what\-you\-use script on stdin \fB\-\-\fR run with \fB\-\-v\fR=\fI1\fR (default) verbose or above \fB\-\-\fR and, unless \fB\-\-sort_only\fR or \fB\-\-dry_run\fR is specified, modifies the files mentioned in the output, removing their old #include lines and replacing them with the lines given by the include_what_you_use script. It also sorts the #include and forward\-declare lines. .PP Only writable files (those opened for p4 edit) are modified (unless \fB\-\-checkout_command\fR is specified). All files mentioned in the include\-what\-you\-use script are modified, unless filenames are specified on the commandline, in which case only those files are modified. .PP The exit code is the number of files that were modified (or that would be modified if \fB\-\-dry_run\fR was specified) unless that number exceeds 100, in which case 100 is returned. .SH OPTIONS .TP \fB\-h\fR, \fB\-\-help\fR show this help message and exit .TP \fB\-b\fR, \fB\-\-blank_lines\fR Put a blank line between primary header file and C/C++ system #includes, and another blank line between system #includes and google #includes [default] .HP \fB\-\-noblank_lines\fR .TP \fB\-\-comments\fR Put comments after the #include lines .HP \fB\-\-nocomments\fR .TP \fB\-\-safe_headers\fR Do not remove unused #includes/fwd\-declares from header files; just add new ones [default] .HP \fB\-\-nosafe_headers\fR .TP \fB\-s\fR, \fB\-\-sort_only\fR Just sort #includes of files listed on cmdline; do not add or remove any #includes .TP \fB\-n\fR, \fB\-\-dry_run\fR Do not actually edit any files; just print diffs. Return code is 0 if no changes are needed, else min(the number of files that would be modified, 100) .TP \fB\-\-ignore_re\fR=\fIIGNORE_RE\fR fix_includes.py will skip editing any file whose name matches this regular expression. .TP \fB\-\-checkout_command\fR=\fICHECKOUT_COMMAND\fR A command, such as "p4 edit", to run on all the nonwriteable files before modifying them. The filenames will be appended to the command after a space. The command will not be run on any file that does not need to change. .TP \fB\-\-create_cl_if_possible\fR If \fB\-\-checkout_command\fR is "p4|g4|v4 edit" and all files to be modified needed to be checked out, then create a CL containing those files. .HP \fB\-\-nocreate_cl_if_possible\fR .TP \fB\-\-append_to_cl\fR=\fIAPPEND_TO_CL\fR If provided, with a checkout_command, add files that need fixing to the specified existing CL. .TP \fB\-\-separate_project_includes\fR=\fISEPARATE_PROJECT_INCLUDES\fR Sort #includes for current project separately from all other #includes. This flag specifies the root directory of the current project. If the value is "", #includes that share the same top\-level directory are assumed to be in the same project. If not specified, project #includes will be sorted with other non\-system #includes. .TP \fB\-\-invoking_command_line\fR=\fIINVOKING_COMMAND_LINE\fR Internal flag used by iwyu.py, It should be the command line used to invoke iwyu.py .TP \fB\-m\fR, \fB\-\-keep_iwyu_namespace_format\fR Keep forward\-declaration namespaces in IWYU format, eg. namespace n1 { namespace n2 { class c1; } }. Do not convert to "normalized" Google format: namespace n1 {\ennamespace n2 {\en class c1;\en}\en}. .HP \fB\-\-nokeep_iwyu_namespace_format\fR debian/rules0000755000000000000000000000132412265452241010251 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 TARGET_BUILD=iwyu-build VERSION=$(shell dpkg-parsechangelog |grep "^Version:"|sed -e "s|Version: \(.*\)|\1|") %: dh $@ --buildsystem=cmake --builddirectory=$(TARGET_BUILD) override_dh_auto_configure: dh_auto_configure -- -DLLVM_PATH=/usr/lib/llvm-3.3/ override_dh_auto_build: dh_auto_build help2man --no-info --version-string "$(VERSION)" -n "Analyze #includes in C and C++ source files" $(TARGET_BUILD)/include-what-you-use > $(TARGET_BUILD)/include-what-you-use.1 cd $(TARGET_BUILD) && ln -s include-what-you-use.1 iwyu.1 && \ cp ../fix_includes.py fix_include override_dh_auto_clean: rm -rf $(TARGET_BUILD) debian/copyright0000644000000000000000000000357312212556041011127 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: iwyu (include what you use) Upstream-Contact: https://groups.google.com/forum/#!forum/include-what-you-use Source: http://code.google.com/p/include-what-you-use/source/checkout Files: * Copyright: Google and others 2010 - 2013 License: University of Illinois/NCSA Open Source License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. . * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. . * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. debian/source/0000755000000000000000000000000012216363001010460 5ustar debian/source/format0000644000000000000000000000001412212556041011672 0ustar 3.0 (quilt)