Gnus development mailing list
 help / color / mirror / Atom feed
From: Frank Schmitt <usereplyto@Frank-Schmitt.net>
Subject: Final version of newmake.bat
Date: Wed, 19 Mar 2003 00:43:04 +0100	[thread overview]
Message-ID: <u65qgnsvr.fsf@hschmi22.userfqdn.rz-online.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

Hello

I once more reworked newmake.bat, which will soon (at least I hope so)
replace make.bat and make.x.bat.

I now use xcopy instead of copy since it's faster and has the option to
work quite, Gnus is now installed in site-lisp respectively
site-packages instead of overwriting the Gnus distributed with [X]Emacs
and there's more and better readable info for the user.

I tested it with Emacs 21.3 and XEmacs 21.4.11 under Windows XP, if
anything doesn't work for you drop me a note, otherwise I'll ask
someone with CVS access to put it in CVS.


[-- Attachment #2: newmake.bat --]
[-- Type: application/octet-stream, Size: 7751 bytes --]

@echo off

rem Written by Frank Schmitt <ich@frank-schmitt.net>
rem based on the work by David Charlap (shamino@writeme.com)
rem .
rem Clear PWD so emacs doesn't get confused
set GNUS_PWD_SAVE=%PWD%
set PWD=

if "%1" == "" goto usage

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
if exist %1\emacs.exe goto eexe
if exist %1\xemacs.exe goto xemacs
goto noemacs

:ebat
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 ***************************************************************************
echo.
goto emacs

:eexe
set EMACS=emacs.exe
echo.
echo ***************************************************************************
echo * Using emacs.exe
echo ***************************************************************************
echo.
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\subdirs.el set subdirwarning=yes
:emacsnocopy
set GNUS_INFO_DIR=%1\..\info
set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp
set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc
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
:xemacsnocopy
set GNUS_INFO_DIR=%1\..\..\site-packages\info
set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus
set GNUS_ETC_DIR=%1\..\..\site-packages\etc
echo.
echo ***************************************************************************
echo * Using xemacs.exe
echo ***************************************************************************
echo.
goto lisp

:lisp
set EMACSBATCH=call %1\%EMACS% -no-site-file -batch -q
cd lisp
if exist gnus-load.el del gnus-load.el
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load
%EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile
if not "%2" == "/copy" goto infotest
if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%
xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%
goto infotest

:infotest
cd ..\texi
if exist sieve del sieve
makeinfo sieve.texi
if exist sieve goto minfo 
REM It seems that makeinfo isn't available
set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo
echo.
echo ***************************************************************************
echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.
echo ***************************************************************************
echo.
goto info

:minfo
set EMACSINFO=makeinfo  
echo.
echo ***************************************************************************
echo * Using makeinfo
echo ***************************************************************************
echo.
goto info

:info
%EMACSINFO% message.texi
%EMACSINFO% emacs-mime.texi
%EMACSINFO% gnus.texi
%EMACSINFO% sieve.texi
%EMACSINFO% pgg.texi
if not "%2" == "/copy" goto nocopy
if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus-?     %GNUS_INFO_DIR%
xcopy /R /Q /Y gnus-??    %GNUS_INFO_DIR%
xcopy /R /Q /Y message    %GNUS_INFO_DIR%
xcopy /R /Q /Y message-?  %GNUS_INFO_DIR%
xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%
xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%
xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%

echo.
echo ***************************************************************************
echo * You should add the following lines to 
echo * %GNUS_INFO_DIR%\dir 
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 ***************************************************************************
echo.

:etc
cd ..\etc
if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%
xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%
if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus
xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\
if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies
xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\
goto warnings

:nocopy
echo.
echo ***************************************************************************
echo * You chose not to copy the files, therefore you should add the 
echo * following lines to the TOP of your [X]emacs customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/gnus/lisp")
echo * (if (featurep 'xemacs)
echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")
echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")
echo * (require 'gnus-load)
echo *
echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here
echo * and yes, you've got to use forward slashes).
echo ***************************************************************************
echo.

:warnings
if not "%subdirwarning%" == "yes" goto warngnusload
echo.
echo ***************************************************************************
echo * There's no subdirs.el file in your site-lisp directory, you should
echo * therefor add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")
echo * (require 'gnus-load)
echo * Yes, it must be forward slashes.
echo ***************************************************************************
echo.
goto done
:warngnusload
echo.
echo ***************************************************************************
echo * You should add the following line to the TOP of your Emacs
echo * customization file:
echo *
echo * (require 'gnus-load)
echo ***************************************************************************
echo.
:done
cd ..
goto end

:noemacs
echo.
echo ***************************************************************************
echo * Unable to find emacs.exe or xemacs.exe on the path you specified!
echo * STOP!
echo ***************************************************************************
echo.
goto usage

:usage
echo.
echo ***************************************************************************
echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]
echo *
echo * where: :[X]Emacs-exe-dir: is the directory your 
echo *           emacs.exe respectively xemacs.exe resides in, 
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
echo ***************************************************************************
echo.

:end
rem Restore environment variables
set PWD=%GNUS_PWD_SAVE%
set GNUS_PWD_SAVE=
set EMACSBATCH=
set GNUS_LISP_DIR=
set GNUS_INFO_DIR=
set GNUS_ETC_DIR=
set subdirwarning=

[-- Attachment #3: Type: text/plain, Size: 158 bytes --]



-- 
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.

             reply	other threads:[~2003-03-18 23:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-18 23:43 Frank Schmitt [this message]
2003-03-19  6:43 ` Kevin Greiner
2003-03-19  7:16   ` Frank Schmitt
2003-03-19 15:05     ` Kevin Greiner
2003-03-19 22:36       ` Frank Schmitt
2003-03-20  0:25         ` Kevin Greiner
2003-03-20  9:00           ` Frank Schmitt
2003-03-20 22:57           ` But this one really is final (was: Final version of newmake.bat) Frank Schmitt
2003-03-21  5:59             ` But this one really is final Kevin Greiner
2003-03-21  7:50               ` Frank Schmitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=u65qgnsvr.fsf@hschmi22.userfqdn.rz-online.de \
    --to=usereplyto@frank-schmitt.net \
    --cc=replies@Frank-Schmitt.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).