rem echo off
rem -- Description:
rem --
rem -- This script is designed to try to make the command prompt
rem -- running under Microsoft Windows 9x more useful. In order to
rem -- run this script you first need to get a program
rem -- called 'wget' which it capable of downloading other files from
rem -- the Internet in a 'non-interactive' way, that is, you do not have
rem -- to open a browser and click on links in order to download files.
rem --
rem -- The wget program is available from the following site
rem -- amongst others. For full documentation about wget see the site
rem -- http://www.gnu.org/
rem --
rem -- A distribution of the 'wget' program
rem --   http://xoomer.virgilio.it/hherold/
rem --
rem --
rem -- The binary for wget with ssl support (~300K)
rem --   ftp://ftp.sunsite.dk/projects/wget/windows/wget-1.9.1b.zip
rem -- The ssl libraries for wget (these ARE required) (~450K)
rem --   ftp://ftp.sunsite.dk/projects/wget/windows/ssllibs097c.zip
rem -- The wget sources in zip compression format (~1.5M)
rem --   ftp://ftp.sunsite.dk/projects/wget/windows/wget-1.9s.zip
rem --
rem --
rem -- Author:
rem --   mjb  matth3wbishop@yahoo.com

doskey

@rem ***
@rem *** The following code creates an ftp script file which can be used
@rem *** with the standard Microsoft Windows command line ftp program
@rem *** The purpose of this script is to retrieve the wget program from
@rem *** the 'sunsite' ftp server. In the past I have noticed that
@rem *** under some versions of MS Windows, when the script file has finished
@rem *** the ftp program does not exit (it waits for more commands from the
@rem *** command line). This will cause the present script to stop executing.
@rem *** One solution to this situation is just to type 'quit' at the
@rem *** prompt which looks like this "ftp>"
@rem ***
@rem *** create the ftp script file
@rem ***


rem *** set the FIREFTP variable to '-a' when you are behind
rem *** a proxy or firewall which is not allowing the normal ftp
rem *** operations to work, for example
rem  FIREFTP=-a
set FIREFTP=
set DRIVE=c:
set BASEDIR=%DRIVE%\tools
set WGETSITE=ftp.sunsite.dk
set WGETDIR=projects/wget/windows

mkdir %BASEDIR%\wget
path=%BASEDIR%\wget;%path%

cd %BASEDIR%\wget
@rem -- Note that I believe that I have noticed that on some versions
@rem -- of the MS Windows console it is not possible to change directories
@rem -- using the syntax
@rem --    cd c:\some\dir
@rem -- That is, the drive letter is not allowed in the path. If this is
@rem -- true then the line immediately above the current comment block
@rem -- will fail. However on Windows 98SE this appears to be working

echo user anonymous matthew@macwcwagga.homedns.org > junk.txt
echo hash >> junk.txt
echo bin >> junk.txt
echo cd %WGETDIR% >> junk.txt

@rem -- I wonder how portable this construct is to various
@rem -- dos and windows batch languages. I seem to remember than many
@rem -- doses do not provide this file existance functionality.
IF EXIST %BASEDIR%\wget\wget-1.9.1b.zip GOTO endif1
  echo get wget-1.9.1b.zip >> junk.txt
:endif1

IF EXIST %BASEDIR%\wget\ssllibs097c.zip GOTO endif2
  echo get ssllibs097c.zip >> junk.txt
:endif2

rem -- echo get wget-1.9s.zip >> junk.txt
echo quit >> junk.txt


@rem ***
@rem *** Logon & transfer the file                                       
@rem ***
ftp %FIREFTP% -n -s:junk.txt %WGETSITE%
@rem *** When behind a firewall use the following line
@rem ***  ftp -n -s:junk.txt -a %WGETSITE%
rem del junk.txt

set ZIPSITE=ftp.info-zip.org
set ZIPDIR=pub/infozip/WIN32
set ZIPDIR2=pub/infozip/MSDOS

mkdir %BASEDIR%\infozip

mkdir %BASEDIR%\infozip\unzip
path=%BASEDIR%\infozip\unzip;%path%

mkdir %BASEDIR%\infozip\unzip\dos
rem ---  path=%BASEDIR%\infozip\unzip\dos;%path%

mkdir %BASEDIR%\infozip\zip
path=%BASEDIR%\infozip\zip;%path%

mkdir %BASEDIR%\infozip\zip\dos
rem ---  path=%BASEDIR%\infozip\zip\dos;%path%

mkdir %BASEDIR%\infozip\gui
path=%BASEDIR%\infozip\gui;%path%

cd %BASEDIR%\infozip\unzip

echo user anonymous matthew@macwcwagga.homedns.org > junk.txt
echo hash >> junk.txt
echo bin >> junk.txt
echo cd %ZIPDIR% >> junk.txt
echo lcd %BASEDIR%\infozip\unzip >> junk.txt
IF EXIST %BASEDIR%\infozip\unzip\unz550xN.exe GOTO endif3
  echo get unz550xN.exe >> junk.txt
:endif3

echo lcd %BASEDIR%\infozip\zip >> junk.txt
IF EXIST %BASEDIR%\infozip\zip\zip23xN.zip GOTO endif4
  echo get zip23xN.zip >> junk.txt
:endif4

echo lcd %BASEDIR%\infozip\gui >> junk.txt
IF EXIST %BASEDIR%\infozip\gui\wiz502xN.exe GOTO endif5
  echo get wiz502xN.exe >> junk.txt
:endif5

rem -- echo get wget-1.9s.zip >> junk.txt
echo quit >> junk.txt
@rem ***
@rem *** Logon & transfer the file                                       
@rem ***
ftp %FIREFTP% -n -s:junk.txt %ZIPSITE%
rem del junk.txt

cd %BASEDIR%\infozip\unzip
unz550xN.exe
cd %BASEDIR%\infozip\zip
unzip -o zip23xN.zip

@rem --- The extraction below triggers a gui process which will
@rem --- interrupt the current script
@rem ---
@rem --- cd %BASEDIR%\infozip\gui
@rem --- wiz502xN.exe

cd %BASEDIR%\wget
unzip -o wget-1.9.1b.zip
unzip -o ssllibs097c.zip

mkdir %BASEDIR%\filec
path=%BASEDIR%\filec;%path%
cd %BASEDIR%\filec

IF EXIST %BASEDIR%\filec\filec.zip GOTO endif6
  wget http://www.morearty.com/filec/filec.zip
:endif6

unzip -o filec.zip
filec -Q -\ -B

mkdir %BASEDIR%\unixutil
path=%path%;%BASEDIR%\unixutil\usr\local\wbin
path=%path%;%BASEDIR%\unixutil\bin
cd %BASEDIR%\unixutil

IF EXIST %BASEDIR%\unixutil\UnxUtils.zip GOTO endif7
  wget http://unxutils.sourceforge.net/UnxUtils.zip
:endif7

unzip -o UnxUtils.zip

mkdir %BASEDIR%\lynx
path=%path%;%BASEDIR%\lynx
cd %BASEDIR%\lynx

IF EXIST %BASEDIR%\lynx\lynx.zip GOTO endif8
  wget http://www.fredlwm.hpg.ig.com.br/cygwin/lynx/download/lynx.piz
  move lynx.piz lynx.zip
:endif8

IF EXIST %BASEDIR%\lynx\lynx.cfg GOTO endif9
  wget http://lynx.isc.org/current/lynx2-8-5/lynx.cfg
:endif9

unzip -o lynx.zip
set LYNX_CFG=%BASEDIR%\lynx\lynx.cfg
echo set LYNX_CFG=%BASEDIR%\lynx\lynx.cfg >> \autoexec.bat

@rem --- get the dos and windows dos-box browser 'Arachne'
@rem ---
mkdir %BASEDIR%\arachne
path=%path%;%BASEDIR%\arachne
cd %BASEDIR%\arachne

IF EXIST %BASEDIR%\arachne\a173gplf.zip GOTO endif10
  wget http://home.hetnet.nl/~ba8tian/arachne/a173gplf.zip
:endif10

unzip -o a173gplf.zip
@rem -- arachne needs to be setup and configured by running the
@rem -- setup program. I am not sure how this can be automated
@rem -- currently. Arachne appears to be distributed under the GPL
@rem -- although some of the documentation indicates that the core.exe
@rem -- code is not open-source ?

set DJSITE=ftp.delorie.com
set DJDIR=pub/djgpp/current
@rem -- below is a list of files which are necessary to build
@rem -- and run c, assembler, yacc and bison programs on a DOS
@rem -- operating system, or on a compatible system such as a
@rem -- 'dos console' running on Microsoft Windows

@rem ** unzip32.exe          to unzip the zip files         95 kb

@rem ** v2/copying.dj        DJGPP Copyright info            3 kb
@rem ** v2/djdev203.zip      DJGPP Basic Development Kit   1.5 mb
@rem ** v2/faq230b.zip       Frequently Asked Questions    664 kb
@rem ** v2/readme.1st        Installation instructions      22 kb
@rem ** 
@rem ** v2apps/rhid149b.zip  RHIDE                         2.4 mb
@rem ** 
@rem ** v2gnu/bnu214b.zip    Basic assembler, linker       3.1 mb
@rem ** v2gnu/bsn135b.zip    Bison                         185 kb
@rem ** v2gnu/flx254b.zip    Flex                          189 kb
@rem ** v2gnu/gcc332b.zip    Basic GCC compiler            2.8 mb
@rem ** v2gnu/gdb53b.zip     GNU debugger                  1.5 mb
@rem ** v2gnu/mak3791b.zip   Make (processes makefiles)    267 kb
@rem ** v2gnu/txi46b.zip     Info file viewer              761 kb
@rem ** 
@rem ** Extra Documentation Formats
@rem ** v2gnu/bnu214d.zip    Basic assembler, linker       4.2 mb
@rem ** v2gnu/bsn128d.zip    Bison                         438 kb
@rem ** v2gnu/flx254d.zip    Flex                          259 kb
@rem ** v2gnu/gcc332d.zip    Basic GCC compiler            4.8 mb
@rem ** v2gnu/gdb53d.zip     GNU debugger                  3.5 mb
@rem ** v2gnu/mak3791d.zip   Make (processes makefiles)    610 kb
@rem ** v2gnu/txi46d.zip     Info file viewer              1.3 mb
@rem ** 
@rem ** Total bytes to download  approx 30M

@rem --- get the dos c compiler 'djgpp'
@rem ---
mkdir %BASEDIR%\djgpp
path=%path%;%BASEDIR%\djgpp\bin
set DJGPP=%BASEDIR%\DJGPP\DJGPP.ENV
echo set DJGPP=%BASEDIR%\DJGPP\DJGPP.ENV >> \autoexec.bat
cd %BASEDIR%\djgpp

echo user anonymous matthew@macwcwagga.homedns.org > junk.txt
echo hash >> junk.txt
echo bin >> junk.txt
echo cd %DJDIR% >> junk.txt
echo lcd %BASEDIR%\djgpp >> junk.txt
IF EXIST %BASEDIR%\djgpp\unzip32.exe GOTO endif11
  echo get unzip32.exe >> junk.txt
:endif11

echo cd v2 >> junk.txt
IF EXIST %BASEDIR%\djgpp\djdev203.zip GOTO endif12
  echo get djdev203.zip >> junk.txt
:endif12

IF EXIST %BASEDIR%\djgpp\faq230b.zip GOTO endif13
  echo get faq230b.zip >> junk.txt
:endif13

IF EXIST %BASEDIR%\djgpp\readme.1st GOTO endif14
  echo get readme.1st >> junk.txt
:endif14

echo cd ../v2apps >> junk.txt
IF EXIST %BASEDIR%\djgpp\rhid149b.zip GOTO endif15
  echo get rhid149b.zip >> junk.txt
:endif15

echo cd ../v2gnu >> junk.txt
IF EXIST %BASEDIR%\djgpp\bnu214b.zip GOTO endif16
  echo get bnu214b.zip >> junk.txt
:endif16

IF EXIST %BASEDIR%\djgpp\bsn135b.zip GOTO endif17
  echo get bsn135b.zip >> junk.txt
:endif17

IF EXIST %BASEDIR%\djgpp\flx254b.zip GOTO endif18
  echo get flx254b.zip >> junk.txt
:endif18


IF EXIST %BASEDIR%\djgpp\gcc332b.zip GOTO endif19
  echo get gcc332b.zip >> junk.txt
:endif19

IF EXIST %BASEDIR%\djgpp\gdb53b.zip GOTO endif20
  echo get gdb53b.zip >> junk.txt
:endif20

IF EXIST %BASEDIR%\djgpp\mak3791b.zip GOTO endif21
  echo get mak3791b.zip >> junk.txt
:endif21

IF EXIST %BASEDIR%\djgpp\txi46b.zip GOTO endif22
  echo get txi46b.zip >> junk.txt
:endif22

IF EXIST %BASEDIR%\djgpp\bnu214d.zip GOTO endif23
  echo get bnu214d.zip >> junk.txt
:endif23

IF EXIST %BASEDIR%\djgpp\bsn128d.zip GOTO endif24
  echo get bsn128d.zip >> junk.txt
:endif24

IF EXIST %BASEDIR%\djgpp\flx254d.zip GOTO endif25
  echo get flx254d.zip >> junk.txt
:endif25

IF EXIST %BASEDIR%\djgpp\gcc332d.zip GOTO endif26
  echo get gcc332d.zip >> junk.txt
:endif26

IF EXIST %BASEDIR%\djgpp\gdb53d.zip GOTO endif27
  echo get gdb53d.zip >> junk.txt
:endif27

IF EXIST %BASEDIR%\djgpp\mak3791d.zip GOTO endif28
  echo get mak3791d.zip >> junk.txt
:endif28

IF EXIST %BASEDIR%\djgpp\txi46d.zip GOTO endif29
  echo get txi46d.zip >> junk.txt
:endif29


echo quit >> junk.txt
@rem ***
@rem *** Logon & transfer the file                                       
@rem ***
ftp %FIREFTP% -n -s:junk.txt %DJSITE%
rem del junk.txt

cd %BASEDIR%\djgpp
unzip -o *.zip

rem \autoexec.bat
rem wget http://www.morearty.com/filec/filec.zip
echo doskey >> \autoexec.bat
echo path=%path% >> \autoexec.bat