@if exist patches goto start
@echo The current working directory must be \emx\gnu
@goto end
:start
if not "%1"=="" goto %1
:tar
gzip -cd<gcc-2.5.7.tar.gz|tar xf -
if errorlevel 1 goto end
:tar2
if exist gcc-2.5 goto end
ren gcc-2.5.7 gcc-2.5
ren gcc-2_5.7 gcc-2.5
attrib -r gcc-2.5\* /s
if "%2"=="tar" goto end
:del
cd gcc-2.5\config
rm -r a29k alpha arm clipper convex elxsi fx80 gmicro h8300 i370 i860
rm -r i960 m68k m88k mips ns32k pa pyr romp rs6000 sh sparc spur tahoe
rm -r vax we32k
rm aoutos.h lynx.h nextstep.* t-libc-ok x-lynx xm-lynx.h
cd ..
rem delete VMS-related files
del *.com
del gcc.hlp
rem delete gperf files
del c-parse.gperf
del gplus.gperf
rem delete Unix shell scripts
del build-make
del config.guess
del config.sub
del configure
del cross-make
del dostage2
del dostage3
del fixcpp
del fixinc*
del fixproto
del install.sh
del just-fixinc
del listing
del move-if-change
del scan-types.sh
del sort-protos
rem delete documentation files
del changelog*
del g++.1
del gcc.info*
del cpp.info*
del *.aux
del *.fns
del *.cps
del ochangelog
del problems
del projects
del future.options
del readme*
del service
del tests.flunk
del cccp.1
del cpp.1
del gcc.1
del install
rem delete machine-dependent files
del math-*.h
del mips*
del va-*.h
rem delete unused source files
del alloca.c
del assert.h
del byteorder.h
del collect2.c
del cross-test.c
del crtstuff.c
del dbxstclass.h
del doschk.c
del enquire.c
del fix-header.c
del fixlimits.h
del floatlib.c
del g++.c
del gbl-ctors.h
del gen-protos.c
del getopt.c
del getopt.h
del getopt1.c
del glimits.h
del gmon.c
del gsyslimits.h
del halfpic.c
del halfpic.h
del libgcc1.c
del libgcc2.c
del limitx.h
del limity.h
del longlong.h
del proto.h
del protoize.c
del scan.c
del scan.h
del scan-decls.c
del sys-protos.h
del sys-types.h
del unprotoize.c
rem delete other files
del pself*.c
del tags
del configure.bat
cd ..
if "%2"=="del" goto end
:ren
cd gcc-2.5
rem rename source files
ren basic-block.h  basic-bl.h
ren bc-typecd.h    bc-typec.h
ren bc-typecd.def  bc-typec.def
ren bi-opcode.c    bi-opcod.c
ren bi-opname.c    bi-opnam.c
ren bi-parser.h    bi-parse.h
ren bi-parser.y    bi-parse.y
ren bi-parser.c    bi-parse.c
ren bi-reverse.c   bi-rever.c
ren bytetypes.h    bytetype.h
ren caller-save.c  caller-s.c
ren c-aux-info.c   c-aux-in.c
ren c-convert.c    c-conver.c
ren c-iterate.c    c-iterat.c
ren conditions.h   conditio.h
ren cp-except.c    cp-excep.c
ren cp-method.c    cp-metho.c
ren cp-search.c    cp-searc.c
ren cp-typeck.c    cp-typec.c
ren fold-const.c   fold-con.c
ren genconfig.c    genconfi.c
ren genattrtab.c   genattrt.c
ren genextract.c   genextra.c
ren genopinit.c    genopini.c
ren genoutput.c    genoutpu.c
ren hard-reg-set.h hard-reg.h
ren integrate.c    integrat.c
ren integrate.h    integrat.h
ren local-alloc.c  local-al.c
ren objc-parse.c   objc-par.c
ren objc-parse.y   objc-par.y
ren objc-tree.def  objc-tre.def
ren print-rtl.c    print-rt.c
ren print-tree.c   print-tr.c
ren reg-stack.c    reg-stac.c
ren stor-layout.c  stor-lay.c
ren typeclass.h    typeclas.h
rem rename documentation files
ren cpp.texi       cpp.tex
ren extend.texi    extend.tex
ren gcc.texi       gcc.tex
ren g++int.texi    gppint.tex
ren install.texi   install.tex
ren invoke.texi    invoke.tex
ren md.texi        md.tex
ren rtl.texi       rtl.tex
ren tm.texi        tm.tex
ren objc\typedstream.h typedstr.h
rem rename other files
ren .gdbinit       !gdbinit
cd ..
if "%2"=="ren" goto end
:config
cd gcc-2.5
updt -t config\i386\xm-i386.h config.h
updt -t config\i386\xm-i386.h hconfig.h
updt -t config\i386\i386.md md
updt -t config\i386\i386.c aux-outp.c
copy ..\patches\gcc-emx.tm tm.h
touch c-parse.c cp-parse.c cp-parse.h objc-par.c
copy ..\patches\dostage1.cmd
copy ..\patches\dostage2.cmd
copy ..\patches\dostage3.cmd
copy ..\patches\makeexe.cmd
copy ..\patches\movstage.cmd
copy ..\patches\compile.cmd
copy ..\patches\3stages.cmd
copy ..\patches\objc.mak objc\makefile
copy ..\patches\tconfig.h
sed -n -e "s/[^\"]*\"\([^\"]*\)\".*/version=\1/p" version.c >version
sed -e "/^VERSION$/r version" -e "/^VERSION$/d" ..\patches\gcc-emx1.sed >config.sed
sed -f config.sed Makefile.in > tmp
sed -f ..\patches\gcc-emx2.sed tmp >Makefile
del config.sed
del tmp
del version
touch config.sta
cd ..
if "%2"=="config" goto end
:patch
if "%2"=="no-patch" goto end
setlocal
cd gcc-2.5
set tmp=
lwpatch -p1 <..\patches\gcc-emx.pat
cd ..
endlocal
if "%2"=="patch" goto end
:end
