diff --git a/build/fbcode_builder/fbcode_builder.py b/build/fbcode_builder/fbcode_builder.py index e54bc7d16..c6db4218d 100644 --- a/build/fbcode_builder/fbcode_builder.py +++ b/build/fbcode_builder/fbcode_builder.py @@ -316,15 +316,26 @@ class FBCodeBuilder(object): )), ] - def configure(self): + def configure(self, name=None): + autoconf_options = {} + if name is not None: + autoconf_options.update( + self.option('{0}:autoconf_options'.format(name), {}) + ) return [ self.run(ShellQuoted( 'LDFLAGS="$LDFLAGS -L"{p}"/lib -Wl,-rpath="{p}"/lib" ' 'CFLAGS="$CFLAGS -I"{p}"/include" ' 'CPPFLAGS="$CPPFLAGS -I"{p}"/include" ' 'PY_PREFIX={p} ' - './configure --prefix={p}' - ).format(p=self.option('prefix'))), + './configure --prefix={p} {args}' + ).format( + p=self.option('prefix'), + args=shell_join(' ', ( + ShellQuoted('{k}={v}').format(k=k, v=v) + for k, v in autoconf_options.items() + )), + )), ] def autoconf_install(self, name): diff --git a/build/fbcode_builder/specs/sigar.py b/build/fbcode_builder/specs/sigar.py index 3ea86453e..3ce88c6f5 100644 --- a/build/fbcode_builder/specs/sigar.py +++ b/build/fbcode_builder/specs/sigar.py @@ -8,13 +8,14 @@ from shell_quoting import ShellQuoted def fbcode_builder_spec(builder): + builder.add_option( + 'hyperic/sigar:autoconf_options', {'CFLAGS' : '-fgnu89-inline'}) return { 'steps': [ builder.github_project_workdir('hyperic/sigar', '.'), builder.step('Build and install sigar', [ builder.run(ShellQuoted('./autogen.sh')), - builder.run(ShellQuoted('CFLAGS="$CFLAGS -fgnu89-inline"')), - builder.configure(), + builder.configure('hyperic/sigar'), builder.make_and_install(), ]), ],