]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/src/engine/jam.h
2 * Copyright 1993, 1995 Christopher Seiwald.
4 * This file is part of Jam - see jam.c for Copyright information.
8 * Copyright 2001-2004 David Abrahams.
9 * Distributed under the Boost Software License, Version 1.0.
10 * (See accompanying file LICENSE_1_0.txt or copy at
11 * http://www.boost.org/LICENSE_1_0.txt)
15 * jam.h - includes and globals for jam
18 #ifndef JAM_H_VP_2003_08_01
19 #define JAM_H_VP_2003_08_01
25 /* Assume popen support is available unless known otherwise. */
46 #define OSMINOR "OS=VMS"
47 #define OSMAJOR "VMS=true"
49 #define MAXLINE 1024 /* longest 'together' actions */
50 #define PATH_DELIM '/' /* use CRTL POSIX-style handling */
52 #define EXITOK EXIT_SUCCESS
53 #define EXITBAD EXIT_FAILURE
54 #define DOWNSHIFT_PATHS
56 /* This may be inaccurate. */
58 #define OSPLAT "OSPLAT=VAX"
61 #define glob jam_glob /* use jam's glob, not CRTL's */
83 #define OSMAJOR "NT=true"
84 #define OSMINOR "OS=NT"
87 #define MAXLINE (undefined__see_execnt_c) /* max chars per command line */
89 #define PATH_DELIM '\\'
91 /* AS400 cross-compile from NT. */
96 #define OSMAJOR "AS400=true"
97 #define OSMINOR "OS=AS400"
101 /* Metrowerks Standard Library on Windows. */
107 #endif /* #ifdef NT */
126 #define OSMAJOR "MINGW=true"
127 #define OSMINOR "OS=MINGW"
129 #define SPLITPATH ';'
130 #define MAXLINE 996 /* max chars per command line */
132 #define PATH_DELIM '\\'
134 #endif /* #ifdef MINGW */
143 #define OSMAJOR "UNIX=true"
146 #define PATH_DELIM '/'
150 #define MAXLINE 23552 /* 24k - 1k, max chars per command line */
151 #define OSMINOR "OS=AIX"
156 #define OSMINOR "OS=AMIGA"
161 #define OSMINOR "OS=BEOS"
166 #define OSMINOR "OS=BSDI"
169 #if defined (COHERENT) && defined (_I386)
170 #define OSMINOR "OS=COHERENT"
174 #if defined(__cygwin__) || defined(__CYGWIN__)
175 #define OSMINOR "OS=CYGWIN"
178 #if defined(__FreeBSD__) && !defined(__DragonFly__)
179 #define OSMINOR "OS=FREEBSD"
183 #define OSMINOR "OS=DRAGONFLYBSD"
184 #define OS_DRAGONFLYBSD
187 #define OSMINOR "OS=DGUX"
191 #define OSMINOR "OS=HPUX"
196 #define OSMINOR "OS=HAIKU"
201 #define OSMINOR "OS=INTERIX"
206 #define OSMINOR "OS=IRIX"
211 #define OSMINOR "OS=ISC"
216 #define OSMINOR "OS=LINUX"
220 #define OSMINOR "OS=LYNX"
226 #define OSMINOR "OS=MACHTEN"
231 #define OSMINOR "OS=MPEIX"
237 #define OSMINOR "OS=MVS"
241 #define OSMINOR "OS=NCR"
246 #define OSMINOR "OS=NETBSD"
253 #define OSMINOR "OS=QNXNTO"
256 #define OSMINOR "OS=QNX"
259 #define MAXLINE 996 /* max chars per command line */
264 #define OSMINOR "OS=RHAPSODY"
267 #define OSMINOR "OS=NEXT"
273 #define OSMINOR "OS=MACOSX"
280 #define OSMINOR "OS=OSF"
284 #define OSMINOR "OS=PTX"
288 #define OSMINOR "OS=SCO"
294 #define OSMINOR "OS=SINIX"
298 #if defined(__svr4__) || defined(__SVR4)
299 #define OSMINOR "OS=SOLARIS"
302 #define OSMINOR "OS=SUNOS"
307 #define OSMINOR "OS=ULTRIX"
311 #define OSMINOR "OS=UNICOS"
314 #if defined(__USLC__) && !defined(M_XENIX)
315 #define OSMINOR "OS=UNIXWARE"
319 #define OSMINOR "OS=OPENBSD"
323 #if defined (__FreeBSD_kernel__) && !defined(__FreeBSD__)
324 #define OSMINOR "OS=KFREEBSD"
328 #define OSMINOR "OS=UNKNOWN"
331 /* All the UNIX includes */
333 #include <sys/types.h>
336 #include <sys/file.h>
355 #if !defined( OS_BSDI ) && \
356 !defined( OS_FREEBSD ) && \
357 !defined( OS_DRAGONFLYBSD ) && \
358 !defined( OS_NEXT ) && \
359 !defined( OS_MACHTEN ) && \
360 !defined( OS_MACOSX ) && \
361 !defined( OS_RHAPSODY ) && \
362 !defined( OS_MVS ) && \
363 !defined( OS_OPENBSD )
367 #endif /* #ifndef OSMINOR */
371 * OSPLAT definitions - suppressed when it is a one-of-a-kind.
374 #if defined( _M_PPC ) || \
377 defined( __powerpc__ ) || \
379 #define OSPLAT "OSPLAT=PPC"
382 #if defined( _ALPHA_ ) || \
384 #define OSPLAT "OSPLAT=AXP"
387 #if defined( _i386_ ) || \
388 defined( __i386__ ) || \
389 defined( __i386 ) || \
391 #define OSPLAT "OSPLAT=X86"
394 #if defined( __ia64__ ) || \
395 defined( __IA64__ ) || \
397 #define OSPLAT "OSPLAT=IA64"
400 #if defined( __x86_64__ ) || \
401 defined( __amd64__ ) || \
403 #define OSPLAT "OSPLAT=X86_64"
406 #if defined( __sparc__ ) || \
408 #define OSPLAT "OSPLAT=SPARC"
412 #define OSPLAT "OSPLAT=MIPS"
415 #if defined( __arm__ ) || \
416 defined( __aarch64__ )
417 #define OSPLAT "OSPLAT=ARM"
421 #define OSPLAT "OSPLAT=390"
425 #define OSPLAT "OSPLAT=PARISC"
434 * Jam implementation misc.
438 #define MAXLINE 102400 /* max chars per command line */
447 #define SPLITPATH ':'
450 /* You probably do not need to muck with these. */
452 #define MAXSYM 1024 /* longest symbol in the environment */
453 #define MAXJPATH 1024 /* longest filename */
455 #define MAXARGC 32 /* words in $(JAMSHELL) */
457 /* Jam private definitions below. */
467 int newestfirst
; /* build newest sources first */
469 char debug
[ DEBUG_MAX
];
470 FILE * out
; /* mirror output here */
471 long timeout
; /* number of seconds to limit actions to,
472 * default 0 for no limit.
474 int dart
; /* output build and test results formatted for
477 int max_buf
; /* maximum amount of output saved from target
482 extern struct globs globs
;
484 #define DEBUG_MAKE ( globs.debug[ 1 ] ) /* show actions when executed */
485 #define DEBUG_MAKEQ ( globs.debug[ 2 ] ) /* show even quiet actions */
486 #define DEBUG_EXEC ( globs.debug[ 2 ] ) /* show text of actons */
487 #define DEBUG_MAKEPROG ( globs.debug[ 3 ] ) /* show make0 progress */
488 #define DEBUG_BIND ( globs.debug[ 3 ] ) /* show when files bound */
490 #define DEBUG_EXECCMD ( globs.debug[ 4 ] ) /* show execcmds()'s work */
492 #define DEBUG_COMPILE ( globs.debug[ 5 ] ) /* show rule invocations */
494 #define DEBUG_HEADER ( globs.debug[ 6 ] ) /* show result of header scan */
495 #define DEBUG_BINDSCAN ( globs.debug[ 6 ] ) /* show result of dir scan */
496 #define DEBUG_SEARCH ( globs.debug[ 6 ] ) /* show binding attempts */
498 #define DEBUG_VARSET ( globs.debug[ 7 ] ) /* show variable settings */
499 #define DEBUG_VARGET ( globs.debug[ 8 ] ) /* show variable fetches */
500 #define DEBUG_VAREXP ( globs.debug[ 8 ] ) /* show variable expansions */
501 #define DEBUG_IF ( globs.debug[ 8 ] ) /* show 'if' calculations */
502 #define DEBUG_LISTS ( globs.debug[ 9 ] ) /* show list manipulation */
503 #define DEBUG_SCAN ( globs.debug[ 9 ] ) /* show scanner tokens */
504 #define DEBUG_MEM ( globs.debug[ 9 ] ) /* show memory use */
506 #define DEBUG_PROFILE ( globs.debug[ 10 ] ) /* dump rule execution times */
507 #define DEBUG_PARSE ( globs.debug[ 11 ] ) /* debug parsing */
508 #define DEBUG_GRAPH ( globs.debug[ 12 ] ) /* debug dependencies */
509 #define DEBUG_FATE ( globs.debug[ 13 ] ) /* show fate changes in make0() */
511 /* Everyone gets the memory definitions. */
514 /* They also get the profile functions. */