/[ascend]/trunk/base/generic/ConfigAscend.in
ViewVC logotype

Contents of /trunk/base/generic/ConfigAscend.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 624 - (show annotations) (download)
Thu May 18 15:39:38 2006 UTC (18 years, 7 months ago) by ben.allan
File size: 16554 byte(s)
Summary: most of the recent complaints about autotools build fixed,
but the buildbot might find a problem with the scons build/install/rpmbuild.


Details:

configure,Driver.c,utilities/config.h.in:
The choice of INSTALL_DATA as a configure variable name
has been repaired (renamed INSTALL_SHARE); INSTALL_DATA is the unix
canonical name for the program 'install' handling a data file.
Both autotools and scons builds have been updated to reflect this,
in the process correcting the definition from prefix/share to
prefix/share/ascend. 

autotools build:
Added --with-quiet option to make the install of already installed and
unchanged files less verbose.
Put in a workaround for the '' problem in tkConfig.sh seen by KC/JP.
Added --datadir support to autotools configure. If you configure
the autotools --datadir=PREFIX/share/ascend you get the same behavior
as the Pye packaging; by default you get the CMU packaging convention instead.
Added utilities/env.c to build.

compiler:
Turned off AWAL in anontype.c.
Noodling away at blackboxes continues...

1 # @configure_input@
2 #
3 # This is a configuration file for ASCEND.
4 # If it has the name "ConfigAscend.in", then it is a template
5 # for the "ConfigAscend" configuration file. To generate the
6 # actual "ConfigAscend" file, run "./configure", which is a
7 # configuration script generated by the "autoconf" program.
8 # Constructs like @foo@ will be replaced in the actual
9 # "ConfigAscend" configuration file.
10 #
11 # This file contains the definitions and macros needed by all the
12 # ascend sub-makefiles.
13 #
14 # by Ben Allan June 25, 1994.
15 # $Revision: 1.18 $
16 # $Date: 1999/01/19 16:09:02 $
17 # $Author: mthomas $
18 # $Source: /afs/cs.cmu.edu/project/ascend/Repository/ascend4/ConfigAscend.in,v $
19 #
20 # To build ASCEND you must set some configuration information in
21 # this file and then type 'make'.
22 #
23
24 # tcl/tk basis
25 LIB_RUNTIME_DIR=@TCLCONFIG@
26 @NOTCLCONFIG@include $(LIB_RUNTIME_DIR)/tclConfig.sh
27 @NOTCLCONFIG@include $(LIB_RUNTIME_DIR)/tkConfig.sh
28
29 ####>>> C <<<###############################################################
30
31 # CC
32 # your ansi-compliant C compiler and C preprocessor
33 #
34 CC = @CC@
35 CPP = @CPP@
36
37 # CFLAGS
38 # options for the C compilter
39 # This is where optimization and debugging options should be set.
40 #
41 # The flags which `configure' sets should be sufficient to compile
42 # ascend; however for more error checking and warnings at compile
43 # time, you may want to add the following to the CFLAGS variable.
44 # Note that these flags are compiler and OS dependent.
45 #
46 # Any GCC
47 #CCWARN = -ansi -Wall -Wshadow -W -pedantic -D_GNU_SOURCE
48 # DEC Alpha OSF or Digital-Unix
49 #CCWARN = -std1 -verbose
50 # DEC Ultrix
51 #CCWARN = -std -w0
52 # HP/UX
53 #CCWARN = +w1
54 # IBM AIX
55 #CCWARN =
56 # SGI IRIX
57 #CCWARN = +w
58 # Sun Solaris (2.x) (/opt/SUNWspro/bin/cc)
59 #CCWARN = -v -Xc
60 # Sun SunOS (Solaris 1.x) (/usr/lang/cc)
61 #CCWARN = -vc -Xc
62 #
63 CFLAGS = -O $(CCWARN) # for optimization
64 CFLAGS = -g $(CCWARN) # for debugging
65 CFLAGS = @CFLAGS@ $(CCWARN)
66
67 # All switches to pass to the C compiler
68 #
69 CC_SWITCHES = $(INCLUDES) $(DEFINES) $(CFLAGS)
70
71 # The list of includes. DIR_SPECIFIC_INCS are includes that are specific
72 # to a particular subdirectory of the ASCEND build
73 #
74 INCLUDES = $(ASC_INCS) $(DIR_SPECIFIC_INCS)
75
76 # The list of defines. DIR_SPECIFIC_DEFS are defines that are specific
77 # to a particular subdirectory of the ASCEND build
78 #
79 DEFINES = $(CONFIGURE_DEFS) $(DIR_SPECIFIC_DEFS) \
80 $(MOD_ASCMALLOC) $(FATFUNC) $(MEM_DECREASE)
81
82 # DEBUGGER LIBRARIES
83 # any special files/libraries needed for building a debugging version
84 # of a binary
85 #
86 DEBUG_LIBS = @DEBUG_LIBS@
87
88 # DEFINES
89 # definitions that `configure' generates
90 #
91 CONFIGURE_DEFS = @DEFS@
92
93 # AR
94 # the archiver (normally /bin/ar)
95 #
96 AR = ar
97
98 # RANLIB
99 # set this to ":" on SysV systems; to "ranlib" elsewhere
100 #
101 RANLIB = @RANLIB@
102
103 # LD
104 # the linker/loader
105 #
106 LD = ld
107
108 # YACC
109 # On some old systems yacc writes some K&R extern definitions to
110 # the .c file that it generates. This has caused havoc on at least
111 # one system. Define your yacc here. For the Suns in particular
112 # /usr/lang/SC1.0/ansi/yacc was required. If you cannot find an ansi
113 # compatible yacc, delete the 'extern char *malloc(), realloc() definitions
114 # if generated at the top of your .c created from the .y file.
115 #
116 YACC = @YACC@
117
118 # LEX
119 # We require the flex lexer
120 #
121 LEX = @LEX@
122 LEXLIB = @LEXLIB@
123
124 # UNSIGNED CHARACTERS
125 # Some compilers (notably AIX3.1 cc) default chars to be unsigned which
126 # causes many things to break in file operations, particularly the
127 # detection of EOF conditions. Uncomment one of the CHAR_SIGNS
128 # if your compiler defaults char to be unsigned char.
129 #
130 #CHAR_SIGNS = -qchars=signed
131
132
133 ####>>> FILE UTILITIES <<<##################################################
134
135 # Basic File Utilities
136 #
137 CMP = cmp
138 CP = cp
139 ECHO = echo
140 LN_S = @LN_S@
141 MKDIR = mkdir
142 MV = mv
143 RM = rm -f
144 SED = sed
145
146
147 ####>>> MATH <<<############################################################
148
149 # Some compilers need to be told where to find the math libraries
150 #
151 MATH_LIBS = @MATH_LIBS@
152
153
154 ####>>> X11 <<<#############################################################
155
156 # The interface and 1 file in the solver directory need to know where the
157 # include files and library for X11 are. If your C compiler doesn't know
158 # automatically where the X files are, or if they are in a non-standard
159 # place, set the following variables to point at them. These should be
160 # the same X files that Tk was built with on your system.
161 # Most systems do not need these variables to be set.
162 #
163 # The include files for X11:
164 X11_INCS = @X11_INCLUDES@
165
166 # The libraries files for X11:
167 X11_LIBS = @X11_LIBRARIES@ -lX11 @X11_EXTRA_LIBS@ @X11_RUN_PATH@
168
169
170
171 ####>>> TCL / TK <<<########################################################
172
173
174 # Set the location of the Tcl/Tk libraries and include files.
175 #
176 # The location of the libtk.a and libtcl.a libraries.
177 # The order should be -ltk -ltcl
178 TCL_LIBRARY = @TCLLIB@
179 TK_LIBRARY = @TKLIB@
180 TK_LIBS = $(TK_LIBRARY) $(TCL_LIBRARY) @TK_LD_HACK@ $(DL_LIBS)
181
182 # The location of the tcl.h and tk.h header files
183 TK_INCS = -I@TCLINCLUDE@ @TK_HDR@
184
185 # If TK_LIBS and TK_INCS are not properly set, ASCEND cannot build.
186
187
188 # We also need the TkTable widget which does not come as a
189 # standard part of the Tcl/Tk distribution. This library can
190 # either be loaded statically or dynamically. If the configure
191 # script found libTktable.a, use static loading; otherwise, use
192 # dynamic loading.
193 #
194 HAVE_TKTABLE = @HAVE_TKTABLE@
195 TKTABLE_LIB = @TKTABLE_LIB@
196
197
198 ####>>> SOLVERS / INTEGRATORS <<<###########################################
199
200 # If you are linking to MINOS or other external solvers, the solver
201 # interface needs to know about it.
202 # Set the comment flags as appropriate on the following definitions.
203 # If the settings here do not match the libraries you link, you will
204 # almost certainly get runtime errors if not link errors.
205
206 # to build with slv, uncomment the next line
207 #EXT_SLV = -DSTATIC_SLV
208
209 # to build with optsqp, uncomment the next line
210 #AWW20041129:EXT_OPTSQP = @HAVE_OPTSQP@
211 #
212 # location of the rsqp library
213 #AWW20041206:OPTSQPLIB = @OPTSQPLIB@
214
215 # to build with qrslv, uncomment the next line
216 EXT_QRSLV = -DSTATIC_QRSLV
217
218 # to build with mps, uncomment the next line
219 #EXT_MPS = -DSTATIC_MPS
220
221 # to build with ngslv, uncomment the next line
222 #EXT_NGSLV = -DSTATIC_NGSLV
223
224 # to build with cmslv, uncomment the next line
225 EXT_CMSLV = -DSTATIC_CMSLV
226
227 # to build with lrslv, uncomment the next line
228 #EXT_LRSLV = -DSTATIC_LRSLV
229
230 # the configure script sets the following depending on its search for minos.
231 # to force a build WITHOUT minos, comment the next line
232 #EXT_MINOS = @HAVE_MINOS@
233 #
234 # location of the minos library
235 #MINOSLIB = @MINOSLIB@
236
237 # the configure script sets the following depending on its search for conopt.
238 # to force a build WITHOUT conopt, comment the next line
239 #AWW20041129:EXT_CONOPT = @HAVE_CONOPT@
240 #
241 # location of the conopt library
242 #AWW20041206:CONOPTLIB = @CONOPTLIB@
243
244 # the configure script sets the following depending on its search for lsode.
245 # to force a build WITHOUT lsode, comment the next line
246 EXT_LSOD = @HAVE_LSOD@
247 #
248 # location of the lsode library
249 LSODLIB = @LSODLIB@
250
251 # combine all the defines for the solver into a single variable
252 #AWW20041206:SOLVER_DEFS = $(EXT_SLV) $(EXT_OPTSQP) $(EXT_QRSLV) $(EXT_MPS) $(EXT_NGSLV) \
253 #AWW20041206: $(EXT_CMSLV) $(EXT_LRSLV) $(EXT_MINOS) $(EXT_CONOPT) $(EXT_LSOD) \
254 #AWW20041206: $(EXT_OPTSQP)
255 SOLVER_DEFS = $(EXT_QRSLV) $(EXT_LSOD) $(EXT_CMSLV) $(EXT_LRSLV) $(EXT_NGSLV) $(EXT_MINOS) $(EXT_CONOPT)
256
257
258
259
260 ####>>> PACKAGES <<<########################################################
261
262 # Build ascend with packages.
263 # Packages are bits of compiled code that represent models, or solvers,
264 # or, in general, any bits of external code.
265
266 # Packages may be dynamically or statically linked/loaded. Add one or
267 # the other defines : -DSTATIC_PACKAGES or -DDYNAMIC_PACKAGES
268 #
269 #HAVE_PACKAGES = -DSTATIC_PACKAGES
270 #HAVE_PACKAGES = -DDYNAMIC_PACKAGES
271
272 # If statically linked, i.e. -DSTATIC_PACKAGES, then set PACK_LIBS
273 # to where your external packages exist. If dynamically linked or
274 # if you are building with NO_PACKAGES, leave PACK_LIBS empty.
275 #
276 PACK_LIBS = ../archive/libascpackages.a
277 #PACK_LIBS =
278
279 # The default behavor is to have packages, so if you don't want
280 # packages, you have to uncomment the following line
281 #HAVE_PACKAGES = -DNO_PACKAGES
282
283
284 ####>>> SHARED OBJECTS <<<##################################################
285
286 # When using dynamic packages or no packages, the Makefile needs
287 # to know how to make a shared object and what suffix the
288 # shared object should have.
289 #
290 # Library file(s) to link against for dynamic loading to work
291 DL_LIBS = @DL_LIBS@
292 #
293 # Flags to pass to the C compiler when linking object files
294 # into an executable application binary
295 LD_FLAGS = @LD_FLAGS@
296 #
297 # Flags to pass to ld to tell the run-time linker where to find
298 # shared objects
299 LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@
300 #
301 # Flags to pass to the C compiler when compiling the components
302 # of a shared library
303 SHLIB_CFLAGS = @SHLIB_CFLAGS@
304 #
305 # Base command to use to combing object files into a shared library
306 SHLIB_LD = @SHLIB_LD@
307 #
308 # Dependent libraries for the linker to scan when creating a shared
309 # library
310 SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
311 #
312 # Suffix to use for the names of dynamically loadable objects.
313 SHLIB_SUFFIX = @SHLIB_SUFFIX@
314 #
315 # Specifies everything that comes after libfoo in the shared library
316 # "foo"
317 ASC_LIB_SUFFIX = @ASC_LIB_SUFFIX@
318
319
320 ####>>> F77 <<<#############################################################
321
322 # F77
323 # your f77 compiler
324 #
325 F77 = @F77@
326
327 # Fortran compilation flags:
328 # These are used for making the ASCEND libraries based on FORTRAN codes.
329 # These should be set to get the best performance possible out of your
330 # f77 compiler without optimizing away functions that are not obviously
331 # called, as some compilers do by default.
332 #
333 F77FLAGS = -I4 -O
334 #
335 # F77LIBS is for the base f77 libraries. If you are linking no f77
336 # objects to ascend, it may be left undefined.
337 # Set F77LIBS appropriate for your machine and desired loader behavior.
338 #
339 F77_LIBS = @F77LIBS@
340 #
341 # F77_OPTS are for miscellaneous options, such as -tmpdir=
342 #
343 F77_OPTS =
344 #
345 # All the flags to pass to F77
346 #
347 F77_SWITCHES = $(F77FLAGS) $(F77_OPTS)
348
349 ####>>> FORTRAN LIBRARIES <<<###############################################
350
351 # If building ASCEND with MINOS or other FORTRAN based solvers/packages,
352 # uncomment one of the FOR_LIBS definitions below to indicate the FORTRAN
353 # libraries to link into ASCEND.
354 #
355 # Set the BLAS and LINPACK library definitions to point at
356 # machine specific libraries (if you have them) to get the
357 # best speed out of ASCEND.
358 #
359 BLASLIB = @BLASLIB@
360 LPAKLIB = @LPAKLIB@
361
362 FOR_LIBS = $(LSODLIB) $(MINOSLIB) $(OPTSQPLIB) $(CONOPTLIB) \
363 $(LPAKLIB) $(BLASLIB) \
364 $(F77_LIBS)
365
366
367 ####>>> INSTALL <<<#########################################################
368
369 # Location to install program, libs, etc, and the install program
370
371 # First, set INSTALL to the location of a BSD-compatible install program
372 #
373 INSTALL = @INSTALL@
374 INSTALL_PROGRAM = @INSTALL_PROGRAM@
375 INSTALL_DATA = @INSTALL_DATA@
376
377 # Where to install information
378 #
379 # prefix for platform dependent files:
380 exec_prefix = @exec_prefix@
381 #
382 # prefix for platfrom independent files (.h, .tcl, .asc, etc)
383 prefix = @prefix@
384 #
385 # directory for ascend binary
386 BIN_DIR = $(exec_prefix)/bin
387 #
388 # directory for ascend scripts
389 SCRIPT_DIR = $(prefix)/bin
390 #
391 # directory for ascend documentation
392 DOC_DIR = $(prefix)/doc
393 #
394 # directory for ascend include files
395 INCLUDE_DIR = $(prefix)/include
396 #
397 # directory for ascend info-style files
398 INFO_DIR = $(prefix)/info
399 #
400 # directory for ascend platform-dependent libraries
401 LIB_DIR = $(exec_prefix)/lib
402 #
403 # top level directory for ascend man pages
404 MAN_DIR = $(prefix)/man
405 #
406 # directories for specific man pages
407 MAN1_DIR = $(MAN_DIR)/man1
408 MAN3_DIR = $(MAN_DIR)/man3
409 MAN5_DIR = $(MAN_DIR)/man5
410 MAN8_DIR = $(MAN_DIR)/man8
411 MANn_DIR = $(MAN_DIR)/mann
412 #
413 # directory for ascend help files
414 HELP_DIR = $(prefix)/help
415 #
416 # directory for ascend models (libraries & examples)
417 MODELS_DIR = @INSTALL_SHARE@/models
418 #
419 # directory for ascend package code
420 PACK_DIR = $(prefix)/packages
421 #
422 # directory for general tcl/tk code
423 TK_LIBRARY_DIR = $(prefix)/lib/tcl
424 #
425 # directory for ascend specific tcl/tk code
426 # Note: the name for this is TK, not tcltk/TK.
427 ASCEND_TK_DIR = @INSTALL_SHARE@/TK
428
429 QUIET_INSTALL=@QUIET_INSTALL@
430
431 ####>>> CMU DEVELOPERS <<<##################################################
432
433 # The following flags control sources that are not part of the standard
434 # distribution. Do not uncomment any of these lines unless you know
435 # what you are doing; in particular, don't mess with these and then
436 # expect us to be able to help you when it won't build.
437
438 # Tom Epperly's malloc debugger:
439 #
440 # slow
441 #MOD_ASCMALLOC = -DMOD_ASCMALLOC -DMALLOC_DEBUG
442 # slower
443 #MOD_ASCMALLOC = -DMOD_ASCMALLOC -DMALLOC_DEBUG -DALLOCATED_TESTS
444
445 # Damned expensive malloc debugger (sources not distributed):
446 #
447 # slowest
448 #DEBUG_MALLOC_LIBS = ../dbmalloc/libdbmalloc.a
449 #DEBUG_MALLOC = -DBEBUG_MALLOC
450
451 # Find Dependencies: makedepend/g++dep executable
452 #
453 # all dependencies
454 DEPEND = /usr/local/bin/makedepend
455 DEPEND = /usr/local/lib/ascend/etc/g++dep
456 #
457 # all but system dependencies
458 DEPEND_NOSYS = /usr/local/lib/ascend/etc/g++dep_nosys
459 # to make without-system-dependencies the default, uncomment the next line
460 #DEPEND = $(DEPEND_NOSYS)
461 #
462 # remove dependencies information version
463 DEPEND_RM = /usr/local/lib/ascend/etc/g++nodep
464 #
465 # All switches to pass to the dependency generator
466 #
467 DEPEND_FLAGS = $(INCLUDES) $(DEFINES)
468
469
470 # Tags
471 #
472 ETAGS = /usr/local/bin/etags
473 CTAGS = /usr/local/bin/ctags
474
475
476 # cflow, sparc only. on other platforms cflow and dot, if they exist,
477 # may need different switches. dot works well on sun/solaris/hpux OS.
478 # with a bit of hacking on usr/local/lib/ascend we could have dot on
479 # all but alphas since Ben has the sources. Finding cflow may be harder.
480 CFLFLAGS = -DNDEBUG -I.. -I.
481 RCFLFLAGS = -DNDEBUG -I.. -I. -r
482
483 # replaces tabs with 2 blanks for human consumption, and eat externals
484 #CPRCOM = |/usr/5bin/pr -e2 -t | eatcflowext
485 # eat external function calls (fprintf, etc) only
486 CPRCOM = | eatcflowext
487
488 # eat external calls and convert to dot input format
489 CPSCOM = | eatcflowext | eatcflow2dot
490
491 # note sunos4 /bin/cflow is fatally stupid. use sys5 version
492 CFLOW = /usr/lang/cflow
493 # you probably don't have this. It's in my path (~ballan/bin/dot)
494 # dot can be stunningly slow on twisty files.
495 DOT = dot
496 # can also generate mif (-Tmif), etc. see dot man page.
497 DOTFLAGS = -Tps
498 # eatcflowext,eatcflow2dot are tcl script ben wrote. vagu:~ballan/bin
499 # dot is the proprietary lucent graph utility.
500
501
502 # Purify
503 #
504 PURIFY = purify
505 QUANTIFY = quantify
506 #set dirs in the next 3 accordingly
507 PURIFY_OPTS = -always-use-cache-dir -cache-dir=/usr1/ballan/tmp/purify \
508 -windows=no -inuse-at-exit=yes
509 PURIFY_OPTS = -always-use-cache-dir -cache-dir=/usr1/ballan/tmp/purify \
510 -inuse-at-exit=yes
511 QUANTIFY_OPTS = $(PURIFY_OPTS) -record-system-calls=no
512 # use these if you haven't paid pureatria yet.
513 PURIFY_OPTS =
514 QUANTIFY_OPTS = $(PURIFY_OPTS)
515
516
517 # Pixie
518 # (only available on the alpha)
519 #
520 PIXIE = pixie
521 PIXIE_OPTS = -pixie -heavy -lines -invocations -procedures
522 PIXIEDIR= a4
523
524
525 # set the following to -DCHRIS_FUNC to get the extra fucn properties
526 # needed for the Chris Welhelmy solver.
527 #
528 #FATFUNC = -DCHRIS_FUNC
529
530
531 # if your machine's memory is allocated in decreasing order, set the
532 # following to -DMEM_DECREASE to try to keep memory usage more compact
533 #
534 #MEM_DECREASE = -DMEM_DECREASE
535
536
537 ####>>> MISC <<<############################################################
538
539 # include files for ascend
540 #
541 #AWW: See comments in configure.in just before asc_include is set. I am
542 #AWW: not sure why -I@asc_include@ is here, but I know the others are
543 #AWW: needed - based on those comments.
544 #AWW20041206: ASC_INCS = -I@asc_include@ -I..
545 ASC_INCS = -I@fullpathsrcdir@/../generic -I@fullpathsrcdir@/../../tcltk/generic -I..
546
547 # library files for ascend
548 #
549 ASC_LIB_STEMS=if compiler solver utilities general
550 ASC_LIBS=$(ASC_LIB_STEMS:%=../archive/libasc%.a) $(PACK_LIBS)
551
552 # The time/place stamp for the executable.
553 # Reverse the comment flags if your cpp doesn't understand it
554 #
555 TIMESTAMP = -DTIMESTAMP="\"by `whoami`@`hostname`\""
556 #TIMESTAMP = -DTIMESTAMP="\"\""
557
558 # Force emacs to treat this file as a Makefile
559 #
560 # Local Variables: ***
561 # mode:Makefile ***
562 # End: ***

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22