From: Geoff Voelker Date: Fri, 26 May 1995 05:06:02 +0000 (+0000) Subject: Initial revision X-Git-Tag: emacs-19.34~3923 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8553c409bbd694fad65bc16d62b0fbd2b3b168d7;p=emacs.git Initial revision --- diff --git a/nt/config.nt b/nt/config.nt new file mode 100644 index 00000000000..377fc6f935b --- /dev/null +++ b/nt/config.nt @@ -0,0 +1,319 @@ +/* GNU Emacs site configuration template file. -*- C -*- + Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY. No author or distributor +accepts responsibility to anyone for the consequences of using it +or for whether it serves any particular purpose or works at all, +unless he says so in writing. Refer to the GNU Emacs General Public +License for full details. + +Everyone is granted permission to copy, modify and redistribute +GNU Emacs, but only under the conditions described in the +GNU Emacs General Public License. A copy of this license is +supposed to have been given to you along with GNU Emacs so you +can know your rights and responsibilities. It should be in a +file named COPYING. Among other things, the copyright notice +and this notice must be preserved on all copies. */ + + +/* No code in Emacs #includes config.h twice, but some of the code + intended to work with other packages as well (like gmalloc.c) + think they can include it as many times as they like. */ +#ifndef EMACS_CONFIG_H +#define EMACS_CONFIG_H + + +/* These are all defined in the top-level Makefile by configure. + They're here only for reference. */ + +/* Define LISP_FLOAT_TYPE if you want emacs to support floating-point + numbers. */ +#undef LISP_FLOAT_TYPE + +/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */ +#undef GNU_MALLOC + +/* Define REL_ALLOC if you want to use the relocating allocator for + buffer space. */ +#undef REL_ALLOC + +/* Define HAVE_X_WINDOWS if you want to use the X window system. */ +#undef HAVE_X_WINDOWS + +/* Define HAVE_X11 if you want to use version 11 of X windows. + Otherwise, Emacs expects to use version 10. */ +#undef HAVE_X11 + +/* Define if using an X toolkit. */ +#undef USE_X_TOOLKIT + +/* Define this if you're using XFree386. */ +#undef HAVE_XFREE386 + +/* Define HAVE_X_MENU if you want to use the X window menu system. + This appears to work on some machines that support X + and not on others. */ +#undef HAVE_X_MENU + +/* Define if we have the X11R6 or newer version of Xt. */ +#undef HAVE_X11XTR6 + +/* Define if netdb.h declares h_errno. */ +#undef HAVE_H_ERRNO + +/* Nowadays we have frame objects even if we support only ASCII terminals. */ +#define MULTI_FRAME + +/* If we're using any sort of window system, define some consequences. */ +#ifdef HAVE_X_WINDOWS +#define MULTI_KBOARD +#define HAVE_FACES +#define HAVE_MOUSE +#endif + +/* Define USE_TEXT_PROPERTIES to support visual and other properties + on text. */ +#define USE_TEXT_PROPERTIES + +/* Define USER_FULL_NAME to return a string + that is the user's full name. + It can assume that the variable `pw' + points to the password file entry for this user. + + At some sites, the pw_gecos field contains + the user's full name. If neither this nor any other + field contains the right thing, use pw_name, + giving the user's login name, since that is better than nothing. */ +#define USER_FULL_NAME pw->pw_gecos + +/* Define AMPERSAND_FULL_NAME if you use the convention + that & in the full name stands for the login id. */ +#undef AMPERSAND_FULL_NAME + +/* Things set by --with options in the configure script. */ + +/* Define to support POP mail retrieval. */ +#undef MAIL_USE_POP + +/* Define to support Kerberos-authenticated POP mail retrieval. */ +#undef KERBEROS + +/* Define to support using a Hesiod database to find the POP server. */ +#undef HESIOD + +/* Some things figured out by the configure script, grouped as they are in + configure.in. */ +#ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */ +#undef _ALL_SOURCE +#endif +#undef HAVE_SYS_SELECT_H +#undef HAVE_SYS_TIMEB_H +#undef HAVE_SYS_TIME_H +#undef HAVE_UNISTD_H +#undef HAVE_UTIME_H +#undef STDC_HEADERS +#undef TIME_WITH_SYS_TIME + +#undef HAVE_LIBDNET +#undef HAVE_LIBRESOLV + +#undef HAVE_ALLOCA_H + +#undef HAVE_GETTIMEOFDAY +#undef HAVE_GETHOSTNAME +#undef HAVE_DUP2 +#undef HAVE_RENAME +#undef HAVE_CLOSEDIR + +#undef TM_IN_SYS_TIME +#undef HAVE_TM_ZONE +#undef HAVE_TZNAME + +#undef const + +#undef HAVE_LONG_FILE_NAMES + +#undef CRAY_STACKSEG_END + +#undef UNEXEC_SRC + +#undef HAVE_LIBXBSD +#undef HAVE_XRMSETDATABASE +#undef HAVE_XSCREENRESOURCESTRING +#undef HAVE_XSCREENNUMBEROFSCREEN +#undef HAVE_XSETWMPROTOCOLS + +#undef HAVE_MKDIR +#undef HAVE_RMDIR +#undef HAVE_RANDOM +#undef HAVE_LRAND48 +#undef HAVE_BCOPY +#undef HAVE_BCMP +#undef HAVE_LOGB +#undef HAVE_FREXP +#undef HAVE_FMOD +#undef HAVE_FTIME +#undef HAVE_RES_INIT /* For -lresolv on Suns. */ +#undef HAVE_SETSID +#undef HAVE_FPATHCONF +#undef HAVE_SELECT +#undef HAVE_MKTIME +#undef HAVE_EACCESS +#undef HAVE_GETPAGESIZE +#undef HAVE_INET_SOCKETS + +#undef HAVE_AIX_SMT_EXP + +/* Define if you have the ANSI `strerror' function. + Otherwise you must have the variable `char *sys_errlist[]'. */ +#undef HAVE_STRERROR + +#undef HAVE_UTIMES + +/* Define if `sys_siglist' is declared by . */ +#undef SYS_SIGLIST_DECLARED + +/* Define if `struct utimbuf' is declared by . */ +#undef HAVE_STRUCT_UTIMBUF + +/* Define if `struct timeval' is declared by . */ +#undef HAVE_TIMEVAL + +/* If using GNU, then support inline function declarations. */ +#ifdef __GNUC__ +#define INLINE __inline__ +#else +#define INLINE +#endif + +#undef EMACS_CONFIGURATION + +#undef EMACS_CONFIG_OPTIONS + +/* The configuration script defines opsysfile to be the name of the + s/SYSTEM.h file that describes the system type you are using. The file + is chosen based on the configuration name you give. + + See the file ../etc/MACHINES for a list of systems and the + configuration names to use for them. + + See s/template.h for documentation on writing s/SYSTEM.h files. */ +#undef config_opsysfile +#include "s/windowsnt.h" + +/* The configuration script defines machfile to be the name of the + m/MACHINE.h file that describes the machine you are using. The file is + chosen based on the configuration name you give. + + See the file ../etc/MACHINES for a list of machines and the + configuration names to use for them. + + See m/template.h for documentation on writing m/MACHINE.h files. */ +#undef config_machfile +#include "m/intel386.h" + +/* These typedefs shouldn't appear when alloca.s or Makefile.in + includes config.h. */ +#ifndef NOT_C_CODE +#ifndef SPECIAL_EMACS_INT +typedef long EMACS_INT; +typedef unsigned long EMACS_UINT; +#endif +#endif + +/* Load in the conversion definitions if this system + needs them and the source file being compiled has not + said to inhibit this. There should be no need for you + to alter these lines. */ + +#ifdef SHORTNAMES +#ifndef NO_SHORTNAMES +#include "../shortnames/remap.h" +#endif /* not NO_SHORTNAMES */ +#endif /* SHORTNAMES */ + +/* If no remapping takes place, static variables cannot be dumped as + pure, so don't worry about the `static' keyword. */ +#ifdef NO_REMAP +#undef static +#endif + +/* Define `subprocesses' should be defined if you want to + have code for asynchronous subprocesses + (as used in M-x compile and M-x shell). + These do not work for some USG systems yet; + for the ones where they work, the s/SYSTEM.h file defines this flag. */ + +#ifndef VMS +#ifndef USG +/* #define subprocesses */ +#endif +#endif + +/* Define LD_SWITCH_SITE to contain any special flags your loader may need. */ +#undef LD_SWITCH_SITE + +/* Define C_SWITCH_SITE to contain any special flags your compiler needs. */ +#undef C_SWITCH_SITE + +/* Define LD_SWITCH_X_SITE to contain any special flags your loader + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X libraries aren't in a place that + your loader can find on its own, you might want to add "-L/..." or + something similar. */ +#undef LD_SWITCH_X_SITE + +/* Define LD_SWITCH_X_SITE_AUX with an -R option + in case it's needed (for Solaris, for example). */ +#undef LD_SWITCH_X_SITE_AUX + +/* Define C_SWITCH_X_SITE to contain any special flags your compiler + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X include files aren't in a place + that your compiler can find on its own, you might want to add + "-I/..." or something similar. */ +#undef C_SWITCH_X_SITE + +/* Define STACK_DIRECTION here, but not if m/foo.h did. */ +#ifndef STACK_DIRECTION +#undef STACK_DIRECTION +#endif + +/* Define the return type of signal handlers if the s-xxx file + did not already do so. */ +#define RETSIGTYPE void + +/* SIGTYPE is the macro we actually use. */ +#ifndef SIGTYPE +#define SIGTYPE RETSIGTYPE +#endif + +/* The rest of the code currently tests the CPP symbol BSTRING. + Override any claims made by the system-description files. + Note that on some SCO version it is possible to have bcopy and not bcmp. */ +#undef BSTRING +#if defined (HAVE_BCOPY) && defined (HAVE_BCMP) +#define BSTRING +#endif + +/* Non-ANSI C compilers usually don't have volatile. */ +#ifndef HAVE_VOLATILE +#ifndef __STDC__ +#define volatile +#endif +#endif + +/* Some of the files of Emacs which are intended for use with other + programs assume that if you have a config.h file, you must declare + the type of getenv. + + This declaration shouldn't appear when alloca.s or Makefile.in + includes config.h. */ +#ifndef NOT_C_CODE +extern char *getenv (); +#endif + +#endif /* EMACS_CONFIG_H */ diff --git a/nt/config.w95 b/nt/config.w95 new file mode 100644 index 00000000000..f8cc8a75426 --- /dev/null +++ b/nt/config.w95 @@ -0,0 +1,319 @@ +/* GNU Emacs site configuration template file. -*- C -*- + Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY. No author or distributor +accepts responsibility to anyone for the consequences of using it +or for whether it serves any particular purpose or works at all, +unless he says so in writing. Refer to the GNU Emacs General Public +License for full details. + +Everyone is granted permission to copy, modify and redistribute +GNU Emacs, but only under the conditions described in the +GNU Emacs General Public License. A copy of this license is +supposed to have been given to you along with GNU Emacs so you +can know your rights and responsibilities. It should be in a +file named COPYING. Among other things, the copyright notice +and this notice must be preserved on all copies. */ + + +/* No code in Emacs #includes config.h twice, but some of the code + intended to work with other packages as well (like gmalloc.c) + think they can include it as many times as they like. */ +#ifndef EMACS_CONFIG_H +#define EMACS_CONFIG_H + + +/* These are all defined in the top-level Makefile by configure. + They're here only for reference. */ + +/* Define LISP_FLOAT_TYPE if you want emacs to support floating-point + numbers. */ +#undef LISP_FLOAT_TYPE + +/* Define GNU_MALLOC if you want to use the *new* GNU memory allocator. */ +#undef GNU_MALLOC + +/* Define REL_ALLOC if you want to use the relocating allocator for + buffer space. */ +#undef REL_ALLOC + +/* Define HAVE_X_WINDOWS if you want to use the X window system. */ +#undef HAVE_X_WINDOWS + +/* Define HAVE_X11 if you want to use version 11 of X windows. + Otherwise, Emacs expects to use version 10. */ +#undef HAVE_X11 + +/* Define if using an X toolkit. */ +#undef USE_X_TOOLKIT + +/* Define this if you're using XFree386. */ +#undef HAVE_XFREE386 + +/* Define HAVE_X_MENU if you want to use the X window menu system. + This appears to work on some machines that support X + and not on others. */ +#undef HAVE_X_MENU + +/* Define if we have the X11R6 or newer version of Xt. */ +#undef HAVE_X11XTR6 + +/* Define if netdb.h declares h_errno. */ +#undef HAVE_H_ERRNO + +/* Nowadays we have frame objects even if we support only ASCII terminals. */ +#define MULTI_FRAME + +/* If we're using any sort of window system, define some consequences. */ +#ifdef HAVE_X_WINDOWS +#define MULTI_KBOARD +#define HAVE_FACES +#define HAVE_MOUSE +#endif + +/* Define USE_TEXT_PROPERTIES to support visual and other properties + on text. */ +#define USE_TEXT_PROPERTIES + +/* Define USER_FULL_NAME to return a string + that is the user's full name. + It can assume that the variable `pw' + points to the password file entry for this user. + + At some sites, the pw_gecos field contains + the user's full name. If neither this nor any other + field contains the right thing, use pw_name, + giving the user's login name, since that is better than nothing. */ +#define USER_FULL_NAME pw->pw_gecos + +/* Define AMPERSAND_FULL_NAME if you use the convention + that & in the full name stands for the login id. */ +#undef AMPERSAND_FULL_NAME + +/* Things set by --with options in the configure script. */ + +/* Define to support POP mail retrieval. */ +#undef MAIL_USE_POP + +/* Define to support Kerberos-authenticated POP mail retrieval. */ +#undef KERBEROS + +/* Define to support using a Hesiod database to find the POP server. */ +#undef HESIOD + +/* Some things figured out by the configure script, grouped as they are in + configure.in. */ +#ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */ +#undef _ALL_SOURCE +#endif +#undef HAVE_SYS_SELECT_H +#undef HAVE_SYS_TIMEB_H +#undef HAVE_SYS_TIME_H +#undef HAVE_UNISTD_H +#undef HAVE_UTIME_H +#undef STDC_HEADERS +#undef TIME_WITH_SYS_TIME + +#undef HAVE_LIBDNET +#undef HAVE_LIBRESOLV + +#undef HAVE_ALLOCA_H + +#undef HAVE_GETTIMEOFDAY +#undef HAVE_GETHOSTNAME +#undef HAVE_DUP2 +#undef HAVE_RENAME +#undef HAVE_CLOSEDIR + +#undef TM_IN_SYS_TIME +#undef HAVE_TM_ZONE +#undef HAVE_TZNAME + +#undef const + +#undef HAVE_LONG_FILE_NAMES + +#undef CRAY_STACKSEG_END + +#undef UNEXEC_SRC + +#undef HAVE_LIBXBSD +#undef HAVE_XRMSETDATABASE +#undef HAVE_XSCREENRESOURCESTRING +#undef HAVE_XSCREENNUMBEROFSCREEN +#undef HAVE_XSETWMPROTOCOLS + +#undef HAVE_MKDIR +#undef HAVE_RMDIR +#undef HAVE_RANDOM +#undef HAVE_LRAND48 +#undef HAVE_BCOPY +#undef HAVE_BCMP +#undef HAVE_LOGB +#undef HAVE_FREXP +#undef HAVE_FMOD +#undef HAVE_FTIME +#undef HAVE_RES_INIT /* For -lresolv on Suns. */ +#undef HAVE_SETSID +#undef HAVE_FPATHCONF +#undef HAVE_SELECT +#undef HAVE_MKTIME +#undef HAVE_EACCESS +#undef HAVE_GETPAGESIZE +#undef HAVE_INET_SOCKETS + +#undef HAVE_AIX_SMT_EXP + +/* Define if you have the ANSI `strerror' function. + Otherwise you must have the variable `char *sys_errlist[]'. */ +#undef HAVE_STRERROR + +#undef HAVE_UTIMES + +/* Define if `sys_siglist' is declared by . */ +#undef SYS_SIGLIST_DECLARED + +/* Define if `struct utimbuf' is declared by . */ +#undef HAVE_STRUCT_UTIMBUF + +/* Define if `struct timeval' is declared by . */ +#undef HAVE_TIMEVAL + +/* If using GNU, then support inline function declarations. */ +#ifdef __GNUC__ +#define INLINE __inline__ +#else +#define INLINE +#endif + +#undef EMACS_CONFIGURATION + +#undef EMACS_CONFIG_OPTIONS + +/* The configuration script defines opsysfile to be the name of the + s/SYSTEM.h file that describes the system type you are using. The file + is chosen based on the configuration name you give. + + See the file ../etc/MACHINES for a list of systems and the + configuration names to use for them. + + See s/template.h for documentation on writing s/SYSTEM.h files. */ +#undef config_opsysfile +#include "s/windows95.h" + +/* The configuration script defines machfile to be the name of the + m/MACHINE.h file that describes the machine you are using. The file is + chosen based on the configuration name you give. + + See the file ../etc/MACHINES for a list of machines and the + configuration names to use for them. + + See m/template.h for documentation on writing m/MACHINE.h files. */ +#undef config_machfile +#include "m/intel386.h" + +/* These typedefs shouldn't appear when alloca.s or Makefile.in + includes config.h. */ +#ifndef NOT_C_CODE +#ifndef SPECIAL_EMACS_INT +typedef long EMACS_INT; +typedef unsigned long EMACS_UINT; +#endif +#endif + +/* Load in the conversion definitions if this system + needs them and the source file being compiled has not + said to inhibit this. There should be no need for you + to alter these lines. */ + +#ifdef SHORTNAMES +#ifndef NO_SHORTNAMES +#include "../shortnames/remap.h" +#endif /* not NO_SHORTNAMES */ +#endif /* SHORTNAMES */ + +/* If no remapping takes place, static variables cannot be dumped as + pure, so don't worry about the `static' keyword. */ +#ifdef NO_REMAP +#undef static +#endif + +/* Define `subprocesses' should be defined if you want to + have code for asynchronous subprocesses + (as used in M-x compile and M-x shell). + These do not work for some USG systems yet; + for the ones where they work, the s/SYSTEM.h file defines this flag. */ + +#ifndef VMS +#ifndef USG +/* #define subprocesses */ +#endif +#endif + +/* Define LD_SWITCH_SITE to contain any special flags your loader may need. */ +#undef LD_SWITCH_SITE + +/* Define C_SWITCH_SITE to contain any special flags your compiler needs. */ +#undef C_SWITCH_SITE + +/* Define LD_SWITCH_X_SITE to contain any special flags your loader + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X libraries aren't in a place that + your loader can find on its own, you might want to add "-L/..." or + something similar. */ +#undef LD_SWITCH_X_SITE + +/* Define LD_SWITCH_X_SITE_AUX with an -R option + in case it's needed (for Solaris, for example). */ +#undef LD_SWITCH_X_SITE_AUX + +/* Define C_SWITCH_X_SITE to contain any special flags your compiler + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X include files aren't in a place + that your compiler can find on its own, you might want to add + "-I/..." or something similar. */ +#undef C_SWITCH_X_SITE + +/* Define STACK_DIRECTION here, but not if m/foo.h did. */ +#ifndef STACK_DIRECTION +#undef STACK_DIRECTION +#endif + +/* Define the return type of signal handlers if the s-xxx file + did not already do so. */ +#define RETSIGTYPE void + +/* SIGTYPE is the macro we actually use. */ +#ifndef SIGTYPE +#define SIGTYPE RETSIGTYPE +#endif + +/* The rest of the code currently tests the CPP symbol BSTRING. + Override any claims made by the system-description files. + Note that on some SCO version it is possible to have bcopy and not bcmp. */ +#undef BSTRING +#if defined (HAVE_BCOPY) && defined (HAVE_BCMP) +#define BSTRING +#endif + +/* Non-ANSI C compilers usually don't have volatile. */ +#ifndef HAVE_VOLATILE +#ifndef __STDC__ +#define volatile +#endif +#endif + +/* Some of the files of Emacs which are intended for use with other + programs assume that if you have a config.h file, you must declare + the type of getenv. + + This declaration shouldn't appear when alloca.s or Makefile.in + includes config.h. */ +#ifndef NOT_C_CODE +extern char *getenv (); +#endif + +#endif /* EMACS_CONFIG_H */ diff --git a/nt/install b/nt/install new file mode 100644 index 00000000000..f9c9b198c8b --- /dev/null +++ b/nt/install @@ -0,0 +1,82 @@ + Building and Installing Emacs + on Windows NT and Windows 95 + +You need a compiler package to build and install Emacs on NT or Win95. +If you don't have one, precompiled versions are available in +ftp://ftp.cs.washington.edu/pub/ntemacs/. + +Configuring: + +(1) In previous versions, you needed to edit makefile.def + to reflect the compiler package that you are using. You should no + longer have to do this if you have defined the INCLUDE and LIB + environment variables, as is customary for use with Windows compilers. + +(2) Choose the directory into which Emacs will be installed, and + edit makefile.nt to define INSTALL_DIR to be this directory. Note + that if it is not installed in the directory in which it is built, + the ~16 MB of lisp files will be copied into the installation directory. + + Also, makefile.def is sometimes unpacked read-only; use + + > attrib -r makefile.def + + to make it writable. + +Building: + +(3) The target to compile the sources is "all", and is recursive starting + one directory up. The makefiles for the NT port are in files named + "makefile.nt". To get things started, type in this directory: + + > nmake -f makefile.nt all + + or use the ebuild.bat file. + + When the files are compiled, you will see some warning messages declaring + that some functions don't return a value, or that some data conversions + will be lossy, etc. You can safely ignore these messages. The warnings + may be fixed in the main FSF source at some point, but until then we + will just live with them. + + NOTES: You should not have to edit src\paths.h to get Emacs to run + correctly. All of the variables in src\paths.h are configured + during start up using the nt\emacs.bat file (which gets installed + as bin\emacs.bat -- see below). + +Installing: + +(4) Currently, Emacs requires a number of environment variables to be set + for it to run correctly. A batch file, emacs.bat, is provided that + sets these variables appropriately and then runs the executable. + Before you install Emacs, you first need to edit emacs.bat to + reflect your installation. To do this, set the emacs_path variable + to point to the directory into which you will be installing Emacs. + (This should be the same directory you defined INSTALL_DIR to be + in makefile.def above). + +(5) Install Emacs. From this directory, type: + + > nmake -f makefile.nt install + + or use the install.bat file. + +(6) Create the Emacs startup file. Under Unix, this file is .emacs; + under NT and Win95, this files is _emacs. (If you would like to + use a .emacs file that, for example, you share with a Unix version + of Emacs, you can invoke Emacs with the -l option to specify the + .emacs file that you would like to load.) Note that Emacs requires + the environment variable HOME to be set in order for it to locate the + _emacs file. Ideally, HOME should not be set in the emacs.bat file + as it will be different for each user. (HOME could be set, + for example, in the System panel of the Control Panel). + +(7) Create a program manager icon for the %emacs_path%\emacs.bat file. + +(8) Either click on the icon, or run the emacs.bat file, and away you go. + + If you would like to resize the command window that Emacs uses, + or change the font or colors, click on the program manager icon + to start Emacs. Change the settings using the "-" menu in the upper + left hand corner of the window, making sure to select the "Save" + options in the dialog boxes as you do so. Exit Emacs and restart.