1 /* -*- tab-width: 4 -*- 2 * 3 * Electric(tm) VLSI Design System 4 * 5 * File: config.h 6 * Site-dependent definitions 7 * Written by: Steven M. Rubin, Static Free Software 8 * 9 * Copyright (c) 2000 Static Free Software. 10 * 11 * Electric(tm) is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * Electric(tm) is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with Electric(tm); see the file COPYING. If not, write to 23 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 24 * Boston, Mass 02111-1307, USA. 25 * 26 * Static Free Software 27 * 4119 Alpine Road 28 * Portola Valley, California 94028 29 * info@staticfreesoft.com 30 */ 31 32 #ifndef _CONFIG_H_ 33 #define _CONFIG_H_ 1 34 35 /********************* MACHINE DETERMINATION *********************/ 36 37 /* determine if it is Macintosh OS */ 38 #if defined(__APPLE__) 39 # define MACOSX 1 40 # if __APPLE_CC__ <= 934 41 # define MACOSX_101 1 42 # endif 43 #endif 44 #if defined(THINK_C) || defined(THINK_CPLUS) || defined(__MWERKS__) || defined(MACOSX) 45 # define MACOS 1 46 #endif 47 48 /* determine if it is Windows 9x/NT */ 49 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) 50 # define WIN32 1 51 #endif 52 53 /* determine if it is UNIX */ 54 #if !defined(MACOS) && !defined(WIN32) 55 # define ONUNIX 1 56 #endif 57 58 /********************* MACHINE-SPECIFIC DEFINES *********************/ 59 60 #ifdef MACOS /***** Macintosh *****/ 61 # ifdef MACOSX 62 # ifdef PROJECTBUILDER 63 # include <QDOffscreen.h> 64 # define STDC_HEADERS 1 65 # define HAVE_STRCHR 1 66 # define HAVE_QSORT 1 67 # define HAVE_STRING_H 1 68 # define HAVE_STDLIB_H 1 69 # define HAVE_INTTYPES_H 1 70 # else 71 # include "defines.h" 72 # endif 73 # define DIRSEP '/' /* directory separator */ 74 # define DIRSEPSTR x_("/") /* directory separator */ 75 # define LIBDIR x_("lib/") /* location of library files */ 76 # else 77 # include <QDOffscreen.h> 78 # define u_int64_t uint64_t 79 # define STDC_HEADERS 1 80 # define HAVE_STRCHR 1 81 # define HAVE_QSORT 1 82 # define HAVE_STRING_H 1 83 # define HAVE_STDLIB_H 1 84 # define HAVE_INTTYPES_H 1 85 # define DIRSEP ':' /* directory separator */ 86 # define DIRSEPSTR x_(":") /* directory separator */ 87 # define LIBDIR x_(":lib:") /* location of library files */ 88 # endif 89 # define MACFSTAG(x) x 90 # define NONFILECH '|' /* character that cannot be in file name */ 91 # define CADRCFILENAME x_("cadrc") /* CAD startup file */ 92 # define ESIMLOC x_("") 93 # define RSIMLOC x_("") 94 # define PRESIMLOC x_("") 95 # define RNLLOC x_("") 96 # define SPICELOC x_("") 97 # define FASTHENRYLOC x_("") 98 # define SORTLOC x_("") 99 # define FLATDRCLOC x_("") 100 # define SFLATDRCLOC x_("") 101 # define BYTES_SWAPPED 1 /* bytes are MSB first */ 102 #endif 103 104 #ifdef WIN32 /***** Windows *****/ 105 # include "windows.h" 106 # define STDC_HEADERS 1 107 # define HAVE_GETCWD 1 108 # define HAVE_QSORT 1 109 # define HAVE_STRCHR 1 110 # define HAVE_STRING_H 1 111 # define HAVE_MKTEMP 1 112 # define DIRSEP '\\' /* directory separator */ 113 # define DIRSEPSTR x_("\\") /* directory separator */ 114 # define MACFSTAG(x) 0 115 # define NONFILECH '|' /* character that cannot be in file name */ 116 # define CADRCFILENAME x_("cadrc") /* CAD startup file */ 117 # define LIBDIR x_("lib\\") /* location of library files */ 118 # define TCLLIBDIR x_("C:\\Program Files\\Tcl\\lib\\tcl8.3")/* installed TCL libraries */ 119 # define ESIMLOC x_("") 120 # define RSIMLOC x_("") 121 # define PRESIMLOC x_("") 122 # define RNLLOC x_("") 123 # define SPICELOC x_("") 124 # define FASTHENRYLOC x_("") 125 # define SORTLOC x_("") 126 # define FLATDRCLOC x_("") 127 # define SFLATDRCLOC x_("") 128 # undef TECHNOLOGY 129 # define int64_t __int64 130 # define u_int64_t unsigned __int64 131 #endif 132 133 #ifdef ONUNIX /***** UNIX *****/ 134 # include "defines.h" 135 # ifndef USEQT 136 # include <X11/Intrinsic.h> 137 # endif 138 # ifdef sparc 139 # define BYTES_SWAPPED 1 /* bytes are MSB first */ 140 # endif 141 # define DIRSEP '/' /* directory separator */ 142 # define DIRSEPSTR x_("/") /* directory separator */ 143 # define MACFSTAG(x) 0 144 # define NONFILECH '?' /* character that cannot be in file name */ 145 # define CADRCFILENAME x_(".cadrc") /* CAD startup file */ 146 # ifdef sun 147 # define LIBDIR x_("/usr/local/share/electric/lib/") /* location of library files */ 148 # define DOCDIR x_("/usr/local/share/electric/doc/html/") /* location of HTML files */ 149 # define ESIMLOC x_("/usr/local/bin/esim") 150 # define RSIMLOC x_("/usr/local/bin/rsim") 151 # define PRESIMLOC x_("/usr/local/bin/presim") 152 # define RNLLOC x_("/usr/local/bin/rnl") 153 # define SPICELOC x_("/usr/local/bin/spice") 154 # define FASTHENRYLOC x_("/usr/local/bin/fasthenry") 155 # define SORTLOC x_("/usr/bin/sort") 156 # define FLATDRCLOC x_("/usr/local/bin/ffindshort") 157 # define SFLATDRCLOC x_("/usr/local/bin/findshort") 158 # define u_int64_t uint64_t 159 # else 160 # define LIBDIR x_("/usr/local/share/electric/lib/") /* location of library files */ 161 # define DOCDIR x_("/usr/local/share/doc/electric/html/") /* location of HTML files */ 162 # define ESIMLOC x_("/usr/local/bin/esim") 163 # define RSIMLOC x_("/usr/local/bin/rsim") 164 # define PRESIMLOC x_("/usr/local/bin/presim") 165 # define RNLLOC x_("/usr/local/bin/rnl") 166 # define SPICELOC x_("/usr/local/bin/spice") 167 # define FASTHENRYLOC x_("/usr/local/bin/fasthenry") 168 # define SORTLOC x_("/usr/bin/sort") 169 # define FLATDRCLOC x_("/usr/local/bin/ffindshort") 170 # define SFLATDRCLOC x_("/usr/local/bin/findshort") 171 # endif 172 #endif 173 174 /********************* SOURCE MODULE CONFIGURATION *********************/ 175 176 /* The tools (User and I/O are always enabled) */ 177 #define COMTOOL 1 178 #define COMPENTOOL 1 179 #define DBMIRRORTOOL FORCESUNTOOLS & FORCEJAVA 180 #define DRCTOOL 1 181 #define ERCTOOL 1 182 #define LOGEFFTOOL 1 183 #define MAPPERTOOL 0 184 #define PLATOOL 1 185 #define PROJECTTOOL 1 186 #define ROUTTOOL 1 187 #define SCTOOL 1 188 #define SIMTOOL 1 189 #define VHDLTOOL 1 190 191 /* special features of tools */ 192 #define SIMTOOLIRSIM FORCEIRSIMTOOL 193 #define SIMFSDBWRITE (FORCEIRSIMTOOL && defined(FORCEFSDB)) 194 #define LOGEFFTOOLSUN FORCESUNTOOLS 195 196 /* The language interfaces */ 197 #define LANGJAVA FORCEJAVA 198 #define LANGLISP FORCELISP 199 #define LANGTCL FORCETCL 200 201 #endif /* _CONFIG_H_ - at top */ 202