mirror of
https://github.com/php/php-src.git
synced 2024-12-14 12:26:19 +08:00
MFB: add phar.phar generation to windows
This commit is contained in:
parent
6cebe90238
commit
2f3a4b46b3
@ -128,7 +128,7 @@ build-dist: $(BUILD_DIR)\deplister.exe
|
||||
-del /f /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip
|
||||
-del /f /q $(BUILD_DIR)\php-debug-pack-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip
|
||||
-del /f /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip
|
||||
$(BUILD_DIR)\php.exe -d date.timezone=UTC -n win32/build/mkdist.php "$(BUILD_DIR)" "$(PHPDLL)" "$(SAPI_TARGETS)" "$(EXT_TARGETS) $(PHP_EXTRA_DIST_FILES)" "$(PECL_TARGETS) $(PECL_EXTRA_DIST_FILES)" "$(SNAPSHOT_TEMPLATE)"
|
||||
$(BUILD_DIR)\php.exe -d date.timezone=UTC -n -dphar.readonly=0 win32/build/mkdist.php "$(BUILD_DIR)" "$(PHPDLL)" "$(SAPI_TARGETS)" "$(EXT_TARGETS) $(PHP_EXTRA_DIST_FILES)" "$(PECL_TARGETS) $(PECL_EXTRA_DIST_FILES)" "$(SNAPSHOT_TEMPLATE)"
|
||||
cd $(BUILD_DIR)\php-$(PHP_VERSION_STRING)
|
||||
-$(ZIP) -9 -q -r ..\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip .
|
||||
cd ..\..
|
||||
|
@ -394,6 +394,27 @@ function copy_test_dir($directory, $dest)
|
||||
closedir($directory_list);
|
||||
}
|
||||
|
||||
function make_phar_dot_phar($dist_dir)
|
||||
{
|
||||
if (!extension_loaded('phar')) return;
|
||||
$path_to_php = $dist_dir;
|
||||
$path_to_phar = realpath(__DIR__ . '/../../ext/phar');
|
||||
echo "Generating pharcommand.phar\n";
|
||||
$phar = new Phar($path_to_php . '/pharcommand.phar', 0, 'pharcommand');
|
||||
foreach (new DirectoryIterator($path_to_phar . '/phar') as $file) {
|
||||
if ($file->isDir() || $file == 'phar.php') continue;
|
||||
echo 'adding ', $file, "\n";
|
||||
$phar[(string) $file] = file_get_contents($path_to_phar. '/phar/' . $file);
|
||||
}
|
||||
$phar->setSignatureAlgorithm(Phar::SHA1);
|
||||
$stub = file($path_to_phar . '/phar/phar.php');
|
||||
unset($stub[0]); // remove hashbang
|
||||
$phar->setStub(implode('', $stub));
|
||||
|
||||
echo "Creating phar.phar.bat\n";
|
||||
file_put_contents($path_to_php . '/phar.phar.bat', "%~dp0php.exe %~dp0pharcommand.phar %1 %2 %3 %4 %5 %6 %7 %8 %9\r\n");
|
||||
}
|
||||
|
||||
if (!is_dir($test_dir)) {
|
||||
mkdir($test_dir);
|
||||
}
|
||||
@ -491,4 +512,5 @@ if (file_exists($snapshot_template)) {
|
||||
echo "WARNING: you don't have a snapshot template, your dist will not be complete\n";
|
||||
}
|
||||
|
||||
make_phar_dot_phar($dist_dir);
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user