1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00

30 Commits

Author SHA1 Message Date
Kévin Dunglas
74a455fb11 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  fix GH-8533: dynamic libphp linking on Mac
2025-03-12 08:58:54 +01:00
Kévin Dunglas
009b5e2bfd fix GH-8533: dynamic libphp linking on Mac
Pass the -dynamiclib flag to libtool to build
a valid Mac dylib.

Closes GH-8533.
2025-03-12 07:40:02 +01:00
Peter Kokot
794ba29a57 Autotools: Fix PHP_EMBED_TYPE variable substitution (#15414)
This is a follow-up of f6dcca00bc as
Autoconf always seems to do a variable substitution, even when called
conditionally. When passing argument other than shared or static to
--enable-embed=ARGUMENT this now puts an empty string inside generated
php-config script.
2024-08-15 11:42:47 +02:00
Peter Kokot
f6dcca00bc Autotools: Substitute PHP_EMBED_TYPE conditionally (#15396)
If passing wrong argument at --enable-embed=ARGUMENT the AC_SUBST don't
need to be used for it in php-config.
2024-08-14 16:40:10 +02:00
Peter Kokot
6f44a0d7fe Autotools: Use AS_* macros in embed SAPI (#15387) 2024-08-14 01:17:57 +02:00
Peter Kokot
003e238436 Autotools: Quote and fix PHP_SELECT_SAPI arguments (#15118)
This macro once had also the 5th argument (the build target), which was
removed via 2a6da0f24c. This quotes all
PHP_SELECT_SAPI arguments and removes the redundant ones. The basic
macro usage help text is moved to the macros section from the obsolete
docs file.
2024-07-27 22:46:36 +02:00
Peter Kokot
5e27a2a994 Autotools: Simplify SAPI configure log check messages (#14764)
The PHP_ARG_ENABLE and PHP_ARG_WITH 2nd argument is the check message in
the configure log output.
2024-07-02 08:11:10 +02:00
Peter Kokot
dc1cc503db Autotools: Sync PHP_SUBST in sapi (#14753)
- Arguments quoted
- Redundant comments removed (some basic help info is in the
  build/php.m4)
- APXS variable as such isn't used in the generated Makefile, the path
  to the apxs tool is inserted during the configure step directly
2024-07-01 21:04:09 +02:00
Peter Kokot
6fed6d85db Use AC_SUBST instead of PHP_SUBST_OLD where possible (#13993)
The PHP_SUBST_OLD adds variables to generated Makefile and creates
output shell variables to replace the @variable_name@ placeholders in
templates. These changed variables are not used in the generated
Makefile so the AC_SUBST is sufficient.

- ext/odbc
- sapi/embed
- sapi/fpm
- only substituted in scripts/php-config.in:
  - PHP_INSTALLED_SAPIS
  - SAPI_LIBNAME_SHARED
  - SAPI_LIBNAME_STATIC
2024-04-18 22:17:27 +02:00
Adam Saponara
0c07b0d94f Make --enable-embed libs respect --libdir
And make locatable by via `php-config`. Prior to this, `libphp.*`
would always install to `$prefix/lib`. After this, they will install
to `$libdir`.

In practice, this will make it so that programs embedding libphp can
use `php-config` to determine appropriate compile flags without
guessing.

In `configure.ac`, it seems `$libdir` is mutated in some instances.
Ideally the mutated version would be stored in `$phplibdir` or
something. Instead of tracking down all uses of that variable, I
introduced another variable `$orig_libdir` that holds the original
value passed to the configure script.

This is a no-op for users unless they are compiling with `--libdir`
set to something other than `$prefix/lib`, the default.

Closes GH-12389
2024-03-23 07:46:31 +01:00
Peter Kokot
a04577fb4a Mark sapi/embed as non experimental (#13668)
The embed SAPI has been around for quite a while now, and many apps
already use it in production. It can be marked as non experimental to
avoid confusion.

[skip ci]
2024-03-11 22:19:27 +01:00
Peter Kokot
52dba99d47 Sync headers installation
This syncs the installed sapi and extension headers on *nix and Windows
systems by installing only what is intended outside of php-src.

- ext/gd: without gd_arginfo.h and gd_compat.h
- ext/hash: php_hash_joaat.h and php_hash_fnv.h added also on Windows
  installation; xxhash/xxhash.h added on both installations as it is
  included in php_hash_xxhash.h; Include path for xxhash.h changed to
  relative so the php_hash_xxhash.h can be included outside of php-src;
  Redundant include flags removed
- ext/iconv: without iconv_arginfo.h
- ext/mysqli: mysqli_mysqlnd.h was missing on Windows
- ext/phar: php_phar.h was missing on Windows
- ext/sodium: php_libsodium.h was missing on *nix
- ext/xml: without xml_arginfo.h
- sapi/cli: cli.h was missing on Windows

Closes GH-13210
Closes GH-13213
2024-01-28 19:50:55 +01:00
Dmitry Stogov
46e38a1927 Fixed bug #79737 (Building embed as static fails during install step). 2020-06-29 11:14:20 +03:00
Peter Kokot
75fb74860d Normalize comments in *nix build system m4 files
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
2019-05-12 18:43:03 +02:00
Peter Kokot
9df6a1e4dd Add AS_HELP_STRING to *nix build configure options
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
2019-03-07 20:36:59 +01:00
Peter Kokot
1ad08256f3 Sync leading and final newlines in source code files
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
2018-10-14 12:56:38 +02:00
Peter Kokot
8d3f8ca12a Remove unused Git attributes ident
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.
2018-07-25 00:53:25 +02:00
Anatol Belski
8122bee654 enable static tsrmls cache in the embed SAPI 2014-12-17 10:58:31 +01:00
Christopher Jones
c6d977dd39 Fix long-standing visual pain point: the misalignment of './configure help' text.
Whitespace changes and a couple of grammar fixes.
2013-08-06 11:06:09 -07:00
Jani Taskinen
dee01c13ad - Changed all AC_ARG_* options to PHP_ARG_* options and cleaned up some 2007-07-11 23:10:14 +00:00
foobar
6504c24187 - Fixed bug #41576 (misbehaviour when using --without-apxs) 2007-06-03 20:26:45 +00:00
foobar
626253940e - Added PHP_INSTALL_HEADERS() macro
- Fixed several VPATH build issues
- Changed all awk calls to use $AWK
- Changed all mkdir calls to use "$php_shtool mkdir"
2005-05-07 02:51:53 +00:00
Edin Kadribasic
ceb597ea1a Added missing warning about experimental nature of sapi/embed. 2003-01-21 02:46:07 +00:00
Edin Kadribasic
4f9b61aa9f Respect INSTALL_ROOT var. Thanks to Jani for catching this one. 2002-10-14 22:18:35 +00:00
Edin Kadribasic
06484d6eb2 Install lib into $(prefix)/lib.
Make $(prefix)/lib before trying to copy the lib into it.
2002-10-14 09:05:28 +00:00
foobar
ac950497a6 Fix typo 2002-10-12 02:50:16 +00:00
foobar
204b3b5fbd Add the proper install lines. 2002-10-12 01:18:04 +00:00
foobar
7a3f2eb63b Default to shared. 2002-10-12 00:54:53 +00:00
foobar
49488cfd0d - Removed the unnecessary extra configure option --enable-shared-embed
- Changed --enable-embed to accept parameters shared/static and default
  to static build.
2002-10-11 23:28:01 +00:00
Sascha Schumann
e6e54605b7 Follow Yasuo's suggestion and build sapi program's under the sapi-specific
directory.

Move sapi-specific makefile fragments to their respective directory.

Create an embed sapi module which resides in its own dir now.
2002-09-29 16:22:49 +00:00