Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue210/src compiled all in one #318

Merged
merged 14 commits into from
Feb 2, 2020

Conversation

mikebentley15
Copy link
Collaborator

Fixes #210

Description:
Changed the FLiT source code to be compiled each time into each test executable. Not only this, but to do a Unity Build with the FLiT source code to make it faster.

  • Move source and headers from src/ to src/flit/
  • Create new header src/flit.h for backward-compatibility
  • Move original flit.h file into src/flit/flit.h
  • Create a new source file src/flit/ALL-FLIT.cpp for a Unity Build of FLiT
  • Change all includes to be of the form #include <flit/...> instead of
    directly #include "...".
  • Remove compiling and use of libflit.so
  • Change autogenerated Makefile for regular flit and for bisect to compile in
    ALL-FLIT.cpp into every test executable.
    (also get flit experimental ninja working this way)
  • Install the source code too with make install

Documentation:

  • Spell check
  • Remove previously obsoleted sections
  • Remove sections describing FLiT's compilation
  • Add description of how and why dynamic compiling of FLiT was done

Tests:

  • Added to tests/flit_install/tst_install_runthrough.py to check for newly
    installed source files
  • Fixed all tests broken by this change
  • Fixed a bug when doing MPI where order of global variable initialization was
    assumed (i.e., fix of C++ undefined behavior)

It only does help, check, clean, install, and uninstall
MPI tests fixed:
Done by replacing a global variable with a static variable
of a static inline function.  This removes undefined behavior
since we are not guaranteed the order in which global variables
are initialized.
The old #include "flit.h" will still work but is depricated
The wrong path was given as include_dir
- spell check
- remove obsolete sections
- remove sections describing FLiT's compilation
- add description of how and why dynamic compiling of FLiT was done
@mikebentley15 mikebentley15 added bug python Involves touching python code c++ Involves touching c++ code make Involves touching GNU Makefiles documentation Involves touching documentation tests Involves touching tests labels Jan 30, 2020
@JohnJacobsonIII JohnJacobsonIII merged commit 257da59 into devel Feb 2, 2020
@mikebentley15 mikebentley15 deleted the issue210/src-compiled-all-in-one branch February 2, 2020 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug c++ Involves touching c++ code documentation Involves touching documentation make Involves touching GNU Makefiles python Involves touching python code tests Involves touching tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

FLiT shared library and C++ standard library incompatibility
2 participants