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 #80
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 #80
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 #74
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 #69
Added 2 flags to trick-ICG. "-o" will specify an output directory. Added this
option to the calls to trick-ICG for the Memory Manager tests. Also added
a "-m" option to create the map files ICG creates for sims. The memory manager
tests do not need these maps so we don't include the option. Added the -m option
to the sim makefile and the master makefile so we do create the map when compile
Trick core and sims.
refs #72
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 #71
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 #71
Adjusted all of the source code to point to the header files in their new
locations. Adjusted the makefiles for the header locations as well.
Added .gitignore files in the test directories to ignore test object code.
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 #67
I have /usr/local/bin in my PATH and so I was finding swig there.
Running configure through brew does not include /usr/local/bin.
I changed the test to look for swig in a set of directories we
normally use.
refs #66
Added /usr/local to the list of search directories in the configure script
for the motif header files. Added -lc++abi to the list of link libraries.
refs #66
The clang path created uses the patchlevel which prior to 3.4 was not used by
clang. This resulted in a bad being created and eventually an llvm assertion
error. Added a compiler ifdef so that the patchlevel is not used before 3.4
refs #65
Tried using clang/llvm from ubuntu distribution. Needed to change the include directory for compiling ICG. Also found that
the clang include files can be in a linked directory. Used realpath to make sure we have the absolute path.
refs #63
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 #63
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 #13
Found that on the Mac ICG was ignoring all of header files comments in ${TRICK_HOME}/include because it had the relative directory "include" listed as a system path. Comments were only processed if it wasn't in a system directory. Changed the check to use our function that checks to see if a header is in user or Trick code, basically the same check, but it only uses full paths and doesn't get confused with "include".
refs #63
Tested without the er7_utils directory and found some makefile dependencies that depend on er7_tuils files. Also found that I forgot to change the include directories for the trick_algorithm integrators.
refs #63
On some systems llvm-config includes -ledit as a system library to link with. Our application doesn't need -ledit and sometimes that library is not installed. I filtered out that library in the makefile.
refs #63