Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Please people, stop including internal_config.h in generic header files
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 25 Aug 2018 09:25:29 +0000 (11:25 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 25 Aug 2018 09:25:34 +0000 (11:25 +0200)
Every file including src/internal_config.h (directly or indirectly)
must be rebuilt when the cmake file or config are changed. I change
these file *a lot* during my refactorings, and I get tired of
recompiling large amount of files that were not affected in any way.

This time, all of SMPI was recompiled each time. Including the **many**
collectives that we integrated a long time ago and never changed since
then. These files are not build-configured in anyway, so please don't
make me recompiling them again and again, please.

src/instr/instr_private.hpp
src/smpi/include/private.hpp

index bf594db..f31fd92 100644 (file)
@@ -14,7 +14,6 @@
 #include "src/instr/instr_paje_events.hpp"
 #include "src/instr/instr_paje_types.hpp"
 #include "src/instr/instr_paje_values.hpp"
-#include "src/internal_config.h"
 #include "xbt/graph.h"
 
 #include <fstream>
index d650bf8..7c591b7 100644 (file)
@@ -10,7 +10,6 @@
 #include "smpi/smpi.h"
 #include "smpi/smpi_helpers_internal.h"
 #include "src/instr/instr_smpi.hpp"
-#include "src/internal_config.h"
 #include <unordered_map>
 #include <vector>
 
@@ -425,14 +424,13 @@ XBT_PRIVATE smpi_privatization_region_t smpi_init_global_memory_segment_process(
  */
 #define TOPAGE(addr) (void*)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize)
 
-#if HAVE_PAPI
+/** Used only if PAPI is compiled in, but integrated anyway so that this file does not depend on internal_config.h (to speed builds) */
 typedef std::vector<std::pair</* counter name */ std::string, /* counter value */ long long>> papi_counter_t;
 struct papi_process_data {
   papi_counter_t counter_data;
   int event_set;
 };
 extern std::map</* computation unit name */ std::string, papi_process_data> units2papi_setup;
-#endif
 
 extern std::unordered_map<std::string, double> location2speedup;