diff --git a/lib/spack/spack/__init__.py b/lib/spack/spack/__init__.py
index 34a7b01616a8d6083cc5f1b22066900d9db1c8cb..0b1934112eea3037b14ceb7ebcd29bc11dc9c414 100644
--- a/lib/spack/spack/__init__.py
+++ b/lib/spack/spack/__init__.py
@@ -46,6 +46,7 @@
 module_path    = join_path(lib_path, "spack")
 platform_path  = join_path(module_path, 'platforms')
 compilers_path = join_path(module_path, "compilers")
+build_systems_path = join_path(module_path, 'build_systems')
 operating_system_path = join_path(module_path, 'operating_systems')
 test_path      = join_path(module_path, "test")
 hooks_path     = join_path(module_path, "hooks")
diff --git a/lib/spack/spack/cmd/edit.py b/lib/spack/spack/cmd/edit.py
index 77f23333b62e23d1b335364c02236eb8281c3fe3..23fd307ab46fa65ce51fc3fdc1ad389018741087 100644
--- a/lib/spack/spack/cmd/edit.py
+++ b/lib/spack/spack/cmd/edit.py
@@ -69,6 +69,10 @@ def setup_parser(subparser):
 
     # Various types of Spack files that can be edited
     # Edits package files by default
+    excl_args.add_argument(
+        '-b', '--build-system', dest='path', action='store_const',
+        const=spack.build_systems_path,
+        help="Edit the build system with the supplied name.")
     excl_args.add_argument(
         '-c', '--command', dest='path', action='store_const',
         const=spack.cmd.command_path,