diff options
| author | Karl Heuer | 1995-04-12 04:48:18 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-04-12 04:48:18 +0000 |
| commit | 359628006351ee344a71819ff445d22163f341d8 (patch) | |
| tree | f812aed7fea66de1b0187bf9ff71d352316bb611 | |
| parent | 61fac91166ace2b66be0506d906e3a8f3e79f62a (diff) | |
| download | emacs-359628006351ee344a71819ff445d22163f341d8.tar.gz emacs-359628006351ee344a71819ff445d22163f341d8.zip | |
Initial revision
| -rw-r--r-- | nt/_emacs | 3 | ||||
| -rwxr-xr-x | nt/ebuild.bat | 1 | ||||
| -rwxr-xr-x | nt/emacs.bat | 18 | ||||
| -rwxr-xr-x | nt/fast-install.bat | 1 | ||||
| -rw-r--r-- | nt/inc/pwd.h | 18 | ||||
| -rw-r--r-- | nt/inc/sys/dir.h | 5 | ||||
| -rw-r--r-- | nt/inc/sys/file.h | 5 | ||||
| -rw-r--r-- | nt/inc/sys/ioctl.h | 5 | ||||
| -rw-r--r-- | nt/inc/sys/param.h | 10 | ||||
| -rwxr-xr-x | nt/install.bat | 1 | ||||
| -rw-r--r-- | nt/makefile.def | 90 | ||||
| -rw-r--r-- | nt/makefile.nt | 83 | ||||
| -rw-r--r-- | nt/paths.h | 46 |
13 files changed, 286 insertions, 0 deletions
diff --git a/nt/_emacs b/nt/_emacs new file mode 100644 index 00000000000..79f01b86d3b --- /dev/null +++ b/nt/_emacs | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | ;;; This is the user emacs startup file (.emacs in Unix land). | ||
| 2 | |||
| 3 | (put 'eval-expression 'disabled nil) | ||
diff --git a/nt/ebuild.bat b/nt/ebuild.bat new file mode 100755 index 00000000000..32cea5af9fa --- /dev/null +++ b/nt/ebuild.bat | |||
| @@ -0,0 +1 @@ | |||
| nmake -f makefile.nt all | |||
diff --git a/nt/emacs.bat b/nt/emacs.bat new file mode 100755 index 00000000000..c822617d4f2 --- /dev/null +++ b/nt/emacs.bat | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | |||
| 2 | set emacs_path=\emacs | ||
| 3 | |||
| 4 | @echo off | ||
| 5 | |||
| 6 | set EMACSLOADPATH=%emacs_path%\lisp | ||
| 7 | set SHELL=cmd | ||
| 8 | set EMACSDATA=%emacs_path%\etc | ||
| 9 | set EMACSPATH=%emacs_path%\bin | ||
| 10 | set EMACSLOCKDIR=%emacs_path%\lock | ||
| 11 | set INFOPATH=%emacs_path%\info | ||
| 12 | set EMACSDOC=%emacs_path%\etc | ||
| 13 | set TERM=CMD | ||
| 14 | |||
| 15 | rem To find the ~\_emacs file | ||
| 16 | set HOME=%emacs_path%\nt | ||
| 17 | |||
| 18 | %emacs_path%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||
diff --git a/nt/fast-install.bat b/nt/fast-install.bat new file mode 100755 index 00000000000..157c4ab8751 --- /dev/null +++ b/nt/fast-install.bat | |||
| @@ -0,0 +1 @@ | |||
| nmake -f makefile.nt fast_install | |||
diff --git a/nt/inc/pwd.h b/nt/inc/pwd.h new file mode 100644 index 00000000000..2361d52248c --- /dev/null +++ b/nt/inc/pwd.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #ifndef _PWD_H_ | ||
| 2 | #define _PWD_H_ | ||
| 3 | /* | ||
| 4 | * pwd.h doesn't exist on NT, so we put together our own. | ||
| 5 | */ | ||
| 6 | |||
| 7 | struct passwd { | ||
| 8 | char *pw_name; | ||
| 9 | char *pw_passwd; | ||
| 10 | int pw_uid; | ||
| 11 | int pw_gid; | ||
| 12 | int pw_quota; | ||
| 13 | char *pw_gecos; | ||
| 14 | char *pw_dir; | ||
| 15 | char *pw_shell; | ||
| 16 | }; | ||
| 17 | |||
| 18 | #endif /* _PWD_H_ */ | ||
diff --git a/nt/inc/sys/dir.h b/nt/inc/sys/dir.h new file mode 100644 index 00000000000..203e27f2fe7 --- /dev/null +++ b/nt/inc/sys/dir.h | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | /* | ||
| 2 | * map sys\dir.h to ..\..\..\src\ndir.h | ||
| 3 | */ | ||
| 4 | |||
| 5 | #include "..\..\..\src\ndir.h" | ||
diff --git a/nt/inc/sys/file.h b/nt/inc/sys/file.h new file mode 100644 index 00000000000..698dc7861c9 --- /dev/null +++ b/nt/inc/sys/file.h | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | /* | ||
| 2 | * sys\file.h doesn't exist on NT...rather than including it conditionally | ||
| 3 | * in some of the source files, we just extend the include path so that the | ||
| 4 | * compiler will pick up this empty header instead. | ||
| 5 | */ | ||
diff --git a/nt/inc/sys/ioctl.h b/nt/inc/sys/ioctl.h new file mode 100644 index 00000000000..5294e1b5f85 --- /dev/null +++ b/nt/inc/sys/ioctl.h | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | /* | ||
| 2 | * sys\ioctl.h doesn't exist on NT...rather than including it conditionally | ||
| 3 | * in many of the source files, we just extend the include path so that the | ||
| 4 | * compiler will pick this up empty header instead. | ||
| 5 | */ | ||
diff --git a/nt/inc/sys/param.h b/nt/inc/sys/param.h new file mode 100644 index 00000000000..b7f227405f4 --- /dev/null +++ b/nt/inc/sys/param.h | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #ifndef _PARAM_H_ | ||
| 2 | #define _PARAM_H_ | ||
| 3 | |||
| 4 | /* | ||
| 5 | * sys\param.h doesn't exist on NT, so we'll make one. | ||
| 6 | */ | ||
| 7 | |||
| 8 | #define NBPG 4096 | ||
| 9 | |||
| 10 | #endif /* _PARAM_H_ */ | ||
diff --git a/nt/install.bat b/nt/install.bat new file mode 100755 index 00000000000..997702b34ca --- /dev/null +++ b/nt/install.bat | |||
| @@ -0,0 +1 @@ | |||
| nmake -f makefile.nt install | |||
diff --git a/nt/makefile.def b/nt/makefile.def new file mode 100644 index 00000000000..57277b0ba61 --- /dev/null +++ b/nt/makefile.def | |||
| @@ -0,0 +1,90 @@ | |||
| 1 | # | ||
| 2 | # Makefile definition file for building GNU Emacs on Windows NT | ||
| 3 | # | ||
| 4 | # GNU Emacs is free software; you can redistribute it and/or modify | ||
| 5 | # it under the terms of the GNU General Public License as published by | ||
| 6 | # the Free Software Foundation; either version 2, or (at your option) | ||
| 7 | # any later version. | ||
| 8 | # | ||
| 9 | # GNU Emacs is distributed in the hope that it will be useful, | ||
| 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | # GNU General Public License for more details. | ||
| 13 | # | ||
| 14 | # You should have received a copy of the GNU General Public License | ||
| 15 | # along with GNU Emacs; see the file COPYING. If not, write to | ||
| 16 | # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 17 | # | ||
| 18 | # Geoff Voelker (voelker@cs.washington.edu) 9-6-94 | ||
| 19 | |||
| 20 | # | ||
| 21 | # BEGIN CONFIGURATION | ||
| 22 | # | ||
| 23 | |||
| 24 | # | ||
| 25 | # Set ARCH to the architecture on which you're building (i386, mips, alpha). | ||
| 26 | # Set SYS_INC_DIR and SYS_LIB_DIR to your system include and library dirs. | ||
| 27 | # | ||
| 28 | |||
| 29 | ARCH = mips | ||
| 30 | SYS_INC_DIR = C:\mstools\h | ||
| 31 | SYS_LIB_DIR = C:\mstools\lib | ||
| 32 | |||
| 33 | # Set this to be the directory into which you want emacs installed | ||
| 34 | INSTALL_DIR = C:\emacs | ||
| 35 | |||
| 36 | # May need to be cl386.exe when using the SDK on an x86. | ||
| 37 | CC = cl.exe | ||
| 38 | |||
| 39 | # May need to be lib32.exe on NT 3.1, lib.exe on NT 3.5 | ||
| 40 | AR = lib32.exe | ||
| 41 | |||
| 42 | MAKE = nmake.exe | ||
| 43 | LINK = link32.exe | ||
| 44 | |||
| 45 | # If you are using VC 2.0, define COMPAT_LIB (only tested on i386) | ||
| 46 | #COMPAT_LIB = $(SYS_LIB_DIR)\oldnames.lib | ||
| 47 | |||
| 48 | # | ||
| 49 | # END CONFIGURATION | ||
| 50 | # | ||
| 51 | # You shouldn't have to change any of the below to get emacs to build and | ||
| 52 | # install on your system. If you did have to make changes, let me know. | ||
| 53 | # | ||
| 54 | |||
| 55 | INC = -I. -I$(SYS_INC_DIR) -I$(SYS_INC_DIR)\crt | ||
| 56 | CFLAGS = -nologo $(INC) $(ARCH_CFLAGS) $(LOCAL_FLAGS) -DWIN32_LEAN_AND_MEAN -D$(ARCH) | ||
| 57 | |||
| 58 | OBJDIR = obj | ||
| 59 | $(OBJDIR):; -mkdir $(OBJDIR) | ||
| 60 | BLD = $(OBJDIR)\$(ARCH) | ||
| 61 | $(BLD): $(OBJDIR) | ||
| 62 | -mkdir $(BLD) | ||
| 63 | |||
| 64 | CP = copy | ||
| 65 | CP_DIR = xcopy /fried | ||
| 66 | |||
| 67 | # This is completely braindamaged, but it's the only routine known to be there | ||
| 68 | DEL_TREE = echo y | rmdir /s | ||
| 69 | |||
| 70 | !IF "$(ARCH)" == "i386" | ||
| 71 | ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -G3d -Zi -Od | ||
| 72 | ARCH_LDFLAGS = -align:0x1000 | ||
| 73 | |||
| 74 | !ELSE | ||
| 75 | !IF "$(ARCH)" == "mips" | ||
| 76 | CC = mcl.exe | ||
| 77 | ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 -D__stdcall= -D__cdecl= | ||
| 78 | ARCH_LDFLAGS = -align:0x1000 | ||
| 79 | |||
| 80 | !ELSE | ||
| 81 | !IF "$(ARCH)" == "alpha" | ||
| 82 | CC = claxp.exe | ||
| 83 | ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -D__stdcall= -D__cdecl= | ||
| 84 | ARCH_LDFLAGS = -align:0x2000 | ||
| 85 | |||
| 86 | !ELSE | ||
| 87 | !ERROR Unknown architecture type. | ||
| 88 | !ENDIF | ||
| 89 | !ENDIF | ||
| 90 | !ENDIF | ||
diff --git a/nt/makefile.nt b/nt/makefile.nt new file mode 100644 index 00000000000..6dbf61e16e6 --- /dev/null +++ b/nt/makefile.nt | |||
| @@ -0,0 +1,83 @@ | |||
| 1 | # | ||
| 2 | # Top level makefile for building GNU Emacs on Windows NT | ||
| 3 | # | ||
| 4 | # This file is part of GNU Emacs. | ||
| 5 | # | ||
| 6 | # GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | # it under the terms of the GNU General Public License as published by | ||
| 8 | # the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | # any later version. | ||
| 10 | # | ||
| 11 | # GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | # GNU General Public License for more details. | ||
| 15 | # | ||
| 16 | # You should have received a copy of the GNU General Public License | ||
| 17 | # along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | # | ||
| 20 | # Geoff Voelker (voelker@cs.washington.edu) 11-20-93 | ||
| 21 | # 9-6-94 | ||
| 22 | !include makefile.def | ||
| 23 | |||
| 24 | SUBDIRS = lib-src src lisp | ||
| 25 | |||
| 26 | # | ||
| 27 | # Build emacs | ||
| 28 | # | ||
| 29 | all:; for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt all | ||
| 30 | |||
| 31 | # | ||
| 32 | # Build and install emacs in INSTALL_DIR | ||
| 33 | # | ||
| 34 | install: all | ||
| 35 | - mkdir $(INSTALL_DIR) | ||
| 36 | for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt install | ||
| 37 | - $(CP) emacs.bat $(INSTALL_DIR)\bin | ||
| 38 | - del /q ..\same-dir.tst | ||
| 39 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 40 | echo SameDirTest > ..\same-dir.tst | ||
| 41 | if not exist $(INSTALL_DIR)\same-dir.tst $(MAKE) -f makefile.nt real_install | ||
| 42 | - del /q ..\same-dir.tst | ||
| 43 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 44 | |||
| 45 | # | ||
| 46 | # This installs executables from ..\bin into the installation directory | ||
| 47 | # without building anything. | ||
| 48 | # | ||
| 49 | fast_install: | ||
| 50 | - mkdir $(INSTALL_DIR)\data | ||
| 51 | $(CP) ..\lib-src\DOC $(INSTALL_DIR)\etc | ||
| 52 | - mkdir $(INSTALL_DIR)\bin | ||
| 53 | - $(CP) emacs.bat $(INSTALL_DIR)\bin | ||
| 54 | - del /q ..\same-dir.tst | ||
| 55 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 56 | echo SameDirTest > ..\same-dir.tst | ||
| 57 | if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\emacs.exe $(INSTALL_DIR)\bin | ||
| 58 | if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\etags.exe $(INSTALL_DIR)\bin | ||
| 59 | if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\ctags.exe $(INSTALL_DIR)\bin | ||
| 60 | if not exist $(INSTALL_DIR)\same-dir.tst nmake -f $(MAKE) real_install | ||
| 61 | - del /q ..\same-dir.tst | ||
| 62 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 63 | |||
| 64 | real_install: | ||
| 65 | - del /q ..\same-dir.tst | ||
| 66 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 67 | echo SameDirTest > ..\same-dir.tst | ||
| 68 | - mkdir $(INSTALL_DIR)\etc | ||
| 69 | - mkdir $(INSTALL_DIR)\info | ||
| 70 | - mkdir $(INSTALL_DIR)\lock | ||
| 71 | - mkdir $(INSTALL_DIR)\data | ||
| 72 | if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\etc $(INSTALL_DIR)\etc | ||
| 73 | if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\info $(INSTALL_DIR)\info | ||
| 74 | - del /q ..\same-dir.tst | ||
| 75 | - del /q $(INSTALL_DIR)\same-dir.tst | ||
| 76 | |||
| 77 | # | ||
| 78 | # Maintenance | ||
| 79 | # | ||
| 80 | clean:; - del /q /s *~ | ||
| 81 | - $(DEL_TREE) deleted | ||
| 82 | - $(DEL_TREE) ..\bin | ||
| 83 | for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt clean | ||
diff --git a/nt/paths.h b/nt/paths.h new file mode 100644 index 00000000000..9269bd4f576 --- /dev/null +++ b/nt/paths.h | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | /* Hey Emacs, this is -*- C -*- code! */ | ||
| 2 | |||
| 3 | /* Backslashify the default paths for NT */ | ||
| 4 | |||
| 5 | /* The default search path for Lisp function "load". | ||
| 6 | This sets load-path. */ | ||
| 7 | /* #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" */ | ||
| 8 | #define PATH_LOADSEARCH "C:\\emacs\\lisp" | ||
| 9 | |||
| 10 | /* Like PATH_LOADSEARCH, but used only when Emacs is dumping. This | ||
| 11 | path is usually identical to PATH_LOADSEARCH except that the entry | ||
| 12 | for the directory containing the installed lisp files has been | ||
| 13 | replaced with ../lisp. */ | ||
| 14 | /* #define PATH_DUMPLOADSEARCH "../lisp" */ | ||
| 15 | #define PATH_DUMPLOADSEARCH "..\\..\\..\\lisp" | ||
| 16 | |||
| 17 | /* The extra search path for programs to invoke. This is appended to | ||
| 18 | whatever the PATH environment variable says to set the Lisp | ||
| 19 | variable exec-path and the first file name in it sets the Lisp | ||
| 20 | variable exec-directory. exec-directory is used for finding | ||
| 21 | executables and other architecture-dependent files. */ | ||
| 22 | /* #define PATH_EXEC "/usr/local/lib/emacs/etc" */ | ||
| 23 | #define PATH_EXEC "C:\\emacs\\bin" | ||
| 24 | |||
| 25 | /* Where Emacs should look for its architecture-independent data | ||
| 26 | files, like the NEWS file. The lisp variable data-directory | ||
| 27 | is set to this value. */ | ||
| 28 | /* #define PATH_DATA "/usr/local/lib/emacs/data" */ | ||
| 29 | #define PATH_DATA "C:\\emacs\\data" | ||
| 30 | |||
| 31 | /* Where Emacs should look for its docstring file. The lisp variable | ||
| 32 | doc-directory is set to this value. */ | ||
| 33 | #define PATH_DOC "C:\\emacs\\etc" | ||
| 34 | |||
| 35 | /* The name of the directory that contains lock files with which we | ||
| 36 | record what files are being modified in Emacs. This directory | ||
| 37 | should be writable by everyone. THE STRING MUST END WITH A | ||
| 38 | SLASH!!! */ | ||
| 39 | /* #define PATH_LOCK "/usr/local/lib/emacs/lock/" */ | ||
| 40 | #define PATH_LOCK "C:\\emacs\\lock\\" | ||
| 41 | |||
| 42 | /* Where the configuration process believes the info tree lives. The | ||
| 43 | lisp variable configure-info-directory gets its value from this | ||
| 44 | macro, and is then used to set the Info-default-directory-list. */ | ||
| 45 | /* #define PATH_INFO "/usr/local/info" */ | ||
| 46 | #define PATH_INFO "C:\\emacs\\info" | ||