diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/armerge | 67 | ||||
-rwxr-xr-x | scripts/config-stubs | 7 | ||||
-rwxr-xr-x | scripts/mkextlib.in | 17 | ||||
-rwxr-xr-x | scripts/preconfig | 7 |
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 |