Added a new configure arugument "--enable-32bit". If enabled,
TRICK_FORCE_32BIT is automatically set for building Trick and for
all sims built. Changed the ARCH and added -m32 in the configure
script if 32bit is enabled. This changes the configure script to
test for 32bit libraries.
Found if --without-x was specified, that automatically caused an
error condition in the configure script. Fixed that and only
tested for X windows headers and libs if X is included. Excluded
a couple of directories from compiling if X is not included.
Didn't seem to be a problem with java.
If we are on a Mac, use xcrun to find the standard include directories.
Some of the makefiles in data_products look for libxml2 which requires
them to get the same change as the configure script.
When compiling Trick with the --with-tpro option for use of a real-time clock, the TPROCTE_HOME variable was being assigned the contents of the withval variable instead of being assigned to the TPRO_HOME variable. The TPROCTE_HOME variable was never used and the TPRO_HOME variable will always be an empty string. Thus, the configuration file will always check for only /h/tpro.h instead of <user-provided-path-to-tpro>/h/tpro.h
Other things I tried:
1. Pass the full path of the library directly to the linker.
Doesn't work for 32-bit builds because ICG needs the 64-bit version.
2. Use -static to have the linker statically link in the library.
Doesn't work because there is no 64-bit static library on default
installs.
Fixes#525
Added echos to all compile commands to append to MAKE_out. tee'd
the output of the compile command so that it will go to both the MAKE_out
file and the screen.
The configure script will check in the standard directories for
HDF5, GSL, and gtest. The user can skip this automatic check by
adding --without-<feature> while running the configure script.
refs #260
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
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
Added a check to test the version of g++ in the configure script.
Also did a "which" command to save the full path of the CC and CXX
commands. This will ensure that the same CC and CXX executables
are run no matter how the environment changes.
refs #255
Created a configure time test to see if clang will compile ICG correctly.
If the compilation fails, an error message telling the user to go download
clang/llvm from llvm.org is show.
refs #174
If no argument is given with --with-gsl or --with-hdf5 we search
/usr/include for the proper header files. If found we set the
configure variables for these packages to /usr. If not found we
emit an error message.
refs #199
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 #180
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 #130
Added a configure check for clang and llvm-config. If llvm-config exists
then we check for the libraries in the libdir returned by llvm-config.
All of these must be present for configure to pass.
refs #130
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 #119
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
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
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
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