-- -*- Mode: Text;  -*-
-- File: .sather
-- Author: Chu-Cheow Lim (clim@ICSI.Berkeley.EDU)
-- Copyright (C) International Computer Science Institute, 1990
-- Changes: Heinz Schmidt (hws@csis.dit.csiro.AU)
-- Copyright (C) CSIRO Division of Information Technology, 1992
--
-- COPYRIGHT NOTICE: This code is provided "AS IS" WITHOUT ANY WARRANTY
-- and is subject to the terms of the SATHER LIBRARY GENERAL PUBLIC
-- LICENSE contained in the file: "sather/doc/license.txt" of the Sather
-- distribution. The license is also available from ICSI, 1947 Center
-- St., Suite 600, Berkeley CA 94704, USA.
--*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--* FUNCTION: .sather for Sather version of Sather compiler
--*
--* HISTORY:
--* Last edited: Mar  9 14:24 1992 (hws)
--* Created: May 1991 (clim)
--*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- (debug_keys) paths
-- This will do some tracing of pathname canonicalization, useful when
-- porting to hosts with different filename constraints.

(cc_flags) -O -DSAFE_RT_
-- (cc_flags) -DSAFE_RT_  -- -g is included anyway if -sdb chosen

(source_files) 
./symtab.sa
./classob.sa
./classob_s.sa
./classs_tab.sa
./class_tab.sa
./codeob.sa
./common_data.sa
./cs_keys.sa
./constants.sa
./cs.sa
./declob.sa
./declob_s.sa
./dot_sa.sa
./exprob.sa
./exprob_s.sa
./exprob_s2.sa
./featob.sa
./featob_s.sa
./dbtable.sa
./sorter.sa
./dbsupport.sa

./filetypes.sa
./hash.sa
./in-$ARCH.sa
./key.sa
./lst.sa
./lst_codeob.sa
./semant.sa
./stmtob.sa
./stmtob_s.sa
./opt_stmt_s.sa
./str_buffer.sa
./str_table.sa
./typeob.sa
./typeob_s.sa
./time.sa
./timer.sa
./c_codegen.sa

./persist.sa
./info.sa
./syserr.sa
./fd.sa
./inc_compile.sa
./dbkey.sa
./str_set.sa
./i2iset.sa

../lib/data_structure/int_hash.sa
../lib/data_structure/genrl_hash.sa
../lib/data_structure/str_hash.sa

-- ../lib/base/unix.sa
../lib/base/pathname.sa
../lib/base/sys.sa

(c_files) 
-- will all be copied regardless of type.
-- This one will be processed by make-parser below.
./ssather.y
   
-- This is actually "lexer.c", but since we are compiling all "*.c"
-- files, if we use the name "lexer.c", make will try to compile this
-- resulting in errors.
./lexer.h

./timer.c

(debug_keys) 
--	void_object
--	wrong_object
--	double_check
--	print_progress
-- -- This key will allow some messages to be printed as the compiler
-- -- progresses.
--	print_table
-- -- This key will allow the user the chance to print the definition
-- -- table or definition of a class.
--	warning_msg
-- -- This key, if enabled, will print warning messages for call
-- -- statements that return an un-used value.

(c_makefile)
./make-parser

(include)
./map-c-names
-- Map functions/variables used in scanner/parser to Sather functions

(include)
./.sa.persist
-- Compiler commands relevant for handling persistent objects.

./.sa.c_fstat
-- Compiler commands relevant for handling C objects containing file status.

./syserr.macros
-- Macro definitions for C library/system call errors.

./fd.macros
-- Macro definitions for handling file descriptors

../lib/base/C/unix.macros
-- Macro definitions for unix.sa

(c_macro) "#define error_exit(s) {fprintf(stderr, s);exit(1);}" error_exit 
