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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (hide annotations) (download)
Sat Jan 22 14:22:13 2005 UTC (19 years, 6 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 jds 40 #
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 ;
227    

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