wxWidgets/wxinstall
1998-12-18 23:18:59 +00:00

1487 lines
34 KiB
Bash

#!/bin/sh
# N.B. make sure this really is a true Bourne-compatible shell.
# !!!! WARNING !!! THIS IS IN DEVELOPMENT AND HAS NOT BEEN
# TESTED. DO NOT USE YET!
# Use src/motif/makefile.unx directly instead, with the 'motif'
# target.
###############################################################
# wxinstal -- wxWindows for Motif installation script. #
# Julian Smart, December 1998 #
# Usage: wxinstall [optional wxWindows target directory] #
# Note: this uses plain makefiles. You can also use the #
# configure system: see docs/motif/install.txt. #
###############################################################
########### Edit these variables for your system. #############
########### ALSO edit wx/src/make.env once unarchived #########
# Editor
MYEDITOR=$EDITOR
if [ "$MYEDITOR" = "" ]
then
MYEDITOR=emacs
fi
# Pager
MYPAGER=$PAGER
if [ "$MYPAGER" = "" ]
then
MYPAGER=more
fi
# wxWindows directory to install to
WXDIR=`pwd`
if [ ! "$1" = "" ]
then
WXDIR=$1
fi
# Target (motif, xview)
GUITARGET=motif
# Archive prefix, dependent on version number
ARCHIVE=wx200
# Platform. 1 = generic platform
PLATFORM=1
# Current directory
CURRENTDIR=`pwd`
# PostScript viewer, if any
POSTSCRIPTVIEWER=ghostview
# PostScript viewer, if any
HTMLVIEWER=netscape
# Don't change this
GUISUFFIX=_motif
if [ "$GUITARGET" = "motif" ]
then
GUISUFFIX=_motif
fi
# If you add platforms, you just need
# to adjust this number, and
# add environment variables
# for a description and the filename.
PLATFORMCOUNT=12
PLATFORM1="Generic/Linux with gcc"
PLATFORMFILE1="linux.env"
PLATFORM2="Solaris with gcc"
PLATFORMFILE2="sol_gcc.env"
PLATFORM3="Solaris with Sun C++"
PLATFORMFILE3="sol_sun.env"
PLATFORM4="SunOS 4.x.x with gcc"
PLATFORMFILE4="sunosgcc.env"
PLATFORM5="FreeBSD with gcc"
PLATFORMFILE5="freebsd.env"
PLATFORM6="AIX with gcc"
PLATFORMFILE6="aixgcc.env"
PLATFORM7="AIX with CSet++"
PLATFORMFILE7="aixcset.env"
PLATFORM8="Data General"
PLATFORMFILE8="datagen.env"
PLATFORM9="HPUX"
PLATFORMFILE9="hp.env"
PLATFORM10="IRIX"
PLATFORMFILE10="irix.env"
PLATFORM11="DEC OSF"
PLATFORMFILE11="decosf.env"
PLATFORM12="VAX VMS"
PLATFORMFILE12="vms.env"
install_from_tar()
{
if [ -f $CURRENTDIR/$ARCHIVE"gen.tar" ]
then
if [ ! -d $WXDIR ]
then
echo Making directory $WXDIR
mkdir $WXDIR
fi
if [ ! -d $WXDIR ]
then
echo $WXDIR" cannot be created!"
else
echo Untarring $CURRENTDIR/$ARCHIVE"*.tar."
echo Please be patient...
cd $WXDIR
tar xf $CURRENTDIR/$ARCHIVE"gen.tar"
tar xf $CURRENTDIR/$ARCHIVE"mot.tar"
echo If you saw no errors, untarring was successful.
fi
else
echo $CURRENTDIR/$ARCHIVE"gen.tar" not found.
fi
# Unarchive HTML documentation if found
if [ -f $CURRENTDIR/$ARCHIVE"htm.tar" ]
then
echo Untarring HTML documentation $CURRENTDIR/$ARCHIVE"htm.tar."
echo Please be patient...
cd $WXDIR
tar xf $CURRENTDIR/$ARCHIVE"htm.tar"
fi
# Unarchive PDF documentation if found
if [ -f $CURRENTDIR/$ARCHIVE"pdf.tar" ]
then
echo Untarring PDF documentation $CURRENTDIR/$ARCHIVE"pdf.tar."
echo Please be patient...
cd $WXDIR
tar xf $CURRENTDIR/$ARCHIVE"pdf.tar"
fi
cd $CURRENTDIR
}
install_from_gzip()
{
if [ -f $CURRENTDIR/$ARCHIVE"gen.tgz" ]
then
echo Unarchiving $CURRENTDIR/$ARCHIVE"gen.tgz"
gzip -c -d $CURRENTDIR/$ARCHIVE"gen.tgz" | tar xf -
echo Unarchiving $CURRENTDIR/$ARCHIVE"mot.tgz"
gzip -c -d $CURRENTDIR/$ARCHIVE"mot.tgz" | tar xf -
# Optional: PDF documentation
if [ -f $CURRENTDIR/$ARCHIVE"pdf.tgz" ]
then
echo Unarchiving $CURRENTDIR/$ARCHIVE"ps.tgz"
gzip -c -d $CURRENTDIR/$ARCHIVE"pdf.tgz" | tar xf -
fi
# Optional: HTML documentation
if [ -f $CURRENTDIR/$ARCHIVE"htm.tgz" ]
then
echo Unarchiving $CURRENTDIR/$ARCHIVE"htm.tgz"
gzip -c -d $CURRENTDIR/$ARCHIVE"htm.tgz" | tar xf -
fi
else
echo $CURRENTDIR/$ARCHIVE"gen.tgz" not found. Please place in the current directory.
fi
cd $CURRENTDIR
}
install_from_zip()
{
if [ -f $CURRENTDIR/$ARCHIVE"gen.zip" ]
then
if [ ! -d $WXDIR ]
then
echo Making directory $WXDIR
mkdir $WXDIR
fi
if [ ! -d $WXDIR ]
then
echo $WXDIR" cannot be created!"
else
echo Untarring $CURRENTDIR/$ARCHIVE"*.zip."
echo Please be patient...
cd $WXDIR
unzip -a -o $CURRENTDIR/$ARCHIVE"gen.zip"
unzip -a -o $CURRENTDIR/$ARCHIVE"mot.zip"
echo If you saw no errors, unzipping was successful.
fi
else
echo $CURRENTDIR/$ARCHIVE"gen.zip" not found.
fi
# Unarchive HTML documentation if found
if [ -f $CURRENTDIR/$ARCHIVE"htm.zip" ]
then
echo Unzipping HTML documentation $CURRENTDIR/$ARCHIVE"htm.zip."
echo Please be patient...
cd $WXDIR
unzip -a -o $CURRENTDIR/$ARCHIVE"htm.zip"
fi
# Unarchive PDF documentation if found
if [ -f $CURRENTDIR/$ARCHIVE"pdf.zip" ]
then
echo Unzipping PDF documentation $CURRENTDIR/$ARCHIVE"pdf.zip."
echo Please be patient...
cd $WXDIR
unzip -a -o $CURRENTDIR/$ARCHIVE"pdf.zip"
fi
cd $CURRENTDIR
}
edit_make_env()
{
cd $CURRENTDIR
if [ -f $WXDIR/src/make.env ]
then
echo ""
echo "If the files are unarchived ok, you should edit the file"
echo $WXDIR"/src/make.env"
echo "since this sets many options for your wxWindows"
echo "compilation environment."
echo ""
echo "Would you like to edit the file now? (y/n)"
echo
read ans
if [ "$ans" = "y" ]
then
$MYEDITOR $WXDIR/src/make.env
echo ""
echo Ok, if you get compilation or link errors in the installation,
echo $WXDIR"/src/make.env is the first place to look."
echo ""
echo "Press return to continue."
read ans
fi
else
echo ""
echo "Uh-oh, cannot find "$WXDIR"/src/make.env; probably you have not unarchived"
echo "properly yet."
echo ""
echo "Press return to continue."
read ans
fi
}
install_from_archive()
{
echo
echo "Install from Archive"
echo "--------------------"
echo "1) Install from "$ARCHIVE"gen.zip, "$ARCHIVE"mot.zip"
echo " and "$ARCHIVE"htm.zip if present."
echo "2) Install from "$ARCHIVE"gen.tgz, "$ARCHIVE"mot.tgz"
echo " and "$ARCHIVE"htm.tgz if present."
echo "0) Quit."
echo
read archans
if [ "$archans" = "1" ]
then
install_from_zip
fi
if [ "$archans" = "2" ]
then
install_from_gzip
fi
}
make_main_library()
{
if [ ! -d $WXDIR/src ]
then
echo "Source directory not found: please unarchive first."
echo Press return to continue.
read ans
else
echo
echo Making the wxWindows main library. It will go in
echo $WXDIR/lib.
echo
echo Please press RETURN to continue, and then make yourself a coffee.
echo
read ans
if [ ! -d $WXDIR/lib ]
then
mkdir $WXDIR/lib
fi
cd $WXDIR/src/motif
make -f makefile.unx $GUITARGET 2>&1 | tee -a $CURRENTDIR/make.log
cd $CURRENTDIR
if [ -f $WXDIR/lib/libwx$GUISUFFIX".a" ]
then
echo
echo "If you saw no errors, wxWindows was compiled. See the file make.log"
echo "for errors and warnings."
else
echo
echo $WXDIR/lib/libwx$GUISUFFIX".a was not built."
echo "Please check make.env, and read install.txt and faq.txt/ps."
echo
echo "Press return to continue."
echo
read ans
fi
fi
}
###############################################################
# Make peripheral components #
###############################################################
make_wxtree()
{
if [ ! -d $WXDIR/utils/wxtree ]
then
echo wxTree directory does not exist.
echo Press return to continue.
read ans
else
echo
echo Making the wxTree library. It will go in
echo $WXDIR/utils/wxtree/lib.
echo
cd $WXDIR/utils/wxtree/src
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the wxTree library was compiled. See the file make.log"
echo "for errors and warnings."
fi
}
make_wxgraph()
{
if [ ! -d $WXDIR/utils/wxgraph ]
then
echo wxGraph directory does not exist.
echo Press return to continue.
read ans
else
echo
echo Making the wxGraph library. It will go in
echo $WXDIR/utils/wxgraph/lib.
echo
cd $WXDIR/utils/wxgraph/src
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the wxGraph library was compiled. See the file make.log"
echo "for errors and warnings."
fi
}
make_colour()
{
if [ ! -d $WXDIR/utils/colours ]
then
echo $WXDIR/utils/colours directory does not exist.
echo Press return to continue.
read ans
else
echo
echo Making the Colour sampler. It will go in
echo $WXDIR/utils/colours
echo
cd $WXDIR/utils/colours
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Colour sampler was compiled. See the file make.log"
echo "for errors and warnings."
echo ""
if [ -f $WXDIR/utils/colours/colours$GUISUFFIX ]
then
echo "Run the Colour sampler? (y/n)"
echo ""
read ans1
if [ "$ans1" = "y" ]
then
$WXDIR/utils/colours/colours$GUISUFFIX
fi
fi
fi
}
make_wxhelp()
{
if [ ! -d $WXDIR/utils/wxhelp ]
then
echo wxHelp directory does not exist.
echo Press return to continue.
read ans
else
echo
echo Making the wxHelp program. It will go in
echo $WXDIR/utils/wxhelp/src.
echo
cd $WXDIR/utils/wxhelp/src
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the wxHelp program was compiled. See the file make.log"
echo "for errors and warnings."
fi
}
make_tex2rtf()
{
if [ ! -d $WXDIR/utils/tex2rtf ]
then
echo Tex2RTF directory does not exist.
echo Press return to continue.
read ans
else
echo
echo Making the Tex2RTF utility. It will go in
echo $WXDIR/utils/tex2rtf/src.
echo
cd $WXDIR/utils/tex2rtf/src
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Tex2RTF program was compiled. See the file make.log"
echo "for errors and warnings."
fi
}
###############################################################
# Make samples #
###############################################################
make_controls()
{
echo
echo Making the Controls sample. It will be made as
echo $WXDIR/samples/controls/controls$GUISUFFIX
echo
cd $WXDIR/samples/constrols
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Controls sample was compiled. See the file make.log"
echo "for errors and warnings."
}
make_minimal()
{
echo
echo Making the Minimal sample. It will be made as
echo $WXDIR/samples/minimal/minimal$GUISUFFIX
echo
cd $WXDIR/samples/minimal
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Minimal sample was compiled. See the file make.log"
echo "for errors and warnings."
}
make_mdi()
{
echo
echo Making the Mdi sample. It will be made as
echo $WXDIR/samples/mdi/mdi$GUISUFFIX
echo
cd $WXDIR/samples/mdi
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the MDI sample was compiled. See the file make.log"
echo "for errors and warnings."
}
make_animate()
{
echo
echo Making the Animate sample. It will be made as
echo $WXDIR/samples/animate/anim$GUISUFFIX
echo
cd $WXDIR/samples/animate
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Animate sample was compiled. See the file make.log"
echo "for errors and warnings."
}
make_fractal()
{
echo
echo Making the Fractal sample. It will be made as
echo $WXDIR/samples/fractal/fractal$GUISUFFIX
echo
cd $WXDIR/samples/fractal
make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log
cd $CURRENTDIR
echo
echo "If you saw no errors, the Fractal sample was compiled. See the file make.log"
echo "for errors and warnings."
}
make_all_periph_components()
{
make_wxtree
# make_dialoged
# make_wxgraph
# make_wxhelp
# make_tex2rtf
}
about_periph_components()
{
clear
echo "About the Peripheral Components"
echo "-------------------------------"
echo
echo "These are libraries and programs that are considered useful"
echo "enough to put in the main wxWindows distribution."
echo
echo wxTree A tree-drawing library, with sample
echo ------
echo
# echo wxGraph A node and arc graph-drawing library, with sample
# echo -------
# echo
# echo "Press return to continue"
# read ans
# clear
# echo wxHelp The wxWindows on-line help program
# echo ------
# echo
# echo
# echo "Tex2RTF LaTeX->RTF, HTML converter"
# echo -------
# echo
echo "Press return to continue"
read ans
clear
}
make_peripheral_components()
{
compoption='none'
while [ "$compoption" != "0" ]
do
echo
echo "Peripheral Component Options"
echo "----------------------------"
echo " 1) Make wxTree layout library"
echo "10) Make all the above"
echo "----------------------------"
echo " ?) About these components"
echo "----------------------------"
echo " 0) Quit."
echo
read compoption
if [ "$compoption" = "1" ]
then
make_wxtree
fi
if [ "$compoption" = "10" ]
then
make_all_periph_components
fi
if [ "$compoption" = "?" ]
then
about_periph_components
fi
done
}
make_all_samples()
{
echo
echo "Note: compiling all samples is going to use up bags of disk space."
echo "Continue? (y/n)"
echo
read ans
if [ "$ans" = "y" ]
then
cd $WXDIR/samples
make -f makefile.unx all$GUISUFFIX
fi
}
make_samples()
{
compoption='none'
while [ "$compoption" != "0" ]
do
echo
echo "Sample compilation options"
echo "------------------------"
echo "1) Make Minimal sample"
echo "2) Make MDI sample
echo "3) Make all samples"
echo "4) Run a sample"
echo "------------------------"
echo "0) Quit."
echo
read compoption
if [ "$compoption" = "1" ]
then
make_minimal
fi
if [ "$compoption" = "2" ]
then
make_mdi
fi
if [ "$compoption" = "3" ]
then
make_all_samples
fi
if [ "$compoption" = "4" ]
then
run_samples
fi
done
}
# Find a platform filename, using 'arg' as input and output
platform_filename()
{
case "$arg" in
1) arg=$PLATFORMFILE1;;
2) arg=$PLATFORMFILE2;;
3) arg=$PLATFORMFILE3;;
4) arg=$PLATFORMFILE4;;
5) arg=$PLATFORMFILE5;;
6) arg=$PLATFORMFILE6;;
7) arg=$PLATFORMFILE7;;
8) arg=$PLATFORMFILE8;;
9) arg=$PLATFORMFILE9;;
10) arg=$PLATFORMFILE10;;
11) arg=$PLATFORMFILE11;;
12) arg=$PLATFORMFILE12;;
13) arg=$PLATFORMFILE13;;
14) arg=$PLATFORMFILE14;;
15) arg=$PLATFORMFILE15;;
16) arg=$PLATFORMFILE16;;
17) arg=$PLATFORMFILE17;;
18) arg=$PLATFORMFILE18;;
19) arg=$PLATFORMFILE19;;
20) arg=$PLATFORMFILE20;;
*) arg=''
esac
}
platform_description()
{
case "$arg" in
1) arg=$PLATFORM1;;
2) arg=$PLATFORM2;;
3) arg=$PLATFORM3;;
4) arg=$PLATFORM4;;
5) arg=$PLATFORM5;;
6) arg=$PLATFORM6;;
7) arg=$PLATFORM7;;
8) arg=$PLATFORM8;;
9) arg=$PLATFORM9;;
10) arg=$PLATFORM10;;
11) arg=$PLATFORM11;;
12) arg=$PLATFORM12;;
13) arg=$PLATFORM13;;
14) arg=$PLATFORM14;;
15) arg=$PLATFORM15;;
16) arg=$PLATFORM16;;
17) arg=$PLATFORM17;;
18) arg=$PLATFORM18;;
19) arg=$PLATFORM19;;
20) arg=$PLATFORM20;;
*) arg=''
esac
}
###############################################################
# Select a platform
###############################################################
select_platform()
{
echo
echo "Select a platform"
echo "----------------------------"
echo "Note: this copies a file from $WXDIR/src/makeenvs"
echo "to $WXDIR/src/make.env. If you have"
echo "restarted the installation, the current option listed"
echo "may not reflect the current make.env."
echo
echo "You may wish to edit a .env file in $WXDIR/src/makeenvs"
echo "instead of src/make.env, which might be overwritten in future"
echo "installations."
echo
echo "In any event, a backup of make.env is made (make.bak) before it is"
echo "overwritten."
echo
echo "Please press return to continue."
read dummy
compoption='none'
selectdone=0
while [ "$selectdone" = "0" ]
do
echo
echo "Select a platform"
echo "----------------------------"
echo
i=1
while [ $i -le $PLATFORMCOUNT ]
do
arg=$i
platform_description
plat=$arg
markit=" "
if [ "$PLATFORM" = "$i" ]
then
markit="*"
fi
echo " "$markit" "$i") "$plat
i=`expr $i + 1`
done
echo
echo " e) Edit the current src/make.env"
echo
echo "Enter a choice, return for default: "
read compoption
if [ "$compoption" = "e" ]
then
$MYEDITOR $WXDIR/src/make.env
else
if [ "$compoption" != "" ]
then
arg=$compoption
platform_description
plat=$arg
arg=$compoption
platform_filename
platfile=$arg
if [ "$platfile" != "" ]
then
if [ ! -f $WXDIR"/src/makeenvs/"$platfile ]
then
echo "Sorry, this platform is not catered for yet."
echo "Try using the generic settings instead."
echo ""
echo "Press return to continue."
read dummy
else
selectdone=1
PLATFORM=$compoption
cp -f $WXDIR/src/make.env $WXDIR/src/make.bak
cp -f $WXDIR/src/makeenvs/$platfile $WXDIR/src/make.env
fi
fi
else
selectdone=1
fi
fi
done
}
###############################################################
# Run samples #
###############################################################
run_controls()
{
if [ ! -f $WXDIR"/samples/controls/controls"$GUISUFFIX ]
then
echo The Controls sample has not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/controls/controls"$GUISUFFIX
echo
cd $WXDIR"/samples/controls"
"controls"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_minimal()
{
if [ ! -f $WXDIR"/samples/minimal/minimal"$GUISUFFIX ]
then
echo The Minimal sample has not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/minimal/minimal"$GUISUFFIX
echo
cd $WXDIR"/samples/minimal"
"minimal"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_form()
{
if [ ! -f $WXDIR"/samples/form/form"$GUISUFFIX ]
then
echo The Form sample has not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/form/form"$GUISUFFIX
echo
cd $WXDIR"/samples/form"
"form"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_animate()
{
if [ ! -f $WXDIR"/samples/animate/anim"$GUISUFFIX ]
then
echo The Animate sample has not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/animate/anim"$GUISUFFIX
echo
cd $WXDIR"/samples/animate"
"anim"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_fractal()
{
if [ ! -f $WXDIR"/samples/fractal/fractal"$GUISUFFIX ]
then
echo The Fractal sample has not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/fractal/fractal"$GUISUFFIX
echo
cd $WXDIR"/samples/fractal"
"fractal"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_ipc()
{
if [ ! -f $WXDIR"/samples/ipc/client"$GUISUFFIX ]
then
echo The IPC samples have not been compiled yet.
else
echo
echo "Running "$WXDIR"/samples/ipc/client"$GUISUFFIX,
echo " "$WXDIR"/samples/ipc/server"$GUISUFFIX
echo
cd $WXDIR"/samples/ipc"
echo "Starting server..."
"server"$GUISUFFIX &
echo "Waiting 10 seconds..."
sleep 10
echo "Starting client..."
"client"$GUISUFFIX
cd $CURRENTDIR
fi
}
run_samples()
{
runoption='none'
while [ "$runoption" != "0" ]
do
echo
echo "Run a wxWindows sample"
echo "--------------------"
echo "Note: this is a small selection. For more, please"
echo "browse the samples subdirectory."
echo
echo "1) Run Minimal sample"
echo "2) Run MDI sample"
echo "--------------------"
echo "0) Quit."
echo
read runoption
if [ "$runoption" = "1" ]
then
run_minimal
fi
if [ "$runoption" = "2" ]
then
run_mdi
fi
done
}
make_all()
{
make_main_library
make_all_periph_components
make_all_samples
}
remove_component()
{
if [ -d $COMPONENT ]
then
echo "Remove "$COMPONENT": are you sure? (y/n) "
echo
read ans
if [ "$ans" = "y" ]
then
rm -f -r $COMPONENT
fi
fi
}
remove_components()
{
compoption='none'
while [ "$compoption" != "0" ]
do
if [ -f $WXDIR/docs/pdf/wx.pdf ]
then
PDFMANUALSOK="*"
else
PDFMANUALSOK=" "
fi
if [ -f $WXDIR/docs/html/wx/wx.htm ]
then
HTMLMANUALSOK="*"
else
HTMLMANUALSOK=" "
fi
if [ -d $WXDIR/utils/wxtree ]
then
WXTREEOK="*"
else
WXTREEOK=" "
fi
# if [ -d $WXDIR/utils/wxgraph ]
# then
# WXGRAPHOK="*"
# else
# WXGRAPHOK=" "
# fi
#
# if [ -d $WXDIR/utils/wxhelp ]
# then
# WXHELPOK="*"
# else
# WXHELPOK=" "
# fi
#
# if [ -d $WXDIR/utils/tex2rtf ]
# then
# TEX2RTFOK="*"
# else
# TEX2RTFOK=" "
# fi
if [ -d $WXDIR/utils/dialoged ]
then
DIALOGEDOK="*"
else
DIALOGEDOK=" "
fi
echo
echo "Remove a wxWindows component (* means it's installed)"
echo "-----------------------------------------------------"
echo "wxWindows currently takes up this many KB:"
du -s $WXDIR
echo "-----------------------------------------------------"
echo " 1) "$PDFMANUALSOK"Remove PDF manuals"
echo " 2) "$HTMLMANUALSOK"Remove HTML manuals"
echo " 3) "$WXTREEOK"Remove wxTree library"
# echo " 4) "$WXGRAPHOK"Remove wxGraph library"
# echo " 8) "$TEX2RTFOK"Remove Tex2RTF/HTML/WinHelp/wxHelp converter"
echo " 4) "$DIALOGEDOK"Remove Dialog Editor"
echo "------------------------------------------------------"
echo " 0) Quit."
echo
read compoption
if [ "$compoption" = "1" ]
then
rm -f -r $WXDIR/pdf
fi
if [ "$compoption" = "2" ]
then
rm -f -r $WXDIR/html
fi
if [ "$compoption" = "3" ]
then
COMPONENT=$WXDIR/utils/wxtree
remove_component
fi
if [ "$compoption" = "4" ]
then
COMPONENT=$WXDIR/utils/dialoged
remove_component
fi
done
}
clean_component()
{
if [ -d $COMPONENT ]
then
cd $COMPONENT
make -f makefile.unx clean$GUISUFFIX
cd $CURRENTDIR
fi
}
clean_samples()
{
cd $WXDIR/samples
make -f makefile.unx clean$GUISUFFIX
cd $CURRENTDIR
}
# -f $WXDIR/samples/pressup/pressup$GUISUFFIX -o \
# -f $WXDIR/samples/bombs/bombs$GUISUFFIX -o \
# -f $WXDIR/samples/fractal/fractal$GUISUFFIX -o \
# -f $WXDIR/samples/animate/anim$GUISUFFIX -o \
# -f $WXDIR/samples/ipc/server$GUISUFFIX -o \
clean_components()
{
compoption='none'
olddu=""
while [ "$compoption" != "0" ]
do
if [ -f $WXDIR/samples/controls/controls$GUISUFFIX -o \
-f $WXDIR/samples/forty/forty$GUISUFFIX -o \
-f $WXDIR/samples/splitter/splitter$GUISUFFIX -o \
-f $WXDIR/samples/docview/docview$GUISUFFIX -o \
-f $WXDIR/samples/wxpoem/wxpoem$GUISUFFIX -o \
-f $WXDIR/samples/printing/printing$GUISUFFIX -o \
-f $WXDIR/samples/resource/resource$GUISUFFIX -o \
-f $WXDIR/samples/layout/layout$GUISUFFIX -o \
-f $WXDIR/samples/toolbar/test$GUISUFFIX -o \
-f $WXDIR/samples/dialogs/dialogs$GUISUFFIX -o \
-f $WXDIR/samples/types/types$GUISUFFIX -o \
-f $WXDIR/samples/mdi/mdi$GUISUFFIX -o \
-f $WXDIR/samples/minimal/minimal$GUISUFFIX ]
then
SAMPLESOK="*"
else
SAMPLESOK=" "
fi
if [ -f $WXDIR/lib/libwx$GUISUFFIX".a" ]
then
WXOK="*"
else
WXOK=" "
fi
if [ -f $WXDIR/utils/tex2rtf/src/objects$GUISUFFIX/tex2rtf.o ]
then
TEX2RTFOK="*"
else
TEX2RTFOK=" "
fi
if [ -f $WXDIR/utils/dialoged/src/dialoged$GUISUFFIX ]
then
DIALOGEDOK="*"
else
DIALOGEDOK=" "
fi
echo
echo "Cleanup a wxWindows component (* means objects/binaries exist, - means unknown)"
echo "-----------------------------------------------------"
echo "wxWindows currently takes up this many KB:"
newdu=`du -s $WXDIR`
if [ "$olddu" = "" ]
then
theline=$newdu
else
theline=$newdu" (previous usage was "$olddu")"
fi
echo $theline
olddu=$newdu
echo "-----------------------------------------------------"
echo " 1) "$WXOK"Clean wxWindows library"
echo " 2) "$SAMPLESOK"Clean all wxWindows samples"
echo " 3) -Clean all utilities"
echo " 4) "$TEX2RTFOK"Clean Tex2RTF/HTML/WinHelp/wxHelp converter"
echo " 5) "$DIALOGEDOK"Clean Dialoged Editor tool"
echo "------------------------------------------------------"
echo " 0) Quit."
echo
read compoption
if [ "$compoption" = "1" ]
then
COMPONENT=$WXDIR/src/x
clean_component
fi
if [ "$compoption" = "2" ]
then
cd $WXDIR/samples
make -f makefile.unx clean$GUISUFFIX
cd $CURRENTDIR
fi
if [ "$compoption" = "3" ]
then
cd $WXDIR/utils
make -f makefile.unx clean$GUISUFFIX
cd $CURRENTDIR
fi
if [ "$compoption" = "4" ]
then
COMPONENT=$WXDIR/utils/tex2rtf/src
clean_component
fi
if [ "$compoption" = "5" ]
then
COMPONENT=$WXDIR/utils/dialoged/src
clean_component
fi
done
}
# Select a target
select_target()
{
compoption='none'
selectdone=0
while [ "$selectdone" = "0" ]
do
echo
echo "Select a target"
echo "---------------"
echo " 1) Motif"
echo
read compoption
if [ "$compoption" = "1" ]
then
selectdone=1
GUITARGET=motif
GUISUFFIX=_motif
fi
done
}
# Select a target
select_dir()
{
echo ""
echo "Select wxWindows directory"
echo "--------------------------"
echo ""
echo "Current directory: " $WXDIR
echo ""
echo "New directory: (return for existing value):"
read inp
if [ "$inp" != "" ]
then
WXDIR=$inp
fi
}
### View manual ###
view_manual()
{
if [ ! -d $WXDIR ]
then
echo "Sorry -- you must unarchive the distribution before you can"
echo "look at the manual."
else
manoption='none'
while [ "$manoption" != "0" ]
do
echo
echo "View wxWindows documentation"
echo "----------------------------"
echo "1) The installation instructions, using "$MYPAGER
echo "2) readme.txt, using "$MYPAGER
echo "3) The change log, using "$MYPAGER
echo "4) The HTML manual hierarchy, using $HTMLVIEWER"
echo "--------------------"
echo "0) Quit."
echo
read manoption
if [ "$manoption" = "1" ]
then
if [ -f $WXDIR"/docs/motif/install.txt" ]
then
$MYPAGER $WXDIR/docs/motif/install.txt
else
if [ -f "install.txt" ]
then
$MYPAGER "install.txt"
else
if [ -f $WXDIR/"install.txt" ]
then
$MYPAGER $WXDIR/"install.txt"
else
echo
echo "Sorry, cannot find install.txt. Perhaps you did not ftp"
echo "it along with the archives, and/or you haven't unarchived"
echo "the sources yet. Please press return to continue."
echo
read ans
fi
fi
fi
fi
if [ "$manoption" = "2" ]
then
if [ -f $WXDIR"/docs/motif/readme.txt" ]
then
$MYPAGER $WXDIR/docs/motif/readme.txt
else
if [ -f "readme.txt" ]
then
$MYPAGER "readme.txt"
else
if [ -f $WXDIR/"readme.txt" ]
then
$MYPAGER $WXDIR/"readme.txt"
else
echo
echo "Sorry, cannot find readme.txt. Perhaps you did not ftp"
echo "it along with the archives, and/or you haven't unarchived"
echo "the sources yet. Please press return to continue."
echo
read ans
fi
fi
fi
fi
if [ "$manoption" = "3" ]
then
if [ -f $WXDIR"/docs/motif/changes.txt" ]
then
$MYPAGER $WXDIR/docs/motif/changes.txt
else
if [ -f "changes.txt" ]
then
$MYPAGER "changes.txt"
else
if [ -f $WXDIR/"changes.txt" ]
then
$MYPAGER $WXDIR/"changes.txt"
else
echo
echo "Sorry, cannot find changes.txt. Perhaps you did not ftp"
echo "it along with the archives, and/or you haven't unarchived"
echo "the sources yet. Please press return to continue."
echo
read ans
fi
fi
fi
fi
if [ "$manoption" = "4" ]
then
$HTMLVIEWER $WXDIR"/docs/html/index.htm"
fi
done
fi
}
preliminary_notes()
{
selectdone1=0
ans="n"
while [ "$ans" != "y" ]
do
# clear
echo
echo The GUI target is GUITARGET=$GUITARGET "."
echo
echo The directory to install to is WXDIR=$WXDIR
echo
arg=$PLATFORM
platform_description
echo The selected platform is $arg
echo
echo "Please check these settings carefully."
echo "Are they correct for your system? (y/n)"
echo
read ans
if [ "$ans" != "y" ]
then
select_target
select_dir
select_platform
fi
done
clear
echo ""
echo "Configuring wxWindows"
echo "---------------------"
echo ""
echo "Most makefile settings to do with compilers, platforms and"
echo "directories are kept in "$WXDIR"/src/make.env."
echo ""
echo "If you get a compiler error or warning, please strongly"
echo "suspect this file, and if necessary edit it from the first"
echo "option on the Main Menu."
echo ""
echo "Some suggestions for settings are contained in make.env,"
echo "and further information is in "$WXDIR"/install/install.txt."
echo
echo wxWindows itself can be tailored to remove certain features
echo "(such as PostScript support), or select library preferences, by"
echo "editing the file "$WXDIR"/include/wx/motif/setup.h."
echo
echo The setup.h defaults are probably ok for now though.
echo
echo "Please press return to continue."
read ans
echo
clear
echo ""
echo "Configuring wxWindows (cont'd)"
echo "--------------------- --------"
echo ""
echo "By default (at least for GNU compiler use), debugging information"
echo "is included. This will make the libraries and binaries"
echo "a lot bigger than if you left debugging information out."
echo
echo "So you might want to set DEBUG to nothing in make.env"
echo "to disable debugging information, at least for a first look at wxWindows."
echo
echo "Please press return to continue."
read ans
echo
clear
echo
echo "You may wish to choose 'View documentation' now..."
}
############# MAIN BIT OF THE SCRIPT #################
clear
echo
echo "-------------------------------------------"
echo "Welcome to the wxWindows 2.0 installation."
echo "-------------------------------------------"
echo
echo "This script will install from the archives:"
echo ""
echo " "$ARCHIVE"gen.zip, "$ARCHIVE"mot.zip"
echo ""
echo "and, if present, HTML and PDF archives."
echo ""
echo "This installation is best done from a new directory where"
echo "wxWindows will be installed, and which contains the .zip files."
echo "For example, ~/wx."
select_dir
if [ ! -f $WXDIR/src/make.env ]
then
install_from_archive
fi
preliminary_notes
useroption='none'
while [ "$useroption" != "0" ]
do
echo
echo "wxWindows Installation Main Menu"
echo "--------------------------------"
echo
echo " 1) Install from archive."
echo " 2) Make main wxWindows library."
echo " 3) Make a peripheral component."
echo " 4) Make a sample."
echo " 5) Make absolutely everything."
echo " 6) Run a sample."
echo " 7) View documentation."
echo " 8) Clean objects/binaries, saving space."
echo " 9) Remove wxWindows components from disk."
echo "10) Edit make.env."
echo "11) Change the selected target platform"
echo "-----------------------------------"
echo " 0) Exit from installation."
echo
read useroption
if [ "$useroption" = "1" ]
then
install_from_archive
fi
if [ "$useroption" = "2" ]
then
make_main_library
fi
if [ "$useroption" = "3" ]
then
make_peripheral_components
fi
if [ "$useroption" = "4" ]
then
make_samples
fi
if [ "$useroption" = "5" ]
then
make_all
fi
if [ "$useroption" = "6" ]
then
run_samples
fi
if [ "$useroption" = "7" ]
then
view_manual
fi
if [ "$useroption" = "8" ]
then
clean_components
fi
if [ "$useroption" = "9" ]
then
remove_components
fi
if [ "$useroption" = "10" ]
then
edit_make_env
fi
if [ "$useroption" = "11" ]
then
select_platform
fi
done
clear
echo ""
echo "Goodbye! I hope your wxWindows installation was successful."
echo ""
echo "You can subscribe to the mailing list wxwin-users"
echo "for further assistance from experienced users."
echo ""
echo "Information is also available via the World Wide Web at:"
echo ""
echo "http://web.ukonline.co.uk/julian.smart/wxwin"
echo ""
echo "If all else fails, please contact me, Julian Smart, at:"
echo ""
echo "julian.smart@ukonline.co.uk"
echo ""
echo "If you have any suggestions, bug reports or patches,"
echo "please email me at the above address."
echo ""