Commit 9d9d12cd authored by Eli Zaretskii's avatar Eli Zaretskii

Initial version of fix for the MS-DOS build, not yet tested.

 config.bat: Configure in `lib'.
 msdos/sedlibmk.inp: New file.
 msdos/sedlibcf.inp: New file.
 msdos/sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
 (@true): Edit to "@rem".
 (move-if-change): Edit to "update".
 (echo): Edit to "djecho".
 (cd $(lib) && ...): Edit to "$(MAKE) -C ...".
 msdos/mainmake.v2 (version): Remove, no longer needed (config.in
 defines VERSION).
 (all): Add lib.
 (lib): New target and recipe.
 (lib-src): Depend on lib.
 (src): Depend on lib and lib-src.
 (clean, mostlyclean, distclean, maintainer-clean, extraclean)
 (bootstrap-clean): Recurse into lib.
 msdos/sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
 BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
 (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
 (HAVE__BOOL): Edit to 1.
 (VERSION, inline, restrict): Edit for DJGPP.
 src/s/msdos.h (strtold): Define to _strtold.
 admin/admin.el (set-version): Add msdos/sed2v2.inp.
parent 56e96bed
2011-02-19 Eli Zaretskii <eliz@gnu.org>
* config.bat: Configure in `lib'.
2011-02-18 Paul Eggert <eggert@cs.ucla.edu>
Import IRIX 6.5 getloadavg fixes from gnulib.
......
2011-02-19 Eli Zaretskii <eliz@gnu.org>
* admin.el (set-version): Add msdos/sed2v2.inp.
2011-02-16 Paul Eggert <eggert@cs.ucla.edu>
Remove no-longer needed getloadavg symbols.
......
......@@ -77,6 +77,10 @@ Root must be the root of an Emacs source tree."
(rx (and bol "#" (0+ blank) "define" (1+ blank)
"VERSION" (1+ blank)
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "msdos/sed2v2.inp" version
(rx (and bol "/^#undef " (1+ not-newline)
"define VERSION" (1+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "nt/makefile.w32-in" version
(rx (and "VERSION" (0+ space) "=" (0+ space)
(submatch (1+ (in "0-9."))))))
......
......@@ -2,7 +2,8 @@
rem ----------------------------------------------------------------------
rem Configuration script for MSDOS
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
rem 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
rem 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
rem Inc.
rem This file is part of GNU Emacs.
......@@ -273,6 +274,22 @@ Rem supports long file names but DJGPP does not
for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile
cd ..
rem ----------------------------------------------------------------------
Echo Configuring the lib directory...
If Exist c++defs.h update c++defs.h cxxdefs.h
cd lib
Rem Rename files like djtar on plain DOS filesystem would.
If Exist c++defs.h update c++defs.h cxxdefs.h
If Exist getopt.in.h update getopt.in.h getopt.in-h
If Exist stddef.in.h update stddef.in.h stddef.in-h
If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
If Exist stdlib.in.h update stdlib.in.h stdlib.in-h
If Exist time.in.h update time.in.h time.in-h
If Exist unistd.in.h update unistd.in.h unistd.in-h
sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile
rm -f makefile.tmp
cd ..
rem ----------------------------------------------------------------------
Echo Configuring the lisp directory...
cd lisp
If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el
......
2011-02-19 Eli Zaretskii <eliz@gnu.org>
* sedlibmk.inp: New file.
* sedlibcf.inp: New file.
* sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
(@true): Edit to "@rem".
(move-if-change): Edit to "update".
(echo): Edit to "djecho".
(cd $(lib) && ...): Edit to "$(MAKE) -C ...".
* mainmake.v2 (version): Remove, no longer needed (config.in
defines VERSION).
(all): Add lib.
(lib): New target and recipe.
(lib-src): Depend on lib.
(src): Depend on lib and lib-src.
(clean, mostlyclean, distclean, maintainer-clean, extraclean)
(bootstrap-clean): Recurse into lib.
* sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
(HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
(HAVE__BOOL): Edit to 1.
(VERSION, inline, restrict): Edit for DJGPP.
2011-01-08 Glenn Morris <rgm@gnu.org>
* sedleim.inp (RUN-EMACS): -batch implies --no-init-file.
......
......@@ -63,9 +63,6 @@ MAKESHELL=/xyzzy/command
# Generate a full pathname of the top-level installation directory
top_srcdir := $(subst \,/,$(shell cd))
# Find out which version of Emacs this is.
version := ${shell sed -n -e '/^static const char emacs_version/s/^[^"]*\("[^"]*"\).*/\1/p' src/emacs.c}
# Q: Do we need to bootstrap?
# A: Only if we find admin/admin.el, i.e. we are building out of
# a VCS-checkout (not a release) and src/b-emacs.exe does not exist.
......@@ -82,9 +79,14 @@ endif
# compiled lisp files are part of the distribution. (If we are
# bootstrapping, the src target will run Make in `lisp' as well.)
# leim is not included because it is part of the src target.
all: lib-src src emacs misc lispref lispintro
all: lib lib-src src emacs misc lispref lispintro
lib: FRC
cd lib
$(MAKE) top_srcdir=${top_srcdir} version=${version}
cd ..
lib-src: FRC
lib-src: lib FRC
cd lib-src
$(MAKE) top_srcdir=${top_srcdir} version=${version}
cd ..
......@@ -98,7 +100,7 @@ lib-src: FRC
# file src/foo.c forces dumping a new bootstrap-emacs, then re-byte-compiling
# all preloaded elisp files, and only then dump the actual src/emacs, which
# is not wrong, but is overkill in 99.99% of the cases.
src: FRC
src: lib lib-src FRC
cd src
$(MAKE) top_srcdir=${top_srcdir} BOOTSTRAPEMACS="${boot}"
djecho -s '/-geometry/s,^.*,set environment HOME $(top_srcdir),' \
......@@ -168,6 +170,9 @@ check:
@echo "We don't have any tests for GNU Emacs yet."
clean mostlyclean:
cd lib
$(MAKE) $(MFLAGS) $@
cd ..
cd lib-src
$(MAKE) $(MFLAGS) $@
cd ..
......@@ -199,6 +204,9 @@ distclean maintainer-clean: FRC
$(MAKE) $(MFLAGS) $@
if exist bootlisp rm -f bootlisp
cd ..
cd lib
$(MAKE) $(MFLAGS) $@
cd ..
cd lib-src
$(MAKE) $(MFLAGS) $@
cd ..
......@@ -228,6 +236,9 @@ extraclean:
cd src
$(MAKE) $(MFLAGS) $@
cd ..
cd lib
$(MAKE) $(MFLAGS) $@
cd ..
cd lib-src
$(MAKE) $(MFLAGS) $@
cd ..
......@@ -257,6 +268,9 @@ extraclean:
.PHONY: bootstrap
bootstrap-clean: FRC
cd lib
$(MAKE) $(MFLAGS) $@
cd ..
cd src
$(MAKE) $(MFLAGS) $@
cd ..
......
......@@ -98,6 +98,7 @@ s/\.h\.in/.h-in/
/^ns_appbindir *=/s/@ns_appbindir@//
/^ns_appsrc *=/s/@ns_appsrc@//
/^NS_OBJ *=/s/@NS_OBJ@//
/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@//
/^NS_SUPPORT *=/s/@NS_SUPPORT@//
/^GNU_OBJC_CFLAGS*=/s/@GNU_OBJC_CFLAGS@//
/^LIBRESOLV *=/s/@LIBRESOLV@//
......@@ -145,6 +146,11 @@ s/\.h\.in/.h-in/
stubedit emacs.exe minstack=2048k
s/ || exit 1\; \\$//
s/ || true\; \\$//
s/ @true *$/ @rem/
s/^ [^ ]*move-if-change /update /
/^ echo[ ][ ]*timestamp/s/echo /djecho /
/^ cd \$(lib) && \$(MAKE)/c\
$(MAKE) $(MFLAGS) -C $(lib) libgnu.a
/^RUN_TEMACS *=/s|`/bin/pwd`|.|
/^ *@\$(MKDEPDIR) *$/d
/^ mv \.\/\.gdbinit/d
......
......@@ -34,6 +34,8 @@
/^#undef HAVE_FREXP *$/s/^.*$/#define HAVE_FREXP 1/
/^#undef HAVE_FMOD *$/s/^.*$/#define HAVE_FMOD 1/
/^#undef HAVE_RINT *$/s/^.*$/#define HAVE_RINT 1/
/^#undef HAVE_ATTRIBUTE_ALIGNED *$/s/^.*$/#define HAVE_ATTRIBUTE_ALIGNED 1/
/^#undef HAVE_C99_STRTOLD *$/s/^.*$/#define HAVE_C99_STRTOLD 1/
/^#undef HAVE_CBRT *$/s/^.*$/#define HAVE_CBRT 1/
/^#undef HAVE_DIFFTIME *$/s/^.*$/#define HAVE_DIFFTIME 1/
/^#undef HAVE_FPATHCONF *$/s/^.*$/#define HAVE_FPATHCONF 1/
......@@ -56,8 +58,13 @@
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/
/^#undef VERSION/s/^.*$/#define VERSION "24.0.50"/
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
/^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
/^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/
/^#undef HAVE__BOOL/s/^.*$/#define HAVE__BOOL 1/
/^#undef inline/s/^.*$/#define inline __inline__/
/^#undef restrict/s/^.*$/#define restrict __restrict/
/^#undef GNU_MALLOC *$/s/^.*$/#define GNU_MALLOC 1/
/^#undef REL_ALLOC *$/s/^.*$/#define REL_ALLOC 1/
......@@ -69,15 +76,6 @@ s!^#undef config_opsysfile *$!#define config_opsysfile "s/msdos.h"!
s!^#undef config_machfile *$!#define config_machfile "m/intel386.h"!
s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/
s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
# ------------------------------------------------------------
# Without this ifndef, gcc -E -traditional barfs with GCC 3.0
# on the line which says if ! HAVE_MKTIME...
# ------------------------------------------------------------
/^#if ! HAVE_MKTIME || BROKEN_MKTIME/i\
#ifndef __DJGPP__
/^#define mktime emacs_mktime/a\
#endif
/^#undef HAVE_STDINT_H/c\
#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 3\
#define HAVE_STDINT_H 1\
......
2011-02-19 Eli Zaretskii <eliz@gnu.org>
* s/msdos.h (strtold): Define to _strtold.
2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
* process.c (Fstart_process, Fmake_serial_process)
......@@ -73,6 +73,15 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
#define HAVE_INVERSE_HYPERBOLIC
#define FLOAT_CHECK_DOMAIN
/* Start of gnulib-related stuff */
/* lib/ftoastr.c wants strtold, but DJGPP only has _strtold. DJGPP >
2.03 has it, but it also has _strtold as a stub that jumps to
strtold, so use _strtold in all versions. */
#define strtold _strtold
/* End of gnulib-related stuff. */
/* When $TERM is "internal" then this is substituted: */
#define INTERNAL_TERMINAL "pc|bios|IBM PC with color display:\
:co#80:li#25:Co#16:pa#256:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment