Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
4d3991e5
Commit
4d3991e5
authored
May 03, 2013
by
Yukihiro "Matz" Matsumoto
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:mruby/mruby
parents
3d149f63
0e529c22
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
56 additions
and
13 deletions
+56
-13
MITL
MITL
+1
-1
README.md
README.md
+1
-1
doc/mrbgems/README.md
doc/mrbgems/README.md
+41
-10
include/mruby.h
include/mruby.h
+1
-1
tasks/mrbgem_spec.rake
tasks/mrbgem_spec.rake
+12
-0
No files found.
MITL
View file @
4d3991e5
Copyright (c) 201
2
mruby developers
Copyright (c) 201
3
mruby developers
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
...
...
README.md
View file @
4d3991e5
...
...
@@ -71,7 +71,7 @@ documentation with examples under *examples/mrbgems*.
## License
Copyright (c) 201
2
mruby developers
Copyright (c) 201
3
mruby developers
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
...
...
doc/mrbgems/README.md
View file @
4d3991e5
...
...
@@ -98,19 +98,50 @@ The mrbgems build process will use this specification to compile Object and Ruby
files. The compilation results will be add to
*lib/libmruby.a*
. This file is used
by tools like
`mruby`
and
`mirb`
to empower the GEM functionality.
The following properties can be set inside of your
`MRuby::Gem::Specification`
for
information purpose:
*
`spec.license`
or
`spec.licenses`
(A single license or a list of them under which this GEM is licensed)
*
`spec.author`
or
`spec.authors`
(Developer name or a list of them)
*
`spec.version`
(Current version)
*
`spec.description`
(Detailed description)
*
`spec.summary`
(Short summary)
*
`spec.homepage`
(Homepage)
*
`spec.requirements`
(External requirements as information for user)
It is required for every GEM to have a license and an author!
In case your GEM is depending on other GEMs please use
`spec.add_dependency(gem, *requirements)`
like:
MRuby::Gem::Specification.new('c_and_ruby_extension_example') do |spec|
spec.license = 'MIT'
spec.authors = 'mruby developers'
# add GEM dependency mruby-parser.
# Version has to be between 1.0.0 and 1.5.2
spec.add_dependency('mruby-parser', '> 1.0.0', '< 1.5.2')
end
The usage of versions is optional.
__ATTENTION:__
The dependency system is currently (May 2013) under development and doesn't check
or resolve dependencies!
In case your GEM has more complex build requirements you can use
the following options additionally inside of your GEM specification:
*
spec.cflags (C compiler flags for this GEM
)
*
spec.mruby_cflags
(global C compiler flags for everything)
*
spec.mruby_ldflags
(global linker flags for everything)
*
spec.mruby_libs
(global libraries for everything)
*
spec.mruby_includes
(global includes for everything)
*
spec.rbfiles
(Ruby files to compile)
*
spec.objs
(Object files to compile)
*
spec.test_rbfiles
(Ruby test files for integration into mrbtest)
*
spec.test_objs
(Object test files for integration into mrbtest)
*
spec.test_preload
(Initialization files for mrbtest)
*
`spec.cflags`
(C compiler flags
)
*
`spec.mruby_cflags`
(global C compiler flags for everything)
*
`spec.mruby_ldflags`
(global linker flags for everything)
*
`spec.mruby_libs`
(global libraries for everything)
*
`spec.mruby_includes`
(global includes for everything)
*
`spec.rbfiles`
(Ruby files to compile)
*
`spec.objs`
(Object files to compile)
*
`spec.test_rbfiles`
(Ruby test files for integration into mrbtest)
*
`spec.test_objs`
(Object test files for integration into mrbtest)
*
`spec.test_preload`
(Initialization files for mrbtest)
## C Extension
...
...
include/mruby.h
View file @
4d3991e5
/*
** mruby - An embeddable Ruby implementation
**
** Copyright (c) mruby developers 2010-201
2
** Copyright (c) mruby developers 2010-201
3
**
** Permission is hereby granted, free of charge, to any person obtaining
** a copy of this software and associated documentation files (the
...
...
tasks/mrbgem_spec.rake
View file @
4d3991e5
...
...
@@ -30,6 +30,9 @@ module MRuby
attr_accessor
:bins
attr_accessor
:requirements
attr_reader
:dependencies
attr_block
MRuby
::
Build
::
COMMANDS
def
initialize
(
name
,
&
block
)
...
...
@@ -63,6 +66,9 @@ module MRuby
@bins
=
[]
@requirements
=
[]
@dependencies
=
[]
instance_eval
(
&
@initializer
)
if
!
name
||
!
licenses
||
!
authors
...
...
@@ -80,6 +86,12 @@ module MRuby
define_gem_init_builder
end
def
add_dependency
(
name
,
*
requirements
)
requirements
=
[
'> 0.0.0'
]
if
requirements
.
empty?
requirements
.
flatten!
@dependencies
<<
[
:gem
=>
name
,
:requirements
=>
requirements
]
end
def
self
.
bin
=
(
bin
)
@bins
=
[
bin
].
flatten
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment