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