----------------->  GNU Sather - compiler configuration file  <----------------
-- Copyright (C) 199x by International Computer Science Institute            --
-- This file is part of the GNU Sather library. It is free software; you may --
-- redistribute  and/or modify it under the terms of the GNU Library General --
-- Public  License (LGPL)  as published  by the  Free  Software  Foundation; --
-- either version 2 of the license, or (at your option) any later version.   --
-- This  library  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 Doc/LGPL for more details.       --
-- The license text is also available from:  Free Software Foundation, Inc., --
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA                     --
-------------->  Please email comments to <bug-sather@gnu.org>  <--------------

-- Configuration File for the Sather Compiler Version 1.1
-- some options for the compiler (see the runtime spec
-- for a detailed description of them).


PLATFORMS:		CONFIG_PLATFORMS;
DEFAULT_PLATFORM:	CONFIG_DEFAULT_PLATFORM;
DISTRIBUTED:		false;
THREADS:		false;
ZONES:			false;
TRACE:			false;
LIBRARY:		"SATHER_LIBRARY","lib-boot/Library.module";
VERSION:		CONFIG_VERSION;
C_COMPILER:		"gcc";
CC_OPTIONS:		"";
GC_LINK:		"-lgc";
LINK_OPTIONS:		"-lm";
MAKE_COMMAND:		"make";
OBJECT_EXT:		".o";
LIB_EXT:		".a";
C_EXT:			".c";
SHELL_SEP:		"; ";
EXEC_OPTION:		"-o ";
NULL_SEGFAULTS:		false;
SEPARATE_POINTERS:	false;
PSATHER_FLAG:		"","";
CC_DEBUG_FLAG:		"","-g";
CC_OPTIMIZE_FLAG:	"","-O2";
CC_PROLIX_FLAG:		"",""; -- passed to the C compiler (prolix implies verbose)
MAKE_VERBOSE_FLAG:	"-s","-s"; -- passed to make

FORTRAN_APPEND_UNDERSCORE:	"false";
FORTRAN_PREFIX_UNDERSCORE:	"false";
FORTRAN_BIND_FUNC:		"true";

-- Define here all classes if their assignment is guaranteed to
-- be atomic (by the underlying Compiler/Hardware). Those classes may NOT
-- have a reference object as attribute, but the list is not restricted
-- to builtin classes. If you add a class here that is not atomic,
-- you will get very hard to trace bugs, and if you forget to add
-- some classes, your program runs slower. Note that you should not
-- try to add classes by trial and error, as an error may show up
-- only much too late.
ATOMIC_CLASSES:		"INT","CHAR","FLT","FLTD","BOOL","CPX","PREFETCH","THREAD_ID", "F_INTEGER", "F_REAL", "F_CHARACTER", "F_LOGICAL", "F_DOUBLE", "F_COMPLEX", "C_CHAR", "C_UNSIGNED_CHAR", "C_SIGNED_CHAR", "C_SHORT", "C_INT", "C_LONG", "C_UNSIGNED_SHORT", "C_UNSIGNED_INT", "C_UNSIGNED_LONG", "C_FLOAT", "C_DOUBLE", "C_PTR", "C_CHAR_PTR", "C_UNSIGNED_CHAR_PTR", "C_SIGNED_CHAR_PTR", "C_SHORT_PTR", "C_INT_PTR", "C_LONG_PTR", "C_UNSIGNED_SHORT_PTR", "C_UNSIGNED_INT_PTR", "C_UNSIGNED_LONG_PTR", "C_FLOAT_PTR", "C_DOUBLE_PTR", "C_LONG_DOUBLE_PTR", "C_SIZE_T", "C_PTR_DIFF_T";

-- List here all classes whose layout is defined in runtime.h (or
-- some other header file)
BUILTIN_CLASSES:	"$OB","INT","CHAR","BOOL","STR","FLT","FLTD",
			"FLTX","FLTDX", "EXT_OB", "RUNTIME", "C_UNIX",
			"THREAD_ID","PREFETCH","LL_LOCK","SPINLOCK","SEMA", "ZONE",

			"F_INTEGER", "F_REAL", "F_CHARACTER", "F_LOGICAL",
			"F_DOUBLE", "F_COMPLEX", "F_DOUBLE_COMPLEX",
			"F_STRING", "F_HANDLER",

			"F_ARRAY{F_INTEGER}", "F_ARRAY{F_REAL}",
			"F_ARRAY{F_CHARACTER}", "F_ARRAY{F_LOGICAL}",
			"F_ARRAY{F_DOUBLE}", "F_ARRAY{F_COMPLEX}",
			"F_ARRAY{F_DOUBLE_COMPLEX}",

			"F_ARRAY2{F_INTEGER}", "F_ARRAY2{F_REAL}",
			"F_ARRAY2{F_CHARACTER}", "F_ARRAY2{F_LOGICAL}",
			"F_ARRAY2{F_DOUBLE}", "F_ARRAY2{F_COMPLEX}",
			"F_ARRAY2{F_DOUBLE_COMPLEX}",

			"F_ARRAY3{F_INTEGER}", "F_ARRAY3{F_REAL}",
			"F_ARRAY3{F_CHARACTER}", "F_ARRAY3{F_LOGICAL}",
			"F_ARRAY3{F_DOUBLE}", "F_ARRAY3{F_COMPLEX}",
			"F_ARRAY3{F_DOUBLE_COMPLEX}",

			C_CHAR, C_UNSIGNED_CHAR, C_SIGNED_CHAR, C_SHORT,
			C_INT, C_LONG, C_UNSIGNED_SHORT, C_UNSIGNED_INT,
			C_UNSIGNED_LONG, C_FLOAT, C_DOUBLE, C_LONG_DOUBLE,
			C_PTR, C_CHAR_PTR, C_UNSIGNED_CHAR_PTR,
			C_SIGNED_CHAR_PTR, C_SHORT_PTR, C_INT_PTR, C_LONG_PTR,
			C_UNSIGNED_SHORT_PTR, C_UNSIGNED_INT_PTR,
			C_UNSIGNED_LONG_PTR, C_FLOAT_PTR, C_DOUBLE_PTR,
			C_LONG_DOUBLE_PTR, C_SIZE_T, C_PTRDIFF_T;


-- Here you should list all the builtin classes that are reference free,
-- that is, they do not have an attribute of an abstract or reference type
REFERENCE_FREE:		"INT","CHAR","BOOL","STR","FLT","FLTD",
			"FLTX","FLTDX",
			"F_INTEGER","F_REAL", "F_CHARACTER","F_LOGICAL",
			"F_DOUBLE", "F_COMPLEX", "F_DOUBLE_COMPLEX",
			"THREAD_ID","PREFETCH";

POLLING:		0;

#include "../lib-boot/Library.config"
