Skip to content

Instantly share code, notes, and snippets.

@FlyingJester
Created April 25, 2016 21:30
Show Gist options
  • Save FlyingJester/391f1295b8d8b0443eb753e3d14c9acd to your computer and use it in GitHub Desktop.
Save FlyingJester/391f1295b8d8b0443eb753e3d14c9acd to your computer and use it in GitHub Desktop.
autoconf-style enable/disable options for a SCons file
def EnableableOption(name, default):
AddOption("--enable-" + name,
action="store_true", dest="en_" + name, default=False,
help="Enables " + name)
AddOption("--disable-" + name,
action="store_true", dest="dis_" + name, default=False,
help="Disables " + name)
enable = GetOption("en_" + name)
disable = GetOption("dis_" + name)
if enable and disable:
print("Warning: Both enable and disable " + name + " specified.")
return default
if disable:
return False
elif enable:
return True
else:
return default
# In example:
enable_opengl2 = EnableableOption("opengl2", True)
enable_opengl4 = EnableableOption("opengl4", False)
enable_software = EnableableOption("software", False)
enable_vulkan = EnableableOption("vulkan", False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment