summaryrefslogtreecommitdiff
path: root/Build/extra/djgpp/config.bat
diff options
context:
space:
mode:
Diffstat (limited to 'Build/extra/djgpp/config.bat')
-rwxr-xr-xBuild/extra/djgpp/config.bat272
1 files changed, 272 insertions, 0 deletions
diff --git a/Build/extra/djgpp/config.bat b/Build/extra/djgpp/config.bat
new file mode 100755
index 00000000000..d016366692c
--- /dev/null
+++ b/Build/extra/djgpp/config.bat
@@ -0,0 +1,272 @@
+@echo off
+Rem
+Rem The SmallEnv gorp is for those who have too small environment
+Rem size which will cause the variables we set to be truncated
+Rem but who cannot be bothered to read the Out Of Environment Space
+Rem error messages spitted by the stock DOS shell
+set XSRC=.
+if not "%XSRC%" == "." goto SmallEnv
+if "%1" == "" goto inplace
+set XSRC=%1
+if not "%XSRC%" == "%1" goto SmallEnv
+:inplace
+if exist .\kpathsea\INSTALL ren .\kpathsea\INSTALL INSTALL.txt
+if exist .\web2c\INSTALL ren .\web2c\INSTALL INSTALL.txt
+if exist .\dvipsk\INSTALL ren .\dvipsk\INSTALL INSTALL.txt
+if exist .\dviljk\INSTALL ren .\dviljk\INSTALL INSTALL.txt
+if exist .\gsftopk\INSTALL ren .\gsftopk\INSTALL INSTALL.txt
+if exist .\makeindexk\INSTALL ren .\makeindexk\INSTALL INSTALL.txt
+if exist .\makeindexk\INSTALL ren .\makeindexk\INSTALL INSTALL.txt
+if exist .\dvipdfm\INSTALL ren .\dvipdfm\INSTALL INSTALL.txt
+test -d %XSRC%
+if not errorlevel 1 goto chkdir
+echo %XSRC% is not a directory
+goto end
+:chkdir
+test -f %XSRC%/configure
+if not errorlevel 1 goto argsok
+echo I cannot find the configure script in directory %XSRC%
+goto end
+:argsok
+rem set SYSROOT=c:
+set PATH_SEPARATOR=:
+if not "%PATH_SEPARATOR%" == ":" goto SmallEnv
+set PATH_EXPAND=y
+if not "%PATH_EXPAND%" == "y" goto SmallEnv
+if not "%HOSTNAME%" == "" goto hostdone
+if "%windir%" == "" goto msdos
+set OS=MS-Windows
+if not "%OS%" == "MS-Windows" goto SmallEnv
+goto haveos
+:msdos
+set OS=MS-DOS
+if not "%OS%" == "MS-DOS" goto SmallEnv
+:haveos
+if not "%USERNAME%" == "" goto haveuname
+if not "%USER%" == "" goto haveuser
+echo No USERNAME and no USER found in the environment, using default values
+set HOSTNAME=Unknown PC
+if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
+:haveuser
+set HOSTNAME=%USER%'s PC
+if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
+goto userdone
+:haveuname
+set HOSTNAME=%USERNAME%'s PC
+if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
+:userdone
+set HOSTNAME=%HOSTNAME%, %OS%
+:hostdone
+set OS=
+echo Updating configure scripts for DJGPP...
+test -f %XSRC%/configure.orig
+if not errorlevel 1 goto orig1
+cp -p %XSRC%/configure configure.orig
+goto patchmain
+:orig1
+if not exist configure.orig cp -p %XSRC%/configure.orig configure.orig
+:patchmain
+patch -o configure configure.orig %XSRC%/djgpp/cfgmain.pat
+if errorlevel 1 goto PatchError
+test -d %XSRC%/kpathsea
+if errorlevel 1 goto DviLJk
+if not exist kpathsea\nul mkdir kpathsea
+if exist kpathsea\configure.orig goto orig2
+test -f %XSRC%/kpathsea/configure.orig
+if not errorlevel 1 cp -p %XSRC%/kpathsea/configure.orig kpathsea/configure.orig
+if not exist kpathsea\configure.orig cp -p %XSRC%/kpathsea/configure kpathsea/configure.orig
+:orig2
+patch -o kpathsea/configure kpathsea/configure.orig %XSRC%/djgpp/cfgkpath.pat
+if errorlevel 1 goto PatchError
+:DviLJk
+test -d %XSRC%/dviljk
+if errorlevel 1 goto DviPSk
+if not exist dviljk\nul mkdir dviljk
+if exist dviljk\configure.orig goto orig3
+test -f %XSRC%/dviljk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/dviljk/configure.orig dviljk/configure.orig
+if not exist dviljk\configure.orig cp -p %XSRC%/dviljk/configure dviljk/configure.orig
+:orig3
+patch -o dviljk/configure dviljk/configure.orig %XSRC%/djgpp/cfgdvilj.pat
+if errorlevel 1 goto PatchError
+:DviPSk
+test -d %XSRC%/dvipsk
+if errorlevel 1 goto DTL
+if not exist dvipsk\nul mkdir dvipsk
+if exist dvipsk\configure.orig goto orig4
+test -f %XSRC%/dvipsk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/dvipsk/configure.orig dvipsk/configure.orig
+if not exist dvipsk\configure.orig cp -p %XSRC%/dvipsk/configure dvipsk/configure.orig
+:orig4
+patch -o dvipsk/configure dvipsk/configure.orig %XSRC%/djgpp/cfgdvips.pat
+if errorlevel 1 goto PatchError
+:ODviPSk
+test -d %XSRC%/odvipsk
+if errorlevel 1 goto DTL
+if not exist odvipsk\nul mkdir odvipsk
+if exist odvipsk\configure.orig goto orig40
+test -f %XSRC%/odvipsk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/odvipsk/configure.orig odvipsk/configure.orig
+if not exist odvipsk\configure.orig cp -p %XSRC%/odvipsk/configure odvipsk/configure.orig
+:orig40
+patch -o odvipsk/configure odvipsk/configure.orig %XSRC%/djgpp/cfgdvips.pat
+if errorlevel 1 goto PatchError
+:DTL
+test -d %XSRC%/dtl
+if errorlevel 1 goto DviDvi
+if not exist dtl\nul mkdir dtl
+if exist dtl\configure.orig goto orig5
+test -f %XSRC%/dtl/configure.orig
+if not errorlevel 1 cp -p %XSRC%/dtl/configure.orig dtl/configure.orig
+if not exist dtl\configure.orig cp -p %XSRC%/dtl/configure dtl/configure.orig
+:orig5
+patch -o dtl/configure dtl/configure.orig %XSRC%/djgpp/cfgdtl.pat
+if errorlevel 1 goto PatchError
+:DViDvi
+test -d %XSRC%/dvidvi
+if errorlevel 1 goto LaCheck
+if not exist dvidvi\nul mkdir dvidvi
+if exist dvidvi\configure.orig goto orig6
+test -f %XSRC%/dvidvi/configure.orig
+if not errorlevel 1 cp -p %XSRC%/dvidvi/configure.orig dvidvi/configure.orig
+if not exist dvidvi\configure.orig cp -p %XSRC%/dvidvi/configure dvidvi/configure.orig
+:orig6
+patch -o dvidvi/configure dvidvi/configure.orig %XSRC%/djgpp/cfgdvidv.pat
+if errorlevel 1 goto PatchError
+:LaCheck
+test -d %XSRC%/lacheck
+if errorlevel 1 goto SeeTeXk
+if not exist lacheck\nul mkdir lacheck
+if exist lacheck\configure.orig goto orig7
+test -f %XSRC%/lacheck/configure.orig
+if not errorlevel 1 cp -p %XSRC%/lacheck/configure.orig lacheck/configure.orig
+if not exist lacheck\configure.orig cp -p %XSRC%/lacheck/configure lacheck/configure.orig
+:orig7
+patch -o lacheck/configure lacheck/configure.orig %XSRC%/djgpp/cfglachk.pat
+if errorlevel 1 goto PatchError
+:SeeTeXk
+test -d %XSRC%/seetexk
+if errorlevel 1 goto MakeIndexk
+if not exist seetexk\nul mkdir seetexk
+if exist seetexk\configure.orig goto orig8
+test -f %XSRC%/seetexk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/seetexk/configure.orig seetexk/configure.orig
+if not exist seetexk\configure.orig cp -p %XSRC%/seetexk/configure seetexk/configure.orig
+:orig8
+patch -o seetexk/configure seetexk/configure.orig %XSRC%/djgpp/cfgseetx.pat
+if errorlevel 1 goto PatchError
+:MakeIndexk
+test -d %XSRC%/makeindexk
+if errorlevel 1 goto GsfToPk
+if not exist makeindexk\nul mkdir makeindexk
+if exist makeindexk\configure.orig goto orig9
+test -f %XSRC%/makeindexk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/makeindexk/configure.orig makeindexk/configure.orig
+if not exist makeindexk\configure.orig cp -p %XSRC%/makeindexk/configure makeindexk/configure.orig
+:orig9
+patch -o makeindexk/configure makeindexk/configure.orig %XSRC%/djgpp/cfgmkind.pat
+if errorlevel 1 goto PatchError
+:GsfToPk
+test -d %XSRC%/gsftopk
+if errorlevel 1 goto Ps2Pkm
+if not exist gsftopk\nul mkdir gsftopk
+if exist gsftopk\configure.orig goto orig10
+test -f %XSRC%/gsftopk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/gsftopk/configure.orig gsftopk/configure.orig
+if not exist gsftopk\configure.orig cp -p %XSRC%/gsftopk/configure gsftopk/configure.orig
+:orig10
+patch -o gsftopk/configure gsftopk/configure.orig %XSRC%/djgpp/cfggsfpk.pat
+if errorlevel 1 goto PatchError
+:Ps2Pkm
+test -d %XSRC%/ps2pkm
+if errorlevel 1 goto Tex4HTk
+if not exist ps2pkm\nul mkdir ps2pkm
+if exist ps2pkm\configure.orig goto orig11
+test -f %XSRC%/ps2pkm/configure.orig
+if not errorlevel 1 cp -p %XSRC%/ps2pkm/configure.orig ps2pkm/configure.orig
+if not exist ps2pkm\configure.orig cp -p %XSRC%/ps2pkm/configure ps2pkm/configure.orig
+:orig11
+patch -o ps2pkm/configure ps2pkm/configure.orig %XSRC%/djgpp/cfgpspkm.pat
+if errorlevel 1 goto PatchError
+:Tex4HTk
+test -d %XSRC%/tex4htk
+if errorlevel 1 goto MusixFlx
+if not exist tex4htk\nul mkdir tex4htk
+if exist tex4htk\configure.orig goto orig12
+test -f %XSRC%/tex4htk/configure.orig
+if not errorlevel 1 cp -p %XSRC%/tex4htk/configure.orig tex4htk/configure.orig
+if not exist tex4htk\configure.orig cp -p %XSRC%/tex4htk/configure tex4htk/configure.orig
+:orig12
+patch -o tex4htk/configure tex4htk/configure.orig %XSRC%/djgpp/cfgtexht.pat
+if errorlevel 1 goto PatchError
+:MusixFlx
+test -d %XSRC%/musixflx
+if errorlevel 1 goto DviPDFm
+if not exist musixflx\nul mkdir musixflx
+if exist musixflx\configure.orig goto orig13
+test -f %XSRC%/musixflx/configure.orig
+if not errorlevel 1 cp -p %XSRC%/musixflx/configure.orig musixflx/configure.orig
+if not exist musixflx\configure.orig cp -p %XSRC%/musixflx/configure musixflx/configure.orig
+:orig13
+patch -o musixflx/configure musixflx/configure.orig %XSRC%/djgpp/cfgmusix.pat
+if errorlevel 1 goto PatchError
+:DviPDFm
+test -d %XSRC%/dvipdfm
+if errorlevel 1 goto Web2C
+if not exist dvipdfm\nul mkdir dvipdfm
+if exist dvipdfm\configure.orig goto orig14
+test -f %XSRC%/dvipdfm/configure.orig
+if not errorlevel 1 cp -p %XSRC%/dvipdfm/configure.orig dvipdfm/configure.orig
+if not exist dvipdfm\configure.orig cp -p %XSRC%/dvipdfm/configure dvipdfm/configure.orig
+:orig14
+patch -o dvipdfm/configure dvipdfm/configure.orig %XSRC%/djgpp/cfgdvpdf.pat
+if errorlevel 1 goto PatchError
+:Web2C
+test -d %XSRC%/web2c
+if errorlevel 1 goto skipXDVI
+if not exist web2c\nul mkdir web2c
+if exist web2c\configure.orig goto orig100
+test -f %XSRC%/web2c/configure.orig
+if not errorlevel 1 cp -p %XSRC%/web2c/configure.orig web2c/configure.orig
+if not exist web2c\configure.orig cp -p %XSRC%/web2c/configure web2c/configure.orig
+:orig100
+patch -o web2c/configure web2c/configure.orig %XSRC%/djgpp/cfgweb2c.pat
+if errorlevel 1 goto PatchError
+Rem
+Rem XDvi is not supported on MS-DOS
+GoTo skipXDVI
+if not exist xdvik\nul mkdir xdvik
+if not exist xdvik\configure.orig cp -p %XSRC%/xdvik/configure xdvik/configure.orig
+patch -o xdvik/configure xdvik/configure.orig %XSRC%/djgpp/cfgxdvik.pat
+if errorlevel 1 goto PatchError
+:skipXDVI
+set CONFIG_SHELL=bash.exe
+set INSTALL=${DJDIR}/bin/ginstall -c
+set YACC=bison -y
+set LEX=flex
+set RANLIB=ranlib
+if not "%RANLIB%" == "ranlib" goto SmallEnv
+Rem Use a response file to avoid exceeding the 126-character limit
+echo --prefix=${DJDIR} --datadir=${DJDIR}/share --srcdir=%XSRC% > cfg.rf
+echo --without-x --with-editor='emacs +%%d %%s' --with-epsfwin >> cfg.rf
+echo Configuring...
+sh ./configure i386-pc-msdos.djgppv2 @cfg.rf
+echo Done.
+goto CleanUp
+:SmallEnv
+echo Your environment size is too small. Please enlarge it and run me again.
+set HOSTNAME=
+set OS=
+:CleanUp
+set XSRC=
+set CONFIG_SHELL=
+set INSTALL=
+set YACC=
+set LEX=
+set RANLIB=
+set HOSTNAME=
+if exist cfg.rf del cfg.rf
+goto end
+:PatchError
+echo Failed to patch one or more configure scripts. Configure NOT done.
+:end