Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !1238

Generate modulemap automatically for symlink tree with headermap

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/nguyentruongtho/tho/generate_module_map into master Mar 13, 2017
  • Overview 3
  • Commits 2
  • Pipelines 0
  • Changes 17

Created by: nguyentruongtho

Split out from https://github.com/facebook/buck/pull/983 in effort of supporting clang module.

We create buck.modulemap instead of module.modulemap for all public header symlink trees with header map. Those module maps will enable us to import a target as module later on.

The reason for this special module map naming is that, if module is enabled for a project (-fmodules), all module.modulemap files in that project's search paths will be pre-compiled and imported implicitly (see https://clang.llvm.org/docs/Modules.html, search for -fimplicit-module-maps), which leads to nondeterministic compilation results if we don't handle module cache carefully. Instead of looking into how to handle module cache, we will name module map that created by buck buck.modulemap, so that it will not be used implicitly, and will explicitly specified them via -fmodule-map-file in compile commands when needed.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/nguyentruongtho/tho/generate_module_map