mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
Add autotools_build_relative_dir option and adjust install.sh (#12207)
Signed-off-by: Satadru Pramanik <satadru@gmail.com> Co-authored-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
committed by
GitHub
parent
c802b6c69e
commit
94834f1dcf
@@ -520,7 +520,7 @@ for i in "${!installed_gems[@]}"
|
||||
done
|
||||
|
||||
echo_info "Installing essential ruby gems...\n"
|
||||
BOOTSTRAP_GEMS='base64 bigdecimal connection_pool concurrent-ruby drb i18n logger minitest securerandom tzinfo activesupport highline ptools'
|
||||
BOOTSTRAP_GEMS='base64 connection_pool concurrent-ruby drb i18n logger minitest securerandom tzinfo highline ptools'
|
||||
# shellcheck disable=SC2086
|
||||
install_ruby_gem ${BOOTSTRAP_GEMS}
|
||||
|
||||
|
||||
@@ -5,46 +5,55 @@ require_relative '../report_buildsystem_methods'
|
||||
|
||||
class Autotools < Package
|
||||
boolean_property :autotools_make_j1
|
||||
property :autotools_configure_options, :autotools_pre_configure_options, :autotools_build_extras, :autotools_install_extras
|
||||
property :autotools_build_relative_dir, :autotools_configure_options, :autotools_pre_configure_options, :autotools_build_extras, :autotools_install_extras
|
||||
|
||||
def self.build
|
||||
@autotools_build_relative_dir ||= '.'
|
||||
extend ReportBuildsystemMethods
|
||||
print_buildsystem_methods
|
||||
|
||||
unless File.file?('Makefile') && CREW_CACHE_BUILD
|
||||
# Run autoreconf if necessary
|
||||
unless File.executable? './configure'
|
||||
if File.executable? './autogen.sh'
|
||||
system 'NOCONFIGURE=1 ./autogen.sh --no-configure || NOCONFIGURE=1 ./autogen.sh'
|
||||
elsif File.executable? './bootstrap'
|
||||
system 'NOCONFIGURE=1 ./bootstrap --no-configure || NOCONFIGURE=1 ./bootstrap'
|
||||
else
|
||||
system 'autoreconf -fiv'
|
||||
Dir.chdir(@autotools_build_relative_dir) do
|
||||
unless File.file?('Makefile') && CREW_CACHE_BUILD
|
||||
# Run autoreconf if necessary
|
||||
unless File.executable? './configure'
|
||||
if File.executable? './autogen.sh'
|
||||
system 'NOCONFIGURE=1 ./autogen.sh --no-configure || NOCONFIGURE=1 ./autogen.sh'
|
||||
elsif File.executable? './bootstrap'
|
||||
system 'NOCONFIGURE=1 ./bootstrap --no-configure || NOCONFIGURE=1 ./bootstrap'
|
||||
else
|
||||
system 'autoreconf -fiv'
|
||||
end
|
||||
end
|
||||
abort 'configure script not found!'.lightred unless File.file?('configure')
|
||||
FileUtils.chmod('+x', 'configure')
|
||||
system 'filefix', exception: false unless @no_filefix
|
||||
system "#{@autotools_pre_configure_options} ./configure #{CREW_CONFIGURE_OPTIONS} #{@autotools_configure_options}"
|
||||
end
|
||||
abort 'configure script not found!'.lightred unless File.file?('configure')
|
||||
FileUtils.chmod('+x', 'configure')
|
||||
system 'filefix', exception: false unless @no_filefix
|
||||
system "#{@autotools_pre_configure_options} ./configure #{CREW_CONFIGURE_OPTIONS} #{@autotools_configure_options}"
|
||||
end
|
||||
|
||||
# Add "-j#" argument to "make" at compile-time, if necessary.
|
||||
if @autotools_make_j1
|
||||
system 'make', '-j1'
|
||||
else
|
||||
system 'make', '-j', CREW_NPROC
|
||||
end
|
||||
# Add "-j#" argument to "make" at compile-time, if necessary.
|
||||
if @autotools_make_j1
|
||||
system 'make', '-j1'
|
||||
else
|
||||
system 'make', '-j', CREW_NPROC
|
||||
end
|
||||
|
||||
@autotools_build_extras&.call
|
||||
@autotools_build_extras&.call
|
||||
end
|
||||
end
|
||||
|
||||
def self.install
|
||||
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
|
||||
@autotools_install_extras&.call
|
||||
Dir.chdir(@autotools_build_relative_dir) do
|
||||
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
|
||||
@autotools_install_extras&.call
|
||||
end
|
||||
end
|
||||
|
||||
def self.check
|
||||
puts 'Testing with make check.'.orange if @run_tests
|
||||
system 'make', 'check' if @run_tests
|
||||
return unless @run_tests
|
||||
|
||||
Dir.chdir(@autotools_build_relative_dir) do
|
||||
puts 'Testing with make check.'.orange
|
||||
system 'make', 'check'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4,7 +4,7 @@ require 'etc'
|
||||
require 'open3'
|
||||
|
||||
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
|
||||
CREW_VERSION ||= '1.62.5' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
CREW_VERSION ||= '1.62.6' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
|
||||
# Kernel architecture.
|
||||
KERN_ARCH ||= Etc.uname[:machine]
|
||||
|
||||
Reference in New Issue
Block a user