summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
...
| * Remove some unused variablesPeter Kokot2019-07-081-4/+0
| | | | | | | | | | | | | | - Variables php_abs_top_srcdir php_abs_top_builddir are no longer used. - ZEND_EXT_TYPE is always zend_extension and variable is no longer used. Closes GH-4378
* | Merge branch 'PHP-7.4'Joe Watkins2019-06-291-0/+8
|\ \ | |/ | | | | | | * PHP-7.4: add ini config details to php-config
| * add ini config details to php-configJoe Watkins2019-06-291-0/+8
| |
* | Merge branch 'PHP-7.4'Peter Kokot2019-06-261-2/+2
|\ \ | |/ | | | | | | * PHP-7.4: Set Computer English language for credits sorting
| * Set Computer English language for credits sortingPeter Kokot2019-06-261-2/+2
| | | | | | | | | | This makes the script a bit more portable when used on systems with different LC_ALL and LANG settings.
* | Convert fetch_resource warnings into TypeErrorsNikita Popov2019-06-031-0/+1
|/ | | | | More type checks that are not part of zpp and should generate a TypeError in PHP 8.
* Enhance makedist scriptPeter Kokot2019-05-183-114/+160
| | | | | | | | | | | 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
* Normalize comments in *nix build system m4 filesPeter Kokot2019-05-121-13/+12
| | | | | | | | | Normalization include: - Use dnl for everything that can be ommitted when configure is built in favor of the shell comment character # which is visible in the output. - Line length normalized to 80 columns - Dots for most of the one line sentences - Macro definitions include similar pattern header comments now
* Remove vcsclean scriptPeter Kokot2019-05-081-7/+0
| | | | | | | The vcsclean script is really only a wrapper for a git clean command. Developers should use the more proper and clear native Git command directly instead: `git clean -Xfd`
* Remove phpextdistPeter Kokot2019-05-061-27/+0
| | | | | | | | This script hasn't been used since using PEAR as a package manager for PHP extensions since it is using Makefile.in as an indicator if the current directory is extension. Instead of this script extensions can be packaged differently and more properly with either current PEAR or with some other manual method.
* Always use pkg-config from the host architectureHugh McMaster2019-04-291-0/+1
|
* Simplify checking of *nix build toolsPeter Kokot2019-04-291-4/+0
| | | | | | | | | 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.
* Automatically remove aclocal.m4 if presentPeter Kokot2019-04-281-0/+4
| | | | | | | | | | | | | | | | | | | | Commit 4e7064d173d2b5b22e159fcf52d22b10213b67b8 removed the usage of `aclocal.m4`. When using Git repositories, many times cleaning of the generated files is not done prior to running phpize or buildconf. For example: git clone git://github.com/php/php-src cd php-src git checkout PHP-7.3 ./buildconf ./configure git checkout PHP-7.4 ./buildconf # -> warnings ./configure # -> errors To not accidentally include `aclocal.m4` file in the generated configure this enhances build system experience a bit more by removing aclocal.m4 file prior to start building configure file using phpize or buildconf.
* Move acinclude.m4 to build/php.m4Peter Kokot2019-04-233-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Disable PACKAGE_* preprocessor symbolsPeter Kokot2019-04-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf defines PACKAGE_* symbols: - PACKAGE_NAME - PACKAGE_VERSION - PACKAGE_TARNAME - PACKAGE_STRING - PACKAGE_BUGREPORT - PACKAGE_URL and appends them to the generated config.h.in files. With AC_INIT change via afd52f9d9986d92dd0c63832a07ab1a16bf11d53 where package version, URL, bug report location and similar meta data are defined, these preprocessor macros are then non empty strings in the generated configuration header file. When using phpize, PHP shares the config files in extensions, warnings of redefined macros appear, such as: - `warning: 'PACKAGE_NAME' macro redefined` This patch now disables these non utilized symbols in the generated config header files. Better practice would be to include only API specific headers where needed but this would require even more refactorings. Some extensions such as pcre, pgsql, and pdo_pgsql solve this issue by undefining some of these symbols before including the library configuration headers in the code also. Because these symbols can be defined by any library which uses Autotools. Additionally, the unused PACKAGE_* symbols were cleaned for the bundled libmbfl library and with this patch not needed undef code removed.
* Refactor AC_INIT in configure.ac and PHP versionsPeter Kokot2019-04-071-1/+2
| | | | | | | | | Since Autoconf 2.53 the AC_INIT call with only a single argument has been made obsolete and now includes several other optional arguments to make installation experience a bit better by providing program version and links to the project in the `./configure -h` output. This patch also updates win build version. The phpize.m4 AC_INIT has been updated with the call without arguments.
* 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