Merge pull request #617 from YosysHQ/no-absl-on-wasi

Only depend on Abseil in threaded builds.
This commit is contained in:
gatecat 2021-03-10 10:03:24 +00:00 committed by GitHub
commit 7f0c23dff3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -274,8 +274,10 @@ foreach (family ${ARCH})
# Include the family-specific CMakeFile
include(${family}/family.cmake)
foreach (target ${family_targets})
target_link_libraries(${target} PRIVATE absl::flat_hash_map)
target_link_libraries(${target} PRIVATE absl::flat_hash_set)
if (USE_THREADS)
target_link_libraries(${target} PRIVATE absl::flat_hash_map)
target_link_libraries(${target} PRIVATE absl::flat_hash_set)
endif()
# Include family-specific source files to all family targets and set defines appropriately
target_include_directories(${target} PRIVATE ${family}/ ${CMAKE_CURRENT_BINARY_DIR}/generated/)

View File

@ -27,7 +27,9 @@
*/
#include "router2.h"
#if !defined(NPNR_DISABLE_THREADS)
#include <absl/container/flat_hash_map.h>
#endif
#include <algorithm>
#include <boost/container/flat_map.hpp>
#include <chrono>
@ -191,7 +193,11 @@ struct Router2
}
}
#if defined(NPNR_DISABLE_THREADS)
std::unordered_map<WireId, int> wire_to_idx;
#else
absl::flat_hash_map<WireId, int> wire_to_idx;
#endif
std::vector<PerWireData> flat_wires;
PerWireData &wire_data(WireId w) { return flat_wires[wire_to_idx.at(w)]; }