summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/armerge67
-rwxr-xr-xscripts/config-stubs7
-rwxr-xr-xscripts/mkextlib.in17
-rwxr-xr-xscripts/preconfig7
4 files changed, 98 insertions, 0 deletions
diff --git a/scripts/armerge b/scripts/armerge
new file mode 100755
index 0000000000..cda9d711cc
--- /dev/null
+++ b/scripts/armerge
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# +----------------------------------------------------------------------+
+# | PHP HTML Embedded Scripting Language Version 4.0 |
+# +----------------------------------------------------------------------+
+# | Copyright (c) 1997-1999 PHP Development Team (See Credits file) |
+# +----------------------------------------------------------------------+
+# | This program is free software; you can redistribute it and/or modify |
+# | it under the terms of one of the following licenses: |
+# | |
+# | A) the GNU General Public License as published by the Free Software |
+# | Foundation; either version 2 of the License, or (at your option) |
+# | any later version. |
+# | |
+# | B) the PHP License as published by the PHP Development Team and |
+# | included in the distribution in the file: LICENSE |
+# | |
+# | This program is distributed in the hope that it will be useful, |
+# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# | GNU General Public License for more details. |
+# | |
+# | You should have received a copy of both licenses referred to here. |
+# | If you did not, or have any questions about PHP licensing, please |
+# | contact core@php.net. |
+# +----------------------------------------------------------------------+
+# | Authors: Stig Sæther Bakken <ssb@fast.no> |
+# +----------------------------------------------------------------------+
+#
+# Archive merger. Usage: armerge libout.a dir1/libin1.a dir2/libin2.a ...
+# Creates the archive libout.a from the files in the rest of the
+# parameter list. If the input archives are in separate directories,
+# the names of the files inside them are prefixed before they are
+# merged into the output archive. The prefix used is the same as the
+# directory name with "/" replaced by "_" and a "_" at the end.
+#
+# $Id$
+#
+
+if test "$#" -lt "2"; then
+ echo "Usage: "`basename $0`" <out-archive> <in-archives...>"
+ exit 1
+fi
+
+out_archive=$1; shift
+in_archives=$@
+
+rm -f $out_archive
+
+for archive in $in_archives; do
+ files=`ar t $archive`
+ ar x $archive
+ dir=`dirname $archive`
+ if test "$dir" = "."; then
+ ext_files=$files
+ else
+ prefix=`echo $dir | sed -e 's#/#_#g'`_
+ prefix=`echo $prefix | sed -e 's#^\.\._##g'`
+ ext_files=""
+ for file in $files; do
+ mv "$file" "$prefix$file"
+ ext_files="$ext_files $prefix$file"
+ done
+ fi
+ ar vr $out_archive $ext_files
+ rm -f $ext_files
+done
diff --git a/scripts/config-stubs b/scripts/config-stubs
new file mode 100755
index 0000000000..9985066648
--- /dev/null
+++ b/scripts/config-stubs
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# $Id$
+
+for stubfile in ext/*/config.m4; do
+ echo "sinclude($stubfile)"
+done
diff --git a/scripts/mkextlib.in b/scripts/mkextlib.in
new file mode 100755
index 0000000000..2370ae22a2
--- /dev/null
+++ b/scripts/mkextlib.in
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+outfile=$1; shift
+extensions=$@
+
+ext_libs=""
+for dir in $extensions; do
+ archive="$dir/libphpext_$dir.a"
+ if test ! -r "$archive"; then
+ echo `basename $0`": could not open $archive" >&2
+ exit 1
+ fi
+ ext_libs="$ext_libs $archive"
+done
+
+dir=`dirname $0`
+(set -x; $dir/armerge $outfile $ext_libs)
diff --git a/scripts/preconfig b/scripts/preconfig
new file mode 100755
index 0000000000..a8c6569af0
--- /dev/null
+++ b/scripts/preconfig
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# $Id$
+
+makefiles=`echo ext/*/Makefile.am | sed -e 's/\.am//g'`
+rm -f configure.in
+sed -e "s#@@EXT_MAKEFILES@@#$makefiles#" configure.in.in > configure.in