]> git.eshelyaron.com Git - emacs.git/commitdiff
Initial revision
authorKarl Heuer <kwzh@gnu.org>
Wed, 12 Apr 1995 04:48:18 +0000 (04:48 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 12 Apr 1995 04:48:18 +0000 (04:48 +0000)
13 files changed:
nt/_emacs [new file with mode: 0644]
nt/ebuild.bat [new file with mode: 0755]
nt/emacs.bat [new file with mode: 0755]
nt/fast-install.bat [new file with mode: 0755]
nt/inc/pwd.h [new file with mode: 0644]
nt/inc/sys/dir.h [new file with mode: 0644]
nt/inc/sys/file.h [new file with mode: 0644]
nt/inc/sys/ioctl.h [new file with mode: 0644]
nt/inc/sys/param.h [new file with mode: 0644]
nt/install.bat [new file with mode: 0755]
nt/makefile.def [new file with mode: 0644]
nt/makefile.nt [new file with mode: 0644]
nt/paths.h [new file with mode: 0644]

diff --git a/nt/_emacs b/nt/_emacs
new file mode 100644 (file)
index 0000000..79f01b8
--- /dev/null
+++ b/nt/_emacs
@@ -0,0 +1,3 @@
+;;; This is the user emacs startup file (.emacs in Unix land).\r
+\r
+(put 'eval-expression 'disabled nil)\r
diff --git a/nt/ebuild.bat b/nt/ebuild.bat
new file mode 100755 (executable)
index 0000000..32cea5a
--- /dev/null
@@ -0,0 +1 @@
+nmake -f makefile.nt all\r
diff --git a/nt/emacs.bat b/nt/emacs.bat
new file mode 100755 (executable)
index 0000000..c822617
--- /dev/null
@@ -0,0 +1,18 @@
+\r
+set emacs_path=\emacs\r
+\r
+@echo off\r
+\r
+set EMACSLOADPATH=%emacs_path%\lisp\r
+set SHELL=cmd\r
+set EMACSDATA=%emacs_path%\etc\r
+set EMACSPATH=%emacs_path%\bin\r
+set EMACSLOCKDIR=%emacs_path%\lock\r
+set INFOPATH=%emacs_path%\info\r
+set EMACSDOC=%emacs_path%\etc\r
+set TERM=CMD\r
+\r
+rem To find the ~\_emacs file\r
+set HOME=%emacs_path%\nt\r
+\r
+%emacs_path%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9\r
diff --git a/nt/fast-install.bat b/nt/fast-install.bat
new file mode 100755 (executable)
index 0000000..157c4ab
--- /dev/null
@@ -0,0 +1 @@
+nmake -f makefile.nt fast_install\r
diff --git a/nt/inc/pwd.h b/nt/inc/pwd.h
new file mode 100644 (file)
index 0000000..2361d52
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef _PWD_H_\r
+#define _PWD_H_\r
+/*\r
+ * pwd.h doesn't exist on NT, so we put together our own.\r
+ */\r
+\r
+struct passwd {\r
+    char *pw_name;\r
+    char *pw_passwd;\r
+    int   pw_uid;\r
+    int   pw_gid;\r
+    int   pw_quota;\r
+    char *pw_gecos;\r
+    char *pw_dir;\r
+    char *pw_shell;\r
+};\r
+\r
+#endif /* _PWD_H_ */\r
diff --git a/nt/inc/sys/dir.h b/nt/inc/sys/dir.h
new file mode 100644 (file)
index 0000000..203e27f
--- /dev/null
@@ -0,0 +1,5 @@
+/*
+ * map sys\dir.h to ..\..\..\src\ndir.h
+ */
+
+#include "..\..\..\src\ndir.h"
diff --git a/nt/inc/sys/file.h b/nt/inc/sys/file.h
new file mode 100644 (file)
index 0000000..698dc78
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+ * sys\file.h doesn't exist on NT...rather than including it conditionally\r
+ * in some of the source files, we just extend the include path so that the\r
+ * compiler will pick up this empty header instead.\r
+ */\r
diff --git a/nt/inc/sys/ioctl.h b/nt/inc/sys/ioctl.h
new file mode 100644 (file)
index 0000000..5294e1b
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+ * sys\ioctl.h doesn't exist on NT...rather than including it conditionally\r
+ * in many of the source files, we just extend the include path so that the\r
+ * compiler will pick this up empty header instead.\r
+ */\r
diff --git a/nt/inc/sys/param.h b/nt/inc/sys/param.h
new file mode 100644 (file)
index 0000000..b7f2274
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef _PARAM_H_\r
+#define _PARAM_H_\r
+\r
+/*\r
+ * sys\param.h doesn't exist on NT, so we'll make one.\r
+ */\r
+\r
+#define NBPG 4096\r
+\r
+#endif /* _PARAM_H_ */\r
diff --git a/nt/install.bat b/nt/install.bat
new file mode 100755 (executable)
index 0000000..997702b
--- /dev/null
@@ -0,0 +1 @@
+nmake -f makefile.nt install\r
diff --git a/nt/makefile.def b/nt/makefile.def
new file mode 100644 (file)
index 0000000..57277b0
--- /dev/null
@@ -0,0 +1,90 @@
+#\r
+#  Makefile definition file for building GNU Emacs on Windows NT\r
+#  \r
+#  GNU Emacs is free software; you can redistribute it and/or modify\r
+#  it under the terms of the GNU General Public License as published by\r
+#  the Free Software Foundation; either version 2, or (at your option)\r
+#  any later version.\r
+#  \r
+#  GNU Emacs is distributed in the hope that it will be useful,\r
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#  GNU General Public License for more details.\r
+#  \r
+#  You should have received a copy of the GNU General Public License\r
+#  along with GNU Emacs; see the file COPYING.  If not, write to\r
+#  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */\r
+#\r
+#     Geoff Voelker (voelker@cs.washington.edu)         9-6-94\r
+\r
+#\r
+# BEGIN CONFIGURATION\r
+#\r
+\r
+#\r
+# Set ARCH to the architecture on which you're building (i386, mips, alpha).\r
+# Set SYS_INC_DIR and SYS_LIB_DIR to your system include and library dirs.\r
+#\r
+\r
+ARCH            = mips\r
+SYS_INC_DIR     = C:\mstools\h\r
+SYS_LIB_DIR     = C:\mstools\lib\r
+\r
+# Set this to be the directory into which you want emacs installed\r
+INSTALL_DIR    = C:\emacs\r
+\r
+# May need to be cl386.exe when using the SDK on an x86.\r
+CC              = cl.exe\r
+\r
+# May need to be lib32.exe on NT 3.1, lib.exe on NT 3.5\r
+AR              = lib32.exe\r
+\r
+MAKE            = nmake.exe\r
+LINK            = link32.exe\r
+\r
+# If you are using VC 2.0, define COMPAT_LIB (only tested on i386)\r
+#COMPAT_LIB    = $(SYS_LIB_DIR)\oldnames.lib\r
+\r
+#\r
+# END CONFIGURATION\r
+#\r
+# You shouldn't have to change any of the below to get emacs to build and\r
+# install on your system.  If you did have to make changes, let me know.\r
+#\r
+\r
+INC             = -I. -I$(SYS_INC_DIR) -I$(SYS_INC_DIR)\crt\r
+CFLAGS          = -nologo $(INC) $(ARCH_CFLAGS) $(LOCAL_FLAGS) -DWIN32_LEAN_AND_MEAN -D$(ARCH)\r
+\r
+OBJDIR          = obj\r
+$(OBJDIR):;     -mkdir $(OBJDIR)\r
+BLD             = $(OBJDIR)\$(ARCH)\r
+$(BLD):         $(OBJDIR)\r
+               -mkdir $(BLD)\r
+\r
+CP             = copy\r
+CP_DIR         = xcopy /fried\r
+\r
+# This is completely braindamaged, but it's the only routine known to be there\r
+DEL_TREE       = echo y | rmdir /s\r
+\r
+!IF "$(ARCH)" == "i386"\r
+ARCH_CFLAGS     = -nologo -D_X86_=1 -c -Zel -W2 -H63 -G3d -Zi -Od\r
+ARCH_LDFLAGS   = -align:0x1000\r
+\r
+!ELSE\r
+!IF "$(ARCH)" == "mips"\r
+CC              = mcl.exe\r
+ARCH_CFLAGS     = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 -D__stdcall= -D__cdecl=\r
+ARCH_LDFLAGS   = -align:0x1000\r
+\r
+!ELSE\r
+!IF "$(ARCH)" == "alpha"\r
+CC              = claxp.exe\r
+ARCH_CFLAGS     = -D_ALPHA_=1 -c -Ze -Zi -W2 -D__stdcall= -D__cdecl=\r
+ARCH_LDFLAGS   = -align:0x2000\r
+\r
+!ELSE\r
+!ERROR Unknown architecture type.\r
+!ENDIF\r
+!ENDIF\r
+!ENDIF\r
diff --git a/nt/makefile.nt b/nt/makefile.nt
new file mode 100644 (file)
index 0000000..6dbf61e
--- /dev/null
@@ -0,0 +1,83 @@
+#\r
+#  Top level makefile for building GNU Emacs on Windows NT\r
+#\r
+#  This file is part of GNU Emacs.\r
+#  \r
+#  GNU Emacs is free software; you can redistribute it and/or modify\r
+#  it under the terms of the GNU General Public License as published by\r
+#  the Free Software Foundation; either version 2, or (at your option)\r
+#  any later version.\r
+#  \r
+#  GNU Emacs is distributed in the hope that it will be useful,\r
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#  GNU General Public License for more details.\r
+#  \r
+#  You should have received a copy of the GNU General Public License\r
+#  along with GNU Emacs; see the file COPYING.  If not, write to\r
+#  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */\r
+#\r
+#   Geoff Voelker (voelker@cs.washington.edu)  11-20-93\r
+#                                                9-6-94\r
+!include makefile.def\r
+\r
+SUBDIRS              = lib-src src lisp\r
+\r
+#\r
+# Build emacs\r
+#\r
+all:;          for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt all\r
+\r
+#\r
+# Build and install emacs in INSTALL_DIR\r
+#\r
+install:       all\r
+               - mkdir $(INSTALL_DIR)\r
+               for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt install\r
+               - $(CP) emacs.bat $(INSTALL_DIR)\bin\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+               echo SameDirTest > ..\same-dir.tst\r
+               if not exist $(INSTALL_DIR)\same-dir.tst $(MAKE) -f makefile.nt real_install\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+\r
+#\r
+# This installs executables from ..\bin into the installation directory\r
+# without building anything.\r
+#\r
+fast_install:\r
+               - mkdir $(INSTALL_DIR)\data\r
+               $(CP) ..\lib-src\DOC $(INSTALL_DIR)\etc\r
+               - mkdir $(INSTALL_DIR)\bin\r
+               - $(CP) emacs.bat $(INSTALL_DIR)\bin\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+               echo SameDirTest > ..\same-dir.tst\r
+               if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\emacs.exe $(INSTALL_DIR)\bin\r
+               if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\etags.exe $(INSTALL_DIR)\bin\r
+               if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\ctags.exe $(INSTALL_DIR)\bin\r
+               if not exist $(INSTALL_DIR)\same-dir.tst nmake -f $(MAKE) real_install\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+\r
+real_install:\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+               echo SameDirTest > ..\same-dir.tst\r
+               - mkdir $(INSTALL_DIR)\etc\r
+               - mkdir $(INSTALL_DIR)\info\r
+               - mkdir $(INSTALL_DIR)\lock\r
+               - mkdir $(INSTALL_DIR)\data\r
+               if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\etc $(INSTALL_DIR)\etc\r
+               if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\info $(INSTALL_DIR)\info\r
+               - del /q ..\same-dir.tst\r
+               - del /q $(INSTALL_DIR)\same-dir.tst\r
+\r
+#\r
+# Maintenance\r
+# \r
+clean:;                - del /q /s *~\r
+               - $(DEL_TREE) deleted\r
+               - $(DEL_TREE) ..\bin\r
+               for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt clean\r
diff --git a/nt/paths.h b/nt/paths.h
new file mode 100644 (file)
index 0000000..9269bd4
--- /dev/null
@@ -0,0 +1,46 @@
+/* Hey Emacs, this is -*- C -*- code!  */\r
+\r
+/* Backslashify the default paths for NT */\r
+\r
+/* The default search path for Lisp function "load".\r
+   This sets load-path.  */\r
+/* #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" */\r
+#define PATH_LOADSEARCH "C:\\emacs\\lisp"\r
+\r
+/* Like PATH_LOADSEARCH, but used only when Emacs is dumping.  This\r
+   path is usually identical to PATH_LOADSEARCH except that the entry\r
+   for the directory containing the installed lisp files has been\r
+   replaced with ../lisp.  */\r
+/* #define PATH_DUMPLOADSEARCH "../lisp" */\r
+#define PATH_DUMPLOADSEARCH "..\\..\\..\\lisp"\r
+\r
+/* The extra search path for programs to invoke.  This is appended to\r
+   whatever the PATH environment variable says to set the Lisp\r
+   variable exec-path and the first file name in it sets the Lisp\r
+   variable exec-directory.  exec-directory is used for finding\r
+   executables and other architecture-dependent files.  */\r
+/* #define PATH_EXEC "/usr/local/lib/emacs/etc" */\r
+#define PATH_EXEC "C:\\emacs\\bin"\r
+\r
+/* Where Emacs should look for its architecture-independent data\r
+   files, like the NEWS file.  The lisp variable data-directory\r
+   is set to this value.  */\r
+/* #define PATH_DATA "/usr/local/lib/emacs/data" */\r
+#define PATH_DATA "C:\\emacs\\data"\r
+\r
+/* Where Emacs should look for its docstring file.  The lisp variable\r
+   doc-directory is set to this value.  */\r
+#define PATH_DOC "C:\\emacs\\etc"\r
+\r
+/* The name of the directory that contains lock files with which we\r
+   record what files are being modified in Emacs.  This directory\r
+   should be writable by everyone.  THE STRING MUST END WITH A\r
+   SLASH!!!  */\r
+/* #define PATH_LOCK "/usr/local/lib/emacs/lock/" */\r
+#define PATH_LOCK "C:\\emacs\\lock\\"\r
+\r
+/* Where the configuration process believes the info tree lives.  The\r
+   lisp variable configure-info-directory gets its value from this\r
+   macro, and is then used to set the Info-default-directory-list.  */\r
+/* #define PATH_INFO "/usr/local/info" */\r
+#define PATH_INFO "C:\\emacs\\info"\r