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 #63
Changed the FXPLOT makefile to use the HDF5 libraries determined by the master makefile. This makes it consistent with the way we build sims.
refs #62.
Changed the way JITEvents are created and handled. Instead of taking a function pointer directly we save a name of a function to the JITEvent class. The class will dynamically look up a function that matches the name both during event creation and during checkpoint restart.
Fixes#53
Added a couple of batch files in the java GUI area so they can be used with
Windows. Made an addition in TrickApplication.java to add the .bat suffix
to script calls when using Windows.
Fixes#47
Perl scripts linked into /usr/local/bin or anyother directory needs
to use FindBin qw($RealBin) instead of just FindBin qw($Bin). Realpath
will find the absolute path to where the script actually lives and the
pm directory that holds the perl modules.
After further discussion, it was revealed that the event printouts would stop
coming out if a new event was created. Found that the constructor of the
event was clearing out the static info_msg flag all events used to test
for printing. Removed the assignment in the constructor and set the
initial value of the info_msg flag to false at the declaration point.
Fixes#38
I think I ran into this before. The offsetof calls that use
fully qualified fields in classes is not compilable using clang
on the Mac. So I've decided to only conditionally compile this
code for non Apple platforms. So this fix will work in Linux,
but not on Macs. We'll have to revisit this and see if we
can make it work for both.
refers to #31
When a field is processed in a class it is added to a list. This list
will contain the fields from base classes the current class inherits
from. We check the list of fields we inherited, if we find that the
current field overloads the name of an inherited field we adjust the
inherited field's name to be shown as the fully qualified name in io_src
code.
Fixes#31
We were using md5_hex to generate a unique file id from a full path
filename. Changed this to use the file device and inode id instead.
Should still provide unique file ids and the file names are shorter
too.
Fixes#29
Added a test in the variable server listen restart job to see if the the name of the
machine in the checkpoint file matches the machine that we are running on. We
test all of the network names avaiable on the machine. If the name is not found then
we assume that the checkpoint was taken on another machine and wipe out the machine
name. This will default the machine name back to localhost.
Fixes#24.
Found that my check for embedded classes was also catching some typedef structures.
This was causing some io_src code not to be generated. Changed the test so that
we can differentiate between embedded classes and the typedefs.
This change fixes#10 and fixes#23.