1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-22 07:09:54 +00:00

Initial revision

This commit is contained in:
Karl Heuer 1995-04-12 04:48:18 +00:00
parent 61fac91166
commit 3596280063
13 changed files with 286 additions and 0 deletions

3
nt/_emacs Normal file
View File

@ -0,0 +1,3 @@
;;; This is the user emacs startup file (.emacs in Unix land).
(put 'eval-expression 'disabled nil)

1
nt/ebuild.bat Executable file
View File

@ -0,0 +1 @@
nmake -f makefile.nt all

18
nt/emacs.bat Executable file
View File

@ -0,0 +1,18 @@
set emacs_path=\emacs
@echo off
set EMACSLOADPATH=%emacs_path%\lisp
set SHELL=cmd
set EMACSDATA=%emacs_path%\etc
set EMACSPATH=%emacs_path%\bin
set EMACSLOCKDIR=%emacs_path%\lock
set INFOPATH=%emacs_path%\info
set EMACSDOC=%emacs_path%\etc
set TERM=CMD
rem To find the ~\_emacs file
set HOME=%emacs_path%\nt
%emacs_path%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

1
nt/fast-install.bat Executable file
View File

@ -0,0 +1 @@
nmake -f makefile.nt fast_install

18
nt/inc/pwd.h Normal file
View File

@ -0,0 +1,18 @@
#ifndef _PWD_H_
#define _PWD_H_
/*
* pwd.h doesn't exist on NT, so we put together our own.
*/
struct passwd {
char *pw_name;
char *pw_passwd;
int pw_uid;
int pw_gid;
int pw_quota;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};
#endif /* _PWD_H_ */

5
nt/inc/sys/dir.h Normal file
View File

@ -0,0 +1,5 @@
/*
* map sys\dir.h to ..\..\..\src\ndir.h
*/
#include "..\..\..\src\ndir.h"

5
nt/inc/sys/file.h Normal file
View File

@ -0,0 +1,5 @@
/*
* sys\file.h doesn't exist on NT...rather than including it conditionally
* in some of the source files, we just extend the include path so that the
* compiler will pick up this empty header instead.
*/

5
nt/inc/sys/ioctl.h Normal file
View File

@ -0,0 +1,5 @@
/*
* sys\ioctl.h doesn't exist on NT...rather than including it conditionally
* in many of the source files, we just extend the include path so that the
* compiler will pick this up empty header instead.
*/

10
nt/inc/sys/param.h Normal file
View File

@ -0,0 +1,10 @@
#ifndef _PARAM_H_
#define _PARAM_H_
/*
* sys\param.h doesn't exist on NT, so we'll make one.
*/
#define NBPG 4096
#endif /* _PARAM_H_ */

1
nt/install.bat Executable file
View File

@ -0,0 +1 @@
nmake -f makefile.nt install

90
nt/makefile.def Normal file
View File

@ -0,0 +1,90 @@
#
# Makefile definition file for building GNU Emacs on Windows NT
#
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#
# Geoff Voelker (voelker@cs.washington.edu) 9-6-94
#
# BEGIN CONFIGURATION
#
#
# Set ARCH to the architecture on which you're building (i386, mips, alpha).
# Set SYS_INC_DIR and SYS_LIB_DIR to your system include and library dirs.
#
ARCH = mips
SYS_INC_DIR = C:\mstools\h
SYS_LIB_DIR = C:\mstools\lib
# Set this to be the directory into which you want emacs installed
INSTALL_DIR = C:\emacs
# May need to be cl386.exe when using the SDK on an x86.
CC = cl.exe
# May need to be lib32.exe on NT 3.1, lib.exe on NT 3.5
AR = lib32.exe
MAKE = nmake.exe
LINK = link32.exe
# If you are using VC 2.0, define COMPAT_LIB (only tested on i386)
#COMPAT_LIB = $(SYS_LIB_DIR)\oldnames.lib
#
# END CONFIGURATION
#
# You shouldn't have to change any of the below to get emacs to build and
# install on your system. If you did have to make changes, let me know.
#
INC = -I. -I$(SYS_INC_DIR) -I$(SYS_INC_DIR)\crt
CFLAGS = -nologo $(INC) $(ARCH_CFLAGS) $(LOCAL_FLAGS) -DWIN32_LEAN_AND_MEAN -D$(ARCH)
OBJDIR = obj
$(OBJDIR):; -mkdir $(OBJDIR)
BLD = $(OBJDIR)\$(ARCH)
$(BLD): $(OBJDIR)
-mkdir $(BLD)
CP = copy
CP_DIR = xcopy /fried
# This is completely braindamaged, but it's the only routine known to be there
DEL_TREE = echo y | rmdir /s
!IF "$(ARCH)" == "i386"
ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -G3d -Zi -Od
ARCH_LDFLAGS = -align:0x1000
!ELSE
!IF "$(ARCH)" == "mips"
CC = mcl.exe
ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 -D__stdcall= -D__cdecl=
ARCH_LDFLAGS = -align:0x1000
!ELSE
!IF "$(ARCH)" == "alpha"
CC = claxp.exe
ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -D__stdcall= -D__cdecl=
ARCH_LDFLAGS = -align:0x2000
!ELSE
!ERROR Unknown architecture type.
!ENDIF
!ENDIF
!ENDIF

83
nt/makefile.nt Normal file
View File

@ -0,0 +1,83 @@
#
# Top level makefile for building GNU Emacs on Windows NT
#
# This file is part of GNU Emacs.
#
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#
# Geoff Voelker (voelker@cs.washington.edu) 11-20-93
# 9-6-94
!include makefile.def
SUBDIRS = lib-src src lisp
#
# Build emacs
#
all:; for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt all
#
# Build and install emacs in INSTALL_DIR
#
install: all
- mkdir $(INSTALL_DIR)
for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt install
- $(CP) emacs.bat $(INSTALL_DIR)\bin
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
echo SameDirTest > ..\same-dir.tst
if not exist $(INSTALL_DIR)\same-dir.tst $(MAKE) -f makefile.nt real_install
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
#
# This installs executables from ..\bin into the installation directory
# without building anything.
#
fast_install:
- mkdir $(INSTALL_DIR)\data
$(CP) ..\lib-src\DOC $(INSTALL_DIR)\etc
- mkdir $(INSTALL_DIR)\bin
- $(CP) emacs.bat $(INSTALL_DIR)\bin
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
echo SameDirTest > ..\same-dir.tst
if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\emacs.exe $(INSTALL_DIR)\bin
if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\etags.exe $(INSTALL_DIR)\bin
if not exist $(INSTALL_DIR)\same-dir.tst $(CP) ..\bin\ctags.exe $(INSTALL_DIR)\bin
if not exist $(INSTALL_DIR)\same-dir.tst nmake -f $(MAKE) real_install
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
real_install:
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
echo SameDirTest > ..\same-dir.tst
- mkdir $(INSTALL_DIR)\etc
- mkdir $(INSTALL_DIR)\info
- mkdir $(INSTALL_DIR)\lock
- mkdir $(INSTALL_DIR)\data
if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\etc $(INSTALL_DIR)\etc
if not exist $(INSTALL_DIR)\nt\same-dir.tst $(CP_DIR) ..\info $(INSTALL_DIR)\info
- del /q ..\same-dir.tst
- del /q $(INSTALL_DIR)\same-dir.tst
#
# Maintenance
#
clean:; - del /q /s *~
- $(DEL_TREE) deleted
- $(DEL_TREE) ..\bin
for %%f in ( $(SUBDIRS) ) do cd ..\%%f & $(MAKE) -f makefile.nt clean

46
nt/paths.h Normal file
View File

@ -0,0 +1,46 @@
/* Hey Emacs, this is -*- C -*- code! */
/* Backslashify the default paths for NT */
/* The default search path for Lisp function "load".
This sets load-path. */
/* #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" */
#define PATH_LOADSEARCH "C:\\emacs\\lisp"
/* Like PATH_LOADSEARCH, but used only when Emacs is dumping. This
path is usually identical to PATH_LOADSEARCH except that the entry
for the directory containing the installed lisp files has been
replaced with ../lisp. */
/* #define PATH_DUMPLOADSEARCH "../lisp" */
#define PATH_DUMPLOADSEARCH "..\\..\\..\\lisp"
/* The extra search path for programs to invoke. This is appended to
whatever the PATH environment variable says to set the Lisp
variable exec-path and the first file name in it sets the Lisp
variable exec-directory. exec-directory is used for finding
executables and other architecture-dependent files. */
/* #define PATH_EXEC "/usr/local/lib/emacs/etc" */
#define PATH_EXEC "C:\\emacs\\bin"
/* Where Emacs should look for its architecture-independent data
files, like the NEWS file. The lisp variable data-directory
is set to this value. */
/* #define PATH_DATA "/usr/local/lib/emacs/data" */
#define PATH_DATA "C:\\emacs\\data"
/* Where Emacs should look for its docstring file. The lisp variable
doc-directory is set to this value. */
#define PATH_DOC "C:\\emacs\\etc"
/* The name of the directory that contains lock files with which we
record what files are being modified in Emacs. This directory
should be writable by everyone. THE STRING MUST END WITH A
SLASH!!! */
/* #define PATH_LOCK "/usr/local/lib/emacs/lock/" */
#define PATH_LOCK "C:\\emacs\\lock\\"
/* Where the configuration process believes the info tree lives. The
lisp variable configure-info-directory gets its value from this
macro, and is then used to set the Info-default-directory-list. */
/* #define PATH_INFO "/usr/local/info" */
#define PATH_INFO "C:\\emacs\\info"