Since we allow ext/xmlrpc to be built against a system libxmlrpc(-epi),
we must not `efree` memory which has been allocated via `malloc`. To
distinguish bundled and system libxmlrpc(-epi) we introduce the macro
`HAVE_XMLRPC_BUNDLED` (analogous to how it is done by ext/gd). We
deliberately keep the ugly `#ifdef`s, instead of tucking them away in
an `XMLRPC_FREE()` macro, to not forget that it is a bad idea to fork
and bundle a library, but to also allow building against an unpatched
system lib.
Peter Kokot [Sat, 6 Oct 2018 06:43:50 +0000 (08:43 +0200)]
Fix .gitattributes
The `crlf` Git attribute has been long deprecated and made obsolete. A
replacement for using `-crlf` is `-text`. That way Git doesn't do
newlines normalization on any system.
Since the phpt files don't need specific line endings in any files
except for some special CR characters in some, this can be also removed
and line normalization can happen on all phpt files. The run-tests.php
file converts the CRLF to LF before running the test.
This patch also sets a `diff` attributes for all *.phpt files. It
helps showing diffs for some phpt files with special characters such
as ASCII control characters which makes Git recognize them as binary and
stops showing commit diffs otherwise
Some additional short info about used Git attributes has been also added
as comments for easier understanding.
Peter Kokot [Fri, 19 Oct 2018 19:33:58 +0000 (21:33 +0200)]
Rename two *.php files in tests folders
Current run-tests.php script produces the `*.php` files from the
*.phpt. So all *.php files in tests folders are ignored by Git.
To avoid confusion and to for bettere consistency this patch renames
two remaining tests/*/*.php files to *.inc and *.phar as current
practice in *.phpt files.
- The `ext/curl/tests/resonder/get.php` to .inc extension
- The `ext/phar/tests/files/pear2coverage.phar.php` to .phar extension
Peter Kokot [Fri, 19 Oct 2018 08:00:16 +0000 (10:00 +0200)]
Remove mkdep.awk
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.
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.
Peter Kokot [Thu, 18 Oct 2018 22:02:09 +0000 (00:02 +0200)]
Fix #77035: The phpize and ./configure create redundant .deps file
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.
Peter Kokot [Thu, 18 Oct 2018 11:43:34 +0000 (13:43 +0200)]
Remove outdated PEAR artefacts
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.
Peter Kokot [Wed, 17 Oct 2018 04:06:50 +0000 (06:06 +0200)]
Remove stamp-h
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.
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.
Peter Kokot [Sun, 7 Oct 2018 02:31:59 +0000 (04:31 +0200)]
Move all testing docs to qa.php.net
The qa.php.net currently includes nice collection of information about
tests and how to run them. Instead of maintaining two locations of this
information, this patch removes the README.TESTING from the php-src
repo. Patch for qa.php.net has been sent separately to that repo.
This is especially noteworthy since `tidy_get_relase()` returns
'unknown' when built against libtidyp, which might break some code
which relies on `tidy_get_release()` to return a date formatted as
`yyyy/mm/dd`.
Fix #77027: tidy::getOptDoc() not available on Windows
We define the `HAVE_TIDYOPTGETDOC` macro unconditionally, since the
Windows PHP SDK ships libtidy 2009/04/06 or newer for a long time.
We do not add a regression test, since 021.phpt already tests
`tidy_get_opt_doc`, but has previously been skipped due to
unavailability of the function.
Nikita Popov [Wed, 17 Oct 2018 10:47:45 +0000 (12:47 +0200)]
Remove the "auto" encoding
"auto" is only meaningful in functions which accept an encoding
*list* and support encoding detection. These functions have
explicit checks for "auto". It cannot be used as a standalone
encoding in any meaningful capacity, so I'm dropping it entirely.
Nikita Popov [Wed, 17 Oct 2018 10:37:52 +0000 (12:37 +0200)]
Fixed bug #77025
Implements 8bit conversions equivalently to iso-8859-1 conversions.
This seems quite dubious to me, but seems to match the previous
behavior.
It might make more sense to map the characters into a private area
instead, so that the 8bit encoding is treated as binary data with
no case conversions (including no case conversions in the ascii
range).
Peter Kokot [Tue, 16 Oct 2018 20:33:04 +0000 (22:33 +0200)]
Remove unused variable makefile_am_files
The `makefile_am_files` was part of the previous build system where
automake was used to build Makefiles. Since 9d9d39a0de3bec962c343051011f5a2ed7d7b242
this is not used anymore and can be removed.
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
When `XML_OPTION_SKIP_TAGSTART` and `XML_OPTION_SKIP_WHITE` had been
introduced[1], it had been overlooked to also support them for
`xml_parser_get_option()`. We catch up on that.
Peter Kokot [Tue, 16 Oct 2018 15:30:13 +0000 (17:30 +0200)]
Remove bsd_converted from .gitignore
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.
Peter Kokot [Tue, 16 Oct 2018 15:20:18 +0000 (17:20 +0200)]
Remove configuration parser and scanners ignores
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.
Peter Kokot [Tue, 16 Oct 2018 11:33:07 +0000 (13:33 +0200)]
Remove obsolete buildconf.stamp from .gitignore
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.