X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/7d5989e14aacad4aa0775339dab645db80ab7144..37254dc10a10a40205644b670b20e757aa026343:/config.bat diff --git a/config.bat b/config.bat index 9e56b78225..aac4e108b0 100644 --- a/config.bat +++ b/config.bat @@ -2,14 +2,14 @@ rem ---------------------------------------------------------------------- rem Configuration script for MSDOS rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 -rem 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +rem 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. rem This file is part of GNU Emacs. -rem GNU Emacs is free software; you can redistribute it and/or modify +rem GNU Emacs is free software: you can redistribute it and/or modify rem it under the terms of the GNU General Public License as published by -rem the Free Software Foundation; either version 2, or (at your option) -rem any later version. +rem the Free Software Foundation, either version 3 of the License, or +rem (at your option) any later version. rem GNU Emacs is distributed in the hope that it will be useful, rem but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,18 +17,18 @@ rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the rem GNU General Public License for more details. rem You should have received a copy of the GNU General Public License -rem along with GNU Emacs; see the file COPYING. If not, write to the -rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -rem Boston, MA 02110-1301, USA. +rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/. + rem ---------------------------------------------------------------------- rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS: rem rem + msdos version 3 or better. -rem + DJGPP version 1.12maint1 or later (version 2.03 or later recommended). +rem + DJGPP version 2.0 or later (version 2.03 or later recommended). rem + make utility that allows breaking of the 128 chars limit on rem command lines. ndmake (as of version 4.5) won't work due to a -rem line length limit. The make that comes with DJGPP does work. -rem + rm and mv (from GNU file utilities). +rem line length limit. The make that comes with DJGPP does work (and is +rem recommended). +rem + rm, mv, and cp (from GNU file utilities). rem + sed (you can use the port that comes with DJGPP). rem rem You should be able to get all the above utilities from the DJGPP FTP @@ -37,6 +37,7 @@ rem ---------------------------------------------------------------------- set X11= set nodebug= set djgpp_ver= +set sys_malloc= if "%1" == "" goto usage rem ---------------------------------------------------------------------- rem See if their environment is large enough. We need 28 bytes. @@ -48,8 +49,9 @@ if "%1" == "" goto usage if "%1" == "--with-x" goto withx if "%1" == "--no-debug" goto nodebug if "%1" == "msdos" goto msdos +if "%1" == "--with-system-malloc" goto sysmalloc :usage -echo Usage: config [--with-x] [--no-debug] msdos +echo Usage: config [--no-debug] [--with-system-malloc] [--with-x] msdos echo [Read the script before you run it.] goto end rem ---------------------------------------------------------------------- @@ -63,6 +65,11 @@ set nodebug=Y shift goto again rem ---------------------------------------------------------------------- +:sysmalloc +set sys_malloc=Y +shift +goto again +rem ---------------------------------------------------------------------- :msdos Echo Checking whether 'sed' is available... sed -e "w junk.$$$" config.tmp if "%X11%" == "" goto src4 sed -f ../msdos/sed2x.inp config.tmp :src4 -if "%DJGPP_VER%" == "2" Goto src41 -sed -f ../msdos/sed2.inp config.h2 -goto src42 -:src41 sed -f ../msdos/sed2v2.inp config.h2 -:src42 Rem See if DECL_ALIGN can be supported with this GCC rm -f junk.c junk.o junk junk.exe echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo; >junk.c @@ -174,6 +175,13 @@ rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG rem For details see lisp.h where it defines USE_LSB_TAG echo #define NO_DECL_ALIGN >>config.h2 :alignOk +Rem See if they requested a SYSTEM_MALLOC build +if "%sys_malloc%" == "" Goto cfgDone +rm -f config.tmp +ren config.h2 config.tmp +sed -f ../msdos/sedalloc.inp config.h2 + +:cfgDone rm -f junk.c junk junk.exe update config.h2 config.h >nul rm -f config.tmp config.h2 @@ -182,15 +190,10 @@ rem On my system dir.h gets in the way. It's a VMS file so who cares. if exist dir.h ren dir.h vmsdir.h rem Create "makefile" from "makefile.in". -rm -f Makefile junk.c -sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" junk.c -If "%DJGPP_VER%" == "1" Goto mfV1 -gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile -goto mfDone -:mfV1 -gcc -E -traditional junk.c | sed -f ../msdos/sed1.inp >Makefile -:mfDone -rm -f junk.c +rm -f Makefile makefile.tmp +copy Makefile.in+deps.mk makefile.tmp +sed -f ../msdos/sed1v2.inp Makefile +rm -f makefile.tmp if "%X11%" == "" goto src5 mv Makefile makefile.tmp @@ -198,6 +201,13 @@ sed -f ../msdos/sed1x.inp Makefile rm -f makefile.tmp :src5 +if "%sys_malloc%" == "" goto src5a +sed -e "/^GMALLOC_OBJ *=/s/gmalloc.o//" makefile.tmp +sed -e "/^VMLIMIT_OBJ *=/s/vm-limit.o//" makefile.tmp2 +sed -e "/^RALLOC_OBJ *=/s/ralloc.o//" Makefile +rm -f makefile.tmp makefile.tmp2 +:src5a + if "%nodebug%" == "" goto src6 sed -e "/^CFLAGS *=/s/ *-gcoff//" makefile.tmp sed -e "/^LDFLAGS *=/s/=/=-s/" Makefile @@ -207,16 +217,12 @@ cd .. rem ---------------------------------------------------------------------- Echo Configuring the library source directory... cd lib-src -rem Create "makefile" from "makefile.in". -sed -e "1,/== start of cpp stuff ==/s@^#[ ].*$@@" junk.c -gcc -E -traditional -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ ]*$/d" >makefile.new -If "%DJGPP_VER%" == "2" goto libsrc-v2 -sed -f ../msdos/sed3.inp Makefile -Goto libsrc2 -:libsrc-v2 -sed -f ../msdos/sed3v2.inp Makefile -:libsrc2 -rm -f makefile.new junk.c +sed -f ../msdos/sed3v2.inp Makefile +if "%X11%" == "" goto libsrc2a +mv Makefile makefile.tmp +sed -f ../msdos/sed3x.inp Makefile +rm -f makefile.tmp +:libsrc2a if "%nodebug%" == "" goto libsrc3 sed -e "/^CFLAGS *=/s/ *-gcoff//" makefile.tmp sed -e "/^ALL_CFLAGS *=/s/=/= -s/" Makefile @@ -235,22 +241,11 @@ mv -f makefile.tmp Makefile cd .. :oldx1 rem ---------------------------------------------------------------------- -Echo Configuring the manual directory... -cd man -sed -f ../msdos/sed6.inp < Makefile.in > Makefile -cd .. -rem ---------------------------------------------------------------------- -Echo Configuring the ELisp manual directory... -cd lispref -sed -f ../msdos/sed6.inp < Makefile.in > Makefile -cd .. -rem ---------------------------------------------------------------------- -Echo Configuring the ELisp Introduction manual directory... -Rem The two variants for the line below is for when the shell +Echo Configuring the doc directory, expect one "File not found" message... +cd doc +Rem The two variants for lispintro below is for when the shell Rem supports long file names but DJGPP does not -if exist lispintro\Makefile.in cd lispintro -if exist lispintr\Makefile.in cd lispintr -sed -f ../msdos/sed6.inp < Makefile.in > Makefile +for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile cd .. rem ---------------------------------------------------------------------- Echo Configuring the lisp directory... @@ -266,7 +261,8 @@ cd .. rem ---------------------------------------------------------------------- :maindir Echo Configuring the main directory... -If "%DJGPP_VER%" == "1" goto mainv1 +If Exist .dir-locals.el update .dir-locals.el _dir-locals.el +If Exist src\.dbxinit update src/.dbxinit src/_dbxinit Echo Looking for the GDB init file... If Exist src\.gdbinit update src/.gdbinit src/_gdbinit If Exist src\_gdbinit goto gdbinitOk @@ -281,8 +277,6 @@ goto End :gdbinitOk Echo Looking for the GDB init file...found copy msdos\mainmake.v2 Makefile >nul -:mainv1 -If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul rem ---------------------------------------------------------------------- goto End :SmallEnv @@ -293,6 +287,7 @@ set $foo$= set X11= set nodebug= set djgpp_ver= +set sys_malloc= goto skipArchTag arch-tag: 2d2fed23-4dc6-4006-a2e4-49daf0031f33