1//===========================================================================
2//  $Name: arts++-1-1-a13 $
3//  $Id: artslocal.h.in,v 1.2 2004/04/21 23:51:30 kkeys Exp $
4//===========================================================================
5//  Copyright Notice
6//
7//  By accessing this software, arts++, you are duly informed
8//  of and agree to be bound by the conditions described below in this
9//  notice:
10//
11//  This software product, arts++, is developed by Daniel W. McRobb, and
12//  copyrighted(C) 1998 by the University of California, San Diego
13//  (UCSD), with all rights reserved.  UCSD administers the CAIDA grant,
14//  NCR-9711092, under which part of this code was developed.
15//
16//  There is no charge for arts++ software.  You can redistribute it
17//  and/or modify it under the terms of the GNU Lesser General Public
18//  License, Version 2.1, February 1999, which is incorporated by
19//  reference herein.
20//
21//  arts++ is distributed WITHOUT ANY WARRANTY, IMPLIED OR EXPRESS, OF
22//  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE or that the use
23//  of it will not infringe on any third party's intellectual
24//  property rights.
25//
26//  You should have received a copy of the GNU Lesser General Public
27//  License along with arts++.  Copies can also be obtained from:
28//
29//    http://www.gnu.org/copyleft/lesser.html
30//
31//  or by writing to:
32//
33//  Free Software Foundation, Inc.
34//  59 Temple Place, Suite 330
35//  Boston, MA 02111-1307
36//  USA
37//
38//  Or contact:
39//
40//    info@caida.org
41//===========================================================================
42
43//---------------------------------------------------------------------------
44//  The xdr_destroy() macro in <rpc/xdr.h> on FreeBSD 2.2.x systems (and
45//  possibly others) is broken... it passes the XDR pointer to the
46//  x_destroy() function but the x_destroy() function prototype
47//  doesn't have any arguments.  C++ compilers (and rigorous C compilers)
48//  don't like this, so we'll rewrite the macro to match the x_destroy()
49//  prototype where we need it (in classes/src/ArtsPrimitive.cc) if
50//  XDR_DESTROY_MACRO_DONT_PASS_POINTER is defined.
51//---------------------------------------------------------------------------
52#undef XDR_DESTROY_MACRO_DONT_PASS_POINTER
53
54//---------------------------------------------------------------------------
55//  Newer versions of g++ and egcs support the Standard C++ Library
56//  header file names (from ISO/IEC 14882:1998).  Unfortunately, older
57//  version do not and there's a lot of legacy code written to the old
58//  header names.  I'm trying to migrate toward using the standard names
59//  when they exist and fall back to old g++ conventions if I can't find
60//  the header under the standard name.  Hence I have a bunch of macros
61//  that are set if the standard header exists under the standard name
62//  and not set if the standard header is not under the standard name.
63//
64//  As an aside, this is one of the reasons I recommend using g++ 2.95.1
65//  (there are other reasons for doing so too, mostly related to STL and
66//  general template support).
67//---------------------------------------------------------------------------
68
69//---------------------------------------------------------------------------
70//  If <fstream> exists, HAVE_FSTREAM should be non-zero.  Else
71//  HAVE_FSTREAM should be undefined and our source will use <fstream.h>
72//---------------------------------------------------------------------------
73#undef HAVE_FSTREAM
74
75//---------------------------------------------------------------------------
76//  If <iostream> exists, HAVE_IOSTREAM should be non-zero.  Else
77//  HAVE_IOSTREAM should be undefined and our source will use <iostream.h>
78//---------------------------------------------------------------------------
79#undef HAVE_IOSTREAM
80
81//---------------------------------------------------------------------------
82//  If <iomanip> exists, HAVE_IOMANIP should be non-zero.  Else
83//  HAVE_IOMANIP should be undefined and our source will use <iomanip.h>
84//---------------------------------------------------------------------------
85#undef HAVE_IOMANIP
86
87//---------------------------------------------------------------------------
88//  If <sstream> exists, HAVE_SSTREAM should be non-zero.
89//  If <strstream> exists, HAVE_STRSTREAM should be non-zero.
90//  Our source will use <sstream>, <strstream>, or <strstream.h>, in that
91//  order of preference.
92//---------------------------------------------------------------------------
93#undef HAVE_SSTREAM
94#undef HAVE_STRSTREAM
95
96
97