summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Refactor PHP_PROG_BISON and PHP_PROG_RE2CPeter Kokot2019-03-303-56/+96
| | | | | | | | | | | | | | | | | This patch refactors these macros to also checks for the required given versions of bison and re2c. - PHP_PROG_RE2C and PHP_PROG_BISON take optional args - minmimum version required, and bison also excluded versions. - Instead of caching values this uses manual checking and messaging outputs. - It looks like the minimum version of RE2C 0.13.4 is working ok so far. The genfiles script improvements: - Add make override in genfiles - Move checkings from makedist to genfiles - Refactored output messages - Various minor enhancements
* Upgrade deprecated directives and use non-posix bisonPeter Kokot2019-03-191-1/+1
| | | | | | | | | | With Bison 3.0 some directives are deprecated: - %name-prefix "x" should be %define api.prefix {x} - %error-verbose should be %define parse.error verbose Bison 3.3 also started emiting more warnings and since PHP souce parsers are not POSIX compliant this patch fixes this as pointed out via 495a46aa1dc564656bf919cb49aae48a31ae15f4.
* Leave bundled generated files untouchedPeter Kokot2019-03-182-14/+0
| | | | | | When building lexer and parser files leave bundled files untouched as are tracked in the Git. *.orig files also don't need to be cleaned anymore.
* Move distribution generator script to scripts/devPeter Kokot2019-03-162-0/+258
| | | | | | | | | | | The more proper place for shell scripts dedicated for development, and releasing PHP should be the scripts/dev directory. Having a cleaner root project directory helps find the main README.md and files relevant to install PHP. These scripts are also used by the release managers mostly who create release packages and aren't used often by the majority of developers working on and installing PHP.
* Make credits script executable from other pathsPeter Kokot2019-03-161-0/+6
|
* Add AS_HELP_STRING to *nix build configure optionsPeter Kokot2019-03-071-4/+11
| | | | | | | | The Autoconf's default AS_HELP_STRING macro can properly format help strings [1] so watching out if columns are aligned manually is not anymore. [1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
* Move Makefile.global and Makefile.gcov to build directoryPeter Kokot2019-03-042-3/+3
| | | | | 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-4/+2
| | | | | | | 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
* Remove AC_PROG_CC_C_OPeter Kokot2019-03-031-1/+0
| | | | | | The AC_PROG_CC_C_O macro checks if compiler can use both -c and -o options together and if not it defines the NO_MINUS_C_MINUS_O symbol. It is not used in current codebase and therefore removed.
* Remove deprecated PHP_EXTENSION m4 macroPeter Kokot2019-02-272-2/+1
| | | | | | | | | | | The PHP_EXTENSION macro was used before the introduction of the updated build system in the 9d9d39a0de3bec962c343051011f5a2ed7d7b242. The extensions at that time possibly still used the Makefile.in and Automake and the PHP_EXTENSION macro has been replaced with the PHP_NEW_EXTENSION macro. Today, the once deprecated macro can be removed in favor of only PHP_NEW_EXTENSION macro.
* Support passing single file to bless_tests.phpNikita Popov2019-02-201-8/+21
| | | | Or a mix of multiple directories/files. Also make the file executable.
* Handle exception patterns in bless_tests.phpNikita Popov2019-02-181-1/+3
|
* Move some scripts from root directory to scripts/dev/Peter Kokot2019-02-162-0/+14
| | | | | | | | At the time of this commit, there is a dedicated folder for development related tools and such scripts might fit better there to not bloat the project root directory too much. Move snapshot to scripts/dev/snapshot
* Add bless_tests.phpNikita Popov2019-02-111-0/+49
| | | | Helper script to perform certain kinds of trivial test updates.
* Update and fix remaining year ranges (2019)Peter Kokot2019-02-082-4/+4
| | | | | | This patch follows previous license year ranges updates. With new approach source code files now have simplified headers with license information without year ranges.
* Remove yearly range from copyright noticeZeev Suraski2019-01-302-2/+2
|
* Avoid mention of php7 in credits scriptNikita Popov2019-01-281-3/+3
|
* Set AC_CONFIG_AUX_DIR to build directoryPeter Kokot2018-12-103-7/+8
| | | | | | | | | | | | | | | | The Autoconf macro AC_CONFIG_AUX_DIR can set the location of the auxiliary build tools such as config.guess, config.sub, and bundled libtool scripts and moves these bundled files from the root directory to the build subdirectory. Additionally some changes in this context or as a part of obsoletion: - The LT_TARGETS variable in build/build2.mk file was once used as a part of the Automake step. It's not used anymore and has been refactored to separate makedist script directly. - ltconfig is not used anymore since libtool 1.4+ cf8d1563c27a70fdd24055c1e80218ec7b5962d6 - phpize file locations for the config.guess, config.sub, and ltmain.sh has been refactored accordingly.
* ext/gd: Use pkg-config to detect the availability of freetype2Eli Schwartz2018-11-072-1/+2
| | | | | | | | | | The latest version of freetype2 does not install freetype-config by default, but pkg-config support has been there for approximately 15 years. In order to reliably detect freetype2, pkg-config *must* be used. See: https://savannah.nongnu.org/bugs/?53093 https://bugs.php.net/bug.php?id=76324
* Remove mkdep.awkPeter Kokot2018-10-202-2/+1
| | | | | | | | | | | | | | 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-192-2/+1
|\ | | | | | | | | | | | | | | * 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-192-2/+1
| |\ | | | | | | | | | | | | | | | | | | * 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-192-2/+1
| | |\ | | | | | | | | | | | | | | | | | | | | * 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-192-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1467-74/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * Trim trailing whitespace in source code filesPeter Kokot2018-10-1350-228/+228
| | | |
| | * | Sync leading and final newlines in source code filesPeter Kokot2018-10-1467-74/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Trim trailing whitespace in source code filesPeter Kokot2018-10-1350-228/+228
| | | |
| * | | Sync leading and final newlines in source code filesPeter Kokot2018-10-143-3/+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
| * | | Trim trailing whitespace in source code filesPeter Kokot2018-10-134-17/+17
| | | |
* | | | Remove some obsolete config_vars.mk occurrencesPeter Kokot2018-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | The `config_vars.mk` file was a part of previous *nix build system and has been removed via 9d9d39a0de3bec962c343051011f5a2ed7d7b242.
* | | | Sync leading and final newlines in source code filesPeter Kokot2018-10-143-3/+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
* | | | Trim trailing whitespace in source code filesPeter Kokot2018-10-134-17/+17
| | | |
* | | | Modernize the AC_PRESERVE_HELP_ORDER macro callPeter Kokot2018-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Autoconf AC_PRESERVE_HELP_ORDER macro has been available since Autoconf 2.59c [1] and in PHP it has been called conditionally on two places to support older Autoconf versions. With recent updates and the macro can be called unconditionally. [1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
* | | | Merge branch 'PHP-7.3'Peter Kokot2018-10-091-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * PHP-7.3: [ci skip] Update UPGRADING about Autoconf version Bump minimum Autoconf requirement to 2.68
| * | | Bump minimum Autoconf requirement to 2.68Peter Kokot2018-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch syncs and bumps the minimum required version of Autoconf for the `phpize.m4` script and the main `configure.ac` from previously mixed 2.64 and 2.59 to 2.68. At the time of this writing Autoconf 2.63 is still the version on Centos 6, however by the PHP 7.3 release current systems out there should all have pretty much updated Autoconf versions to 2.64+ at least. Centos 7 already has Autoconf 2.69, for example. This provides more options to update and get current with the *nix build system and also avoids broken builds in certain cases as pointed out in the relevant discussion [1]. Additionally, phpize also already provides the `AX_CHECK_COMPILE_FLAG` Autoconf Archive m4 file that has Autoconf 2.64 minimum requirement. Autoconf 2.68 was released in 2010, 8 years ago, relative to this patch. [1] https://github.com/php/php-src/pull/3562
* | | | Add missing packaging entriesAnatol Belski2018-10-082-1/+2
| | | |
* | | | Make PHP development tools files and scripts executablePeter Kokot2018-08-293-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes several scripts and PHP development tools files executable and adds more proper shebangs to the PHP scripts. The `#!/usr/bin/env php` shebang provides running the script via `./script.php` and uses env to find PHP script location on the system. At the same time it still provides running the script with a user defined PHP location using `php script.php`.
* | | | Merge branch 'PHP-7.3'Christoph M. Becker2018-08-251-0/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.3: Remove some old parts of the php
| * | | Remove some old parts of the phpPeter Kokot2018-08-251-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | Since ba138a3746b3077ebe5b7356b5b49f21cfc30438 the generate-phpt library has been unbundled from the php-src. This patch cleans two remaining parts.
* | | | Fix some misspellingsGabriel Caruso2018-08-121-1/+1
|/ / /
* | | Upgrade deprecated AC_OUTPUT macro callsPeter Kokot2018-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf 2.50 made several changes to macro calls. These include also arguments passed to AC_OUTPUT macro. The upgrading chapter in Autoconf documentation include an example of using AC_OUTPUT with AC_CONFIG_FILES and AC_CONFIG_COMMANDS: - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html PHP 5.4 to 7.1 require Autoconf 2.59+, PHP 7.2+ require Autoconf 2.64+, and PHP 7.2 phpize script requires Autoconf 2.59+ which are all greater than above mentioned 2.50 version. Systems out there should well support this by now. This patch was created with the help of autoupdate script: autoupdate <file> More info on where exactly this got deprecated: - ftp://ftp.gnu.org/old-gnu/Manuals/autoconf-2.13/html_mono/autoconf.html - ftp://ftp.auckland.ac.nz/pub/gnu/Manuals/autoconf-2.52/html_chapter/autoconf_15.html - http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
* | | Trim trailing whitespaces in build filesPeter Kokot2018-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Some editors utilizing .editorconfig automatically trim whitespaces. For convenience this patch removes whitespaces in certain build files: - ext/*/config*.m4 - configure.ac - acinclude.m4
* | | Remove unused Git attributes identPeter Kokot2018-07-251-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* | | Removed the generated-tests library, this is a left Zöe's phpruntests ↵Kalle Sommer Nielsen2018-07-2377-2827/+0
| | | | | | | | | | | | | | | | | | repository it seems and never fully implemented. The only times this part of the code has been touched throughout the years has been minor PRs and entire php-src grep commits. If anything this belongs to the phpruntests.git repository.
* | | Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERSPeter Kokot2018-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf doesn't mention the AC_CONFIG_HEADER macro since the v2.13 released in 1999 anywhere in the documentation. Future of this macro is unclear and commented as possible candidate for obsoletion in the autoconf source code. Since it is just a wrapper around the main AC_CONFIG_HEADERS macro, the functionality is the same, and also more clear to find it in the autoconf documentation and avoid possible future obsoletion.
* | | [ci skip] Remove trailing WSChristoph M. Becker2018-06-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Since commit 2238403 removed respective trailing WS in files generated by this script, we remove the trailing WS in the first place, to avoid further mundane merge conflicts. [1] http://git.php.net/?p=php-src.git;a=commit;h=2238403892ccf87143a59814538d9f764509d9e7
* | | Fix some misspellingsGabriel Caruso2018-02-061-1/+1
| | |
* | | Simplify returns in generate-phptGabriel Caruso2018-01-266-43/+17
| | |
* | | Fixed build extension by phpizeXinchen Hui2018-01-172-1/+2
|/ /