73 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 3f508d90da Merge pull request #2946 from sagmor/test-dependencies
Add gem test dependencies
2015-10-03 18:41:22 +09:00
Terence Lee c717bbb77a LinkerConfig is a struct with five params 2015-09-25 23:22:11 -06:00
Seba Gamboa 803f11e001 Add test dependencies 2015-09-09 13:33:42 -03:00
Zachary Scott c6860bc0c4 Allow rbfiles in mrblib and test to have subdirs 2015-09-04 11:01:50 -04:00
xuejianqing 578db292fd mrbgem compile should be depend on mrbgem.rake 2015-07-27 12:22:23 +08:00
mattn a15e99d2b6 add_dependency doesn't work 2015-06-25 00:19:04 +09:00
take_cheeze 0c8fa845e4 Load missing dependencies from core or mgem-list. 2015-06-22 02:23:52 +09:00
take_cheeze e6ae5c8672 Fix default gem loading in generate_gem_table. 2014-09-05 15:25:24 +09:00
Tatsuhiko Kubo effc44f265 Fix error handlings for mrb_open_core(). 2014-08-20 05:48:09 +09:00
cremno 6526bb10f0 don't always generate gem functions
If the src and mrblib directories of a mrbgem don't exist or don't
include "usable" files (for tools like mirb), then functions for gem
initialization and finalization don't have to be generated.
2014-08-04 05:50:05 +02:00
take_cheeze 3b8a797a4c Fix rake failure since mrbtest_objs isn't flattened.
Append generated test object to `@test_objs` of mrbgem spec.
Add method `custom_test_init?` to check whether mrbgem has custom test init function.
2014-07-12 21:41:44 +09:00
take_cheeze 03866f25f8 Run mrbgem and core tests on minimum dependencies.
Solves #2355.

In test drivers:
* Uses `mrb_t_pass_result` to check and pass test result to main `mrb_state`.
* Adds `mrb_init_test_driver` to init test `mrb_state`.
2014-07-12 14:11:18 +09:00
Yukihiro "Matz" Matsumoto 8ef971a373 remove add_conflicts now; use add_conflict; ref #2390 2014-06-13 12:50:00 +09:00
take_cheeze eebb94410f Implement add_conflict. Usage is similar to add_dependency. 2014-06-13 01:07:53 +09:00
take_cheeze 6157e50843 Implement add_conflicts. Solve #2383. 2014-06-12 13:57:58 +09:00
Masaki Muranaka 7b6150ab90 Add include_paths in dependency gems. 2014-06-10 10:55:02 +09:00
Yukihiro "Matz" Matsumoto 2f8047461f Merge pull request #2377 from monaka/pr-add-dot-s-extension
Add ".s" to source extensions.
2014-06-10 00:38:58 +09:00
Masaki Muranaka c6d589e049 Do not export include/ dirs in mrbgems to core build.
In the current behavior, include/ dirs in mrbgems are set to
core's compiler.include_paths.
And they are never set to mrbgem's include_paths.
It may cause some dangerous issues because it can change
mruby core's macros by mrbgems.

After this fix, include/ in a gem is used in the gem itself only.
2014-06-09 23:08:13 +09:00
Masaki Muranaka 9601777893 Add ".s" to source extensions.
It uses ".s" as the source for assembler on some toolchains including GCC.
2014-06-09 22:46:35 +09:00
take_cheeze fb3c2f6b08 Add generator script to dependency so that it will regenerate C codes when it's modified. 2014-06-04 22:53:36 +09:00
Carson McDonald fe09686c2f Fix mgem test args passing 2014-06-03 16:29:42 +09:00
take_cheeze 9ac23ae214 Support extension '.cc' in globbing. 2014-05-20 22:52:08 +09:00
take_cheeze 63bf375b0e Implement default gem info to use when there is no depending gem is defined. 2014-04-23 15:09:01 +09:00
take_cheeze 66e0df34e0 Fix C++ files detection for automatic C++ ABI enabling. 2014-04-07 17:38:30 +09:00
Yukihiro "Matz" Matsumoto 4875f9b461 Merge pull request #2019 from monaka/pr-add-macro-for-mrbgem-version
Pass gem's version information to compilers.
2014-04-06 20:13:25 +09:00
Masaki Muranaka a54176d4a7 Pass gem's version information to compilers. 2014-04-06 11:58:57 +09:00
take_cheeze 69cc80abbc Refactor MRuby::Gem::List#check.
* Create mrbgem table before dependencies check.
* Topoligical sort gem list.
* Check circular mrbgem dependency.
2014-04-04 13:17:27 +09:00
Yukihiro "Matz" Matsumoto 5bcb119ed7 use File#directory? instead of File#exist?; ref c2d8b0 2014-03-21 09:24:28 +09:00
Yukihiro "Matz" Matsumoto c2d8b0303d avoid Dir.exist? that is not available in Ruby1.8 2014-03-21 03:23:26 +09:00
take_cheeze 77fba20480 reduce mrb_open calls in mrbgem test 2014-03-10 04:45:28 +09:00
take_cheeze 9d81487c8b add existing include/ directory only 2014-03-05 14:29:45 +09:00
take_cheeze 78915f9601 support c++ exception 2014-03-01 20:05:29 +09:00
take_cheeze 7201404ee0 compile assert.rb once 2014-02-26 22:01:31 +09:00
cremno aa655b9ee1 remove superfluous includes
- reduce compile time by a little bit (full-core: ~0.7s for me)
- thanks to 'include-what-you-use' for some help
- include Standard C header files before any other (coding style)
2014-01-07 17:56:30 +01:00
William Light 7c3f06ddd8 Implement gembox-relative gemdir paths
In the case where a relative path is specified to a gembox from
build_config.rb, it was previously tricky to specify relative gem paths
from inside that gembox.

For example, consider a project in which mruby is checked out as a
submodule in the project root:

	+- project_root
	   |
	   +- mruby/
	   |  |
	   |  +- build_config.rb
	   |  |
	   |  +- ...
	   |
	   +- my_gembox/
	      |
	      +- my_gembox.gembox
	      |
	      +- my_gem/
	         |
	         +- mrbgem.rake
	         |
	         +- ...

If build_config.rb refers to my_gembox with a relative path, it's
difficult for my_gembox to then refer to my_gem. With this proposed
change, my_gembox.gembox can look like this:

	MRuby::GemBox.new do |conf|
	  conf.gem "my_gem"
	end
2013-10-01 20:21:46 +02:00
Yukihiro "Matz" Matsumoto 975d670ab7 Merge pull request #1490 from take-cheeze/cxx_extension
support file extension .cpp/.cxx in mrbgem and tool
2013-08-26 04:16:13 -07:00
take_cheeze b6ab216f97 support file extension .cpp/.cxx in mrbgem and tool 2013-08-26 17:56:49 +09:00
Carson McDonald 45cba2e27f Fail if dependency isn't found 2013-07-20 22:22:27 -04:00
kyab cf4655683e Remove extra separator in compile command 2013-06-15 01:40:04 +09:00
Yukihiro "Matz" Matsumoto 6557ee938a mruby error messages should be directed to stderr 2013-05-26 02:13:02 +09:00
Yukihiro "Matz" Matsumoto 0b858ab801 show a backtrace when when an error occurs on gem load; close #1243 2013-05-13 10:41:59 +09:00
Carson McDonald 37258d4d7e Change alghorithm to algorithm 2013-05-11 07:46:30 -04:00
Julien Ammous 6af7132866 consider empty version requirements as >= 0.0.0 2013-05-09 10:35:52 +02:00
Julien Ammous 7562b28439 consider gem version to be 0.0.0 unless specified 2013-05-09 10:15:20 +02:00
Daniel Bovensiepen 34f7dd539d Todo is actually already finished :-) 2013-05-09 01:49:53 +08:00
Daniel Bovensiepen a5a7c47e91 Implement GEM dependency check 2013-05-09 01:47:24 +08:00
Yukihiro "Matz" Matsumoto 7d134d941b Merge branch 'bovi-gem-duplication' 2013-05-04 01:23:41 +09:00
Yukihiro "Matz" Matsumoto d0f491d8c3 remove explicit check to honor duck typing 2013-05-04 01:22:26 +09:00
Yukihiro "Matz" Matsumoto 4e16491f06 avoid subclassing Array not to inherit too much methods 2013-05-04 01:21:31 +09:00
Daniel Bovensiepen 1eb2a4b6c8 Move GemList to MRuby::Gem::List. More logical location 2013-05-03 14:19:19 +08:00