summaryrefslogtreecommitdiff
path: root/msdos
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2011-02-19 17:57:35 +0200
committerEli Zaretskii <eliz@gnu.org>2011-02-19 17:57:35 +0200
commit9d9d12cdf35151946d2429845a72149c5a7309e4 (patch)
tree9c8d43067efc1129d682005ad923e014b882c98f /msdos
parent56e96bed349771df1df56546450a21afc75c00d3 (diff)
downloademacs-9d9d12cdf35151946d2429845a72149c5a7309e4.tar.gz
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.
Diffstat (limited to 'msdos')
-rw-r--r--msdos/ChangeLog27
-rw-r--r--msdos/mainmake.v226
-rw-r--r--msdos/sed1v2.inp6
-rw-r--r--msdos/sed2v2.inp16
4 files changed, 60 insertions, 15 deletions
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index b9b829c4554..9a98352ff23 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -1,3 +1,30 @@
+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.
diff --git a/msdos/mainmake.v2 b/msdos/mainmake.v2
index 2e389b15bc9..0e77a68940a 100644
--- a/msdos/mainmake.v2
+++ b/msdos/mainmake.v2
@@ -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 ..
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index 1cfd4f803c2..49e45b5e0d8 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -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
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp
index 98e398053e3..d885bbc97e2 100644
--- a/msdos/sed2v2.inp
+++ b/msdos/sed2v2.inp
@@ -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\