jam.h

Go to the documentation of this file.
00001 /*
00002  *  $Id: e_unix.h,v 1.8 2006/05/30 04:37:12 darren Exp $
00003  *
00004  *  includes and globals for jam
00005  */
00006 #ifndef JAM_H
00007 #define JAM_H
00008 
00009 #include "debug.h"
00010 
00011 #if defined( MSDOS ) || defined( NT ) || defined( WIN95 ) || defined( WIN98 ) || defined( WINME )
00012 #   include "e_msft.h"
00013 #elif defined( OS2 )
00014 #   include "e_os2.h" 
00015 #elif defined( VMS )
00016 #   include "e_vms.h"
00017 #else
00018 #   include "e_unix.h"
00019 #endif
00020 
00021 
00022 /* 
00023  * OSPLAT definitions - suppressed when it's a one-of-a-kind
00024  */
00025 
00026 # if defined( _M_PPC ) || \
00027      defined( PPC ) || \
00028      defined( ppc ) || \
00029      defined( __powerpc__ ) || \
00030      defined( __POWERPC__ ) || \
00031      defined( __ppc__ )
00032 # define OSPLAT "OSPLAT=PPC"
00033 # endif
00034 
00035 # if defined( _ALPHA_ ) || \
00036      defined( __alpha__ )
00037 # define OSPLAT "OSPLAT=AXP"
00038 # endif
00039 
00040 # if defined( _i386_ ) || \
00041      defined( __i386__ ) || \
00042      defined( _M_IX86 )
00043 # if !defined( OS_FREEBSD ) && \
00044      !defined( OS_OS2 ) && \
00045      !defined( OS_AS400 )
00046 # define OSPLAT "OSPLAT=X86"
00047 # endif
00048 # endif 
00049 
00050 # if defined( __sparc__ )
00051 # if !defined( OS_SUNOS )
00052 # define OSPLAT "OSPLAT=SPARC"
00053 # endif
00054 # endif
00055 
00056 # if defined( __mips__ )
00057 # if !defined( OS_SGI )
00058 # define OSPLAT "OSPLAT=MIPS"
00059 # endif
00060 # endif
00061 
00062 # if defined( __arm__ )
00063 # define OSPLAT "OSPLAT=ARM"
00064 # endif
00065 
00066 # if defined( __ia64__ ) || \
00067      defined( __IA64__ ) || \
00068      defined( _M_IA64 )
00069 # define OSPLAT "OSPLAT=IA64"
00070 # endif
00071 
00072 # if defined( __s390__ )
00073 # define OSPLAT "OSPLAT=390"
00074 # endif
00075 
00076 # if !defined( OSPLAT )
00077 # define OSPLAT "UNKNOWN"
00078 # endif
00079 
00080 
00081 
00082 /*
00083  * Jam implementation misc.
00084  */
00085 # if !defined( MAXLINE )
00086 # define MAXLINE 10240  /* command line length, supported by $(JAMSHELL)' */
00087 # endif
00088 
00089 # if !defined( EXITOK ) || !defined( EXITBAD )
00090 # define EXITOK  0
00091 # define EXITBAD 1
00092 # endif
00093 
00094 # if !defined( SPLITPATH )
00095 # define SPLITPATH ':'
00096 # endif
00097 
00098 /* You probably don't need to muck with these. */
00099 
00100 # define MAXSYM   1024  /* longest symbol in the environment */
00101 # define MAXJPATH 1024  /* longest filename */
00102 
00103 # define MAXJOBS  64    /* silently enforce -j limit */
00104 # define MAXARGC  32    /* words in $(JAMSHELL) */
00105 
00106 /* Jam private definitions below. */
00107 
00108 
00109 struct globs {
00110     int     noexec;
00111     int     jobs;
00112     int     quitquick;
00113     int     newestfirst;    /* build newest sources first */
00114     int     debug[DEBUG_MAX];
00115     FILE    *cmdout;        /* print cmds, not run them */
00116 } ;
00117 
00118 extern struct globs globs;
00119 
00120 #endif /* JAM_H */
00121 
00122 
00123 
00124 /*
00125  * Changes:
00126  *
00127  * 11/05/02 (seiwald) - OSPLAT now set to sparc on solaris.
00128  * 09/19/02 (seiwald) - new -d displays
00129  * 08/16/02 (seiwald) - BEOS porting from Ingo Weinhold
00130  * 03/20/02 (seiwald) - MINGW porting from Max Blagai
00131  * 03/16/02 (seiwald) - support for -g (reorder builds by source time)
00132  * 01/21/02 (seiwald) - new -q to quit quickly on build failure
00133  * 10/29/01 (brett)   - More IA64 ifdefs for MS.
00134  * 03/23/01 (seiwald) - VMS C++ changes.
00135  * 02/22/01 (seiwald) - downshift paths on case-insensitive macintosh
00136  * 12/29/00 (seiwald) - OSVER dropped.
00137  * 09/12/00 (seiwald) - OSSYMS split to OSMAJOR/OSMINOR/OSPLAT
00138  * 02/18/00 (belmonte)- Support for Cygwin.
00139  * 07/19/99 (sickel)  - Mac OS X Server and Client support added
00140  * 12/21/96 (seiwald) - OSPLAT now defined for NT.
00141  * 11/21/96 (peterk)  - added BeOS with MW CW mwcc
00142  * 04/29/96 (seiwald) - AIX now has 31 and 42 OSVERs.
00143  * 03/13/96 (seiwald) - Jambase now compiled in; remove JAMBASE variable.
00144  * 01/03/96 (seiwald) - SINIX (nixdorf) added.
00145  * 04/30/95 (seiwald) - FreeBSD added.  Live Free or Die.
00146  * 10/23/95 (seiwald) - added SCO.
00147  * 08/21/95 (seiwald) - added NCR.
00148  * 08/20/95 (seiwald) - added LINUX.
00149  * 05/10/95 (seiwald) - SPLITPATH character set up here.
00150  * 02/22/95 (seiwald) - Jambase now in /usr/local/lib.
00151  * 12/30/94 (wingerd) - changed command buffer size for NT (MS-DOS shell).
00152  * 11/01/94 (wingerd) - let us define path of Jambase at compile time.
00153  * 05/04/94 (seiwald) - new globs.jobs (-j jobs)
00154  * 04/21/94 (seiwald) - DGUX is __DGUX__, not just __DGUX.
00155  * 04/08/94 (seiwald) - Coherent/386 support added.
00156  * */

Generated on Thu Aug 17 15:54:32 2006 for MaJam by  doxygen 1.4.7