Commit Graph

256 Commits

Author SHA1 Message Date
John M. Penn
323ea2a40a First four sections of rewritten tutorial. Refs 2016-05-25 15:58:06 -05:00
Alex Lin
f19c002365 ./configure needs to properly enforce java version dependency
Really strange, all of the python flags changed.  Must have been
using an old autoconf cache for a long time.

refs 
2016-05-12 09:31:05 -05:00
Alex Lin
83e299f618 ./configure needs to properly enforce java version dependency
Somewhere along the way the configure variable PYTHON_LDFLAGS changed
to PYTHON_LIBS.

refs 
2016-05-12 09:27:17 -05:00
Alex Lin
929372e863 Use udunits package for units conversions
Created a UDUNITS_LDFLAGS to store an link library path and -luduints2.

refs 
2016-05-11 14:43:53 -05:00
Alex Lin
1454236a81 Use udunits package for units conversions
Created a check in the configure script looking for the udunits header
files.  Also added a sim to test some of the new units capabilities.

refs 
2016-05-09 16:40:48 -05:00
Alex Lin
6defa99b34 Use udunits package for units conversions
Changed the include for udunits to #include <udunits2.h> to work
on all platforms.  Added the include directory /usr/include/udunits2
for Linux.

refs 
2016-05-09 10:23:19 -05:00
Alex Lin
684f0e6bdc Use udunits package for units conversions
Initial checkin of using udunits for measurement units conversions.  Replaced
our conversion code in ICG and swig code to use udunits.

Also added code to convert unit symbols that we used in Trick that are different
names in udunits.

Added a sim_object that will eventually allow users to specify a custom
set of files to read units information.

refs 
2016-05-05 14:49:49 -05:00
Alex Lin
d503d52bd8 Debugger command on mac is now lldb not gdb
Added a test to set the debugger command to gdb or lldb depending
on availability.  Created a new script for lldb to run.  Modified
the script for gdb to backtrace all threads.

refs 
2016-04-20 14:12:03 -05:00
Alex Lin
c8a39f4a44 Add direct STL checkpointing
Removed the previous attempts at STL checkpointing. Removed
the header files and sims.  Also simplified the names of some of
the templates.

refs 
2016-03-31 14:50:27 -05:00
Alex Lin
46aec08b80 Add direct STL checkpointing
Initial checkin of STL checkpointing.  This checkin only covers the sequential
STLs, vector, list, deque, set, and multiset.  This checkin does include the
changes in Trick header files to include/exclude our STLs properly to make a
restartable checkpoint.

refs 
2016-03-29 09:26:49 -05:00
Alex Lin
d884370175 Split test sims and fun sims into separate directories.
Moved SIM_segments to test.

refs 
2016-02-23 16:53:19 -06:00
Alex Lin
90fd0ff9f8 Split test sims and fun sims into separate directories.
Moved SIM_test_ip and a couple of other sims that depend on the same model set
to a new test directory.  I'm doing a couple of sims at a time.

refs 
2016-02-23 10:23:55 -06:00
Alex Lin
83572b20cb Print some timing statistics when the sim exits
Saved the timestamps on the default gettimeofday clock as close to
the beginning of the simulation, after initialization is finished and
at the end of shutdown.  Printed out the elapsed time as well as
the number of overruns counted by RealtimeSync.

refs 
2016-02-17 16:27:37 -06:00
Alex Lin
4c3015851f Merge in the er7_utils integrators
Taking in the latest er7_utils directory and adding it into Trick in the
same location it was as an external repository.  Made one change to
the files_to_ICG.hh file in the repository to remove the CheckpointHelper
header files.  Those go in the Trick files_to_ICG.hh file.

refs 
2016-02-10 09:32:53 -06:00
Alex Lin
87a48b36f5 make javadoc broken
The makefile rule javadoc was misnamed docs in trick_source/java/makefile. I fixed hundreds
of warnings and errors that were present when creating the java docs.

refs 
2016-01-12 16:39:47 -06:00
Alex Lin
32da702aeb configure script does not check for clang/llvm
We were using "llvm-config --bindir" to set the path for clang.  But
on some systems clang is not in that directory.  Changed the configure
script to search for clang in the bindir first, if not found, search
the normal locations.

refs 
2015-12-16 16:53:06 -06:00
Alex Lin
9daa108950 Bad permissions on files copied to the SIM directory
Changed the commands to force the copy files in the the SIM directory
from "cp" to "cp -f".   Added a rule in Makefile.sim to properly
call the configuration processor if the build directory is missing.
Also added a loop to filter the files found to be in an external
library.  Those files need to be tested to see if they include ICG: (No)

refs 
2015-12-15 15:05:13 -06:00
Alex Lin
bdc24072e5 Including GSL in the configure script does not work if GSL not in standard path
Added lines to -I/gsl/include/path to Makefile.common if the path is not either
/usr or /usr/local.

refs 
2015-12-02 10:26:41 -06:00
Alex Lin
ca51142553 Configure script does not set up GSL correctly
The configure script does not set up the defines for GSL correctly which causes our GSL
support code not to compile correctly. Fixed it.

refs 
2015-11-18 08:30:21 -06:00
Alex Lin
0f3d900539 The moose want to retire
Retiring the moose.

refs 
2015-10-06 16:40:06 -05:00
Alex Lin
c6e2a4acb5 Change new get_val;ue_by_ref name to var_get
Changed the name.

refs 
2015-09-22 09:10:46 -05:00
Alex Lin
57c76041f5 Get the value of a variable not parsed by SWIG in python
Wrote a python routine called get_value_by_ref_name that takes
a variable name string as an argument.  The string is passed to
ref_attributes to find the address and returns a REF2 structure.  The REF2
structure is passed to ref_to_value and the type and value of the variable
is returned in a structure.  We call vval_<type> to extract the raw value
from the structure and return that to python space.

Made a couple of other bug fixes in the FieldVisior and cpp input file
example found while investigating this issue.

refs 
2015-09-18 09:03:24 -05:00
Alex Lin
2de18b9174 configure script reports missing motif as error.
So I found that I didn't write many of the autoconf rules correctly including
the one searching for motif.  I also messed up the checks for bison, flex, and
perl.  I added new rules to search for Xwindows headers and libraries.  The
motif rule is only executed if we find fermi-ware where it is used.

refs 
2015-09-18 08:46:53 -05:00
Alex Lin
a61dd2c031 Removed unused code in libexec
See title.

refs 
2015-08-04 09:30:43 -05:00
Alex Lin
a5929dbe6c Move search for library dependencies to make_makefile
Moved the search for all library dependencies into make_makefile.
Made a couple of minor clean up edits as well.

refs 
2015-07-24 16:16:22 -05:00
Alex Lin
cde32e6f60 Trick should not modify TRICK_CFLAGS and TRICK_CXXFLAGS
Jenkins not happy with me.  Jenkins has empty TRICK_CFLAGS and
TRICK_CXXFLAGS.  There was an if statement in Makefile.common that
did something different if it was empty.

refs 
2015-07-22 16:28:25 -05:00
Alex Lin
b3d1a1d162 Trick should not modify TRICK_CFLAGS and TRICK_CXXFLAGS
Well sims compiled, but I forgot to test if Trick itself
would compile.  It didn't.  Added TRICK_SYSTEM_CFLAGS and
TRICK_SYSTEM_CXXFLAGS where needed.

refs 
2015-07-22 15:34:54 -05:00
Alex Lin
90c85c73fc Trick should not modify TRICK_CFLAGS and TRICK_CXXFLAGS
Created TRICK_SYSTEM_CFLAGS, TRICK_SYSTEM_CXXFLAGS, and TRICK_SYSTEM_SFLAGS
that Trick uses to add the Trick system includes, defines and other
compilation flags.  TRICK_CFLAGS and TRICK_CXXFLAGS are now in
full control of the user.

refs 
2015-07-22 14:20:36 -05:00
Alex Lin
d744eba557 Split CP up into components that can be called individually
Added a new TRICK_EXT_LIB_DIRS variable that allows users to
tell Trick about external libraries, rather than trying to
use TRICK_EXCLUDE. Added back getting multiple library dependency
sections from source files.

refs 
2015-07-22 10:54:00 -05:00
Alex Lin
deac866379 Split CP up into components that can be called individually
Found some more dead code to delete.  Added a couple of progress
printouts.

refs 
2015-07-21 09:55:53 -05:00
Alex Lin
d7b386227a Split CP up into components that can be called individually
Fixed some library dependency bugs.  JEOD test sims compile now.

refs 
2015-07-21 08:52:00 -05:00
Alex Lin
dfa961808b Split CP up into components that can be called individually
First tests are working.  Changing a source file and header works
as before.  Adding library dependencies in either of these files
causes the makefile pieces to be redone.  Only tested in the ball
sim so far.

refs 
2015-07-20 16:22:34 -05:00
Alex Lin
e1c1bbaccf Split CP up into components that can be called individually
Initial rough checkin that partially works for the ball sim.

refs 
2015-07-16 15:36:36 -05:00
Alex Lin
0b99667d9b librt is missing from link on RHEL 6.
librt was on added to TRICK_EXEC_LINK_LIBS but it was overwritten.  Changed
librt to be added to a different variable name, PLATFORM_LIBS and that
variable is added to TRICK_EXEC_LINK_LIBS.

refs 
2015-07-13 10:06:51 -05:00
Alex Lin
a4f1da2b14 Trick library files going into lib64 if TRICK_FORCE_32BIT is on.
Added a test for TRICK_FORCE_32BIT and changed the lib directory to
lib instead of lib64.

refs 
2015-07-08 14:50:21 -05:00
Alex Lin
2ffcdcc12c Create a separate directory for simulation compiliation.
ld -m32 is actually -melf_i386.

refs 
2015-07-08 14:37:27 -05:00
Alex Lin
5d397ecf1c Create a separate directory for simulation compiliation.
Partial link commands need -m32 for 32 bit builds.  Fixed help text
for simulation makefile.

refs 
2015-07-08 14:19:39 -05:00
Alex Lin
b660aa371e Create a separate directory for simulation compiliation.
Made adjustments to accomodate differences in arguments to perform
partial linking on the Mac.

refs 
2015-07-08 11:25:59 -05:00
Alex Lin
5848d80bc4 Create a separate directory for simulation compiliation.
Made some adjustments for sims larger than the ball sim.
Make some changes to handle library packages such as JEOD.  Also
removed some dead code.
2015-07-08 10:33:56 -05:00
Alex Lin
5a77824638 Create a separate directory for simulation compilation.
Functioning build directory on Linux.  Everything is going into the build directory.
All files for all steps use the full path.  this change removes the need for us to
call depend_objs to fix makefile dependencies.  Changed the makefile rules to use
more pattern rules reducing the size of make_makefile.pm and the makefile too.
Changed the output of make to show short commands for each compile line.  Setting
the variable TRICK_VERBOSE_BUILD in the environement, command line, or in S_overrides.mk
will change the output to the full printout.

refs 
2015-07-07 14:42:58 -05:00
Alex Lin
469be90e32 Create a separate direcotry for simulation compilation.
Moved most generated files into the build directory.  All object code,
io_src realated files, and swig related files are now in build.

Realized that ICG should be creating the makefile for the io_src
code.  ICG knows which files it created.

refs 
2015-07-02 10:09:31 -05:00
John M. Penn
293bdad014 Merge Alex's and my changes to Makefile.common 2015-06-30 18:09:25 -05:00
John M. Penn
03284bf97d Break the Memory Manager out of libtrick.a into libtrick_mm.a. 2015-06-30 17:57:26 -05:00
Alex Lin
9c6dfed624 SWIG files in model libraries not being init'ed
Found that we need to add python files to lists of expected modules
before testing if they are being excluded.  Moved the check to
exclude to after adding the files to the list.

This may have uninteded consequences.  Might have to revisit using
different mechanism to exclude files and mark files as expected from
libraries.

refs 
2015-06-30 11:01:30 -05:00
Alex Lin
8dc9966d7f Compile optional er7_utils code into its own library
Changed the master makefile to compile er7_utils into its own library.
Changed the sim makefile to include -ler7_utils if it is available.

refs 
2015-06-29 09:52:18 -05:00
Alex Lin
9a32414be4 Use configure to determine pthread variables in makefile
Added AX_PTHREAD to the configure.ac script.  This change forces us to
have install-sh, config.sub and some other autoconf files.  Created
an autoconf directory to hold these files.  Changed the makefiles to
use the PTHREAD variables coming out of configure.

refs 
2015-06-26 09:35:49 -05:00
Alex Lin
bfc197f81c Remove duplicate stand-alone libraries
defined CONFIG_MK in the trick_util makefiles to allow making those directories
without running configure first.  Removed link to hs_msg.h which no longer
exists.

refs 
2015-06-24 17:18:06 -05:00
Alex Lin
5ab9b966c8 Remove duplicate stand-alone libraries
Forgot that the rpath syntax is different on Linux and Macs.

refs 
2015-06-24 16:15:21 -05:00
Alex Lin
941eb5c1cc Remove duplicate stand-alone libraries
I changed trick comm so that there is only one version built, not a slightly different version
if you are in or out of a sim.  While I was in the trick comm code, I removed all of the
unnecessary system header file inclusions out of tc.h.   I modified each of the source files
to include the system files it requires.  Some sim_services files were including tc.h and
also had to be edited to add headers.  I removed the stand-alone makefiles out of all
of the trick_utils directories.  Finally I modified the master makefile to exclude the
trick_util directories comm, math, and units from being archived into libtrick.a.  Each of
those directories will create their own library and will be included when linking a Trick sim.

refs 
2015-06-24 15:58:17 -05:00
Alex Lin
733d64a250 Trick swig headers don't make it to the destination directory with make install
Moved the header files and the swig .i files to include/trick/swig.  Adjusted the
source files and the convert_swig script to find the headers in their new
location.

refs 
2015-06-17 14:07:52 -05:00
Alex Lin
eed8837478 Standardize directory names
RedHat systems use a libexec directory, MacOSX and Ubuntu use lib.  Changed our scripts and makefiles to handle both.

refs 
2015-06-12 15:24:36 -05:00
Alex Lin
55ac9a7eea configure not setting JAVAC variable correctly
Forgot to change the substitution string for configure to JAVA_CC from JAVAC

refs 
2015-06-11 15:55:17 -05:00
Alex Lin
2eeb311a70 Standardize directory names
Moved the no_arch swig files to share/trick/swig and adjusted the makefiles to look for the files in the new location.  Changed the install rule to only copy the files we need for our installation.

refs 
2015-06-11 14:40:14 -05:00
Alex Lin
7f48653697 Convert configure script to autoconf
Replaced our handmade configure script with one created with autoconf.  Added a config_user.mk.in file that is populated with the output of a configure.  Some platform specific makefile assignments that never change are included in the files config_Darwin.mk and config_Linux.mk.

refs 
2015-06-10 15:11:54 -05:00
Alex Lin
036b85cae1 Standardize directory names
The changes from this change are large enough warrant a bump in the major number.

refs 
2015-06-09 09:57:05 -05:00
Alex Lin
19025d77ad Standardize directory names
Reorganized.  Created a new top level include directory that will hold all of Trick's header files. Moved all of the Trick headers to this directory.  Created a libexec directory that holds all of the executables that users don't need to execute directly.  Changed all of the executables remaining in bin to start with "trick-".  In the sim_services directories changed all source files to find the Trick headers in their new location.  Since all of the include files are gone in sim_services, removed the src directories as well, moving all of the source files up a level.  Moved the makefiles, docs, man, and other architecture independent files into a top level share directory.  Renamed lib_${TRICK_HOST_CPU} to lib64 or lib depending on the platform we're currently on.

refs 
2015-06-09 08:44:42 -05:00