libisoburn/test/make_xorriso_standalone.sh

155 lines
3.1 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright 2008 Thomas Schmitt, scdbackup@gmx.net, GPL
#
# Creates a standalone tree for building xorriso
# from the contents of a unified libburnia development tree.
# To be executed in the parent of the *-develop directories.
#
# From that tree can be build a binary xorriso/xorriso
# which at runtime depends only on libc and libpthread.
# Execute in $lone_dir :
#
# ./bootstrap && ./configure && make
#
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
create_dir() {
if mkdir "$1"
then
dummy=dummy
else
echo "Failed to create : $r1o" >&2
exit 1
fi
}
goto_dir() {
if cd "$1"
then
dummy=dummy
else
echo "Failed to cd $1" >&2
exit 1
fi
}
copy_files() {
if cp "$@"
then
dummy=dummy
else
echo "Failed to : cp " "$@" >&2
exit 1
fi
}
if test -e "$lone_dir"
then
echo "Already existing : $lone_dir" >&2
exit 1
fi
# Top level directory
goto_dir "$current_dir"/libisoburn-develop
create_dir "$lone_dir"
copy_files \
AUTHORS \
CONTRIBUTORS \
acinclude.m4 \
aclocal.m4 \
bootstrap \
compile \
config.guess \
config.status \
config.sub \
depcomp \
install-sh \
libtool \
ltmain.sh \
missing \
mkinstalldirs \
version.h.in \
\
"$lone_dir"
copy_files test/configure_ac.txt "$lone_dir"/configure.ac
copy_files test/xorriso_makefile_am.txt "$lone_dir"/Makefile.am
copy_files test/xorriso_pc_in.txt "$lone_dir"/xorriso.pc.in
copy_files test/README "$lone_dir"/README
echo "See end of xorriso/changelog.txt" >"$lone_dir"/TODO
# libisoburn
create_dir "$lone_dir"/libisoburn
copy_files \
ng_src/*.[ch] \
"$lone_dir"/libisoburn
create_dir "$lone_dir"/xorriso
copy_files \
test/ng_xorrisoburn.[ch] \
test/xorriso.[ch1] \
test/xorriso_private.h \
test/xorriso_timestamp.h \
test/changelog.txt \
"$lone_dir"/xorriso
copy_files test/xorriso_eng.html "$lone_dir"/xorriso/xorriso_eng.html
mv "$lone_dir"/xorriso/ng_xorrisoburn.h "$lone_dir"/xorriso/xorrisoburn.h
mv "$lone_dir"/xorriso/ng_xorrisoburn.c "$lone_dir"/xorriso/xorrisoburn.c
# >>> create compile_xorriso.sh for standalone
# nglibisofs
create_dir "$lone_dir"/libisofs
goto_dir "$current_dir"/nglibisofs-develop
copy_files src/*.[ch] "$lone_dir"/libisofs
# Filter out the semi-illegal TODO comments
( cd "$lone_dir"/libisofs && grep '^[[:space:]]*//' *.[ch] | less )
echo "Is it ok delete all shown //-lines ?"
read yesno
if test "$yesno" = "y" -o "$yesno" = "1"
then
for i in "$lone_dir"/libisofs/*.[ch]
do
# first copy attributes
cp "$i" "$lone_dir"/libisofs/tmpfile
# now filter away // lines
grep -v '^[[:space:]]*//' <"$i" >"$lone_dir"/libisofs/tmpfile && \
mv "$lone_dir"/libisofs/tmpfile "$i"
done
fi
echo "Remaining // lines:"
( cd "$lone_dir"/libisofs && grep '//' *.[ch] )
# libburn
create_dir "$lone_dir"/libburn
goto_dir "$current_dir"/libburn-develop
copy_files libburn/*.[ch] "$lone_dir"/libburn
copy_files COPYING "$lone_dir"/COPYING
echo "Done"
echo "HINT: Now build xorriso/xorriso by:"
echo " cd '$lone_dir' && ./bootstrap && ./configure && make"
echo