mirror of
https://github.com/k0kubun/xremap
synced 2024-11-02 03:40:25 +00:00
Compile mruby
This commit is contained in:
parent
246e97d495
commit
0166329028
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
xkremap
|
xkremap
|
||||||
|
mruby/
|
||||||
*.o
|
*.o
|
||||||
|
8
Makefile
8
Makefile
@ -1,3 +1,4 @@
|
|||||||
|
current_dir := $(shell pwd)
|
||||||
LD=gcc
|
LD=gcc
|
||||||
LDFLAGS=-lX11
|
LDFLAGS=-lX11
|
||||||
OBJS=src/main.o
|
OBJS=src/main.o
|
||||||
@ -7,3 +8,10 @@ all: xkremap
|
|||||||
|
|
||||||
xkremap: $(OBJS)
|
xkremap: $(OBJS)
|
||||||
$(LD) $(OBJS) $(LDFLAGS) -o $@
|
$(LD) $(OBJS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
mruby:
|
||||||
|
curl -L --fail --retry 3 --retry-delay 1 https://github.com/mruby/mruby/archive/1.2.0.tar.gz -s -o - | tar zxf -
|
||||||
|
mv mruby-1.2.0 $@
|
||||||
|
|
||||||
|
mruby/build/host/bin/mruby: mruby
|
||||||
|
cd mruby && MRUBY_CONFIG="$(current_dir)/build_config.rb" make
|
||||||
|
138
build_config.rb
Normal file
138
build_config.rb
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
MRuby::Build.new do |conf|
|
||||||
|
# load specific toolchain settings
|
||||||
|
|
||||||
|
# Gets set by the VS command prompts.
|
||||||
|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
|
||||||
|
toolchain :visualcpp
|
||||||
|
else
|
||||||
|
toolchain :gcc
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_debug
|
||||||
|
|
||||||
|
# Use mrbgems
|
||||||
|
# conf.gem 'examples/mrbgems/ruby_extension_example'
|
||||||
|
# conf.gem 'examples/mrbgems/c_extension_example' do |g|
|
||||||
|
# g.cc.flags << '-g' # append cflags in this gem
|
||||||
|
# end
|
||||||
|
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
|
||||||
|
# conf.gem :github => 'masuidrive/mrbgems-example', :checksum_hash => '76518e8aecd131d047378448ac8055fa29d974a9'
|
||||||
|
# conf.gem :git => 'git@github.com:masuidrive/mrbgems-example.git', :branch => 'master', :options => '-v'
|
||||||
|
|
||||||
|
# include the default GEMs
|
||||||
|
conf.gembox 'default'
|
||||||
|
# C compiler settings
|
||||||
|
# conf.cc do |cc|
|
||||||
|
# cc.command = ENV['CC'] || 'gcc'
|
||||||
|
# cc.flags = [ENV['CFLAGS'] || %w()]
|
||||||
|
# cc.include_paths = ["#{root}/include"]
|
||||||
|
# cc.defines = %w(DISABLE_GEMS)
|
||||||
|
# cc.option_include_path = '-I%s'
|
||||||
|
# cc.option_define = '-D%s'
|
||||||
|
# cc.compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}"
|
||||||
|
# end
|
||||||
|
|
||||||
|
# mrbc settings
|
||||||
|
# conf.mrbc do |mrbc|
|
||||||
|
# mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Linker settings
|
||||||
|
# conf.linker do |linker|
|
||||||
|
# linker.command = ENV['LD'] || 'gcc'
|
||||||
|
# linker.flags = [ENV['LDFLAGS'] || []]
|
||||||
|
# linker.flags_before_libraries = []
|
||||||
|
# linker.libraries = %w()
|
||||||
|
# linker.flags_after_libraries = []
|
||||||
|
# linker.library_paths = []
|
||||||
|
# linker.option_library = '-l%s'
|
||||||
|
# linker.option_library_path = '-L%s'
|
||||||
|
# linker.link_options = "%{flags} -o %{outfile} %{objs} %{libs}"
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Archiver settings
|
||||||
|
# conf.archiver do |archiver|
|
||||||
|
# archiver.command = ENV['AR'] || 'ar'
|
||||||
|
# archiver.archive_options = 'rs %{outfile} %{objs}'
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Parser generator settings
|
||||||
|
# conf.yacc do |yacc|
|
||||||
|
# yacc.command = ENV['YACC'] || 'bison'
|
||||||
|
# yacc.compile_options = '-o %{outfile} %{infile}'
|
||||||
|
# end
|
||||||
|
|
||||||
|
# gperf settings
|
||||||
|
# conf.gperf do |gperf|
|
||||||
|
# gperf.command = 'gperf'
|
||||||
|
# gperf.compile_options = '-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}'
|
||||||
|
# end
|
||||||
|
|
||||||
|
# file extensions
|
||||||
|
# conf.exts do |exts|
|
||||||
|
# exts.object = '.o'
|
||||||
|
# exts.executable = '' # '.exe' if Windows
|
||||||
|
# exts.library = '.a'
|
||||||
|
# end
|
||||||
|
|
||||||
|
# file separetor
|
||||||
|
# conf.file_separator = '/'
|
||||||
|
|
||||||
|
# bintest
|
||||||
|
# conf.enable_bintest
|
||||||
|
end
|
||||||
|
|
||||||
|
MRuby::Build.new('host-debug') do |conf|
|
||||||
|
# load specific toolchain settings
|
||||||
|
|
||||||
|
# Gets set by the VS command prompts.
|
||||||
|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
|
||||||
|
toolchain :visualcpp
|
||||||
|
else
|
||||||
|
toolchain :gcc
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_debug
|
||||||
|
|
||||||
|
# include the default GEMs
|
||||||
|
conf.gembox 'default'
|
||||||
|
|
||||||
|
# C compiler settings
|
||||||
|
conf.cc.defines = %w(MRB_ENABLE_DEBUG_HOOK)
|
||||||
|
|
||||||
|
# Generate mruby debugger command (require mruby-eval)
|
||||||
|
conf.gem :core => "mruby-bin-debugger"
|
||||||
|
|
||||||
|
# bintest
|
||||||
|
# conf.enable_bintest
|
||||||
|
end
|
||||||
|
|
||||||
|
MRuby::Build.new('test') do |conf|
|
||||||
|
# Gets set by the VS command prompts.
|
||||||
|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
|
||||||
|
toolchain :visualcpp
|
||||||
|
else
|
||||||
|
toolchain :gcc
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_debug
|
||||||
|
conf.enable_bintest
|
||||||
|
conf.enable_test
|
||||||
|
|
||||||
|
conf.gembox 'default'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Define cross build settings
|
||||||
|
# MRuby::CrossBuild.new('32bit') do |conf|
|
||||||
|
# toolchain :gcc
|
||||||
|
#
|
||||||
|
# conf.cc.flags << "-m32"
|
||||||
|
# conf.linker.flags << "-m32"
|
||||||
|
#
|
||||||
|
# conf.build_mrbtest_lib_only
|
||||||
|
#
|
||||||
|
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
|
||||||
|
#
|
||||||
|
# conf.test_runner.command = 'env'
|
||||||
|
#
|
||||||
|
# end
|
Loading…
Reference in New Issue
Block a user