+#!/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 ""
+
+