summaryrefslogtreecommitdiff
path: root/.gitignore
Commit message (Collapse)AuthorAgeFilesLines
* Add dependency tracking for header filesFlorian Sowade2021-02-161-0/+3
| | | | | | | This ensures all .c files which include a header file directly or indirectly are rebuilt whenever the header file is changed. Closes GH-6693.
* Remove more leftovers of PHP_DEFINE handlingNikita Popov2020-08-071-10/+0
|
* Move gen_stub.php to build directory and install it so phpize can take care ↵Remi Collet2020-04-031-2/+2
| | | | of it, and thus extension can use it as it is already in Makefile
* Fix #78880: Final spelling fixesMáté Kocsis2020-01-161-1/+1
|
* Fix #78880: Yet another batch of spelling errorsMáté Kocsis2020-01-161-1/+1
|
* Replace fakemail with minimal PHP scriptChristoph M. Becker2020-01-091-2/+0
|
* Unify mail related tests for *nix and WindowsChristoph M. Becker2020-01-091-0/+2
| | | | | | | | | | | | | | | | | | | | | Currently mail related tests are split for *nix and Windows (if there are even Windows versions). The basic difference is that the *nix variants set the INI directive sendmail_path to just write the email to disk, while the Windows tests use ext/imap. The latter tests are way more verbose, and such duplicated tests are generally a pain point. Furthermore, the Windows tests are much slower, and could not be run without ext/imap being available. We therefore introduce a small fakemail application, which basically works like `tee <path> >/dev/null`, and which will be shipped with the Windows tests packs. fakemail.exe would also need to be added to the PHP binary SDK, so these tests could be run during developments. To cater to the remaining differences, we also introduce support for `{MAIL:<path>}` placeholders in the INI sections to run-tests.php. How to use this can be seen in mail_basic.phpt, which is currently the only modified test case, because these tests are yet supposed to fail on Windows, due to the missing fakemail.exe in the PHP SDK.
* Fix consistency issues with array accesses warnings/exceptionsMáté Kocsis2019-11-061-0/+3
| | | | | | | | | | | | * Change a number of "resource used as offset" notices to warnings, which were previously missed. * Throw the "resource used as offset" warning for isset() as well. * Make array_key_exists() behavior with regard to different key types consistent with isset() and normal array accesses. All key types now use the usual coercions and array/object keys throw TypeError. Closes GH-4887.
* Fix bug #78681 by renaming libphp8.so to libphp.soNikita Popov2019-10-291-1/+1
| | | | The major version number is no longer included.
* Merge branch 'PHP-7.4'Nikita Popov2019-10-111-0/+2
|\
| * Azure: Publish code coverage resultsGerard Roche2019-10-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add an Azure Publish Code Coverage Results task * Add `make gcovr-html` to generate a gcovr test coverage report in HTML * Add `make gcovr-xml` to generate a gcovr test coverage report in XML * Remove `test` target dependency from `make lcov-html`; Run the two targets together instead: `make test lcov-html`. Re: https://github.com/php/php-src/pull/4739#issuecomment-534911441 See: https://externals.io/message/107113, https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops, and https://github.com/php/php-src/pull/4759.
* | Merge branch 'PHP-7.4'Nikita Popov2019-09-251-1/+0
|\ \ | |/
| * Fix GCOV not working for PHP-7.4 and master branchesGerard Roche2019-09-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code coverage reports (`make lcov`), since commit eef8522 (7.4 branch), generates incorrect coverage and emits warnings. Simplifying the Makefile.gcov file has the side-effect of resolving the issue. Processing sapi/cli/php_http_parser.gcda php-src/lcov_data/sapi/cli/php_http_parser.gcda:stamp mismatch with notes file geninfo: WARNING: gcov did not create any files for php-src/lcov_data/sapi/cli/php_http_parser.gcda! ... Processing ext/mbstring/mb_gpc.gcda php-src/lcov_data/ext/mbstring/mb_gpc.gcda:stamp mismatch with notes file geninfo: WARNING: gcov did not create any files for php-src/lcov_data/ext/mbstring/mb_gpc.gcda! Closes: https://bugs.php.net/bug.php?id=52718. See also: https://bugs.php.net/bug.php?id=78288.
* | Generate arginfo from PHP stub filesNikita Popov2019-08-091-0/+3
| | | | | | | | | | | | | | | | | | | | Signature stubs for internal functions are specified in xyz.stub.php, from which we generate actual arginfo structures in xyz_arginfo.h. This file then needs to be included in the implementation appropriately. Arginfo from stubs can be regenerated using scripts/dev/gen_stub.php. However, this should also automatically happen when the stub file is modified.
* | Merge branch 'PHP-7.4'Christoph M. Becker2019-07-181-0/+1
|\ \ | |/ | | | | | | * PHP-7.4: Use regedit to register event source
| * Use regedit to register event sourceChristoph M. Becker2019-07-181-0/+1
| | | | | | | | | | | | | | ext/win32std is unmaintained for years, so it is highly unlikely that it is available. We therefore use regedit instead to register the event source. We also remove the bundled syslog.reg, since it is of no use, unless generated for the respective installation.
* | Merge branch 'PHP-7.4'Peter Kokot2019-07-151-1/+0
|\ \ | |/ | | | | | | * PHP-7.4: Remove some *.dsp/*.dsw leftovers
| * Remove some *.dsp/*.dsw leftoversPeter Kokot2019-07-151-1/+0
| | | | | | | | | | | | Usage of this was removed via 4b3e19802385c5874eefd3ba4565f2efbc55dc96 Closes GH-4408
* | Merge branch 'PHP-7.4'Peter Kokot2019-05-181-1/+3
|\ \ | |/ | | | | | | * PHP-7.4: Enhance makedist script
| * Enhance makedist scriptPeter Kokot2019-05-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | This enhances the makidst script: - integrate both snapshot and makedist scripts together - add help and options - generated files are created in the php-src repository directly - other minor enhancemenets such as CS fixes - functionality moved from the Makefile to only shell script - Add missed patching of the Zend Parsers to the main build step - Add all *.tmp files to gitignore
* | Merge branch 'PHP-7.4'Peter Kokot2019-04-291-1/+0
|\ \ | |/ | | | | | | * PHP-7.4: Remove TSRM configuration header
| * Remove TSRM configuration headerPeter Kokot2019-04-291-1/+0
| | | | | | | | | | | | TSRM configuration header file was once created by separate autoconf build system for TSRM and is with the current code not directly needed like this anymore.
* | Merge branch 'PHP-7.4'Peter Kokot2019-04-291-4/+1
|\ \ | |/ | | | | | | * PHP-7.4: Simplify checking of *nix build tools
| * Simplify checking of *nix build toolsPeter Kokot2019-04-291-4/+1
| | | | | | | | | | | | | | | | | | The buildmk.stamp file has been created by the *nix build checking step to run the check step only once. Instead of poluting the project root directory, the stamp file can be also omitted. Performance difference is very minimal to not justify having the stamp check at all today anymore. This patch integrates the buildcheck.sh to buildconf script directly.
* | Merge branch 'PHP-7.4'Peter Kokot2019-04-231-4/+0
|\ \ | |/ | | | | | | * PHP-7.4: Move acinclude.m4 to build/php.m4
| * Move acinclude.m4 to build/php.m4Peter Kokot2019-04-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The acinclude.m4 file is in a usual Autotools build processed with Automake's aclocal tool. Since PHP currently doesn't use Automake and aclocal this file can be moved into the build directory. PHP build system currently generates a combined aclocal.m4 file that Autoconf can processes automatically. However, a newer practice is writing all local macros in separate dedicated files prefixed with package name, in PHP's case PHP_MACRO_NAME and putting them in a common `m4` directory. PHP uses currently `build` directory for this purpose. Name `php.m4` probably most resembles such file for PHP's case. PHP manually created the aclocal.m4 file from acinclude.m4 and build/libtool.m4. Which is also not a particularly good practice [1], so this patch also removes the generated alocal.m4 usage and uses m4_include() calls manually in the configure.ac and phpize.m4 files manually. - sort order is not important but can be alphabetical - list of *.m4 files prerequisites for configure script generation updated - Moving m4_include() before AC_INIT also removes all comments starting with hash character (`#`) in the included files. [1] https://autotools.io/autoconf/macros.html
* | Merge branch 'PHP-7.4'Peter Kokot2019-04-161-3/+0
|\ \ | |/ | | | | | | * PHP-7.4: Simplify generated_lists generation
| * Simplify generated_lists generationPeter Kokot2019-04-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The `generated_lists` file is generated as a helper for build related Makefile to include a list of *.m4 files prerequisites. When some of these *.m4 files change, the configure script is regenerated when buildconf is run. This can be simplified using dynamic environment variable passed to the Makefile directly so it avoids another file from being generated in the project root directory and shipping it with the PHP release or creating a dedicated gitignore rule. This is portable across all POSIX compatible makes So this patch includes GNU Make, and everybody elses' make derivative support.
* | Merge branch 'PHP-7.4'Peter Kokot2019-04-151-4/+0
|\ \ | |/ | | | | | | * PHP-7.4: Remove not needed extension generated files gitignores
| * Remove not needed extension generated files gitignoresPeter Kokot2019-04-151-4/+0
| | | | | | | | | | | | These were refactored and moved to build directory via: 2957651c5c2a003e96318fc9217764b91266723a and 7e445ef3b1a197dccbc92f35cb66988b66671841
* | [ci skip] Ignore Opcache Jit generated filesPeter Kokot2019-04-081-1/+7
|/
* Remove php7.spec.in filePeter Kokot2019-03-281-3/+0
| | | | | | | | | RPM specification file was introduced via 7c2f1384d45876bbdef255c4a57301e6406f6964 for PHP to include official RPM packages long time agon. With removal of the makerpm script via 3d51d4c90c77a30a7b88aae7184dcce4b6e26b07 and Linux repositories to manage such updated and customized info in their repositories this file is most likely not needed anymore.
* Move Makefile.global and Makefile.gcov to build directoryPeter Kokot2019-03-041-1/+1
| | | | | These files can be stored in the build directory instead of bloating the project root directory.
* Remove mkinstalldirs, install-sh and missingPeter Kokot2019-03-041-5/+0
| | | | | | | These scripts are part of Automake [1] and are in current *nix build system not used anymore nor empty files need to be created. [1] https://www.gnu.org/software/automake/manual/html_node/Auxiliary-Programs.html
* [ci skip] Remove oniguruma and libzip leftoversPeter Kokot2019-03-041-2/+0
| | | | Oniguruma and libzip are unbundled from php-src.
* Remove lexer files generated by RE2CPeter Kokot2018-11-111-0/+15
| | | | | | | | | | | | | | | | This patch removes generated lexer files by re2c during the build process so they are not tracked by Git yet can be still shipped when PHP is released. The genfiles script additionally provides generation of these lexer files when creating a release of the PHP source code. The genfiles script refactorings: - added file header - echoing steps instead of comments - cleaning only lines starting with `#line` - eval removed in favor of direct executed commands - the debug mode `set -x` removed - script can be called from any path - improved comments
* Remove ext/json parser files generated by bisonPeter Kokot2018-10-241-0/+2
| | | | | | | | | | | The parser files for ext/json are generated by bison from the *.y file. Parser files in Zend and sapi/phpdbg already follow such approach of these files being ignored from tracking in the Git repository and they are shipped via the release packages later on. This way the end users still don't need to have bison dependency installed to install PHP. The genfiles script was refactored to generate the ext/json parser and lexer files.
* Normalize .gitignorePeter Kokot2018-10-241-154/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - Added introductory paragraph to explain the file for newcomers and where to ignore local editor configurations as a common practice when using Git. - Patterns organized into several main context sections for a better overview of the php-src directory structure and which files get generated where. - Added comments describing reasons for ignoring particular file(s). - Patterns normalized according to Git ignore blob patterns. Absolute paths are different than relative paths and similar fixes. - Folders patterns have appended ending slash for readability to distinguish them from files. Removed ignore patterns: - Removed `sapi/phpdbg/build` pattern since it doesn't seem to be relevant anymore in the php-src repository. - The `acconfig.h` pattern removed in favor of the more recent Autoconf versions. - Removed patterns for `.FBCIndex` `.FBCLockFolder` folders. These were generated on old Mac OS systems [1] using the Sherlock [2] software and can be today ignored using a global gitignore file if needed. Newer macOS systems don't generate these anymore. - Removed `php_version.h` pattern since the `main/php_version.h` file is tracked by Git. - Removed `*.mk` pattern since few *.mk files are tracked by Git and new ones aren't generated during build process. - Removed `**/tests/**/*.txt` pattern. This has been refactored via 595a395cb911a4ef54cbaf11cd0056d38316c87c and current tests also clean the generated `*.txt` files as soon as they are executed. Since there are several `*.txt` files in the repository tracked by Git already and renaming them would be counter productive so the pattern is now removed. In case there will be a need to adjust it, we can rename the generated `*.txt` into something else instead (ideally into `*.tmp`) to not conflict with already tracked `*.txt` files in tests. - Removed `ext/*/scan_makefile_in.awk` and `scan_makefile_in.awk` patterns since these are already included in the `/ext/*/build/` pattern. - Removed the `/ext/*/libs.mk` pattern since these auxilary Makefiles have been used in previous build system and made obsolete via the commit 9d9d39a0de3bec962c343051011f5a2ed7d7b242. - Removed pattern for configuration header `ext/pdo_sqlite/sqlite3.h` since it is not generated anymore in the current code. - Removed `main/streams/build-defs.h` pattern since this file is not generated. - Removed `test.php3` pattern. These don't seem to be present in the current PHP source code nor used since PHP 3. - Removed `/ext/oci8/tests/*.vglog` pattern since the tests don't seem to produce these files. - Removed pattern for Visual Studio's `*.ncb` files. Since the Visual Studio 2010 they are no longer used. - Removed `ext/sqlite3/tests/phpsql*` pattern. It was part of the `ext/sqlite/tests`. - Removed `shlibtool` pattern since the shlibtool file is not generated anymore. It was once part of the libtool usage and customized naming used in the previous build system in Makefiles. Such naming was later removed and only libtool was used. - Removed `meta_ccld` pattern since it is no longer relevant via a5b55416f4bf48e475b30bb86b120c83efccca53 - Pattern `meta_cc` has been removed via e5176fe60a9ffbe211ee016acdcddb18118e4487. - Pattern `dynlib.m4` removed since the file is no longer generated via 9d9d39a0de3bec962c343051011f5a2ed7d7b242 - Pattern `debug.log` removed since the Autoconf Macro PHP_DEBUG_MACRO is not called anymore and this file not generated anymore. - Pattern `results.txt` removed. It was once part of the logging results of test files by Netware and previous Windows builds. - Removed `_libs` pattern in favor of only `.libs`. These directories were once generated by Automake and Libtool on systems that didn't support the dot folder `.libs` (MS-DOS). - Removed `*.opt` pattern since it was used by Visual Studio 6. Later versions of Visual Studio don't use these anymore. - Removed `*.plg` pattern. It was build log generated by Visual Studio 6. - Removed `core` pattern since it was probably related to commit fd7153b0f3047e6a96344dc3b4ca2632d5acc898 and is today not used. - Removed ˙*.˙, ˙diff`, and ˙*.tgz` patterns since they don't seem to be generated in the current code on the first glance. In case these will be one day required to ignore again, they can be simply added back again. - Removed Emacs specific interlock files pattern `.#*`. The number of editors and IDEs specific files is very big. Emacs editors also produce some other files such as `#*#` for autosave feature, which were previously not ignored. To fully and properly support all additional patterns these could be added to .gitignore files. A much more sustainable and better practice is to use a global gitignore file on the local system or the `.git/info/exclude` per repository basis for these in particular. Added patterns: - Added new pattern for `*.obj` standard object files in the Windows section. These are generated by Visual Studio. - Added `/ext/*/run-tests.php` patterns for extensions. - Reversed patterns for particular tracked `/win32/build/Makefile`, `config.h` files and `.patch` files. - Added patterns for generated dtrace files `/ext/oci8/oci8_dtrace_gen.h` Other changes: - All `conftest*` patterns merged into a single one. - Pattern `*.mem` made more specific where the memory check files get generated by `run-tests.php -m`, i.e. `**/tests/**/*.mem`. - Fixed `/Zend/zend_dtrace_gen.h.bak` `hbak` typo. [1] http://www.westwind.com/reference/OS-X/invisibles.html [2] https://en.wikipedia.org/wiki/Sherlock_(software)
* Remove mkdep.awkPeter Kokot2018-10-201-1/+0
| | | | | | | | | | | | | | The `mkdep.awk` file was part of the previous *nix build system and was used to create a .deps file with a list of dependencies that could be processed by Automake further on. Newer build system was done via 9d9d39a0de3bec962c343051011f5a2ed7d7b242 and outdated files removed via 22815419f8c5da902971d3aa12f2cbfcc3b41aff so the current file in the PHP source code is not used anymore. Additionally, the *.slo files were processed by this file. The *.slo files also used to be generated by older libtool so today, these don't get generated anymore.
* Merge branch 'PHP-7.3'Peter Kokot2018-10-191-1/+0
|\ | | | | | | | | | | | | | | * PHP-7.3: [ci skip] Update NEWS [ci skip] Update NEWS [ci skip] Update NEWS Fix #77035: The phpize and ./configure create redundant .deps file
| * Merge branch 'PHP-7.2' into PHP-7.3Peter Kokot2018-10-191-1/+0
| |\ | | | | | | | | | | | | | | | | | | * PHP-7.2: [ci skip] Update NEWS [ci skip] Update NEWS Fix #77035: The phpize and ./configure create redundant .deps file
| | * Merge branch 'PHP-7.1' into PHP-7.2Peter Kokot2018-10-191-1/+0
| | |\ | | | | | | | | | | | | | | | | | | | | * PHP-7.1: [ci skip] Update NEWS Fix #77035: The phpize and ./configure create redundant .deps file
| | | * Fix #77035: The phpize and ./configure create redundant .deps filePeter Kokot2018-10-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `.deps` file(s) was once used by Automake and created to write dependencies to it. The file creation has been removed via the commit 779c11af21cf8a627b8f2f2edef9e9073c76ed94. The phpize and ./configure script create a redundant .deps file in a PECL extension directory which might cause confusions why is it used. Today it is no longer relevant so this redundant artefact can be removed in the phpize configure script.
| | * | Sync leading and final newlines in source code filesPeter Kokot2018-10-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | | | Remove outdated PEAR artefactsPeter Kokot2018-10-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `pear/scripts`, `pear/php-config`, `pear/phpize`, and `pear/run-tests` used to be part of the PEAR installation. Now, the pear installation PHAR file is directly downloaded from pear.php.net instead.
* | | | Remove stamp-hPeter Kokot2018-10-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stamp-* files can be used as helpers for Makefiles to not redo certain targets again. The stamp-h are mentioned in the Autoconf docs [1] to help generate the config.h file. Since the usage of stamp-h file was removed in 232afa4816c60a20d3db48c304ac59312d46ec46 this patch cleans few obsolete occurrences. This patch also removes two occurrences of `main/stamp-h1` and `main/streams/stamp-h1` rules in the .gitignore file since they are not generated with the current build systems anymore. The `stamp-h$am_indx` files were once generated using aclocal and automake. [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
* | | | Remove some obsolete config_vars.mk occurrencesPeter Kokot2018-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | The `config_vars.mk` file was a part of previous *nix build system and has been removed via 9d9d39a0de3bec962c343051011f5a2ed7d7b242.
* | | | Remove bsd_converted from .gitignorePeter Kokot2018-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `bsd_converted` file was once used as a temporary locking mechanism on BSD systems builds and has been made obsolete via commit 9d9d39a0de3bec962c343051011f5a2ed7d7b242 so it can be also removed from the main .gitignore file.
* | | | Remove configuration parser and scanners ignoresPeter Kokot2018-10-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The configuration-parser.c, configuration-parser.h, configuration-parser.output and configuration-scanner.c were refactored via 78194a47b7ad76aaea3bb8e91fa0f5707ae88d00 and can be removed in the .gitignore.
* | | | Remove obsolete buildconf.stamp from .gitignorePeter Kokot2018-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The buildconf.stamp file was used to store particular build time information in the past and then got removed via the 6c6c0a630c48190df5fa47567699760054748f9a and the migration usage of the build/build.mk file only.