/[ascend]/trunk/tcltk98/jam/Jamrules.in
ViewVC logotype

Contents of /trunk/tcltk98/jam/Jamrules.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (show annotations) (download)
Sat Jan 22 14:22:13 2005 UTC (19 years, 11 months ago) by jds
File size: 8425 byte(s)
Initial commit of WinVC7 and jam build files.  jam builds Ascend base libs and tcltk98 executable on Windows using msvc, borland, mingw, and watcom (watcom can't yet link executable due to lack of isnan() and copysign() functions).

Also includes minor source updates to compile & run on Windows.
1 #
2 # Jamrules support file for building Ascend4
3 # (see http://www.freetype.org/jam/index.html)
4 #
5 # This file is part of the Ascend Build System.
6 #
7 # Copyright (C) 2004 Jerry D. St.Clair
8 #
9 # The Ascend Build System is free software; you can redistribute
10 # it and/or modify it under the terms of the GNU General Public
11 # License as published by the Free Software Foundation; either
12 # version 2 of the License, or (at your option) any later version.
13 #
14 # This program is distributed in hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with the program; if not, write to the Free Software
21 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA.
22 # Check the file named COPYING.
23 #---------------------------------------------------------------------------
24 #
25 # UNDER CONSTRUCTION
26 #
27 # This is a template Jamrules file which supports building the
28 # Tcl/Tk version of the Ascend modeling system, as well as a static
29 # library of Tcl/Tk interface functionality. The Ascend jam build
30 # system currently supports building the libraries using the MSVC,
31 # Borland, MinGW, and Watcom compilers.
32 #
33 # INSTALLATION IS NOT WORKING IN THE CURRENT VERSION.
34 #
35 # It is not currently customized by the Ascend configure mechanism,
36 # although this may be implemented in the future.
37 #
38 # Users should copy/rename this file to 'Jamrules', then modify
39 # the settings manually for their particular system. Ascend
40 # cannot be built by jam unless the Jambase file is present.
41 #
42 # User-customized Jamrules files should not be placed in version
43 # control. Only the Jamrules.in template should be versioned.
44 #
45 #---------------------------------------------------------------------------
46
47 prefix = c:\\dev ;
48 INSTALL_ROOT = $(prefix)$(SLASH)Ascend4_install ;
49
50 # Root dir of Ascend base library sources.
51 ASC_BASE_ROOT = ..$(SLASH)..$(SLASH)base$(SLASH)generic ;
52
53 # Root dir of Ascend libraries - will be qualified for compiler & build type
54 ASC_BASE_LIBDIR = ..$(SLASH)..$(SLASH)base$(SLASH)jam ;
55
56 # root directories for Tcl and Tk libraries
57 TCL_DIR = ..$(SLASH)..$(SLASH)..$(SLASH)Tcl ;
58 TK_DIR = $(TCL_DIR) ;
59
60 # Set the Tcl/Tk/tkTable import library names here to override the
61 # default, compiler-specific names. Comment out to use defaults.
62 # TCL_LIBRARY = tcl80$(SUFLIB ;
63 # TK_LIBRARY = tk80$(SUFLIB) ;
64 # TKTABLE_LIB = tkTable$(SUFLIB) ;
65
66 EXE_NAME = Ascend4 ;
67 ASC_TCLTK98_LIBNAME = libasc_tcltk98 ;
68 ASC_TCLTK98_LIB = $(ASC_TCLTK98_LIBNAME)$(SUFLIB) ;
69
70 # Install directories - comment to not install that class of file
71 INSTALL_BIN_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)bin ;
72 INSTALL_DOC_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)doc ;
73 INSTALL_MODELS_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)models ;
74 INSTALL_ASC_TK_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)Tk ;
75 INSTALL_USER_DIR = $(INSTALL_ROOT)$(SLASH)ascend4$(SLASH)user_models ;
76 INSTALL_TCL_DIR = $(INSTALL_ROOT)$(SLASH)Tcl ;
77
78 # Locations of pre-built install files
79 ASC_DOC_DIR = ;
80 ASC_MODELS_DIR = ..$(SLASH)..$(SLASH)models ;
81 ASC_TK_DIR = ..$(SLASH)TK ;
82
83 ASC_BASE_LIBS =
84 $(ASC_BASE_LIBDIR)$(SLASH)$(BUILD_SUBDIR)$(SLASH)$(ASC_COMPILER_LIB)
85 $(ASC_BASE_LIBDIR)$(SLASH)$(BUILD_SUBDIR)$(SLASH)$(ASC_GENERAL_LIB)
86 $(ASC_BASE_LIBDIR)$(SLASH)$(BUILD_SUBDIR)$(SLASH)$(ASC_SOLVER_LIB)
87 $(ASC_BASE_LIBDIR)$(SLASH)$(BUILD_SUBDIR)$(SLASH)$(ASC_UTILITIES_LIB)
88 $(ASC_BASE_LIBDIR)$(SLASH)$(BUILD_SUBDIR)$(SLASH)$(ASC_PACKAGES_LIB)
89 ;
90
91 #======================================================================
92 # FORTRAN options - set to override compiler defaults
93 #
94 # Your FORTRAN compiler
95 #FORTRAN = g77 ;
96
97 # Fortran compilation flags & options:
98 # These are used for making the ASCEND libraries based on FORTRAN codes.
99 # These should be set to get the best performance possible out of your
100 # f77 compiler without optimizing away functions that are not obviously
101 # called, as some compilers do by default.
102 #
103 #FORTRANFLAGS = -c -I4 -O -lg2c ;
104
105 # F77LIBS is for the base f77 libraries. If you are linking no f77
106 # objects to ascend, it may be left undefined.
107 # Set F77LIBS appropriate for your machine and desired loader behavior.
108 #
109 #F77_LIBS = ;
110
111 #======================================================================
112 # FORTRAN LIBRARIES
113 #
114 # Point BLASLIB and LPAKLIB to machine-specific BLAS and LINPACK
115 # libraries (if you have them) to get the best speed out of ASCEND.
116 # Otherwise, generic versions can be built if FORTRAN is available.
117 #======================================================================
118
119 # path to the lsode library - will be built if == 'libasc_lsode'
120 #LSODLIB = libasc_lsode$(SUFLIB) ;
121
122 # path to the blas library - will be built if == 'libasc_blas'
123 #BLASLIB = libasc_blas$(SUFLIB) ;
124
125 # path to the linpack library - will be built if == 'libasc_lpak'
126 #LPAKLIB = libasc_lpak$(SUFLIB) ;
127
128 FOR_LIBS = $(LSODLIB) $(MINOSLIB) $(CONOPTLIB) $(LPAKLIB) $(BLASLIB) $(F77_LIBS) ;
129
130 #======================================================================
131 # PACKAGES
132 #
133 # Package settings for building Ascend.
134 # Packages are bits of compiled code that represent models, or solvers,
135 # or, in general, any bits of external code.
136 #
137 # Choose one of the following, comment out the others:
138 # STATIC_PACKAGES packages should be statically linked/loaded
139 # DYNAMIC_PACKAGES packages should be dynamically linked/loaded
140 # NO_PACKAGES no packages
141 #
142 # If STATIC_PACKAGES are chosen, also indicate the location of
143 # the packages in PACK_LIBS. Otherwise leave PACK_LIBS empty.
144 #======================================================================
145 HAVE_PACKAGES = STATIC_PACKAGES ;
146 #HAVE_PACKAGES = DYNAMIC_PACKAGES ;
147 #HAVE_PACKAGES = NO_PACKAGES ;
148
149 PACK_LIBS = $(ASCLIB_PKG)$(SUFLIB) ;
150 #PACK_LIBS = ;
151
152 #======================================================================
153 # TCL / TK
154 #
155 # Set the location of the Tcl/Tk import libraries and include files.
156 # The order should be -ltk -ltcl
157 #
158 # We also need the TkTable widget which does not come as a
159 # standard part of the Tcl/Tk distribution. This library can
160 # either be loaded statically or dynamically.
161 #
162 # If TK_LIBS and TK_HDRS are not properly set, ASCEND cannot build.
163 #======================================================================
164 TCL_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ;
165 TK_LIB_DIR ?= $(TK_DIR)$(SLASH)lib ;
166 TKTABLE_LIB_DIR ?= $(TCL_DIR)$(SLASH)lib ;
167
168 if $(NT)
169 {
170 if ($(BCCROOT) || ($(TOOLSET) = BORLANDC))
171 {
172 TCL_LIBRARY ?= tcl80_bc$(SUFLIB) ;
173 TK_LIBRARY ?= tk80_bc$(SUFLIB) ;
174 TKTABLE_LIB ?= tkTable_bc$(SUFLIB) ;
175 }
176 else if $(MSVCNT) || $(TOOLSET) = VISUALC)
177 {
178 TCL_LIBRARY ?= tcl80$(SUFLIB) ;
179 TK_LIBRARY ?= tk80$(SUFLIB) ;
180 TKTABLE_LIB ?= tkTable$(SUFLIB) ;
181 }
182 else if $(MINGW) || $(TOOLSET) = MINGW)
183 {
184 TCL_LIBRARY ?= libtcl80_mingw$(SUFLIB) ;
185 TK_LIBRARY ?= libtk80_mingw$(SUFLIB) ;
186 TKTABLE_LIB ?= libtkTable_mingw$(SUFLIB) ;
187 }
188 else if $(WATCOM) || $(TOOLSET) = WATCOM)
189 {
190 TCL_LIBRARY ?= tcl80_wat$(SUFLIB) ;
191 TK_LIBRARY ?= tk80_wat$(SUFLIB) ;
192 TKTABLE_LIB ?= tkTable_wat$(SUFLIB) ;
193 }
194 }
195 else if $(UNIX)
196 {
197 TCL_LIBRARY ?= libtcl80$(SUFLIB) ;
198 TK_LIBRARY ?= libtk80$(SUFLIB) ;
199 TKTABLE_LIB ?= libtkTable$(SUFLIB) ;
200 }
201 else
202 {
203 TCL_LIBRARY ?= tcl80$(SUFLIB) ;
204 TK_LIBRARY ?= tk80$(SUFLIB) ;
205 TKTABLE_LIB ?= tkTable$(SUFLIB) ;
206 }
207
208 SEARCH on $(TCL_LIBRARY) = $(TCL_LIB_DIR) ;
209 SEARCH on $(TK_LIBRARY) = $(TK_LIB_DIR) ;
210 SEARCH on $(TKTABLE_LIB) = $(TKTABLE_LIB_DIR) ;
211 LOCATE on $(TCL_LIBRARY) = $(TCL_LIB_DIR) ;
212 LOCATE on $(TK_LIBRARY) = $(TK_LIB_DIR) ;
213 LOCATE on $(TKTABLE_LIB) = $(TKTABLE_LIB_DIR) ;
214
215 # The tcl and tk library files
216 TK_LIBS = $(TK_LIBRARY) $(TCL_LIBRARY) ;
217
218 # Location of the tcl.h and tk.h header files
219 TK_HDRS = $(TK_DIR)$(SLASH)include ;
220
221 # Uncomment to copy Tcl/Tk dynamic libraries to install bin directory
222 INSTALL_TCLTK_LIBS = 1 ;
223
224 # TclTk dynamic libraries to install to bin directory
225 TCL_LIBS_TO_INSTALL = tcl80 tclpip80 Tcl1680 Cw3215mt ;
226 TK_LIBS_TO_INSTALL = tk80 ;

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