diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-15 07:56:39 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-15 07:56:39 +0000 |
commit | 57531305bcafdf37f91a48684d49fd2718ec5ca3 (patch) | |
tree | 4392407a5751f4ab8d50156f4be7b26719375591 /loadpath.c | |
parent | 4425e21343f532cc9bc3d36b77189a20807c2d37 (diff) | |
download | ruby-57531305bcafdf37f91a48684d49fd2718ec5ca3.tar.gz |
loadpath.c: split
* loadpath.c: split load path staffs from version.c.
* dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is
not needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'loadpath.c')
-rw-r--r-- | loadpath.c | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/loadpath.c b/loadpath.c new file mode 100644 index 0000000000..ed52265087 --- /dev/null +++ b/loadpath.c @@ -0,0 +1,87 @@ +/********************************************************************** + + loadpath.c - + + $Author$ + created at: Wed May 15 14:19:50 JST 2013 + + Copyright (C) 2013 Yukihiro Matsumoto + +**********************************************************************/ + +#include "verconf.h" +#include "ruby/ruby.h" +#include "version.h" + +#ifndef RUBY_ARCH +#define RUBY_ARCH RUBY_PLATFORM +#endif +#ifndef RUBY_SITEARCH +#define RUBY_SITEARCH RUBY_ARCH +#endif +#ifdef RUBY_PLATFORM_CPU +#define RUBY_THINARCH RUBY_PLATFORM_CPU"-"RUBY_PLATFORM_OS +#endif +#ifndef RUBY_LIB_PREFIX +#ifndef RUBY_EXEC_PREFIX +#error RUBY_EXEC_PREFIX must be defined +#endif +#define RUBY_LIB_PREFIX RUBY_EXEC_PREFIX"/lib/ruby" +#endif +#ifndef RUBY_SITE_LIB +#define RUBY_SITE_LIB RUBY_LIB_PREFIX"/site_ruby" +#endif +#ifndef RUBY_VENDOR_LIB +#define RUBY_VENDOR_LIB RUBY_LIB_PREFIX"/vendor_ruby" +#endif + +typedef char ruby_lib_version_string[(int)sizeof(RUBY_LIB_VERSION) - 2]; + +#define RUBY_LIB RUBY_LIB_PREFIX "/"RUBY_LIB_VERSION +#define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION +#define RUBY_VENDOR_LIB2 RUBY_VENDOR_LIB "/"RUBY_LIB_VERSION +#ifndef RUBY_ARCH_LIB_FOR +#define RUBY_ARCH_LIB_FOR(arch) RUBY_LIB "/"arch +#endif +#ifndef RUBY_SITE_ARCH_LIB_FOR +#define RUBY_SITE_ARCH_LIB_FOR(arch) RUBY_SITE_LIB2 "/"arch +#endif +#ifndef RUBY_VENDOR_ARCH_LIB_FOR +#define RUBY_VENDOR_ARCH_LIB_FOR(arch) RUBY_VENDOR_LIB2 "/"arch +#endif + +#if !defined(LOAD_RELATIVE) || !LOAD_RELATIVE +const char ruby_exec_prefix[] = RUBY_EXEC_PREFIX; +#endif + +const char ruby_initial_load_paths[] = +#ifndef NO_INITIAL_LOAD_PATH +#ifdef RUBY_SEARCH_PATH + RUBY_SEARCH_PATH "\0" +#endif +#ifndef NO_RUBY_SITE_LIB + RUBY_SITE_LIB2 "\0" +#ifdef RUBY_THINARCH + RUBY_SITE_ARCH_LIB_FOR(RUBY_THINARCH) "\0" +#endif + RUBY_SITE_ARCH_LIB_FOR(RUBY_SITEARCH) "\0" + RUBY_SITE_LIB "\0" +#endif + +#ifndef NO_RUBY_VENDOR_LIB + RUBY_VENDOR_LIB2 "\0" +#ifdef RUBY_THINARCH + RUBY_VENDOR_ARCH_LIB_FOR(RUBY_THINARCH) "\0" +#endif + RUBY_VENDOR_ARCH_LIB_FOR(RUBY_SITEARCH) "\0" + RUBY_VENDOR_LIB "\0" +#endif + + RUBY_LIB "\0" +#ifdef RUBY_THINARCH + RUBY_ARCH_LIB_FOR(RUBY_THINARCH) "\0" +#endif + RUBY_ARCH_LIB_FOR(RUBY_ARCH) "\0" +#endif + ""; + |