diff options
| author | Tom Black <[email protected]> | 2016-01-01 17:02:41 -0600 |
|---|---|---|
| committer | Tom Black <[email protected]> | 2016-01-01 17:02:41 -0600 |
| commit | 425faa8986ae71438a538b40e996f551866bdf83 (patch) | |
| tree | de5ace2f4b2e17e66ebc4ae6b717144725685c55 | |
| parent | 7f749675095383ca816b8469ae53d65c73d708d7 (diff) | |
| download | ruby2d-425faa8986ae71438a538b40e996f551866bdf83.tar.gz ruby2d-425faa8986ae71438a538b40e996f551866bdf83.zip | |
Add `--no-brew` option
Used to skip Homebrew on OS X, also some extconf cleanup
| -rw-r--r-- | Rakefile | 3 | ||||
| -rw-r--r-- | ext/ruby2d/extconf.rb | 67 |
2 files changed, 37 insertions, 33 deletions
@@ -23,7 +23,8 @@ task :build do system "gem build ruby2d.gemspec --verbose" puts "==> install gem" - system "gem install ruby2d-#{Ruby2D::VERSION}.gem --local --verbose" + system "gem install ruby2d-#{Ruby2D::VERSION}.gem "\ + "--local --verbose -- --no-brew" end desc "Run testcard" diff --git a/ext/ruby2d/extconf.rb b/ext/ruby2d/extconf.rb index 9368d47..721c4fb 100644 --- a/ext/ruby2d/extconf.rb +++ b/ext/ruby2d/extconf.rb @@ -1,7 +1,5 @@ require 'mkmf' -errors = [] - class String def colorize(c); "\e[#{c}m#{self}\e[0m" end def error; colorize('1;31') end @@ -19,40 +17,44 @@ def print_errors(errors) #{"============================================================".bold}" end +errors = [] + +# Install Simple 2D on supported platforms # OS X if RUBY_PLATFORM =~ /darwin/ - - # Simple 2D not installed - if `which simple2d`.empty? - # Homebrew not installed, print and quit - if `which brew`.empty? - errors << "Ruby 2D uses a library called Simple 2D." << - "On OS X, this can be installed using Homebrew." << - "Install Homebrew, then try installing this gem again.\n" << - "Learn more at http://brew.sh" - print_errors(errors) - exit - # Install Simple 2D using Homebrew - else - `brew tap simple2d/tap` - `brew install simple2d` - end - - # Simple 2D installed, update to latest version - else - # Homebrew not installed - if `which brew`.empty? - # TODO: Check for latest version manually and update - # Homebrew installed, get latest version of Simple 2D - else - # An alternative, but slower and updates all formulas: - # `brew update` - # `brew upgrade simple2d` + unless ARGV.include? "--no-brew" + # Simple 2D not installed + if `which simple2d`.empty? + # Homebrew not installed, print and quit + if `which brew`.empty? + errors << "Ruby 2D uses a library called Simple 2D." << + "On OS X, this can be installed using Homebrew." << + "Install Homebrew, then try installing this gem again.\n" << + "Learn more at http://brew.sh" + print_errors(errors) + exit + # Install Simple 2D using Homebrew + else + `brew tap simple2d/tap` + `brew install simple2d` + end - `brew untap simple2d/tap` - `brew tap simple2d/tap` - `brew upgrade simple2d` + # Simple 2D installed, update to latest version + else + # Homebrew not installed + if `which brew`.empty? + # TODO: Check for latest version manually and update + # Homebrew installed, get latest version of Simple 2D + else + # An alternative, but slower and updates all formulas: + # `brew update` + # `brew upgrade simple2d` + + `brew untap simple2d/tap` + `brew tap simple2d/tap` + `brew upgrade simple2d` + end end end @@ -74,6 +76,7 @@ elsif RUBY_PLATFORM =~ /mingw/ exit end +# Configure Simple 2D and create Makefile $LDFLAGS << ' ' << `simple2d --libs` $LDFLAGS.gsub!(/\n/, ' ') # remove newlines in flags, they cause problems |
