]> git.eshelyaron.com Git - emacs.git/commitdiff
Initial version of fix for the MS-DOS build, not yet tested.
authorEli Zaretskii <eliz@gnu.org>
Sat, 19 Feb 2011 15:57:35 +0000 (17:57 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 19 Feb 2011 15:57:35 +0000 (17:57 +0200)
 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.

ChangeLog
admin/ChangeLog
admin/admin.el
config.bat
msdos/ChangeLog
msdos/mainmake.v2
msdos/sed1v2.inp
msdos/sed2v2.inp
src/ChangeLog
src/s/msdos.h

index c574311d45c02e4b5e9159c21f933c9c56240612..701150d0cabf6a6e80ea9837a593019fb8716ccd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+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.
index 64d6de69d10dee9cdfb1ad8cc587a8f59951648b..87ba151dc347f56969d1caadec8981f84ffe455b 100644 (file)
@@ -1,3 +1,7 @@
+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.
index 9f87e9b2590578928d71f50854556957f3caff27..717bfee702d5d3737147174830456d3cb194cc0f 100644 (file)
@@ -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."))))))
index f87bcd13a5d581fbe968d2bcf909b7f231fe115f..730a33770e9f4bded923b0174d37aabfe9290247 100644 (file)
@@ -2,7 +2,8 @@
 rem   ----------------------------------------------------------------------\r
 rem   Configuration script for MSDOS\r
 rem   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003\r
-rem   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.\r
+rem   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation,\r
+rem   Inc.\r
 \r
 rem   This file is part of GNU Emacs.\r
 \r
@@ -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\r
 cd ..\r
 rem   ----------------------------------------------------------------------\r
+Echo Configuring the lib directory...\r
+If Exist c++defs.h update c++defs.h cxxdefs.h\r
+cd lib\r
+Rem Rename files like djtar on plain DOS filesystem would.\r
+If Exist c++defs.h update c++defs.h cxxdefs.h\r
+If Exist getopt.in.h update getopt.in.h getopt.in-h\r
+If Exist stddef.in.h update stddef.in.h  stddef.in-h\r
+If Exist stdbool.in.h update stdbool.in.h stdbool.in-h\r
+If Exist stdlib.in.h update stdlib.in.h stdlib.in-h\r
+If Exist time.in.h update time.in.h time.in-h\r
+If Exist unistd.in.h update unistd.in.h unistd.in-h\r
+sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp\r
+sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile\r
+rm -f makefile.tmp\r
+cd ..\r
+rem   ----------------------------------------------------------------------\r
 Echo Configuring the lisp directory...\r
 cd lisp\r
 If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el\r
index b9b829c45544e98f37231e7ff4fb692375bb5290..9a98352ff23c9974f50facb956e4d751cdc54296 100644 (file)
@@ -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.
index 2e389b15bc9afe53fe57f0b13ba6abeffa33bbde..0e77a68940a8c844124c2b40e9f35741b55535c1 100644 (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 ..
index 1cfd4f803c2566e08e380d8bed12c0a649293185..49e45b5e0d848e9d0f03981d9188907af5d5f702 100644 (file)
@@ -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
index 98e398053e381e168d56f5b950570589f62580cb..d885bbc97e278d982b1e9f7c5b9361c9842bc8a2 100644 (file)
@@ -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/
 /^#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\
index dea7b2547fd30c5b678145b58414db6926d8399e..31e778043f83adfe864a20754620963729bb08c0 100644 (file)
@@ -1,3 +1,7 @@
+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)
index a1d23521a0ac9b49e5595dbea17d2cee649c7341..8debd28dccb890ca2c4c2d60b69deca9823b4092 100644 (file)
@@ -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>:\