diff --git a/system/public/zircon/module.modulemap b/system/public/zircon/module.modulemap
new file mode 100644
index 0000000..b170477
--- /dev/null
+++ b/system/public/zircon/module.modulemap
@@ -0,0 +1,283 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Unlike the Libc module map, this one does not explictly "export *" any
+// symbols up the parent module requiring that you explictly import what
+// modules you are using. For that reason module names in this file can break
+// imports in langauges that can refernece them directly.
+module Zircon [system] [extern_c] {
+  use Libc
+
+  textual header "assert.h"
+  textual header "compiler.h"
+
+  module crashlogger [extern_c] {
+    header "crashlogger.h"
+  }
+
+  module errors [extern_c] {
+    header "errors.h"
+  }
+
+  module ktrace [extern_c] {
+    textual header "ktrace-def.h"
+    header "ktrace.h"
+  }
+
+  module listnode [extern_c] {
+    header "listnode.h"
+  }
+
+  module mtrace [extern_c] {
+    header "mtrace.h"
+  }
+
+  module pixelformat [extern_c] {
+    header "pixelformat.h"
+  }
+
+  module processargs [extern_c] {
+    header "processargs.h"
+  }
+
+  module process [extern_c] {
+    header "process.h"
+  }
+
+  module rights [extern_c] {
+    header "rights.h"
+  }
+
+  module syscalls [extern_c] {
+    // This module refers to both the "syscalls.h" in the root and all of the
+    // headers in the "syscalls" folder.
+
+    module debug {
+      header "syscalls/debug.h"
+      // explictly require you include this if you use it.
+    }
+    module exception {
+      header "syscalls/exception.h"
+      export *
+    }
+    module hypervisor {
+      header "syscalls/hypervisor.h"
+      export *
+    }
+    module log {
+      header "syscalls/log.h"
+      export *
+    }
+    module object {
+      header "syscalls/object.h"
+      export *
+    }
+    module pci {
+      header "syscalls/pci.h"
+      export *
+    }
+    module policy {
+      header "syscalls/policy.h"
+      export *
+    }
+    module port {
+      header "syscalls/port.h"
+      export *
+    }
+    module resource {
+      header "syscalls/resource.h"
+      export *
+    }
+    module profile {
+      header "syscalls/profile.h"
+      export *
+    }
+    module smc {
+      header "syscalls/smc.h"
+      export *
+    }
+    module system {
+      header "syscalls/system.h"
+      export *
+    }
+    module types {
+      header "syscalls/types.h"
+      export *
+    }
+
+    header "syscalls.h"
+  }
+
+  module tls [extern_c] {
+    header "tls.h"
+  }
+
+  module types [extern_c] {
+    header "types.h"
+  }
+
+  module boot [extern_c] {
+    module bootdata {
+      header "boot/bootdata.h"
+    }
+    module multiboot {
+      header "boot/multiboot.h"
+    }
+    module netboot {
+      header "boot/netboot.h"
+    }
+  }
+
+  module device [extern_c] {
+    umbrella "device"
+
+    module audio {
+      header "device/audio.h"
+      export *
+    }
+    module block {
+      header "device/block.h"
+      export *
+    }
+    module bt_hci {
+      header "device/bt-hci.h"
+      export *
+    }
+    module camera_proto {
+      requires cplusplus
+      header "device/camera-proto.h"
+      export *
+    }
+    module camera {
+      header "device/camera.h"
+      export *
+    }
+    module device {
+      header "device/device.h"
+      export *
+    }
+    module display {
+      header "device/display.h"
+      export *
+    }
+    module dmctl {
+      header "device/dmctl.h"
+      export *
+    }
+    module ethernet {
+      header "device/ethernet.h"
+      export *
+    }
+    module ethertap {
+      header "device/ethertap.h"
+      export *
+    }
+    module hidctl {
+      header "device/hidctl.h"
+      export *
+    }
+    module i2c {
+      header "device/i2c.h"
+      export *
+    }
+    module input {
+      header "device/input.h"
+      export *
+    }
+    module intel_hda {
+      header "device/intel-hda.h"
+      export *
+    }
+    module ioctl {
+      header "device/ioctl.h"
+      export *
+    }
+    module ioctl_wrapper {
+      header "device/ioctl-wrapper.h"
+      export *
+    }
+    module ktrace {
+      header "device/ktrace.h"
+      export *
+    }
+    module media_codec {
+      header "device/media-codec.h"
+      export *
+    }
+    module midi {
+      header "device/midi.h"
+      export *
+    }
+    module power {
+      header "device/power.h"
+      export *
+    }
+    module pty {
+      header "device/pty.h"
+      export *
+    }
+    module ramdisk {
+      header "device/ramdisk.h"
+      export *
+    }
+    module rtc {
+      header "device/rtc.h"
+      export *
+    }
+    module sysinfo {
+      header "device/sysinfo.h"
+      export *
+    }
+    module test {
+      header "device/test.h"
+      export *
+    }
+    module thermal {
+      header "device/thermal.h"
+      export *
+    }
+    module tpm {
+      header "device/tpm.h"
+      export *
+    }
+    module usb_device {
+      header "device/usb-device.h"
+      export *
+    }
+    module usb {
+      header "device/usb.h"
+      export *
+    }
+    module vfs {
+      header "device/vfs.h"
+      export *
+    }
+
+    export *
+  }
+
+  module driver [extern_c] {
+    // glob each header into it's own module decl
+    umbrella "driver"
+    explicit module * {
+      export *
+    }
+  }
+
+  module hw [extern_c] {
+    // glob each header into it's own module decl
+    umbrella "hw"
+    explicit module * {
+      export *
+    }
+  }
+
+  module misc [extern_c] {
+    // glob each header into it's own module decl
+    umbrella "misc"
+    explicit module * {
+      export *
+    }
+  }
+}
diff --git a/system/ulib/fdio/include/lib/fdio/module.modulemap b/system/ulib/fdio/include/lib/fdio/module.modulemap
new file mode 100644
index 0000000..4fbbd62
--- /dev/null
+++ b/system/ulib/fdio/include/lib/fdio/module.modulemap
@@ -0,0 +1,55 @@
+// Copyright 2018 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module Fdio [system] [extern_c] {
+  use Libc
+  use Zircon
+
+  link "fdio"
+
+  textual header "debug.h"
+
+  module io {
+    header "io.h"
+    export *
+  }
+  module limits {
+    header "limits.h"
+    export *
+  }
+  module "private" {
+    header "private.h"
+    export *
+  }
+  module "namespace" {
+    header "namespace.h"
+    export *
+  }
+  module remoteio {
+    header "remoteio.h"
+    export *
+  }
+  module spawn {
+    header "spawn.h"
+    export *
+  }
+  module socket {
+    header "socket.h"
+    export *
+  }
+  module util {
+    header "util.h"
+    export *
+  }
+  module vfs {
+    header "vfs.h"
+    export *
+  }
+  module watcher {
+    header "watcher.h"
+    export *
+  }
+
+  export *
+}
diff --git a/third_party/ulib/musl/include/module.modulemap b/third_party/ulib/musl/include/module.modulemap
new file mode 100644
index 0000000..8cbd298
--- /dev/null
+++ b/third_party/ulib/musl/include/module.modulemap
@@ -0,0 +1,525 @@
+module Libc [system] {
+  link "c"
+  config_macros _ALL_SOURCE,_BSD_SOURCE,_GNU_SOURCE,_KERNEL,_POSIX_C_SOURCE,_POSIX_SOURCE,_XOPEN_SOURCE
+
+  module C [extern_c] {
+    textual header "assert.h" // POSIX/C89
+
+    module alloca { // POSIX
+      header "alloca.h"
+      export *
+    }
+    module byteswap { // GNU extension
+      header "byteswap.h"
+      export *
+    }
+    module complex { // C99
+      header "complex.h"
+      export *
+    }
+    module ctype { // C89
+      header "ctype.h"
+      export *
+    }
+    module err { // BSD extension
+      header "err.h"
+      export *
+    }
+    module errno { // POSIX/C89
+      header "errno.h"
+      export *
+    }
+    module features { // POSIX?
+      textual header "features.h"
+      export *
+    }
+    module fenv { // C99
+      header "fenv.h"
+      export *
+    }
+    module float { // C/POSIX
+      header "float.h"
+      export *
+    }
+    module inttypes { // C99
+      header "inttypes.h"
+      export *
+    }
+    module iso646 { // C95
+      header "iso646.h"
+      export *
+    }
+    module limits { // C99
+      header "limits.h"
+      export *
+    }
+    module locale { // C90?
+      header "locale.h"
+      export *
+    }
+    module malloc { // C89
+      header "malloc.h"
+      export *
+    }
+    module math { // C89
+      header "math.h"
+      export *
+    }
+    module memory { // Legacy header
+      export string
+    }
+    module setjmp {  // C89/POSIX
+      header "setjmp.h"
+      export *
+    }
+    module signal { // C89/POSIX
+      header "signal.h"
+      export *
+    }
+    // defined in clang
+    // module stdatomic { // C11
+    //    header "stdatomic.h"
+    //    export *
+    // }
+    module stdalign { // C11
+      header "stdalign.h"
+      export *
+    }
+    module stdarg { // C89
+      header "stdarg.h"
+      export *
+    }
+    module stdbool { // C99
+      header "stdbool.h"
+      export *
+    }
+    module stdint { // C99
+      header "stdint.h" // This might be deleted in favor of clang provided version
+      export *
+    }
+    module stdio { // C89
+      header "stdio.h"
+      export *
+    }
+    module stdlib { // C89
+      header "stddef.h"
+      header "stdlib.h"
+      export malloc // HACK: Our stdlib re-defines some other functions from other headers
+      export *
+    }
+    module stdnoreturn { // C11
+      header "stdnoreturn.h"
+      export *
+    }
+    module string { // C89
+      header "string.h"
+      export *
+    }
+    module threads { // C11
+      header "threads.h"
+      export *
+    }
+    module time {
+      header "time.h"
+      export *
+    }
+    module uchar { // C11
+      header "uchar.h"
+      export *
+    }
+    module wchar { // C89
+      header "wchar.h"
+      export *
+    }
+    module wctype { // C89
+      header "wctype.h"
+      export *
+    }
+    export *
+  }
+  module POSIX [extern_c]  {
+    module ar { // GNU?
+      header "ar.h"
+      export *
+    }
+    module cpio { // POSIX?
+      header "cpio.h"
+      export *
+    }
+    module dirent { // POSIX
+      header "dirent.h"
+      export *
+    }
+    module dlfcn { // POSIX
+      header "dlfcn.h"
+      export *
+    }
+    module elf { // BSD/Linux
+      header "elf.h"
+      export *
+    }
+    module endian { // POSIX
+      header "endian.h"
+      export *
+    }
+    module fcntl { // POSIX
+      header "fcntl.h"
+      export *
+    }
+    module fmtmsg { // POSIX
+      header "fmtmsg.h"
+      export *
+    }
+    module fnmatch { // POSIX
+      header "fnmatch.h"
+      export *
+    }
+    module getopt { // POSIX
+      header "getopt.h"
+      export *
+    }
+    module glob { // POSIX
+      header "glob.h"
+      export *
+    }
+    module iconv { // POSIX
+      header "iconv.h"
+      export *
+    }
+    module ifaddrs { // POSIX
+      header "ifaddrs.h"
+      export *
+    }
+    module langinfo { // POSIX
+      header "langinfo.h"
+      export *
+    }
+    module libgen { // POSIX
+      header "libgen.h"
+      export *
+    }
+    module "link" { // POSIX (quoted because `link` is a reserved keyword)
+      header "link.h"
+      export *
+    }
+    module monetary { // POSIX
+      header "monetary.h"
+      export *
+    }
+    module netdb { // POSIX
+      header "netdb.h"
+      export *
+    }
+    module nl_types { // POSIX
+      header "nl_types.h" // Unimplemented in Fuchsia
+      export *
+    }
+    module poll { // POSIX
+      header "poll.h"
+      export *
+    }
+    module pthread { // POSIX
+      header "pthread.h"
+      export *
+    }
+    module regex { // POSIX
+      header "regex.h"
+      export *
+    }
+    module resolv { // POSIX
+      header "resolv.h"
+      export *
+    }
+    module sched { // POSIX
+      header "sched.h"
+      export Libc.C.string // HACK: redefines some functions from string.h with _GNU_SOURCE
+      export *
+    }
+    module search { // POSIX
+      header "search.h"
+      export *
+    }
+    module semaphore { // POSIX
+      header "semaphore.h" // sem_open is unimplemented on Fuchisa
+      export *
+    }
+    module strings { // POSIX
+      header "strings.h"
+      export *
+    }
+    module stropts { // POSIX
+      header "stropts.h"
+      export *
+    }
+    module sysexits { // POSIX
+      header "sysexits.h"
+      export *
+    }
+    module tar { // POSIX
+      header "tar.h"
+      export *
+    }
+    module unistd { // POSIX
+      header "unistd.h"
+      export *
+      export C.stdio // HACK: both stdio and unistd define ssize_t (depending on _GNU_SOURCE)
+    }
+    module utime { // POSIX
+      header "utime.h"
+      export *
+    }
+    module values {
+      header "values.h"
+      export *
+    }
+    module wait { // Legacy
+      export sys.wait
+    }
+    module wordexp { // POSIX
+      header "wordexp.h"
+      export *
+    }
+
+    // Folders
+    module arpa {
+      module ftp {
+        header "arpa/ftp.h"
+        export *
+      }
+      module inet {
+        header "arpa/inet.h"
+        export *
+      }
+      module nameser {
+        header "arpa/nameser.h"
+        export *
+      }
+      module nameser_compat {
+        header "arpa/nameser_compat.h"
+        export *
+      }
+      module telnet {
+        header "arpa/telnet.h"
+        export *
+      }
+      module tftp {
+        header "arpa/tftp.h"
+        export *
+      }
+      export *
+    }
+    module net {
+      module ethernet {
+        header "net/ethernet.h"
+        export *
+      }
+      module if_arp {
+        header "net/if_arp.h"
+        export *
+      }
+      module if {
+        header "net/if.h"
+        export *
+      }
+      module route {
+        header "net/if.h"
+        export *
+      }
+      export *
+    }
+    module netinet {
+      module ether {
+        header "netinet/ether.h"
+        export *
+      }
+      module icmp6 {
+        header "netinet/icmp6.h"
+        export *
+      }
+      module if_ether {
+        header "netinet/if_ether.h"
+        export *
+      }
+      module igmp {
+        header "netinet/igmp.h"
+        export *
+      }
+      module in {
+        header "netinet/in.h"
+        export *
+      }
+      module in_systm {
+        header "netinet/in_systm.h"
+        export *
+      }
+      module ip {
+        header "netinet/ip.h"
+        export *
+      }
+      module ip6 {
+        header "netinet/ip6.h"
+        export *
+      }
+      module ip_icmp {
+        header "netinet/ip_icmp.h"
+        export *
+      }
+      module tcp {
+        header "netinet/tcp.h"
+        export *
+      }
+      module udp {
+        header "netinet/udp.h"
+        export *
+      }
+      export *
+    }
+    module netpacket {
+      module packet {
+        header "netpacket/packet.h"
+        export *
+      }
+      export *
+    }
+    module sys { // TODO(zbowling): this incomplete
+      module file {
+        header "sys/file.h"
+        export *
+      }
+      module ioctl {
+        header "sys/ioctl.h"
+        export *
+      }
+      module ipc {
+        header "sys/ipc.h"
+        export *
+      }
+      module mman {
+        header "sys/mman.h"
+        export *
+      }
+      module msg {
+        header "sys/msg.h"
+        export *
+      }
+      module select {
+        header "sys/select.h"
+        export *
+      }
+      module socket {
+        header "sys/socket.h"
+        export *
+      }
+      module sem {
+        header "sys/sem.h"
+        export *
+      }
+      module sendfile {
+        header "sys/sendfile.h"
+        export *
+      }
+      module shm {
+        header "sys/shm.h"
+        export *
+      }
+      module stat {
+        header "sys/stat.h"
+        export *
+      }
+      module statfs {
+        header "sys/statfs.h"
+        export *
+      }
+      module statvfs {
+        header "sys/statvfs.h"
+        export *
+      }
+      module time {
+        header "sys/time.h"
+        export *
+      }
+      module times {
+        header "sys/times.h"
+        export *
+      }
+      module types {
+        header "sys/types.h"
+        export *
+      }
+      module uio {
+        header "sys/uio.h"
+        export *
+      }
+      module un {
+        header "sys/un.h"
+        export *
+      }
+      module utsname {
+        header "sys/utsname.h"
+        export *
+      }
+      module wait {
+        header "sys/wait.h"
+        export *
+      }
+      export *
+    }
+    export *
+  }
+  export *
+}
+
+// Headers that exist that are part of POSIX, C, or GNU that are not functional on Fuchsia
+module NonLibc [extern_c] {
+  use Libc
+
+  module crypt { // POSIX
+    header "crypt.h"
+    export *
+  }
+  module ftw { // POSIX
+    header "ftw.h"
+    export *
+  }
+  module grp { // POSIX
+    header "grp.h" // Non-functional in Fuchsia
+    export *
+  }
+  module mntent { // Unimplemented - common header
+    header "mntent.h" // Unimplemented in Fuchsia
+    export *
+  }
+  module paths { // GNU extension
+    header "paths.h" // Defines paths are not correct for Fuchsia
+    export *
+  }
+  module pty { // BSD defined (also GLIBC).
+    header "pty.h" // Non-functional on Fuchsia
+    export *
+  }
+  module pwd { // POSIX
+    header "pwd.h" // Non-functional in Fuchsia
+    export *
+  }
+  module shadown { // POSIX
+    header "shadow.h"
+    export *
+  }
+  module spawn { // POSIX
+    header "spawn.h" // Process management - use launchpad instead
+    export *
+  }
+  module syslog { // POSIX
+    header "syslog.h"
+    export *
+  }
+  module termios { // POSIX
+    header "termios.h"
+    export *
+  }
+  module ucontext { // POSIX
+    header "ucontext.h"
+    export *
+  }
+  export *
+}
