Since unicorn users are raindrops users, I'd appreciate it if 32-bit FreeBSD users can give this a try. Thanks!
ref: http://mid.gmane.org/20120510215457.ga11...@dcvr.yhbt.net Eric Wong <normalper...@yhbt.net> wrote: > I've just pushed this out to master on git://bogomips.org/raindrops > > The original check for "i386" arch was causing builds on SmartOS > to fail. > > Also available as a prerelease gem (0.8.0.5.g71f8): > > gem install --pre raindrops > > >From 71f80afdbcb45245a01ee2c278ebda692587e92a Mon Sep 17 00:00:00 2001 > From: Eric Wong <normalper...@yhbt.net> > Date: Thu, 10 May 2012 14:49:39 -0700 > Subject: [PATCH] extconf: better check for GCC atomic builtins > > Attempting to test for CMPXCHG on x86 should allow this check to > fail on i386 systems. We also won't need try_run as a result, > enabling cross-compilation. The configure.in check in Ruby > 1.9.3 does something similar and that's far more widely used > than raindrops is. > --- > ext/raindrops/extconf.rb | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/ext/raindrops/extconf.rb b/ext/raindrops/extconf.rb > index 9f5de95..447a90a 100644 > --- a/ext/raindrops/extconf.rb > +++ b/ext/raindrops/extconf.rb > @@ -13,23 +13,20 @@ have_func('rb_thread_blocking_region') > have_func('rb_thread_io_blocking_region') > > checking_for "GCC 4+ atomic builtins" do > + # we test CMPXCHG anyways even though we don't need it to filter out > + # ancient i386-only targets without CMPXCHG > src = <<SRC > int main(int argc, char * const argv[]) { > - volatile unsigned long i = 0; > + unsigned long i = 0; > + __sync_lock_test_and_set(&i, 0); > + __sync_lock_test_and_set(&i, 1); > __sync_add_and_fetch(&i, argc); > __sync_sub_and_fetch(&i, argc); > return 0; > } > SRC > > - if try_run(src) > - # some systems target GCC for i386 and don't get the atomic builtins > - # when building shared objects > - arch = `#{CONFIG['CC']} -dumpmachine`.split(/-/)[0] > - if arch == "i386" && $CFLAGS !~ /\b-march=/ > - $CFLAGS += " -march=i486 " > - end > - > + if try_link(src) > $defs.push(format("-DHAVE_GCC_ATOMIC_BUILTINS")) > true > else > -- > Eric Wong _______________________________________________ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying