[root]/testprograms/Thread
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 7 (100.0%) | 71 (100.0%) | 10.1 |
jas | 4 (57.1%) | 60 (84.5%) | 15.0 |
dav | 2 (28.6%) | 9 (12.7%) | 4.5 |
luitjens | 1 (14.3%) | 2 (2.8%) | 2.0 |
Allow for building 'sus' (et al) statically. Use the configure flag: --enable-static. For the most
part, you will not want a static build. However, in two cases you might:
1) To check for circular dependencies in the code. (Dynamic libs are forgiving in this regard.)
2) For machines that don't support shared libs (eg: AIX, some new micro-kernel Linux clusters, etc.)
Unfortunately when static linking, library order is important. There is no good way (that I know of)
to tell our build system to place the libs in a specific order, so I have hardcoded the libraries
that are necessary to static link each executable. (See CORE_STATIC_PSELIBS and CORE_STATIC_LIBS in
configVars.mk.)
Note, SUS previously build statically for AIX and Redstorm. A number of hard coded #defines for these
architectures have been replaced with more general code.
If a source code file needs to know that it is building statically (most won't, but some do), then it
will need to #include <sci_defs/compile_defs.h> and use the "STATIC_BUILD" #define'd var.
Some specific notes:
M testprograms/TestMatrix3/testmatrix3.cc
Since it is used in a library, it can't have a "main()" (as this causes two mains to show up when linking).
M configure.ac
- Go back to using 'autoconf' version 2.61 as the standard as it is available many places, and I can't
find 2.63 anywhere.
- Fixed a few uses of a $var that would cause shell script errors when not defined. (Placed it withing ""
so that it becomes an empty string (as opposed to a missing string).
9 lines of code changed in 2 files:
Add Core/Util.
2 lines of code changed in 1 file:
Add the MIT License to every *.cc, *.h,*.F, and sub.mk file.
60 lines of code changed in 4 files: