Commit Graph

61 Commits

Author SHA1 Message Date
Derek Bankieris
abc7072918 Return the rediculous "feature" of automagically including -I$(PWD)/../include in the compiler flags 2016-10-06 15:37:43 -05:00
Derek Bankieris
47c8c2efb9 Removed dead code 2016-10-06 15:04:16 -05:00
Derek Bankieris
f161ddb18c Made everything about Trick's build process better 2016-10-06 13:54:06 -05:00
Alex Lin
2eadf217a9 c preprocessor statements don't work in Trick header blocks in header files #317
Copied the block of code that sends header file comments through the preprocessor from
15.x to trunk.  This block was left out and is now used by both headers and source files.
2016-09-26 08:35:26 -05:00
Derek Bankieris
ba59606b1d Added TRICK_PYTHON_PATH environment variable #313 2016-09-16 09:20:11 -05:00
Alex Lin
858602fe01 New STL framework doesn't support const #293
So using consts as arguments to STLs causes errors in our io code and SWIG.
Added a check for const template arguments and going to ignore them for
both ICG and what we input to SWIG.
2016-08-25 08:42:43 -05:00
Alex Lin
ca02209d8f man pages completely out of date #253
Created man pages for each executable we have in bin.  Updated the
couple of man pages we did have in there.  Modified trick-CP
to accept arguments.  Updated the version number reported by ICG
as well.
2016-08-02 09:56:43 -05:00
Alex Lin
ae9555b4a6 convert_swig puts double double quotes at end of full path includes
When extracting include files full path file names fall through all
of the logic that strips quotes off of the path.  This leads to double
double quotes in the output.  Added an else statement that catches
all other include files and strips the quotes off of pathnames.

refs #267
2016-07-07 13:41:54 -05:00
Alex Lin
4ab584ed55 Support using Python 3
Fixed the configure script to allow the user to specify using a python3
interpreter.  Had to change the the way to load the swig generated python modules.
Also had to change code dealing with python strings, oct, long, and
boolean operations.

refs #258
2016-06-28 13:44:21 -05:00
Alex Lin
1224c43e7f Set and use LD in our makefiles correctly.
Set LD in our makefiles to the ld executable found by configure.
Changed the final sim link to use TRICK_CPPC as the link command since
it was using the compiler anyways.  Changed the places where we use "ld" to
use LD.

refs #131
2016-06-27 12:48:35 -05:00
Derek Bankieris
14d4c94b2e refs #256 Pass -Djava.net.preferIPv4Stack=true when launching Java GUIs to eliminate socket error. 2016-06-22 12:33:29 -05:00
Alex Lin
fb4601734f Need to include SimTime.hh for ICG and swig processing.
Added the sim time header files to files_to_ICG.hh and sim_services.i so it will be processed.

refs #247
2016-06-15 16:11:09 -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 #231
2016-05-05 14:49:49 -05:00
Alex Lin
fb8a5f1d1d Perl warning about unescaped left curly bracket
Found the unescaped "{" and put a blashslash in front of them.

refs #213
2016-04-01 21:30:50 -04:00
Alex Lin
b5b6dbe0bb Compiling with gcc 4.9 sometimes requires cstddef
It's the generated swig code that is missing cstddef.  Added some
includes to get cstdef in the swig code.

refs #212
2016-04-01 17:05:24 -05:00
Alex Lin
c57c10edcd Add direct STL checkpointing
Made adjustments to template default arguments to avoid clang compiler
errors.  Also added an irnore warning during python glue code compilation

refs #206
2016-03-29 09:59:49 -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 #206
2016-03-29 09:26:49 -05:00
Alex Lin
2ca4b72cee Trick model files found in external libraries are not being included correctly
Found that the list of swig files we should expect from external libraries
was incorrectly cleared before it was being used.  This still allows the
sim to compile, but no information about the models in the library are
available in the input file.

refs #179
2016-02-09 11:13:09 -06:00
Alex Lin
2b30a92342 Trick parsing comments improperly
When I split the comment remover into 2 regular expressions I reversed
the order removing C style comments before c++.  This caused this error
where a /* in a C++ comment made Trick look for the end of the C style
comment and it may never find the end.

refs #178
2016-02-05 11:19:53 -06:00
Alex Lin
8529bd8648 make_makefile_swig writing duplicate rules
Used a hash instead of an array to store the names of files that
we need to process.  This eliminates duplicates.

refs #175
2016-02-04 15:48:29 -06:00
Alex Lin
fa29891ded Introduce Open Dynamics Engine examples
Changed the regular expressions that removes comments in convert_swig to
try and handle C style comments found in multiline #define statements.

Also added a TRICK_ICG_NOCOMMENT line to SIM_ode to stop ICG from
trying to process non-Trick comments in the ODE directory.

refs #172
2016-01-29 09:43:43 -06:00
Alex Lin
bc9ef8c54b Library dependencies with full path not found
When I merged the sections of code that look for library dependencies I left out
the section that searches for dependencies that have a full path.  I added
that back in.

refs #170
2016-01-26 15:25:26 -06:00
Alex Lin
63f193441c typedef of const structures not understood by SWIG
I kind of took the easy way out on this one, I remove any
structure definitions that matches the pattern
typedef const struct A {...} constA ; out of out of
convert_swig before they get to SWIG.

refs #169
2016-01-26 15:23:08 -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 #156
2015-12-15 15:05:13 -06:00
Alex Lin
8b6a4efbad library dependencies are lost
Removed a double dot ".." I introduced into file names.
2015-09-29 09:27:11 -05:00
Alex Lin
ffe32e3c99 makefile has multiple rules to create directory
If a directory has more than one language the rule to create the object
directory is written twice.  Added a check to see if we've written
the rule for each object code directory, if we have already written
the rule then don't write it again.

refs #127
2015-09-24 13:58:21 -05:00
Alex Lin
a1bf1c31d4 convert_swig does not find header file correctly if there is a comment on the same line
Added a line to remove trailing spaces after removing the quotes and comments from
included files.

refs #129
2015-09-24 09:28:36 -05:00
Alex Lin
f5b30a4841 library dependencies are lost
Fixed the problem where library dependencies for header and source files are
saved to the same file and half are lost.  Did this by not removing the
suffix when creating the library dependency file name.

refs #128
2015-09-24 09:25:16 -05:00
Alex Lin
cab267c6c4 parse_s_define does not handle comments on a class definition line
Added a regular expression to remove all comments from class defnition lines.

refs #126
2015-09-22 09:17:36 -05:00
Alex Lin
94a99fb9ea Support new Trick comment tags
Changed parenthesis to curly brace... er I mean curly bracket.  Well too late, in
the code I called it curly brace. It's these "{}". Oh well.  Also found that the
dependency_only headers were not actually reading the dependencies.  Added the list
of dependency only files to the list of files to get dependencies from.

refs #114
2015-09-14 11:26:09 -05:00
Alex Lin
9a969903b6 convert_swig needs to get it's own list of header files
When comparing the file names coming out of ICG_processed to the compiler we need to
use the absolute path on both sides.

refs #113
2015-09-14 11:24:20 -05:00
Alex Lin
9b381f2edc Support new Trick comment tags
Added new doxygen style tags for truning on/off Trick attributes processing,
comment processing, and library dependencies.  Here are the tags we recognize

(@|\)trick_parse(everything|attributes|dependencies_only)
(@|\)trick_exclude_typename(class_name)
(@|\)trick_link_dependency(link_name)

refs #114
2015-09-10 14:50:22 -05:00
Alex Lin
f9ed085c6c convert_swig needs to get it's own list of header files
Took the code that we had that generated the list of header files we need to
process from an older version of make_swig_makefile.pm and put the code back
in make_makefile_swig.  What's old is new again and it works.

refs #113
2015-09-10 08:15:01 -05:00
Alex Lin
e12ddbcfe1 Print library dependencies in order as the user wrote them
When getting the library dependencies we store them in an array
now that is in the order they are written and use that for
everything.

refs #105
2015-08-05 14:22:51 -05:00
Alex Lin
119e7908d3 JITInput files not working
Added TRICK_SYSTEM_CXXFLAGS and TRICK_SYSTEM_CFLAGS to the gte list of
variables stored in a simulation.  These variables are used to
compile JIT input files.

refs #104
2015-08-05 14:15:39 -05:00
Alex Lin
a61dd2c031 Removed unused code in libexec
See title.

refs #97
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 #92
2015-07-24 16:16:22 -05:00
Alex Lin
fc9c604056 Split CP up into components that can be called individually
Renamed some output file to make it more obvious what produced them.

refs #86
2015-07-23 10:30:55 -05:00
Alex Lin
eaf83e92f6 No rule for template *.hpp files
Our regular expression for header file extensions did not have hpp
as an option.  Added hpp to the list of possible extensions.

refs #85
2015-07-22 15:36:44 -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 #90
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 #86
2015-07-22 10:54:00 -05:00
Alex Lin
63179b2fa3 Split CP up into components that can be called individually
Empty header files may need build directory created for lib_deps file.
Error message in make_makefile_src was not showing file name.

refs #86
2015-07-21 14:41:30 -05:00
Alex Lin
274a6afd62 Split CP up into components that can be called individually
Added a doxygen keyword marker "@" character as valid after
library dependencies.

refs #86
2015-07-21 14:30:04 -05:00
Alex Lin
13268aae32 Merge branch 'makeMaster' that splits up CP into several executable
components.
2015-07-21 09:58:15 -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 #86
2015-07-21 09:55:53 -05:00
Alex Lin
9b7a933a06 Split CP up into components that can be called individually
Removed dead code.

refs #86
2015-07-21 09:09:09 -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 #86
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 #86
2015-07-20 16:22:34 -05:00
Alex Lin
6c3ca93231 Create a separate directory for simulation compiliation.
sometimes convert_swig is the first to process a file and it needs
to be able to create the output directory for its output.  The output
directory should use perl's make_path because the output directories
are deep down in the build area.

refs #80
2015-07-16 16:51:04 -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 #86
2015-07-16 15:36:36 -05:00