summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2003-04-26 15:54:50 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2003-04-26 15:54:50 +0000
commit67df62c0b1545b37abb4deb91828fdcb5e1175a6 (patch)
treea8e7bcf7922c9387d51e5b6d94630729a151b24b /scripts
parent545022872d4e5fbd3f3ce6a5b97b96e6cee7b08a (diff)
downloadphp-git-67df62c0b1545b37abb4deb91828fdcb5e1175a6.tar.gz
cmdline parameter parsing improved
uses license classes to write LICENSE file config.m4 and *.dsp file are only written if their platform is supported
Diffstat (limited to 'scripts')
-rw-r--r--scripts/ext_skel_ng/ext_skel_ng.php40
1 files changed, 33 insertions, 7 deletions
diff --git a/scripts/ext_skel_ng/ext_skel_ng.php b/scripts/ext_skel_ng/ext_skel_ng.php
index 714eef280d..8a1a3b7877 100644
--- a/scripts/ext_skel_ng/ext_skel_ng.php
+++ b/scripts/ext_skel_ng/ext_skel_ng.php
@@ -2,26 +2,52 @@
require_once "extension_parser.php";
require_once "System.php";
- $filename = isset($_SERVER["argv"][1]) ? $_SERVER["argv"][1] : "extension.xml";
+ // parse command line arguments
+ if (isset($_SERVER['argv'][1])) {
+ $filename = $_SERVER["argv"][1];
+ echo "using '$filename' as specification file\n";
+ } else {
+ $filename = "extension.xml";
+ echo "using default file '$filename' as specification file\n";
+ }
- $ext = &new extension_parser(fopen($filename, "r"));
+ // open specification file
+ $fp = fopen($filename, "r");
+ if (!is_resource($fp)) {
+ error_log("can't read specification file '$filename'");
+ exit;
+ }
+ // parse specification file
+ $ext = new extension_parser($fp);
+ fclose($fp);
+
+ // purge and create extension directory
System::rm("-rf {$ext->name}");
mkdir($ext->name);
+ // write LICENSE file
+ $ext->license->write_license_file("{$ext->name}/LICENSE");
+
// generate code
$ext->write_header_file();
$ext->write_code_file();
- if(isset($ext->logo)) {
+ if (isset($ext->logo)) {
$fp = fopen("{$ext->name}/{$ext->name}_logo.h", "w");
fwrite($fp, $ext->logo->h_code());
fclose($fp);
- $ext->logo->h_code();
}
- // generate project files for configure and ms dev studio
- $ext->write_config_m4();
- $ext->write_ms_devstudio_dsp();
+ // generate project files for configure (unices and similar platforms like cygwin)
+ if ($ext->platform === "all" || in_array("unix", $ext->platform)) {
+ $ext->write_config_m4();
+ }
+
+ // generate project files for Windows platform (VisualStudio/C++ V6)
+ if ($ext->platform === "all" || in_array("win32", $ext->platform)) {
+ $ext->write_ms_devstudio_dsp();
+ }
+ // generate DocBook XML documantation for PHP manual
$ext->generate_documentation();
?> \ No newline at end of file