1998-01-16 15:13:05 +03:00
|
|
|
SHELL = /bin/sh
|
2011-07-31 15:31:55 +04:00
|
|
|
NULLCMD = @NULLCMD@
|
2011-12-14 15:02:00 +04:00
|
|
|
n=$(NULLCMD)
|
2015-02-04 05:12:45 +03:00
|
|
|
ECHO1 = $(V:1=$n)
|
2009-02-24 13:01:08 +03:00
|
|
|
RUNCMD = $(SHELL)
|
2012-12-30 16:57:25 +04:00
|
|
|
CDPATH = .
|
2009-03-06 12:37:31 +03:00
|
|
|
CHDIR = @CHDIR@
|
2009-02-24 11:58:10 +03:00
|
|
|
exec = exec
|
2011-07-08 06:39:15 +04:00
|
|
|
NULL = /dev/null
|
2012-11-19 11:08:13 +04:00
|
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
|
|
|
#### Start of system configuration section. ####
|
|
|
|
|
|
|
|
srcdir = @srcdir@
|
2009-01-25 05:06:29 +03:00
|
|
|
top_srcdir = $(srcdir)
|
2007-06-10 07:06:15 +04:00
|
|
|
hdrdir = $(srcdir)/include
|
2012-02-29 08:07:06 +04:00
|
|
|
PLATFORM_DIR = @PLATFORM_DIR@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
|
|
|
CC = @CC@
|
2010-10-16 05:55:01 +04:00
|
|
|
CPP = @CPP@
|
2012-05-16 09:39:06 +04:00
|
|
|
LD = @LD@
|
2004-12-06 13:42:49 +03:00
|
|
|
YACC = bison
|
1998-01-16 15:13:05 +03:00
|
|
|
PURIFY =
|
1999-01-20 07:59:39 +03:00
|
|
|
AUTOCONF = autoconf
|
2016-01-03 06:12:20 +03:00
|
|
|
ACLOCAL = aclocal
|
2015-03-19 05:04:31 +03:00
|
|
|
CONFIGURE = @CONFIGURE@
|
1998-01-16 15:13:05 +03:00
|
|
|
@SET_MAKE@
|
2004-03-22 02:21:31 +03:00
|
|
|
MKFILES = @MAKEFILES@
|
2007-01-23 09:41:22 +03:00
|
|
|
BASERUBY = @BASERUBY@
|
2014-11-06 13:53:04 +03:00
|
|
|
HAVE_BASERUBY = @HAVE_BASERUBY@
|
2009-07-20 06:13:00 +04:00
|
|
|
TEST_RUNNABLE = @TEST_RUNNABLE@
|
2013-01-04 13:04:58 +04:00
|
|
|
CROSS_COMPILING = @CROSS_COMPILING@
|
2010-03-26 14:19:22 +03:00
|
|
|
DOXYGEN = @DOXYGEN@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
1999-01-20 07:59:39 +03:00
|
|
|
prefix = @prefix@
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
exec_prefix = @exec_prefix@
|
|
|
|
bindir = @bindir@
|
|
|
|
sbindir = @sbindir@
|
|
|
|
libdir = @libdir@
|
|
|
|
libexecdir = @libexecdir@
|
2006-06-25 18:03:10 +04:00
|
|
|
datarootdir = @datarootdir@
|
2004-02-09 11:48:55 +03:00
|
|
|
datadir = @datadir@
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
arch = @arch@
|
|
|
|
sitearch = @sitearch@
|
|
|
|
sitedir = @sitedir@
|
2013-02-23 10:20:19 +04:00
|
|
|
archlibdir = @archlibdir@
|
2009-02-19 09:47:13 +03:00
|
|
|
ruby_version = @ruby_version@
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
|
2004-02-09 11:48:55 +03:00
|
|
|
TESTUI = console
|
|
|
|
TESTS =
|
2009-09-16 11:20:19 +04:00
|
|
|
INSTALLDOC = @INSTALLDOC@
|
|
|
|
DOCTARGETS = @RDOCTARGET@ @CAPITARGET@
|
2004-02-09 11:48:55 +03:00
|
|
|
|
2005-01-31 18:19:27 +03:00
|
|
|
EXTOUT = @EXTOUT@
|
2007-06-10 07:06:15 +04:00
|
|
|
arch_hdrdir = $(EXTOUT)/include/$(arch)
|
2015-01-18 06:56:52 +03:00
|
|
|
VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir):$(srcdir)/missing
|
2004-02-09 11:48:55 +03:00
|
|
|
|
2005-11-11 02:22:03 +03:00
|
|
|
empty =
|
2013-03-22 11:57:09 +04:00
|
|
|
CC_VERSION = @CC_VERSION@
|
2005-11-11 02:22:03 +03:00
|
|
|
OUTFLAG = @OUTFLAG@$(empty)
|
2007-12-24 06:49:56 +03:00
|
|
|
COUTFLAG = @COUTFLAG@$(empty)
|
2009-02-07 12:02:50 +03:00
|
|
|
ARCH_FLAG = @ARCH_FLAG@
|
2014-06-01 23:32:17 +04:00
|
|
|
CFLAGS_NO_ARCH = @CFLAGS@
|
|
|
|
CFLAGS = $(CFLAGS_NO_ARCH) $(ARCH_FLAG)
|
2008-05-08 11:41:23 +04:00
|
|
|
cflags = @cflags@
|
|
|
|
optflags = @optflags@
|
|
|
|
debugflags = @debugflags@
|
2012-09-16 03:58:04 +04:00
|
|
|
warnflags = @warnflags@ @strict_warnflags@
|
2013-12-17 08:32:51 +04:00
|
|
|
cppflags = @cppflags@
|
2010-10-26 13:09:45 +04:00
|
|
|
XCFLAGS = @XCFLAGS@
|
mjit.c: merge MJIT infrastructure
that allows to JIT-compile Ruby methods by generating C code and
using C compiler. See the first comment of mjit.c to know what this
file does.
mjit.c is authored by Vladimir Makarov <vmakarov@redhat.com>.
After he invented great method JIT infrastructure for MRI as MJIT,
Lars Kanis <lars@greiz-reinsdorf.de> sent the patch to support MinGW
in MJIT. In addition to merging it, I ported pthread to Windows native
threads. Now this MJIT infrastructure can be compiled on Visual Studio.
This commit simplifies mjit.c to decrease code at initial merge. For
example, this commit does not provide multiple JIT threads support.
We can resurrect them later if we really want them, but I wanted to minimize
diff to make it easier to review this patch.
`/tmp/_mjitXXX` file is renamed to `/tmp/_ruby_mjitXXX` because non-Ruby
developers may not know the name "mjit" and the file name should make
sure it's from Ruby and not from some harmful programs. TODO: it may be
better to store this to some temporary directory which Ruby is already using
by Tempfile, if it's not bad for performance.
mjit.h: New. It has `mjit_exec` interface similar to `vm_exec`, which is
for triggering MJIT. This drops interface for AOT compared to the original
MJIT.
Makefile.in: define macros to let MJIT know the path of MJIT header.
Probably we can refactor this to reduce the number of macros (TODO).
win32/Makefile.sub: ditto.
common.mk: compile mjit.o and mjit_compile.o. Unlike original MJIT, this
commit separates MJIT infrastructure and JIT compiler code as independent
object files. As initial patch is NOT going to have ultra-fast JIT compiler,
it's likely to replace JIT compiler, e.g. original MJIT's compiler or some
future JIT impelementations which are not public now.
inits.c: define MJIT module. This is added because `MJIT.enabled?` was
necessary for testing.
test/lib/zombie_hunter.rb: skip if `MJIT.enabled?`. Obviously this
wouldn't work with current code when JIT is enabled.
test/ruby/test_io.rb: skip this too. This would make no sense with MJIT.
ruby.c: define MJIT CLI options. As major difference from original MJIT,
"-j:l"/"--jit:llvm" are renamed to "--jit-cc" because I want to support
not only gcc/clang but also cl.exe (Visual Studio) in the future. But it
takes only "--jit-cc=gcc", "--jit-cc=clang" for now. And only long "--jit"
options are allowed since some Ruby committers preferred it at Ruby
developers Meeting on January, and some of options are renamed.
This file also triggers to initialize MJIT thread and variables.
eval.c: finalize MJIT worker thread and variables.
test/ruby/test_rubyoptions.rb: fix number of CLI options for --jit.
thread_pthread.c: change for pthread abstraction in MJIT. Prefix rb_ for
functions which are used by other files.
thread_win32.c: ditto, for Windows. Those pthread porting is one of major
works that YARV-MJIT created, which is my fork of MJIT, in Feature 14235.
thread.c: follow rb_ prefix changes
vm.c: trigger MJIT call on VM invocation. Also trigger `mjit_mark` to avoid
SEGV by race between JIT and GC of ISeq. The improvement was provided by
wanabe <s.wanabe@gmail.com>.
In JIT compiler I created and am going to add in my next commit, I found
that having `mjit_exec` after `vm_loop_start:` is harmful because the
JIT-ed function doesn't proceed other ISeqs on RESTORE_REGS of leave insn.
Executing non-FINISH frame is unexpected for my JIT compiler and
`exception_handler` triggers executions of such ISeqs. So `mjit_exec`
here should be executed only when it directly comes from `vm_exec` call.
`RubyVM::MJIT` module and `.enabled?` method is added so that we can skip
some tests which don't expect JIT threads or compiler file descriptors.
vm_insnhelper.h: trigger MJIT on method calls during VM execution.
vm_core.h: add fields required for mjit.c. `bp` must be `cfp[6]` because
rb_control_frame_struct is likely to be casted to another struct. The
last position is the safest place to add the new field.
vm_insnhelper.c: save initial value of cfp->ep as cfp->bp. This is an
optimization which are done in both MJIT and YARV-MJIT. So this change
is added in this commit. Calculating bp from ep is a little heavy work,
so bp is kind of cache for it.
iseq.c: notify ISeq GC to MJIT. We should know which iseq in MJIT queue
is GCed to avoid SEGV. TODO: unload some GCed units in some safe way.
gc.c: add hooks so that MJIT can wait GC, and vice versa. Simultaneous
JIT and GC executions may cause SEGV and so we should synchronize them.
cont.c: save continuation information in MJIT worker. As MJIT shouldn't
unload JIT-ed code which is being used, MJIT wants to know full list of
saved execution contexts for continuation and detect ISeqs in use.
mjit_compile.c: added empty JIT compiler so that you can reuse this commit
to build your own JIT compiler. This commit tries to compile ISeqs but
all of them are considered as not supported in this commit. So you can't
use JIT compiler in this commit yet while we added --jit option now.
Patch author: Vladimir Makarov <vmakarov@redhat.com>.
Contributors:
Takashi Kokubun <takashikkbn@gmail.com>.
wanabe <s.wanabe@gmail.com>.
Lars Kanis <lars@greiz-reinsdorf.de>.
Part of Feature 12589 and 14235.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-04 09:58:09 +03:00
|
|
|
CPPFLAGS = @CPPFLAGS@ $(INCFLAGS) -DMJIT_HEADER_BUILD_DIR=\""$(EXTOUT)/include/$(arch)"\" -DLIBRUBYARG_SHARED=\""$(LIBRUBYARG_SHARED)"\" -DLIBRUBY_LIBDIR=\""$(prefix)/lib"\" -DMJIT_HEADER_INSTALL_DIR=\""$(prefix)/include/$(RUBY_BASE_NAME)-$(ruby_version)/$(arch)"\"
|
1998-01-16 15:13:05 +03:00
|
|
|
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
|
2011-11-25 05:41:59 +04:00
|
|
|
EXTLDFLAGS = @EXTLDFLAGS@
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
|
2012-03-16 19:30:01 +04:00
|
|
|
EXTLIBS =
|
1998-01-16 15:13:05 +03:00
|
|
|
LIBS = @LIBS@ $(EXTLIBS)
|
|
|
|
MISSING = @LIBOBJS@ @ALLOCA@
|
2017-05-31 09:03:13 +03:00
|
|
|
ENABLE_SHARED = @ENABLE_SHARED@
|
1999-08-13 09:45:20 +04:00
|
|
|
LDSHARED = @LIBRUBY_LDSHARED@
|
2011-11-27 13:54:12 +04:00
|
|
|
DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)
|
1999-01-20 07:59:39 +03:00
|
|
|
SOLIBS = @SOLIBS@
|
2017-05-15 10:04:48 +03:00
|
|
|
ENABLE_DEBUG_ENV = @ENABLE_DEBUG_ENV@
|
2001-04-01 20:53:41 +04:00
|
|
|
MAINLIBS = @MAINLIBS@
|
2008-04-03 07:56:07 +04:00
|
|
|
ARCHMINIOBJS = @MINIOBJS@
|
2012-11-23 19:00:12 +04:00
|
|
|
DLNOBJ = @DLNOBJ@
|
2012-05-16 09:39:06 +04:00
|
|
|
ENCOBJS = @ENCOBJS@
|
|
|
|
EXTOBJS = @EXTOBJS@
|
2007-12-15 12:56:59 +03:00
|
|
|
BUILTIN_ENCOBJS = @BUILTIN_ENCOBJS@
|
2008-08-24 19:58:43 +04:00
|
|
|
BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@
|
|
|
|
BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
|
2012-05-07 08:41:02 +04:00
|
|
|
POSTLINK = @POSTLINK@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
2009-05-08 05:14:14 +04:00
|
|
|
RUBY_BASE_NAME=@RUBY_BASE_NAME@
|
2016-01-09 03:19:16 +03:00
|
|
|
RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@
|
2017-09-25 09:31:38 +03:00
|
|
|
RUBY_API_VERSION=@RUBY_API_VERSION@
|
1999-08-13 09:45:20 +04:00
|
|
|
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
|
2000-09-04 08:43:26 +04:00
|
|
|
RUBY_SO_NAME=@RUBY_SO_NAME@
|
1999-08-13 09:45:20 +04:00
|
|
|
EXEEXT = @EXEEXT@
|
2012-05-19 06:35:37 +04:00
|
|
|
LIBEXT = @LIBEXT@
|
1999-08-13 09:45:20 +04:00
|
|
|
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
RUBY = $(RUBY_INSTALL_NAME)
|
2010-07-27 14:03:23 +04:00
|
|
|
MINIRUBY = @MINIRUBY@\
|
|
|
|
$(MINIRUBYOPT)
|
2013-09-30 11:07:06 +04:00
|
|
|
# RUNRUBY_COMMAND:: runruby.rb or baseruby. do not append options directly
|
|
|
|
RUNRUBY_COMMAND = @RUNRUBY_COMMAND@
|
|
|
|
# RUNRUBY:: run ruby with RUN_OPTS which is passed to ruby
|
|
|
|
RUNRUBY = @RUNRUBY@ $(RUN_OPTS)
|
|
|
|
# RUNRUBY_DEBUGGER:: debugging option for runruby.rb
|
2012-10-05 11:28:32 +04:00
|
|
|
RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args'
|
2009-10-23 02:32:39 +04:00
|
|
|
XRUBY = @XRUBY@
|
2012-05-17 06:48:59 +04:00
|
|
|
BTESTRUBY = @BTESTRUBY@\
|
|
|
|
$(MINIRUBYOPT)
|
2010-09-24 20:34:56 +04:00
|
|
|
INSTALL = @INSTALL@
|
|
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
|
|
XRUBY_LIBDIR = @XRUBY_LIBDIR@
|
|
|
|
XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
|
|
|
|
XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
|
2015-03-07 05:06:06 +03:00
|
|
|
BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
|
|
|
#### End of system configuration section. ####
|
|
|
|
|
2016-01-09 03:19:16 +03:00
|
|
|
MAJOR= @MAJOR@
|
|
|
|
MINOR= @MINOR@
|
|
|
|
TEENY= @TEENY@
|
2016-01-09 04:44:56 +03:00
|
|
|
RUBY_PROGRAM_VERSION = @RUBY_PROGRAM_VERSION@
|
2016-01-09 03:19:16 +03:00
|
|
|
|
1999-08-13 09:45:20 +04:00
|
|
|
LIBRUBY_A = @LIBRUBY_A@
|
|
|
|
LIBRUBY_SO = @LIBRUBY_SO@
|
2017-10-14 18:35:05 +03:00
|
|
|
LIBRUBY_SONAME= @LIBRUBY_SONAME@
|
1999-08-13 09:45:20 +04:00
|
|
|
LIBRUBY_ALIASES= @LIBRUBY_ALIASES@
|
1999-01-20 07:59:39 +03:00
|
|
|
LIBRUBY = @LIBRUBY@
|
|
|
|
LIBRUBYARG = @LIBRUBYARG@
|
2002-11-14 16:51:19 +03:00
|
|
|
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
|
|
|
|
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
2012-07-03 06:16:08 +04:00
|
|
|
LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@
|
1998-01-16 15:13:05 +03:00
|
|
|
|
2015-02-04 05:12:45 +03:00
|
|
|
DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS))
|
2015-01-27 08:39:52 +03:00
|
|
|
|
|
|
|
DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \
|
|
|
|
eval.$(OBJEXT) \
|
|
|
|
gc.$(OBJEXT) \
|
|
|
|
hash.$(OBJEXT) \
|
|
|
|
load.$(OBJEXT) \
|
|
|
|
object.$(OBJEXT) \
|
|
|
|
parse.$(OBJEXT) \
|
|
|
|
string.$(OBJEXT) \
|
|
|
|
symbol.$(OBJEXT) \
|
|
|
|
vm.$(OBJEXT)
|
|
|
|
|
2007-02-28 04:33:57 +03:00
|
|
|
THREAD_MODEL = @THREAD_MODEL@
|
|
|
|
|
2015-10-04 18:43:58 +03:00
|
|
|
PREP = @PREP@
|
2004-02-22 06:58:44 +03:00
|
|
|
ARCHFILE = @ARCHFILE@
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
SETUP =
|
2003-08-12 06:12:48 +04:00
|
|
|
EXTSTATIC = @EXTSTATIC@
|
2014-07-03 07:40:24 +04:00
|
|
|
ENCSTATIC = @ENCSTATIC@
|
2008-07-03 02:06:05 +04:00
|
|
|
SET_LC_MESSAGES = env LC_MESSAGES=C
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
|
2009-08-13 11:20:16 +04:00
|
|
|
MAKEDIRS = @MKDIR_P@
|
2007-12-11 10:19:28 +03:00
|
|
|
CP = cp
|
|
|
|
MV = mv
|
2004-03-22 02:21:31 +03:00
|
|
|
RM = rm -f
|
2010-07-22 01:26:56 +04:00
|
|
|
RMDIR = @RMDIR@
|
2009-01-25 05:06:29 +03:00
|
|
|
RMDIRS = @RMDIRS@
|
2009-06-09 05:58:51 +04:00
|
|
|
RMALL = @RMALL@
|
2004-03-22 02:21:31 +03:00
|
|
|
NM = @NM@
|
|
|
|
AR = @AR@
|
2017-07-31 07:04:10 +03:00
|
|
|
ARFLAGS = @ARFLAGS@$(empty)
|
2004-03-22 02:21:31 +03:00
|
|
|
RANLIB = @RANLIB@
|
2006-07-26 17:28:17 +04:00
|
|
|
AS = @AS@
|
2010-10-26 13:09:45 +04:00
|
|
|
ASFLAGS = @ASFLAGS@ $(INCFLAGS)
|
2008-01-25 12:27:30 +03:00
|
|
|
IFCHANGE = $(srcdir)/tool/ifchange
|
2008-05-27 14:12:46 +04:00
|
|
|
SET_LC_MESSAGES = env LC_MESSAGES=C
|
2008-12-07 17:17:36 +03:00
|
|
|
OBJDUMP = @OBJDUMP@
|
|
|
|
OBJCOPY = @OBJCOPY@
|
2017-04-10 04:22:48 +03:00
|
|
|
HAVE_GIT = @HAVE_GIT@
|
|
|
|
GIT = @GIT@
|
2009-01-16 11:33:02 +03:00
|
|
|
VCS = @VCS@
|
|
|
|
VCSUP = @VCSUP@
|
2016-12-17 10:48:58 +03:00
|
|
|
DTRACE = @DTRACE@ @DTRACE_OPT@
|
2012-11-16 19:22:37 +04:00
|
|
|
DTRACE_EXT = @DTRACE_EXT@
|
2015-01-27 08:39:52 +03:00
|
|
|
DTRACE_OBJ = @DTRACE_OBJ@
|
2015-02-04 05:12:45 +03:00
|
|
|
DTRACE_REBUILD= @DTRACE_REBUILD@
|
|
|
|
DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT))
|
2004-03-22 02:21:31 +03:00
|
|
|
|
|
|
|
OBJEXT = @OBJEXT@
|
2007-02-02 21:23:07 +03:00
|
|
|
ASMEXT = S
|
2017-10-14 18:35:05 +03:00
|
|
|
SOEXT = @SOEXT@
|
2007-12-15 12:56:59 +03:00
|
|
|
DLEXT = @DLEXT@
|
2003-01-20 15:51:50 +03:00
|
|
|
MANTYPE = @MANTYPE@
|
2010-11-11 14:45:32 +03:00
|
|
|
SYMBOL_PREFIX = @SYMBOL_PREFIX@
|
2003-01-20 15:51:50 +03:00
|
|
|
|
2006-09-16 11:06:57 +04:00
|
|
|
INSTALLED_LIST= .installed.list
|
2009-02-24 13:01:08 +03:00
|
|
|
|
2015-01-18 06:56:52 +03:00
|
|
|
NEWLINE_C = enc/trans/newline.c
|
2012-03-26 09:08:55 +04:00
|
|
|
MINIPRELUDE_C = miniprelude.c
|
2014-11-11 13:29:00 +03:00
|
|
|
PRELUDE_C = prelude.c
|
2013-01-04 15:19:19 +04:00
|
|
|
RBCONFIG = .rbconfig.time
|
2012-03-26 09:08:55 +04:00
|
|
|
|
2017-05-15 10:04:48 +03:00
|
|
|
MAINSRC = $(MAINOBJ:@OBJEXT@=c)
|
|
|
|
|
2009-03-15 03:17:21 +03:00
|
|
|
SRC_FILE = $<
|
2012-11-16 19:22:37 +04:00
|
|
|
OS_SRC_FILE = $<
|
|
|
|
DEST_FILE = $@
|
|
|
|
OS_DEST_FILE = $@
|
2010-11-13 10:38:01 +03:00
|
|
|
|
|
|
|
MESSAGE_BEGIN = @for line in
|
|
|
|
MESSAGE_END = ; do echo "$$line"; done
|
2013-02-09 19:16:15 +04:00
|
|
|
ECHO_BEGIN = @sep=''; for word in
|
|
|
|
ECHO_END = ; do echo @ECHO_N@ "$$sep'$$word'@ECHO_C@"; sep=' '; done; echo
|
2010-11-18 01:37:48 +03:00
|
|
|
|
2014-07-18 05:47:01 +04:00
|
|
|
DESTDIR = @DESTDIR@
|
|
|
|
|
2010-11-18 01:37:48 +03:00
|
|
|
configure_args = @configure_args@
|
2004-03-22 02:21:31 +03:00
|
|
|
#### End of variables
|
|
|
|
|
2012-11-19 05:04:53 +04:00
|
|
|
.SUFFIXES: .inc .h .c .y .i .$(DTRACE_EXT)
|
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
all:
|
2003-01-25 21:59:34 +03:00
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
# Prevent GNU make v3 from overflowing arg limit on SysV.
|
|
|
|
.NOEXPORT:
|
1998-01-16 15:13:05 +03:00
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
miniruby$(EXEEXT):
|
2009-08-22 08:17:38 +04:00
|
|
|
@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
|
2010-11-11 15:46:23 +03:00
|
|
|
$(ECHO) linking $@
|
2015-03-08 09:30:32 +03:00
|
|
|
$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@
|
2017-06-11 08:36:56 +03:00
|
|
|
$(Q) $(POSTLINK)
|
1998-01-16 15:13:05 +03:00
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
$(PROGRAM):
|
|
|
|
@$(RM) $@
|
2010-11-11 15:46:23 +03:00
|
|
|
$(ECHO) linking $@
|
2013-03-04 09:13:48 +04:00
|
|
|
$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@
|
2012-05-07 08:41:02 +04:00
|
|
|
$(Q) $(POSTLINK)
|
2004-02-09 11:48:55 +03:00
|
|
|
|
* gc.c (Init_stack): stack region is far smaller than usual if
pthread is used.
* marshal.c (w_extended): singleton methods should not be checked
when dumping via marshal_dump() or _dump(). [ruby-talk:85909]
* file.c (getcwdofdrv): avoid using getcwd() directly, use
my_getcwd() instead.
* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
<sunshine@sunshineco.com>. [ruby-core:01596]
* marshal.c (w_object): LINK check earlier than anything else,
i.e. do not dump TYPE_IVAR for already dumped objects.
(ruby-bugs PR#1220)
* eval.c (rb_eval): call "inherited" only when a new class is
generated; not on reopening.
* eval.c (eval): prepend error position in evaluating string to
* configure.in: revived NextStep, OpenStep, and Rhapsody ports which
had become unbuildable; enhanced --enable-fat-binary option so that
it accepts a list of desired architectures (rather than assuming a
fixed list), or defaults to a platform-appropriate list if user does
not provide an explicit list; made the default list of architectures
for MAB (fat binary) more comprehensive; now uses -fno-common even
when building the interpreter (in addition to using it for
extensions), thus allowing the interpreter to be embedded into a
plugin module of an external project (in addition to allowing
embedding directly into an application); added checks for
<netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
ensures that -I/usr/local/include is employed when extensions'
extconf.rb scripts invoke have_header() since extension checks on
NextStep and OpenStep will fail without it if the desired resource
resides in the /usr/local tree; fixed formatting of --help message.
* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
(see configure's --enable-fat-binary option); added rule for new
missing/getcwd.c.
* defines.h: fixed endian handling during MAB build (see configure's
--enable-fat-binary option) to ensure that all portions of the
project see the correct WORDS_BIGENDIAN value (some extension modules
were getting the wrong endian setting); added missing constants
GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
define in NeXT section.
* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
NextStep since, on some installations, this value always resolves
uselessly to zero.
* dln.c: added error reporting to NextStep extension loader since the
previous behavior of failing silently was not useful; now ensures
that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
on Rhapsody since this header lacks multiple-include protection,
which resulted in "redefinition" compilation errors.
* main.c: also create hard reference to objc_msgSend() on NeXT
platforms (in addition to Apple platforms).
* lib/mkmf.rb: now exports XCFLAGS from configure script to extension
makefiles so that extensions can be built MAB (see configure's
--enable-fat-binary option); also utilize XCFLAGS in cc_command()
(but not cpp_command() because MAB flags are incompatible with
direct invocation of `cpp').
* ext/curses/extconf.rb: now additionally checks for presence of these
curses functions which are not present on NextStep or Openstep:
bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
wscrl(), wsetscrreg()
* ext/curses/curses.c: added appropriate #ifdef's for additional set of
curses functions now checked by extconf.rb; fixed curses_bkgd() and
window_bkgd() to correctly return boolean result rather than numeric
result; fixed window_getbkgd() to correctly signal an error by
returning nil rather than -1.
* ext/etc/etc.c: setup_passwd() and setup_group() now check for null
pointers before invoking rb_tainted_str_new2() upon fields extracted
from `struct passwd' and `struct group' since null pointers in some
fields are common on NextStep/OpenStep (especially so for the
`pw_comment' field) and rb_tainted_str_new2() throws an exception
when it receives a null pointer.
* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup().
* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
gethostbyaddr(), and gethostbyname() from (const char*) to non-const
(char*) for older platforms such as NextStep and OpenStep.
* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup(); include
<netinet/in_systm.h> if present for NextStep and OpenStep; cast first
argument of gethostbyaddr() and getservbyname() from (const char*) to
non-const (char*) for older platforms.
* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
platforms such as NextStep and OpenStep which lack strdup().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 07:00:03 +03:00
|
|
|
# We must `rm' the library each time this rule is invoked because "updating" a
|
|
|
|
# MAB library on Apple/NeXT (see --enable-fat-binary in configure) is not
|
|
|
|
# supported.
|
2004-03-22 02:21:31 +03:00
|
|
|
$(LIBRUBY_A):
|
|
|
|
@$(RM) $@
|
2010-11-11 15:46:23 +03:00
|
|
|
$(ECHO) linking static-library $@
|
2014-11-27 23:04:48 +03:00
|
|
|
$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)
|
2004-03-22 02:21:31 +03:00
|
|
|
@-$(RANLIB) $@ 2> /dev/null || true
|
2017-02-27 08:14:30 +03:00
|
|
|
|
|
|
|
verify-static-library: $(LIBRUBY_A)
|
2012-05-16 09:39:06 +04:00
|
|
|
$(ECHO) verifying static-library $@
|
2013-09-12 16:47:49 +04:00
|
|
|
@$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)
|
2017-02-27 08:14:30 +03:00
|
|
|
@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM
|
1999-01-20 07:59:39 +03:00
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
$(LIBRUBY_SO):
|
2006-10-01 19:00:45 +04:00
|
|
|
@-$(PRE_LIBRUBY_UPDATE)
|
2010-11-11 15:46:23 +03:00
|
|
|
$(ECHO) linking shared-library $@
|
2015-01-30 14:45:29 +03:00
|
|
|
$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@
|
2015-02-23 10:05:23 +03:00
|
|
|
-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)ruby_static_id_*' \
|
2017-10-29 02:54:16 +03:00
|
|
|
-L '$(SYMBOL_PREFIX)*_threadptr_*' -L '$(SYMBOL_PREFIX)*_ec_*' $@
|
2012-12-10 09:05:32 +04:00
|
|
|
$(Q) $(POSTLINK)
|
2013-03-21 09:26:32 +04:00
|
|
|
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link rescue nil; \
|
1999-08-13 09:45:20 +04:00
|
|
|
File.symlink "$(LIBRUBY_SO)", link}' \
|
|
|
|
$(LIBRUBY_ALIASES) || true
|
1998-01-16 15:13:05 +03:00
|
|
|
|
2010-10-25 19:29:32 +04:00
|
|
|
ruby_pc = @ruby_pc@
|
2010-10-26 07:47:15 +04:00
|
|
|
$(ruby_pc):
|
2010-10-25 19:29:32 +04:00
|
|
|
@./config.status --file=$@:$(srcdir)/template/ruby.pc.in
|
|
|
|
|
2016-04-14 04:30:12 +03:00
|
|
|
ruby-runner.h: template/ruby-runner.h.in
|
2015-10-03 18:09:47 +03:00
|
|
|
@./config.status --file=$@:$(srcdir)/template/$(@F).in
|
|
|
|
|
2015-12-05 11:48:28 +03:00
|
|
|
$(RBCONFIG): $(PREP)
|
2015-03-07 05:06:11 +03:00
|
|
|
|
2015-05-07 05:39:59 +03:00
|
|
|
rbconfig.rb: $(RBCONFIG)
|
|
|
|
|
2010-09-24 20:34:56 +04:00
|
|
|
install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \
|
|
|
|
$(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE)
|
2010-11-11 16:03:42 +03:00
|
|
|
$(ECHO) installing cross-compiling stuff
|
2010-11-12 14:51:42 +03:00
|
|
|
$(Q) $(MAKEDIRS) $(XRUBY_RUBYLIBDIR)/$(arch) $(XRUBY_RUBYHDRDIR)/$(arch)/ruby
|
|
|
|
$(Q) sed '/^\$$:\.unshift/q' $(arch)-fake.rb > fake.rb
|
|
|
|
$(Q) $(BASERUBY) -p \
|
2010-09-24 20:34:56 +04:00
|
|
|
-e '~/^\s*CONFIG\["LDFLAGS"\]/ and' \
|
|
|
|
-e '$$_[/(?=\s*"$$)/] = %q[ #{(CONFIG["LIBPATHFLAG"]%File.dirname(__FILE__)).strip}]' \
|
|
|
|
rbconfig.rb > fake-rbconfig.rb
|
|
|
|
$(INSTALL_SCRIPT) fake.rb $(XRUBY_RUBYLIBDIR)/$(arch)/fake.rb
|
|
|
|
$(INSTALL_SCRIPT) fake-rbconfig.rb $(XRUBY_RUBYLIBDIR)/$(arch)/rbconfig.rb
|
|
|
|
@$(RM) fake.rb fake-rbconfig.rb
|
|
|
|
$(INSTALL_DATA) $(arch_hdrdir)/ruby/config.h $(XRUBY_RUBYHDRDIR)/$(arch)/ruby
|
|
|
|
$(INSTALL_DATA) $(top_srcdir)/include/ruby/win32.h $(XRUBY_RUBYHDRDIR)/ruby
|
|
|
|
$(INSTALL_DATA) $(LIBRUBY) $(LIBRUBY_A) $(XRUBY_RUBYLIBDIR)/$(arch)
|
|
|
|
$(INSTALL_PROGRAM) $(LIBRUBY_SO) $(XRUBY_RUBYLIBDIR)/$(arch)
|
|
|
|
|
2008-01-08 16:35:24 +03:00
|
|
|
Makefile: $(srcdir)/Makefile.in $(srcdir)/enc/Makefile.in
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
|
2014-06-17 00:23:23 +04:00
|
|
|
$(MKFILES): config.status $(srcdir)/version.h
|
2013-10-13 07:49:48 +04:00
|
|
|
@[ -f $@ ] && mv $@ $@.old
|
|
|
|
MAKE=$(MAKE) $(SHELL) ./config.status $@
|
|
|
|
@cmp $@ $@.old > /dev/null 2>&1 && echo $@ unchanged && exit 0; \
|
2013-01-10 12:45:42 +04:00
|
|
|
{ \
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
echo "all:; -@rm -f conftest.mk"; \
|
|
|
|
echo "conftest.mk: .force; @echo AUTO_REMAKE"; \
|
|
|
|
echo ".force:"; \
|
2003-08-16 18:58:34 +04:00
|
|
|
} > conftest.mk || exit 1; \
|
|
|
|
$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \
|
2013-10-13 07:49:48 +04:00
|
|
|
{ echo "$@ updated, restart."; exit 1; }
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 18:17:44 +04:00
|
|
|
|
2008-08-14 07:01:42 +04:00
|
|
|
uncommon.mk: $(srcdir)/common.mk
|
|
|
|
sed 's/{\$$([^(){}]*)[^{}]*}//g' $< > $@
|
|
|
|
|
2010-11-18 01:37:48 +03:00
|
|
|
.PHONY: reconfig
|
2015-03-21 03:11:20 +03:00
|
|
|
reconfig-args = $(srcdir)/$(CONFIGURE) $(configure_args)
|
2010-11-18 01:37:48 +03:00
|
|
|
config.status-args = ./config.status --recheck
|
2015-12-05 05:57:39 +03:00
|
|
|
reconfig-exec-0 = test -t 1 && { CONFIGURE_TTY=yes; export CONFIGURE_TTY; }; exec 3>&1; exit `exec 4>&1; { "$$@" 3>&- 4>&-; echo $$? 1>&4; } | fgrep -v '(cached)' 1>&3 3>&- 4>&-`
|
2010-11-18 01:37:48 +03:00
|
|
|
reconfig-exec-1 = set -x; "$$@"
|
|
|
|
|
2015-03-21 03:11:20 +03:00
|
|
|
reconfig config.status: $(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \
|
2012-04-17 08:55:14 +04:00
|
|
|
$(srcdir)/include/ruby/version.h
|
2010-03-12 01:09:25 +03:00
|
|
|
@PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \
|
2010-11-18 01:37:48 +03:00
|
|
|
set $(SHELL) $($@-args); $(reconfig-exec-$(V))
|
1999-01-20 07:59:39 +03:00
|
|
|
|
2017-09-29 16:21:17 +03:00
|
|
|
$(srcdir)/$(CONFIGURE): $(srcdir)/configure.ac $(srcdir)/aclocal.m4
|
2015-03-19 05:04:31 +03:00
|
|
|
$(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F)
|
1999-01-20 07:59:39 +03:00
|
|
|
|
2016-01-03 17:19:09 +03:00
|
|
|
$(srcdir)/aclocal.m4:
|
2016-01-03 13:22:12 +03:00
|
|
|
$(CHDIR) $(srcdir) && \
|
|
|
|
type $(ACLOCAL) >/dev/null 2>&1 && exec $(ACLOCAL); \
|
|
|
|
touch $(@F)
|
2016-01-03 06:12:20 +03:00
|
|
|
|
2017-04-02 06:05:10 +03:00
|
|
|
prereq: $(srcdir)/$(CONFIGURE)
|
|
|
|
|
2012-11-16 12:56:49 +04:00
|
|
|
incs: id.h
|
|
|
|
all-incs: probes.h
|
* probes.d: add DTrace probe declarations. [ruby-core:27448]
* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.
* compile.c (rb_insns_name): allowing DTrace probes to access
instruction sequence name.
* Makefile.in: translate probes.d file to appropriate header file.
* common.mk: declare dependencies on the DTrace header.
* configure.in: add a test for existence of DTrace.
* eval.c (setup_exception): add a probe for when an exception is
raised.
* gc.c: Add DTrace probes for mark begin and end, and sweep begin and
end.
* hash.c (empty_hash_alloc): Add a probe for hash allocation.
* insns.def: Add probes for function entry and return.
* internal.h: function declaration for compile.c change.
* load.c (rb_f_load): add probes for `load` entry and exit, require
entry and exit, and wrapping search_required for load path search.
* object.c (rb_obj_alloc): added a probe for general object creation.
* parse.y (yycompile0): added a probe around parse and compile phase.
* string.c (empty_str_alloc, str_new): DTrace probes for string
allocation.
* test/dtrace/*: tests for DTrace probes.
* vm.c (vm_invoke_proc): add probes for function return on exception
raise, hash create, and instruction sequence execution.
* vm_core.h: add probe declarations for function entry and exit.
* vm_dump.c: add probes header file.
* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
function entry and return.
* vm_exec.c: expose instruction number to instruction name function.
* vm_insnshelper.c: add function entry and exit probes for cfunc
methods.
* vm_insnhelper.h: vm usage information is always collected, so
uncomment the functions.
12 19:14:50 2012 Akinori MUSHA <knu@iDaemons.org>
* configure.in (isinf, isnan): isinf() and isnan() are macros on
DragonFly which cannot be found by AC_REPLACE_FUNCS(). This
workaround enforces the fact that they exist on DragonFly.
12 15:59:38 2012 Shugo Maeda <shugo@ruby-lang.org>
* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
vm_insnhelper.c (vm_search_method): revert r37616 because it's too
slow. [ruby-dev:46477]
* test/ruby/test_refinement.rb (test_inline_method_cache): skip
the test until the bug is fixed efficiently.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 01:52:12 +04:00
|
|
|
|
2007-11-11 10:56:30 +03:00
|
|
|
# Things which should be considered:
|
|
|
|
# * with gperf v.s. without gperf
|
2009-10-13 15:43:01 +04:00
|
|
|
# * committers may have various versions of gperf
|
2007-11-11 10:56:30 +03:00
|
|
|
# * ./configure v.s. ../ruby/configure
|
|
|
|
# * GNU make v.s. HP-UX make # HP-UX make invokes the action if lex.c and keywords has same mtime.
|
2007-11-11 12:27:05 +03:00
|
|
|
# * svn checkout generate a file with mtime as current time
|
2009-10-13 15:43:01 +04:00
|
|
|
# * ext4 and XFS has a mtime with fractional part
|
2008-10-19 02:30:13 +04:00
|
|
|
lex.c: defs/keywords
|
2008-08-13 08:09:15 +04:00
|
|
|
@\
|
2008-10-19 02:30:13 +04:00
|
|
|
if cmp -s $(srcdir)/defs/lex.c.src $?; then \
|
2010-11-17 12:32:44 +03:00
|
|
|
[ $(Q) ] && echo copying $@ || set -x; \
|
2009-08-22 08:17:38 +04:00
|
|
|
$(CP) $(srcdir)/lex.c.blt $@; \
|
2007-11-11 10:56:30 +03:00
|
|
|
else \
|
2010-11-17 12:32:44 +03:00
|
|
|
[ $(Q) ] && echo generating $@ || set -x; \
|
2015-07-22 03:37:09 +03:00
|
|
|
gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \
|
2017-12-08 08:51:19 +03:00
|
|
|
| sed -f $(srcdir)/tool/gperf.sed \
|
2015-07-22 03:37:09 +03:00
|
|
|
> $@.tmp && \
|
2009-08-22 08:17:38 +04:00
|
|
|
$(MV) $@.tmp $@ && \
|
|
|
|
$(CP) $? $(srcdir)/defs/lex.c.src && \
|
|
|
|
$(CP) $@ $(srcdir)/lex.c.blt; \
|
2007-11-11 10:56:30 +03:00
|
|
|
fi
|
1998-01-16 15:19:22 +03:00
|
|
|
|
2014-05-22 09:02:15 +04:00
|
|
|
JIS_PROPS_OPTIONS = -k1,3 -7 -c -j1 -i1 -t -C -P -t --ignore-case -H onig_jis_property_hash -Q onig_jis_property_pool -N onig_jis_property
|
|
|
|
|
2017-04-22 03:10:28 +03:00
|
|
|
$(srcdir)/enc/jis/props.h: enc/jis/props.kwd
|
2014-05-22 09:02:15 +04:00
|
|
|
$(MAKEDIRS) $(@D)
|
|
|
|
@set +e; \
|
|
|
|
if cmp -s $(?:.kwd=.src) $?; then \
|
|
|
|
set -x; \
|
|
|
|
$(CP) $(?:.kwd=.h.blt) $@; \
|
|
|
|
else \
|
|
|
|
set -x; \
|
2014-05-22 19:09:11 +04:00
|
|
|
gperf $(JIS_PROPS_OPTIONS) $? | \
|
2017-12-08 08:51:19 +03:00
|
|
|
sed -f $(srcdir)/tool/gperf.sed > $@ && \
|
2014-05-22 09:02:15 +04:00
|
|
|
$(CP) $? $(?:.kwd=.src) && \
|
|
|
|
$(CP) $@ $(?:.kwd=.h.blt); \
|
|
|
|
fi
|
|
|
|
|
2004-03-22 02:21:31 +03:00
|
|
|
.c.@OBJEXT@:
|
2010-11-11 15:46:23 +03:00
|
|
|
@$(ECHO) compiling $<
|
2010-11-12 14:51:42 +03:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $<
|
2000-05-14 13:36:29 +04:00
|
|
|
|
2006-07-26 17:28:17 +04:00
|
|
|
.s.@OBJEXT@:
|
2010-11-11 15:46:23 +03:00
|
|
|
@$(ECHO) assembling $<
|
2010-11-12 14:51:42 +03:00
|
|
|
$(Q) $(AS) $(ASFLAGS) -o $@ $<
|
2006-07-26 17:28:17 +04:00
|
|
|
|
2007-02-02 21:23:07 +03:00
|
|
|
.c.S:
|
2010-11-11 15:46:23 +03:00
|
|
|
@$(ECHO) translating $<
|
2010-11-12 14:51:42 +03:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -S $<
|
2007-02-02 21:23:07 +03:00
|
|
|
|
2009-03-16 03:29:00 +03:00
|
|
|
.c.i:
|
2010-11-11 15:46:23 +03:00
|
|
|
@$(ECHO) preprocessing $<
|
2012-06-13 12:50:42 +04:00
|
|
|
$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $< > $@
|
2009-03-16 03:29:00 +03:00
|
|
|
|
2012-11-16 19:22:37 +04:00
|
|
|
.d.h:
|
|
|
|
@$(ECHO) translating probes $<
|
2012-11-22 12:01:49 +04:00
|
|
|
$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $<
|
2015-10-29 08:33:16 +03:00
|
|
|
$(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/RUBY_PROBES_H/' -e 's/(char \*/(const char */g' -e 's/, char \*/, const char */g' $@.tmp > $@
|
2012-11-16 19:22:37 +04:00
|
|
|
$(Q) $(RM) $@.tmp
|
2012-11-13 10:35:30 +04:00
|
|
|
|
2012-11-22 15:25:01 +04:00
|
|
|
.dmyh.h:
|
2016-01-09 06:32:43 +03:00
|
|
|
@$(ECHO) making dummy $(DEST_FILE)
|
|
|
|
$(Q)echo '#include "$(*F).dmyh"' > $@
|
2012-11-22 13:16:48 +04:00
|
|
|
|
2015-02-04 05:12:45 +03:00
|
|
|
probes.stamp: $(DTRACE_REBUILD_OBJS)
|
|
|
|
$(Q) if test -f $@ -o -f probes.$(OBJEXT); then \
|
|
|
|
$(RM) $(DTRACE_REBUILD_OBJS) $@; \
|
|
|
|
$(ECHO0) "rebuilding objects which were modified by \"dtrace -G\""; \
|
|
|
|
$(MAKE) $(DTRACE_REBUILD_OBJS); \
|
|
|
|
fi
|
|
|
|
$(Q) touch $@
|
|
|
|
|
2015-03-13 04:55:44 +03:00
|
|
|
probes.@OBJEXT@: $(srcdir)/probes.d $(DTRACE_REBUILD:yes=probes.stamp)
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
@$(ECHO) processing probes in object files
|
2015-02-04 05:12:45 +03:00
|
|
|
$(Q) $(RM) $@
|
|
|
|
$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_OBJS)
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
|
2018-02-04 08:49:21 +03:00
|
|
|
rb_mjit_header.h: PHONY probes.h
|
|
|
|
$(ECHO) building $@
|
2018-02-04 12:48:44 +03:00
|
|
|
$(Q) $(CC) $(CFLAGS_NO_ARCH) $(XCFLAGS) $(CPPFLAGS) -DMJIT_HEADER $(srcdir)/vm.c $(COUTFLAG) $@.new -E -P -dD
|
2018-02-04 12:13:19 +03:00
|
|
|
$(Q) $(IFCHANGE) $@ $@.new
|
2018-02-04 08:49:21 +03:00
|
|
|
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
# DTrace static library hacks described here:
|
|
|
|
# http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html
|
2015-02-03 13:43:27 +03:00
|
|
|
ruby-glommed.$(OBJEXT):
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
@$(ECHO) generating a glommed object with DTrace probes for static library
|
2015-02-03 13:43:27 +03:00
|
|
|
$(Q) $(LD) -r -o $@ $(OBJS)
|
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 12:24:24 +04:00
|
|
|
|
2004-03-23 08:32:01 +03:00
|
|
|
clean-local::
|
2012-05-16 09:39:06 +04:00
|
|
|
$(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \
|
|
|
|
enc/encinit.c enc/encinit.$(OBJEXT)
|
2010-12-30 14:18:12 +03:00
|
|
|
-$(Q)$(RM) $(pkgconfig_DATA)
|
2017-09-17 07:14:51 +03:00
|
|
|
-$(Q)$(RMALL) exe/ ruby-runner.h *.dSYM
|
2004-03-23 08:32:01 +03:00
|
|
|
|
|
|
|
distclean-local::
|
2010-12-30 14:18:12 +03:00
|
|
|
$(Q)$(RM) ext/config.cache $(RBCONFIG) Doxyfile
|
|
|
|
-$(Q)$(RM) run.gdb
|
2012-05-03 20:57:51 +04:00
|
|
|
-$(Q)$(RM) $(INSTALLED_LIST) $(arch_hdrdir)/ruby/config.h verconf.h
|
2010-12-30 14:18:12 +03:00
|
|
|
-$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2> /dev/null || true
|
2009-01-25 05:06:29 +03:00
|
|
|
|
2017-03-01 10:53:15 +03:00
|
|
|
ext/clean.sub gems/clean.sub:: ext/clean.mk
|
|
|
|
ext/distclean.sub gems/distclean.sub:: ext/distclean.mk
|
|
|
|
ext/realclean.sub gems/realclean.sub:: ext/realclean.mk
|
|
|
|
|
|
|
|
ext/clean.mk ext/distclean.mk ext/realclean.mk::
|
2017-03-29 12:24:10 +03:00
|
|
|
-$(Q) if [ -f $(EXTS_MK) ]; then exec $(MAKE) -f $(EXTS_MK) $(@F:.mk=); fi
|
2017-03-01 10:53:15 +03:00
|
|
|
|
|
|
|
ext/clean:: ext/clean.sub
|
|
|
|
ext/distclean:: ext/distclean.sub
|
|
|
|
ext/realclean:: ext/realclean.sub
|
|
|
|
gems/clean:: gems/clean.sub
|
|
|
|
gems/distclean:: gems/distclean.sub
|
|
|
|
gems/realclean:: gems/realclean.sub
|
|
|
|
|
|
|
|
ext/clean.sub ext/distclean.sub ext/realclean.sub \
|
|
|
|
gems/clean.sub gems/distclean.sub gems/realclean.sub::
|
|
|
|
$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \
|
2010-01-19 08:29:18 +03:00
|
|
|
test "$$#" = 0 && set .; \
|
2010-08-06 13:56:22 +04:00
|
|
|
set dummy `\
|
2017-03-01 10:53:15 +03:00
|
|
|
cd $(@D) 2>/dev/null && \
|
2017-02-27 09:31:25 +03:00
|
|
|
find "$$@" \( -name Makefile -o -name exts.mk \) -print | \
|
2017-03-01 10:53:15 +03:00
|
|
|
sed -n 's:^\./::;s:^:$(@D)/:;s:/[^/][^/]*$$::p' | sort -u; \
|
2010-08-06 13:56:22 +04:00
|
|
|
`; shift; \
|
2010-07-11 12:01:59 +04:00
|
|
|
for dir do \
|
2017-02-28 11:22:00 +03:00
|
|
|
$(RM) "$$dir/exts.mk"; \
|
2017-03-01 10:53:15 +03:00
|
|
|
if [ -f "$$dir/Makefile" ]; then \
|
|
|
|
echo $(@F:.sub=)ing "$$dir"; \
|
|
|
|
(cd "$$dir" && exec $(MAKE) $(mflags) $(@F:.sub=)); \
|
|
|
|
fi; \
|
|
|
|
done || true
|
|
|
|
|
|
|
|
ext/distclean ext/realclean gems/distclean gems/realclean::
|
|
|
|
$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \
|
|
|
|
test "$$#" = 0 && set .; \
|
|
|
|
cd $(@D) 2>/dev/null && \
|
|
|
|
find "$$@" -type d -empty -exec $(RMDIRS) {} + 2> /dev/null || true
|
2017-05-09 05:55:51 +03:00
|
|
|
$(Q) $(RMDIRS) $(@D) 2> /dev/null || true
|
2010-06-14 21:32:03 +04:00
|
|
|
|
|
|
|
clean-enc distclean-enc realclean-enc:
|
|
|
|
@test -f "$(ENC_MK)" || exit 0; \
|
|
|
|
echo $(@:-enc=ing) encodings; \
|
2016-08-16 11:41:59 +03:00
|
|
|
exec $(MAKE) $(MAKE_ENC) $(@:-enc=)
|
2010-06-14 21:32:03 +04:00
|
|
|
|
2004-04-07 05:43:27 +04:00
|
|
|
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
|
2010-11-11 16:03:42 +03:00
|
|
|
$(ECHO) compiling $@
|
2010-11-12 14:51:42 +03:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
|
2008-08-01 18:27:21 +04:00
|
|
|
|
2012-05-16 09:39:06 +04:00
|
|
|
enc/encinit.$(OBJEXT): enc/encinit.c $(SETUP)
|
|
|
|
|
2017-10-26 03:59:15 +03:00
|
|
|
test-bundled-gems-run:
|
|
|
|
$(Q) set -e; while read gem _; do \
|
|
|
|
echo testing $$gem gem && \
|
2017-10-21 16:17:54 +03:00
|
|
|
$(XRUBY) -C $(srcdir)/gems/src/$$gem -Ilib ../../../.bundle/bin/rake; \
|
2017-10-26 03:59:15 +03:00
|
|
|
done < $(srcdir)/gems/bundled_gems
|
2017-10-21 12:50:36 +03:00
|
|
|
|
2016-01-19 05:30:17 +03:00
|
|
|
update-src::
|
2009-03-06 12:37:31 +03:00
|
|
|
@$(CHDIR) "$(srcdir)" && LC_TIME=C exec $(VCSUP)
|
2009-01-16 11:33:02 +03:00
|
|
|
|
2016-01-20 15:00:14 +03:00
|
|
|
update-download:: update-config_files
|
|
|
|
|
2017-04-22 03:18:08 +03:00
|
|
|
after-update:: prereq
|
2013-06-14 09:10:15 +04:00
|
|
|
|
2017-05-20 16:00:41 +03:00
|
|
|
gcov:
|
|
|
|
$(Q) $(BASERUBY) $(srcdir)/tool/run-gcov.rb
|
|
|
|
|
2017-07-04 19:02:19 +03:00
|
|
|
lcov:
|
|
|
|
$(Q) $(BASERUBY) $(srcdir)/tool/run-lcov.rb
|
|
|
|
|
2015-11-09 11:38:20 +03:00
|
|
|
update-doclie:
|
2017-03-30 09:44:27 +03:00
|
|
|
$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
|
|
|
--branch $(DOCLIE_GIT_REF) \
|
|
|
|
$(DOCLIE_GIT_URL) doclie $(GIT_OPTS)
|
2015-11-09 11:38:20 +03:00
|
|
|
|
|
|
|
update-simplecov-html:
|
2017-03-30 09:44:27 +03:00
|
|
|
$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
|
|
|
--branch $(SIMPLECOV_HTML_GIT_REF) \
|
|
|
|
$(SIMPLECOV_HTML_GIT_URL) simplecov-html $(GIT_OPTS)
|
2015-11-09 11:38:20 +03:00
|
|
|
|
|
|
|
update-simplecov:
|
2017-03-30 09:44:27 +03:00
|
|
|
$(Q) $(srcdir)/tool/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
|
|
|
--branch $(SIMPLECOV_GIT_REF) \
|
2017-05-18 08:29:04 +03:00
|
|
|
$(SIMPLECOV_GIT_URL) simplecov $(GIT_OPTS)
|
2014-09-02 11:59:18 +04:00
|
|
|
|
2015-11-09 11:38:20 +03:00
|
|
|
update-coverage: update-simplecov update-simplecov-html update-doclie
|
|
|
|
|
2009-03-06 08:28:42 +03:00
|
|
|
INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \
|
|
|
|
vmtc.inc vm.inc
|
|
|
|
|
2009-09-21 23:43:43 +04:00
|
|
|
$(INSNS): $(srcdir)/insns.def vm_opts.h \
|
|
|
|
$(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \
|
2018-01-12 11:38:09 +03:00
|
|
|
$(srcdir)/tool/insns2vm.rb
|
2011-07-31 18:17:37 +04:00
|
|
|
$(ECHO) generating $@
|
2011-09-05 14:36:24 +04:00
|
|
|
$(Q) $(BASERUBY) -Ku $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) $@
|
2013-05-16 11:54:04 +04:00
|
|
|
|
2014-12-01 11:20:45 +03:00
|
|
|
verconf.h: $(RBCONFIG)
|
|
|
|
|
2013-05-16 11:54:04 +04:00
|
|
|
loadpath: verconf.h
|
|
|
|
@$(CPP) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/loadpath.c | \
|
|
|
|
sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \
|
|
|
|
-e '/^ /!d;s/ *"\\0"$$//;s/" *"//g'
|
2016-06-09 12:12:44 +03:00
|
|
|
|
|
|
|
un-runnable:
|
|
|
|
$(ECHO) cannot make runnable, configure with --enable-load-relative.
|
|
|
|
$(Q) exit 1
|