# These files are generated during building or development and are intentionally
# untracked to ignore by Git. For other development environment specific files,
# such as editor configuration, a good practice is to exclude them using the
# .git/info/exclude in the cloned repository or a global .gitignore file.

# ------------------------------------------------------------------------------
# Common files ignored across the repository
# ------------------------------------------------------------------------------

# Backup copies created by various editors or development tools
*~

# Patches downloaded to patch files or to apply open source contributions
*.patch

# Swap files created by editors and tools to indicate a locked file
*.swp

# Various temporary generated files
*.tmp

# ------------------------------------------------------------------------------
# Generated by the PHP build system
# ------------------------------------------------------------------------------

# Archive library containing .o files, generated during build process
*.a

# Libtool library files generated during build process
*.la

# Directories created by Libtool for storing generated library files
.libs/

# Library object files generated during build process
*.lo

# Temporary library object files generated by compiler and libtool due to failure
*.loT

# Standard object files generated during build process
*.o

# Cache directories created by Autoconf tools
autom4te.cache/

# Cache file(s) generated by Autoconf's configure when run as `configure -C`
config.cache

# A log file(s) generated by Autoconf during *nix build system
config.log

# Helper(s) generated by *nix build system to save the last configure command
config.nice

# Generated by Autoconf's configure script for instantiating templates
config.status

# Main *nix build system configuration script(s) generated by Autoconf
configure

# Generated by `./configure` when test programs create temporary files
confdefs.h
conftest*

# Generated by configure scripts on all systems
/main/internal_functions.c
/main/internal_functions_cli.c

# The Libtool script(s) generated by the *nix build system
libtool

# Makefile(s) generated from Makefile fragment templates by `./configure`
Makefile
Makefile.fragments
Makefile.objects

# Directories for shared object files and headers generated by `./configure`
include/
libs/
modules/

# Used by build/gen_stub.php
build/PHP-Parser-*

# ------------------------------------------------------------------------------
# Configuration headers generated by the PHP build system
# ------------------------------------------------------------------------------
config.h
config.h.in
/ext/date/lib/timelib_config.h
/main/build-defs.h
/main/php_config.h.in
/main/php_config.h
/Zend/zend_config.h

# ------------------------------------------------------------------------------
# Manual (man 1 and 8) pages generated from templates for *nix alike systems
# ------------------------------------------------------------------------------
/ext/phar/phar.1
/ext/phar/phar.phar.1
/sapi/cgi/php-cgi.1
/sapi/cli/php.1
/sapi/fpm/php-fpm.1
/sapi/fpm/php-fpm.8
/sapi/phpdbg/phpdbg.1
/scripts/man1/*.1

# ------------------------------------------------------------------------------
# SAPIs specific ignores
# ------------------------------------------------------------------------------
/sapi/apache2handler/libphp.module
/sapi/fpm/fpm/php-cgi
/sapi/fpm/init.d.php-fpm
/sapi/fpm/php-fpm.conf
/sapi/fpm/php-fpm.service
/sapi/fpm/status.html
/sapi/fpm/www.conf

# ------------------------------------------------------------------------------
# Executable binaries and scripts generated during the build process
# ------------------------------------------------------------------------------
/ext/phar/phar.phar
/ext/phar/phar.php
/pear/install-pear-nozlib.phar
/sapi/cgi/php-cgi
/sapi/fpm/php-fpm
/sapi/phpdbg/phpdbg
/scripts/php-config
/scripts/phpize
php

# ------------------------------------------------------------------------------
# Lexer files generated by re2c
# ------------------------------------------------------------------------------
/ext/json/json_scanner.c
/ext/json/php_json_scanner_defs.h
/ext/pdo/pdo_sql_parser.c
/ext/phar/phar_path_check.c
/ext/standard/url_scanner_ex.c
/ext/standard/var_unserializer.c
/sapi/phpdbg/phpdbg_lexer.c
/Zend/zend_ini_scanner.c
/Zend/zend_ini_scanner_defs.h
/Zend/zend_language_scanner.c
/Zend/zend_language_scanner_defs.h

# ------------------------------------------------------------------------------
# PHP parser files generated by bison during the build process
# ------------------------------------------------------------------------------
/ext/json/json_parser.tab.h
/ext/json/json_parser.tab.c
/sapi/phpdbg/phpdbg_parser.c
/sapi/phpdbg/phpdbg_parser.h
/sapi/phpdbg/phpdbg_parser.output
/Zend/zend_ini_parser.c
/Zend/zend_ini_parser.h
/Zend/zend_ini_parser.output
/Zend/zend_language_parser.c
/Zend/zend_language_parser.h
/Zend/zend_language_parser.output

# ------------------------------------------------------------------------------
# Extensions files
# ------------------------------------------------------------------------------

# Miscellaneous extensions files
/ext/opcache/jit/zend_jit_x86.c
/ext/opcache/minilua

# Generated by `cd ext/name && phpize && ./configure`
/ext/*/build/
/ext/*/configure.ac
/ext/*/run-tests.php

# ------------------------------------------------------------------------------
# Generated by Windows build system
# ------------------------------------------------------------------------------

# Generated by `/buildconf.bat`
/configure.bat
/configure.js

# Generated by `/configure.(bat|js)` (architecture dependent)
/config.nice.bat

# NTS debug build x86
/Debug/

# ZTS debug build x86
/Debug_TS/

# NTS build x86
/Release/

# ZTS build x86
/Release_TS/

# Generated by x64 compiler, includes Debug, Debug_TS, Release, Release_TS
/x64/

# Miscellaneous files generated by Windows build system
/main/config.w32.h
/win32/build/deplister.exe
/win32/build/deplister.obj
/win32/*.aps
/win32/*.positions
/win32/*.suo
/win32/ext
/win32/syslog.reg
/win32/wsyslog.h

# Standard object files generated by Visual Studio
*.obj

# ------------------------------------------------------------------------------
# Tests
# ------------------------------------------------------------------------------

# Generated by `./run-tests.php` upon failure
**/tests/**/*.diff
**/tests/**/*.out*
**/tests/**/*.php
**/tests/**/*.exp
**/tests/**/*.log
**/tests/**/*.sh

# Generated by some test cases
**/tests/**/*.db

# Microsoft Access database created for passing to tests
/ext/pdo_odbc/tests/*.mdb

# Files generated by `./run-tests.php -m` when checking for memory leaks
**/tests/**/*.mem

# Test results generated by `./run-tests.php`
php_test_results_*.txt

# Temporary test information generated by `./run-tests.php`
/run-test-info.php

# Temporary POST data placeholder files generated by `./run-tests.php`
phpt.*

# Temporary PHP INI configuration file(s) for tests, generated by `make test`
tmp-php.ini

# ------------------------------------------------------------------------------
# Generated by GCC's gcov and LCOV via build/Makefile.gcov and gcov.php.net
# ------------------------------------------------------------------------------
*.gcda
*.gcno
/gcovr.xml
/gcovr_html/
/lcov_html/
/php_lcov.info

# ------------------------------------------------------------------------------
# Archives generated during the PHP release process
# ------------------------------------------------------------------------------
/*.tar.gz
/*.tar.bz2
/*.tar.xz
/*.tar.gz.asc
/*.tar.bz2.asc
/*.tar.xz.asc

# ------------------------------------------------------------------------------
# Generated by `./configure --enable-dtrace` for using DTrace framework
# ------------------------------------------------------------------------------
/ext/oci8/oci8_dtrace_gen.h
/ext/oci8/oci8_dtrace_gen.h.bak
/Zend/zend_dtrace_gen.h
/Zend/zend_dtrace_gen.h.bak

# ------------------------------------------------------------------------------
# GitHub actions cache
# ------------------------------------------------------------------------------
/branch-commit-cache.json

# ------------------------------------------------------------------------------
# Special cases to invert previous ignore patterns
# ------------------------------------------------------------------------------
!/ext/bcmath/libbcmath/src/config.h
!/ext/fileinfo/libmagic/config.h
!/ext/fileinfo/libmagic.patch
!/ext/fileinfo/magicdata.patch
!/ext/pcre/pcre2lib/config.h
!/win32/build/Makefile
