Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 125 lines (102 sloc) 4.128 kb
#!/bin/sh
#
# Script for creating a self-contained Wings package for Unix systems.
#
# $Id: make_installer,v 1.9 2005/09/10 08:02:02 bjorng Exp $
#
# Configurable stuff.
INSTALL=/usr/bin/install
if [ -z "$ESDL_PATH" ]; then
echo "The environment variable ESDL_PATH must be set to " \
"the top of the ESDL installation." >&2
exit 1
fi
ESDL_NAME=`basename $ESDL_PATH`
ERLANG_PATH=`echo 'io:format("~s~n",[code:root_dir()]),halt().' | erl | awk 'NR==2 {print $2}'`
# End of configurable stuff.
# Copy the Wings application.
WINGS_DIR="`pwd`"
WINGS_APP=`basename "$WINGS_DIR"`
WINGS_VSN=`echo "$WINGS_APP" | sed -e 's/.*wings-//'`
OS_NAME=`uname -s | perl -pe 'tr/[A-Z]/[a-z]/'`
DEST_ROOT="wings-$WINGS_VSN-$OS_NAME"
dest="$DEST_ROOT"
$INSTALL -d "$dest"
$INSTALL -c -m 644 README AUTHORS license.terms vsn.mk "$dest"
dest="$DEST_ROOT/lib/$WINGS_APP"
$INSTALL -d "$dest" "$dest/ebin" "$dest/patches"
$INSTALL -c -m 644 ebin/* "$dest/ebin"
$INSTALL -d "$dest/fonts"
$INSTALL -d "$dest/textures"
$INSTALL -d "$dest/shaders"
$INSTALL -c -m 644 textures/* "$dest/textures"
$INSTALL -c -m 644 shaders/* "$dest/shaders"
$INSTALL -d "$dest/plugins/default" \
"$dest/plugins/accel" \
"$dest/plugins/import_export" "$dest/plugins/commands" \
"$dest/plugins/primitives" "$dest/plugins/autouv" "$dest/plugins/jpeg"
$INSTALL -c -m 644 fonts/* "$dest/fonts"
$INSTALL -c -m 644 plugins/default/wp9_dialogs* "$dest/plugins/default"
$INSTALL -c -m 644 plugins/accel/* "$dest/plugins/accel"
$INSTALL -c -m 644 plugins/fonts/* "$dest/plugins/fonts"
$INSTALL -c -m 644 plugins/import_export/* "$dest/plugins/import_export"
$INSTALL -c -m 644 plugins/commands/* "$dest/plugins/commands"
$INSTALL -c -m 644 plugins/primitives/* "$dest/plugins/primitives"
$INSTALL -c -m 644 plugins/autouv/* "$dest/plugins/autouv"
$INSTALL -c -m 644 plugins/jpeg/* "$dest/plugins/jpeg"
# Copy the relevant parts of Erlang/OTP.
src="$ERLANG_PATH"
dest="$DEST_ROOT"
erts_src=`echo "$src"/erts-*`
stdlib=`basename "$src"/lib/stdlib-*`
kernel=`basename "$src"/lib/kernel-*`
$INSTALL -d "$dest/bin" "$dest/lib/$stdlib/ebin" "$dest/lib/$kernel/ebin"
$INSTALL -c -m 644 "$src"/lib/kernel-*/ebin/* "$dest/lib/$kernel/ebin"
$INSTALL -c -m 644 "$src"/lib/stdlib-*/ebin/* "$dest/lib/$stdlib/ebin"
$INSTALL -c "$erts_src/bin/erlexec" "$dest/bin/erlexec"
$INSTALL -c "$erts_src/bin/beam" "$dest/bin/beam"
$INSTALL -c "$erts_src/bin/child_setup" "$dest/bin/child_setup"
$INSTALL -c "$erts_src/bin/inet_gethost" "$dest/bin/inet_gethost"
strip --strip-debug "$dest/bin/erlexec"
strip --strip-debug "$dest/bin/beam"
strip --strip-debug "$dest/bin/child_setup"
strip --strip-debug "$dest/bin/inet_gethost"
$INSTALL -c -m 644 "$src/bin/start.boot" "$dest/bin"
# Copy the relevant parts of ESDL.
dest="$DEST_ROOT/lib/$ESDL_NAME"
$INSTALL -d "$dest/ebin" "$dest/priv"
$INSTALL -c -m 644 "$ESDL_PATH"/ebin/* "$dest/ebin"
$INSTALL -c "$ESDL_PATH"/priv/sdl_driver.so "$dest/priv"
rm -rf "$dest/ebin/sdl_audio.beam" "$dest/ebin/sdl_joystick.beam"
strip --strip-debug --strip-unneeded "$dest/priv/sdl_driver.so"
# Copy the SDL so.
sdl_lib=`ldd "$dest/priv/sdl_driver.so" | awk '$1 ~ /^libSDL/ { print $3}'`
sdl_lib_name=`basename $sdl_lib`
if [ ! -L $sdl_lib ]; then
echo `basename $0`: "$sdl_lib expected to be a symlink"
else
lib_dir=`dirname $sdl_lib`
linkname=`readlink $sdl_lib`
$INSTALL -c $lib_dir/$linkname "$dest/priv"
rm -f $dest/priv/$sdl_lib_name
(cd $dest/priv; ln -s $linkname $sdl_lib_name)
fi
#
# Remove files from OTP not needed.
#
$WINGS_DIR/tools/wings_reduce_otp "$DEST_ROOT"
# Strip debug information from all beam files.
cd "$latest_wings"
erlc -o/tmp tools/strip.erl
cd "$DEST_ROOT"
erl -noshell -pa /tmp -run strip strip
# Package the installer.
cd $WINGS_DIR
INSTALLER="$DEST_ROOT/install_wings"
sed -e "s;%WINGS_VSN%;$WINGS_VSN;" -e "s;%ESDL_NAME%;$ESDL_NAME;" -e "s;%LIB_SDL_NAME%;$sdl_lib_name;" $WINGS_DIR/unix/install_wings.src > $INSTALLER
chmod +x $INSTALLER
dest=$DEST_ROOT
makeself.sh --bzip2 $dest $dest.bzip2.run Wings3D ./install_wings "$WINGS_VSN"
if [ -f $dest.run ]; then
cp $dest.run ..
fi
Jump to Line
Something went wrong with that request. Please try again.