X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=make.bat;h=f305b090b09c7f240f075cbeffb5ce81e3e674d4;hp=e091bd9aeaf8a0324aed722bb2fd53685f613ed8;hb=4bfee81711b64e10808f8b1846818e29ef16cb94;hpb=226e3015fcc0e7590aa8ac416b4be7bf0fba08a1 diff --git a/make.bat b/make.bat index e091bd9ae..f305b090b 100644 --- a/make.bat +++ b/make.bat @@ -1,15 +1,20 @@ -@echo off +@echo OFF +REM Change this to ON when debugging this batch file. -rem Written by Frank Schmitt +rem Written by Frank Schmitt (ich@frank-schmitt.net) rem based on the work by David Charlap (shamino@writeme.com) rem . +rem . rem Clear PWD so emacs doesn't get confused set GNUS_PWD_SAVE=%PWD% set PWD= set ERROR=: +REM set pause= -if "%1" == "" goto usage +if %1p == p goto usage +echo * Installing Gnus on your system. Operating system: +ver rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is rem not present -- this also fixes the problem about too many parameters on Win9x. if exist %1\emacs.bat goto ebat @@ -21,8 +26,8 @@ goto noemacs set EMACS=emacs.bat echo. echo *************************************************************************** -echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat, -echo * it isn't needed anymore. +echo * Using emacs.bat (If you've got Emacs 20.3 or higher please remove +echo * Emacs.bat, it isn't needed anymore.) echo *************************************************************************** echo. goto emacs @@ -38,8 +43,8 @@ goto emacs :emacs if not "%2" == "/copy" goto emacsnocopy -if not exist %1\..\site-lisp mkdir %1\..\site-lisp -if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus +if not exist %1\..\site-lisp\nul mkdir %1\..\site-lisp +if not exist %1\..\site-lisp\gnus\nul mkdir %1\..\site-lisp\gnus if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes :emacsnocopy set EMACS_ARGS=-batch -q -no-site-file @@ -51,10 +56,10 @@ goto lisp :xemacs set EMACS=xemacs.exe if not "%2" == "/copy" goto xemacsnocopy -if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\ -if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info -if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp -if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc +if not exist %1\..\..\site-packages\nul mkdir %1\..\..\site-packages\ +if not exist %1\..\..\site-packages\info\nul mkdir %1\..\..\site-packages\info +if not exist %1\..\..\site-packages\lisp\nul mkdir %1\..\..\site-packages\lisp +if not exist %1\..\..\site-packages\etc\nul mkdir %1\..\..\site-packages\etc :xemacsnocopy set EMACS_ARGS=-batch -no-autoloads set GNUS_INFO_DIR=%1\..\..\site-packages\info @@ -68,11 +73,13 @@ echo. goto lisp :lisp +if "%pause%" == "pause" pause set EMACSBATCH=call %1\%EMACS% %EMACS_ARGS% cd lisp +if exist gnus-load.el attrib -r gnus-load.el if exist gnus-load.el del gnus-load.el echo. -echo Stand by while generating autoloads. +echo * Stand by while generating autoloads. echo. %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load . if ErrorLevel 1 set ERROR=make-cus-load @@ -81,26 +88,29 @@ if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load if ErrorLevel 1 set ERROR=%ERROR%,make-load echo. -echo Stand by while compiling lisp files. +echo * Stand by while compiling lisp files. echo. %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile if ErrorLevel 1 set ERROR=%ERROR%,compile if not "%2" == "/copy" goto infotest echo. -echo Stand by while copying lisp files. +echo * Stand by while copying lisp files. echo. -if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR% +if not exist %GNUS_LISP_DIR%\nul mkdir %GNUS_LISP_DIR% xcopy /R /Q /Y *.el* %GNUS_LISP_DIR% if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp goto infotest :infotest cd ..\texi +if exist sieve attrib -r sieve if exist sieve del sieve + +echo * Checking if makeinfo is available... makeinfo sieve.texi if exist sieve goto minfo -REM It seems that makeinfo isn't available +echo * No makeinfo found, using infohack.el. set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo echo. echo *************************************************************************** @@ -119,8 +129,9 @@ echo. goto info :info +if "%pause%" == "pause" pause echo. -echo Stand by while generating info files. +echo * Stand by while generating info files. echo. %EMACSINFO% emacs-mime.texi if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi @@ -132,12 +143,14 @@ if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi %EMACSINFO% message.texi if ErrorLevel 1 set ERROR=%ERROR%,message.texi +%EMACSINFO% sasl.texi +if ErrorLevel 1 set ERROR=%ERROR%,sasl.texi if not "%2" == "/copy" goto nocopy -if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR% +if not exist %GNUS_INFO_DIR%\nul mkdir %GNUS_INFO_DIR% echo. -echo Stand by while copying info files. +echo * Stand by while copying info files. echo. xcopy /R /Q /Y gnus %GNUS_INFO_DIR% if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info @@ -155,6 +168,8 @@ xcopy /R /Q /Y sieve %GNUS_INFO_DIR% if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info xcopy /R /Q /Y pgg %GNUS_INFO_DIR% if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info +xcopy /R /Q /Y sasl %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-sasl-info echo. echo *************************************************************************** @@ -164,23 +179,61 @@ echo * if they aren't already there: echo * echo * * PGG: (pgg). Emacs interface to various PGP implementations. echo * * Sieve: (sieve). Managing Sieve scripts in Emacs. +echo * * SASL: (sasl). The Emacs SASL library. echo *************************************************************************** echo. :etc +if "%pause%" == "pause" pause cd ..\etc echo. -echo Stand by while copying etc files. +echo * Stand by while copying etc files. echo. +REM if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR% +echo ** gnus-tut.txt ... xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR% if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt -if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus -xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\ -if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-* -if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies -xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\ -if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-* +REM +REM FIXME: Instead of C&P, we should use a FOR loop. +REM +set i=images +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i=images\mail +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i=images\gnus +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i=images\smilies +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i=images\smilies\grayscale +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i=images\smilies\medium +if not exist %GNUS_ETC_DIR%\%i%\nul mkdir %GNUS_ETC_DIR%\%i% +echo ** .\%i%\ ... +xcopy /R /Q /Y .\%i%\*.* %GNUS_ETC_DIR%\%i%\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-%i% +REM +set i= goto warnings :nocopy @@ -258,6 +311,7 @@ goto usage :usage echo. echo *************************************************************************** +REM echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy] [ ^> inst-log.txt 2^>^&1 ] echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy] echo * echo * where: :[X]Emacs-exe-dir: is the directory your @@ -266,10 +320,8 @@ echo * e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\ echo * or G:\Emacs\bin echo * /copy indicates that the compiled files should be copied to your echo * emacs lisp, info, and etc site directories. -echo * -echo * Note: If you have Emacs/w3 you should set the environment variable -echo * W3DIR to the directory where w3 is installed eg. -echo * set W3DIR=d:\lisp\w3-4.0pre46\lisp +REM echo * ^> inst-log.txt 2^>^&1 +REM echo * Log output to inst-log.txt echo *************************************************************************** echo.