<html><body><p>I've done some exploring this morning (see branch [1]).  It improves things, but I'm hoping we can do better, which is why there isn't a PR yet.<br><br>The branch does two things:<br>        (a) Add a configure option to cause &quot;make install&quot; to install into a directory structure that matches the one used for a Swift installable package instead of its default structure.<br>        (b) Some cleanup of how module.map is generated and where it is installed normally based on this email chain.<br><br>Part (a) seems to be working fine.  I want to do one more test-build of Swift from scratch to make sure, but yesterday I was getting a Swift build where the resulting swiftc could successfully fully import Dispatch without any extra command line arguments.<br><br>Part (b) isn't any worse and maybe is marginally better, but is not really doing what we want.  In particular, with no extra command line arguments, swiftc seems to be finding the module.map file and importing the C header files, but it isn't finding Dispatch.swiftmodule.  As a result, dispatch_group_async (for example) is available to the Swift program, but DISPATCH_QUEUE_CONCURRENT is not.<br><br>If I give swiftc -I/usr/local/include/dispatch  then it finds Dispatch.swiftmodule and DISPATCH_QUEUE_CONCURRENT is available.  <br><br>Giving -Xcc -fmodule-module-map=&lt;file&gt; does not help;  DISPATCH_QUEUE_CONCURRENT is not available.<br><br>In a &quot;normal&quot; install we get in PREFIX (/usr/local by default).<br>        include/dispatch/<br>                *.h from dispatch directory<br>                module.map<br>                Dispatch.swiftmodule<br>                Dispatch.swiftdoc<br>        include/os<br>                *.h from os directory<br>        lib<br>                libdispatch.so<br><br><br>I've tried putting Dispatch.swiftmodule in a variety of places in the /usr/include tree (lib, lib/x86_64), but none of them seem to help.<br><br>Any thoughts on other things to try before submitting a PR?<br><br>thanks,<br><br>--dave<br><br>[1] <a href="https://github.com/dgrove-oss/swift-corelibs-libdispatch/tree/swift-overlay-cp2">https://github.com/dgrove-oss/swift-corelibs-libdispatch/tree/swift-overlay-cp2</a><BR>
</body></html>