Skip to content

Brotli 0.15.2 cannot build .dll for PHP NST 8.4.1 #55

@vietgiaitri

Description

@vietgiaitri
D:\>cd D:\tools\PHP\php-sdk-2.3.0

D:\tools\PHP\php-sdk-2.3.0>phpsdk-vs17-x64.bat
[vcvarsall.bat] Environment initialized for: 'x64'

PHP SDK 2.3.0

OS architecture:    x64
Build architecture: x64
Visual C++:         14.42.34433.0
PHP-SDK path:       D:\tools\PHP\php-sdk-2.3.0

D:\tools\PHP\php-sdk-2.3.0
$ cd D:\tools\PHP\brotli

D:\tools\PHP\brotli
$ D:\tools\PHP\php-8.4.1-devel-vs17-x64\phpize.bat
Rebuilding configure.js
D:\tools\PHP\php-8.4.1-devel-vs17-x64
Now run 'configure --help'

D:\tools\PHP\brotli
$ configure --help
Options that enable extensions and SAPI will accept 'yes' or 'no' as a
parameter. They also accept 'shared' as a synonym for 'yes' and request a
shared build of that module. Not all modules can be built as shared modules;
configure will display [shared] after the module name if can be built that
way.

  --disable-vs-link-compat      Allow linking of libraries built with
                                compatible versions of VS toolset
  --enable-debug                Compile with debugging symbols
  --with-verbosity              Output verbosity, 0-2.
  --with-toolset                Toolset to use for the compilation, give: vs,
                                clang, icc. The only recommended and supported
                                toolset for production use is Visual Studio.
                                Use others at your own risk.
  --enable-object-out-dir       Alternate location for binary objects during
                                build
  --enable-debug                Compile with debugging symbols
  --enable-debug-pack           Release binaries with external debug symbols
                                (--enable-debug must not be specified)
  --with-prefix                 PHP installation prefix
  --with-mp                     Tell Visual Studio use up to [n,auto,disable]
                                processes for compilation
  --with-snapshot-template      Path to snapshot builder template dir
  --with-php-build              Path to where you extracted the development
                                libraries
                                (https://wiki.php.net/internals/windows/libs).
                                Assumes that it is a sibling of this source
                                dir (..\deps) if not specified
  --with-extra-includes         Extra include path to use when building
                                everything
  --with-extra-libs             Extra library path to use when linking
                                everything
  --with-codegen-arch           Architecture for code generation
  --enable-test-ini             Enable automatic php.ini generation. The
                                test.ini will be put into the build dir and
                                used to automatically load the shared
                                extensions.
  --with-test-ini-ext-exclude   Comma separated list of shared extensions to
                                be excluded from the test.ini
  --enable-native-intrinsics    Comma separated list of intrinsic
                                optimizations to enable. Available
                                optimization names are sse, sse2, sse3, ssse3,
                                sse4.1, sse4.2, avx, avx2. SSE and SSE2 are
                                enabled by default. The best optimization
                                specified will automatically enable all the
                                older optimizations. Note, that the produced
                                binary might not work properly, if the
                                optimizations are not available on the target
                                processor.

Some influential environment variables:
  CFLAGS      C compiler flags
  LDFLAGS     linker flags

D:\tools\PHP\brotli
$ configure --enable-brotli --enable-debug-pack
Saving configure options to config.nice.bat
Checking for cl.exe ...  <in default path>
  Detected compiler Visual C++ 2022
  Detected x64 compiler
Checking for link.exe ...  <in default path>
Checking for nmake.exe ...  <in default path>
Checking for lib.exe ...  <in default path>
Checking for bison.exe ...  <in default path>
  Detected bison version 3.3.2
Checking for sed.exe ...  <in default path>
Checking for re2c.exe ...  <in default path>
  Detected re2c version 1.1.1
Checking for zip.exe ...  <in default path>
Checking for lemon.exe ...  <in default path>
Checking for 7za.exe ...  <in default path>
Checking for mc.exe ...  C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\\x64
Checking for mt.exe ...  C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\\x64

Build dir: D:\tools\PHP\brotli\x64\Release
PHP Core:  php8.dll and php8.lib


Creating build dirs...
Generating files...
Generating Makefile
Generating main/config.pickle.h
Generating pickle deps
Done.



Enabled extensions:
--------------------
| Extension | Mode |
--------------------
--------------------


-----------------------------------------
|                     |                 |
-----------------------------------------
| Build type          | Release         |
| Thread Safety       | No              |
| Compiler            | Visual C++ 2022 |
| Target Architecture | x64             |
| Host Architecture   | x64             |
| Optimization        | PGO disabled    |
| Native intrinsics   | SSE2            |
| Static analyzer     | disabled        |
-----------------------------------------


WARNING
The following argument is invalid, and therefore ignored:
 --enable-brotli


Type 'nmake' to build PHP

It shows:
WARNING
The following argument is invalid, and therefore ignored:
--enable-brotli
and 'nmake' doesn't generate anything

Please help or please add .dll file for PHP 8.4 at here https://pecl.php.net/package/brotli/0.15.2/windows

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions