2019-04-27 22:35:14 -04:00
|
|
|
# -*- mode: makefile-gmake; indent-tabs-mode: t -*-
|
|
|
|
|
2019-06-03 08:59:34 -04:00
|
|
|
SHELL = /bin/sh
|
2011-07-31 07:31:55 -04:00
|
|
|
NULLCMD = @NULLCMD@
|
2020-12-29 02:51:50 -05:00
|
|
|
silence = no # yes/no
|
|
|
|
yes_silence = $(silence:no=)
|
|
|
|
no_silence = $(silence:yes=)
|
2011-12-14 06:02:00 -05:00
|
|
|
n=$(NULLCMD)
|
2015-02-03 21:12:45 -05:00
|
|
|
ECHO1 = $(V:1=$n)
|
2009-02-24 05:01:08 -05:00
|
|
|
RUNCMD = $(SHELL)
|
2012-12-30 07:57:25 -05:00
|
|
|
CDPATH = .
|
2009-03-06 04:37:31 -05:00
|
|
|
CHDIR = @CHDIR@
|
2009-02-24 03:58:10 -05:00
|
|
|
exec = exec
|
2011-07-07 22:39:15 -04:00
|
|
|
NULL = /dev/null
|
2012-11-19 02:08:13 -05:00
|
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
|
|
|
#### Start of system configuration section. ####
|
|
|
|
|
|
|
|
srcdir = @srcdir@
|
2009-01-24 21:06:29 -05:00
|
|
|
top_srcdir = $(srcdir)
|
2007-06-09 23:06:15 -04:00
|
|
|
hdrdir = $(srcdir)/include
|
2020-04-04 14:57:05 -04:00
|
|
|
tooldir = $(srcdir)/tool
|
|
|
|
|
2012-02-28 23:07:06 -05:00
|
|
|
PLATFORM_DIR = @PLATFORM_DIR@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2018-11-03 19:43:17 -04:00
|
|
|
CC_WRAPPER = @XCC_WRAPPER@
|
1998-01-16 07:13:05 -05:00
|
|
|
CC = @CC@
|
2010-10-15 21:55:01 -04:00
|
|
|
CPP = @CPP@
|
2012-05-16 01:39:06 -04:00
|
|
|
LD = @LD@
|
2004-12-06 05:42:49 -05:00
|
|
|
YACC = bison
|
1998-01-16 07:13:05 -05:00
|
|
|
PURIFY =
|
1999-01-19 23:59:39 -05:00
|
|
|
AUTOCONF = autoconf
|
2015-03-18 22:04:31 -04:00
|
|
|
CONFIGURE = @CONFIGURE@
|
1998-01-16 07:13:05 -05:00
|
|
|
@SET_MAKE@
|
2004-03-21 18:21:31 -05:00
|
|
|
MKFILES = @MAKEFILES@
|
2007-01-23 01:41:22 -05:00
|
|
|
BASERUBY = @BASERUBY@
|
2014-11-06 05:53:04 -05:00
|
|
|
HAVE_BASERUBY = @HAVE_BASERUBY@
|
2009-07-19 22:13:00 -04:00
|
|
|
TEST_RUNNABLE = @TEST_RUNNABLE@
|
2013-01-04 04:04:58 -05:00
|
|
|
CROSS_COMPILING = @CROSS_COMPILING@
|
2010-03-26 07:19:22 -04:00
|
|
|
DOXYGEN = @DOXYGEN@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
1999-01-19 23:59:39 -05: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 10:17:44 -04:00
|
|
|
exec_prefix = @exec_prefix@
|
|
|
|
bindir = @bindir@
|
|
|
|
sbindir = @sbindir@
|
|
|
|
libdir = @libdir@
|
|
|
|
libexecdir = @libexecdir@
|
2006-06-25 10:03:10 -04:00
|
|
|
datarootdir = @datarootdir@
|
2004-02-09 03:48:55 -05: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 10:17:44 -04:00
|
|
|
arch = @arch@
|
|
|
|
sitearch = @sitearch@
|
|
|
|
sitedir = @sitedir@
|
2013-02-23 01:20:19 -05:00
|
|
|
archlibdir = @archlibdir@
|
2018-12-07 21:20:14 -05:00
|
|
|
includedir = @includedir@
|
|
|
|
archincludedir = @archincludedir@
|
|
|
|
rubylibprefix = @rubylibprefix@
|
|
|
|
rubylibdir = @rubylibdir@
|
|
|
|
rubyarchprefix = @rubyarchprefix@
|
|
|
|
rubyarchdir = @rubyarchdir@
|
|
|
|
rubyhdrdir = @rubyhdrdir@
|
|
|
|
rubyarchhdrdir = @rubyarchhdrdir@
|
2009-02-19 01:47:13 -05:00
|
|
|
ruby_version = @ruby_version@
|
2018-02-08 10:19:32 -05:00
|
|
|
RUBY_VERSION_NAME = @RUBY_VERSION_NAME@
|
2018-04-21 20:02:56 -04:00
|
|
|
UNIVERSAL_ARCHNAMES = @UNIVERSAL_ARCHNAMES@
|
* 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 10:17:44 -04:00
|
|
|
|
2004-02-09 03:48:55 -05:00
|
|
|
TESTUI = console
|
|
|
|
TESTS =
|
2009-09-16 03:20:19 -04:00
|
|
|
INSTALLDOC = @INSTALLDOC@
|
|
|
|
DOCTARGETS = @RDOCTARGET@ @CAPITARGET@
|
2004-02-09 03:48:55 -05:00
|
|
|
|
2005-01-31 10:19:27 -05:00
|
|
|
EXTOUT = @EXTOUT@
|
2018-08-04 11:12:30 -04:00
|
|
|
TIMESTAMPDIR = $(EXTOUT)/.timestamp
|
2007-06-09 23:06:15 -04:00
|
|
|
arch_hdrdir = $(EXTOUT)/include/$(arch)
|
2015-01-17 22:56:52 -05:00
|
|
|
VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir):$(srcdir)/missing
|
2004-02-09 03:48:55 -05:00
|
|
|
|
2005-11-10 18:22:03 -05:00
|
|
|
empty =
|
2013-03-22 03:57:09 -04:00
|
|
|
CC_VERSION = @CC_VERSION@
|
2005-11-10 18:22:03 -05:00
|
|
|
OUTFLAG = @OUTFLAG@$(empty)
|
2007-12-23 22:49:56 -05:00
|
|
|
COUTFLAG = @COUTFLAG@$(empty)
|
2021-04-09 01:49:30 -04:00
|
|
|
CPPOUTFLAG = >
|
2009-02-07 04:02:50 -05:00
|
|
|
ARCH_FLAG = @ARCH_FLAG@
|
2014-06-01 15:32:17 -04:00
|
|
|
CFLAGS_NO_ARCH = @CFLAGS@
|
|
|
|
CFLAGS = $(CFLAGS_NO_ARCH) $(ARCH_FLAG)
|
2008-05-08 03:41:23 -04:00
|
|
|
cflags = @cflags@
|
|
|
|
optflags = @optflags@
|
|
|
|
debugflags = @debugflags@
|
2012-09-15 19:58:04 -04:00
|
|
|
warnflags = @warnflags@ @strict_warnflags@
|
2013-12-16 23:32:51 -05:00
|
|
|
cppflags = @cppflags@
|
2020-10-23 01:38:24 -04:00
|
|
|
XCFLAGS = @XCFLAGS@ $(INCFLAGS)
|
2018-06-22 00:13:02 -04:00
|
|
|
USE_RUBYGEMS = @USE_RUBYGEMS@
|
|
|
|
USE_RUBYGEMS_ = $(USE_RUBYGEMS:yes=)
|
2019-08-26 03:30:45 -04:00
|
|
|
CPPFLAGS = @CPPFLAGS@ $(USE_RUBYGEMS_:no=-DDISABLE_RUBYGEMS=1)
|
2018-10-20 04:00:42 -04:00
|
|
|
MJIT_SUPPORT = @MJIT_SUPPORT@
|
2018-02-04 08:43:06 -05:00
|
|
|
MJIT_HEADER_FLAGS = @MJIT_HEADER_FLAGS@
|
2018-02-05 22:19:42 -05:00
|
|
|
MJIT_HEADER_SUFFIX =
|
|
|
|
MJIT_HEADER_ARCH =
|
2018-02-08 10:19:32 -05:00
|
|
|
MJIT_HEADER_INSTALL_DIR = @MJIT_HEADER_INSTALL_DIR@
|
2018-03-01 17:49:26 -05:00
|
|
|
MJIT_CC = @MJIT_CC@
|
2018-10-14 20:11:45 -04:00
|
|
|
MJIT_CFLAGS = @MJIT_CFLAGS@
|
2018-03-01 17:49:26 -05:00
|
|
|
MJIT_OPTFLAGS = @MJIT_OPTFLAGS@
|
|
|
|
MJIT_DEBUGFLAGS = @MJIT_DEBUGFLAGS@
|
2018-03-03 00:09:32 -05:00
|
|
|
MJIT_LDSHARED = @MJIT_LDSHARED@
|
2020-11-22 05:09:58 -05:00
|
|
|
MJIT_DLDFLAGS = $(XDLDFLAGS)
|
2018-08-04 11:12:30 -04:00
|
|
|
MJIT_HEADER = rb_mjit_header.h
|
|
|
|
MJIT_MIN_HEADER_NAME = rb_mjit_min_header-$(RUBY_PROGRAM_VERSION).h
|
|
|
|
MJIT_MIN_HEADER = $(MJIT_HEADER_BUILD_DIR)/$(MJIT_MIN_HEADER_NAME)
|
|
|
|
MJIT_HEADER_BUILD_DIR = $(EXTOUT)/include/$(arch)
|
2020-03-24 01:31:38 -04:00
|
|
|
MJIT_TABS=@MJIT_TABS@
|
1998-01-16 07:13:05 -05:00
|
|
|
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
|
2021-08-11 23:33:37 -04:00
|
|
|
EXE_LDFLAGS = $(LDFLAGS)
|
2011-11-24 20:41:59 -05: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 10:17:44 -04:00
|
|
|
XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
|
2012-03-16 11:30:01 -04:00
|
|
|
EXTLIBS =
|
1998-01-16 07:13:05 -05:00
|
|
|
LIBS = @LIBS@ $(EXTLIBS)
|
|
|
|
MISSING = @LIBOBJS@ @ALLOCA@
|
2017-05-31 02:03:13 -04:00
|
|
|
ENABLE_SHARED = @ENABLE_SHARED@
|
1999-08-13 01:45:20 -04:00
|
|
|
LDSHARED = @LIBRUBY_LDSHARED@
|
2018-11-05 22:32:57 -05:00
|
|
|
DLDSHARED = @DLDSHARED@
|
2020-11-22 05:09:58 -05:00
|
|
|
XDLDFLAGS = @DLDFLAGS@
|
2011-11-27 04:54:12 -05:00
|
|
|
DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)
|
1999-01-19 23:59:39 -05:00
|
|
|
SOLIBS = @SOLIBS@
|
2017-05-15 03:04:48 -04:00
|
|
|
ENABLE_DEBUG_ENV = @ENABLE_DEBUG_ENV@
|
2001-04-01 12:53:41 -04:00
|
|
|
MAINLIBS = @MAINLIBS@
|
2008-04-02 23:56:07 -04:00
|
|
|
ARCHMINIOBJS = @MINIOBJS@
|
2012-11-23 10:00:12 -05:00
|
|
|
DLNOBJ = @DLNOBJ@
|
2012-05-16 01:39:06 -04:00
|
|
|
ENCOBJS = @ENCOBJS@
|
|
|
|
EXTOBJS = @EXTOBJS@
|
2007-12-15 04:56:59 -05:00
|
|
|
BUILTIN_ENCOBJS = @BUILTIN_ENCOBJS@
|
2008-08-24 11:58:43 -04:00
|
|
|
BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@
|
|
|
|
BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
|
2012-05-07 00:41:02 -04:00
|
|
|
POSTLINK = @POSTLINK@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2009-05-07 21:14:14 -04:00
|
|
|
RUBY_BASE_NAME=@RUBY_BASE_NAME@
|
2017-09-25 02:31:38 -04:00
|
|
|
RUBY_API_VERSION=@RUBY_API_VERSION@
|
1999-08-13 01:45:20 -04:00
|
|
|
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
|
2000-09-04 00:43:26 -04:00
|
|
|
RUBY_SO_NAME=@RUBY_SO_NAME@
|
1999-08-13 01:45:20 -04:00
|
|
|
EXEEXT = @EXEEXT@
|
2012-05-18 22:35:37 -04:00
|
|
|
LIBEXT = @LIBEXT@
|
1999-08-13 01: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 10:17:44 -04:00
|
|
|
RUBY = $(RUBY_INSTALL_NAME)
|
2010-07-27 06:03:23 -04:00
|
|
|
MINIRUBY = @MINIRUBY@\
|
|
|
|
$(MINIRUBYOPT)
|
2013-09-30 03: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 03:28:32 -04:00
|
|
|
RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args'
|
2009-10-22 18:32:39 -04:00
|
|
|
XRUBY = @XRUBY@
|
2012-05-16 22:48:59 -04:00
|
|
|
BTESTRUBY = @BTESTRUBY@\
|
|
|
|
$(MINIRUBYOPT)
|
2010-09-24 12: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-06 21:06:06 -05:00
|
|
|
BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2019-06-28 21:07:07 -04:00
|
|
|
COROUTINE_H = @X_COROUTINE_H@
|
2018-11-20 22:26:59 -05:00
|
|
|
COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEXT@)
|
2019-06-28 21:07:07 -04:00
|
|
|
COROUTINE_SRC = @X_COROUTINE_SRC@
|
2018-11-20 07:02:29 -05:00
|
|
|
|
1998-01-16 07:13:05 -05:00
|
|
|
#### End of system configuration section. ####
|
|
|
|
|
2016-01-08 19:19:16 -05:00
|
|
|
MAJOR= @MAJOR@
|
|
|
|
MINOR= @MINOR@
|
|
|
|
TEENY= @TEENY@
|
2018-12-27 21:12:34 -05:00
|
|
|
|
|
|
|
# here for MJIT_MIN_HEADER_NAME, not in common.mk
|
|
|
|
RUBY_PROGRAM_VERSION = $(MAJOR).$(MINOR).$(TEENY)
|
2016-01-08 19:19:16 -05:00
|
|
|
|
1999-08-13 01:45:20 -04:00
|
|
|
LIBRUBY_A = @LIBRUBY_A@
|
|
|
|
LIBRUBY_SO = @LIBRUBY_SO@
|
2017-10-14 11:35:05 -04:00
|
|
|
LIBRUBY_SONAME= @LIBRUBY_SONAME@
|
1999-08-13 01:45:20 -04:00
|
|
|
LIBRUBY_ALIASES= @LIBRUBY_ALIASES@
|
1999-01-19 23:59:39 -05:00
|
|
|
LIBRUBY = @LIBRUBY@
|
|
|
|
LIBRUBYARG = @LIBRUBYARG@
|
2002-11-14 08:51:19 -05:00
|
|
|
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
|
|
|
|
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
2012-07-02 22: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 03:24:24 -05:00
|
|
|
LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2015-02-03 21:12:45 -05:00
|
|
|
DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS))
|
2015-01-27 00:39:52 -05: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-27 20:33:57 -05:00
|
|
|
THREAD_MODEL = @THREAD_MODEL@
|
|
|
|
|
2015-10-04 11:43:58 -04:00
|
|
|
PREP = @PREP@
|
2004-02-21 22:58:44 -05: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 10:17:44 -04:00
|
|
|
SETUP =
|
2003-08-11 22:12:48 -04:00
|
|
|
EXTSTATIC = @EXTSTATIC@
|
2014-07-02 23:40:24 -04:00
|
|
|
ENCSTATIC = @ENCSTATIC@
|
2008-07-02 18: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 10:17:44 -04:00
|
|
|
|
2009-08-13 03:20:16 -04:00
|
|
|
MAKEDIRS = @MKDIR_P@
|
2007-12-11 02:19:28 -05:00
|
|
|
CP = cp
|
|
|
|
MV = mv
|
2004-03-21 18:21:31 -05:00
|
|
|
RM = rm -f
|
2021-09-20 09:17:46 -04:00
|
|
|
RM1 = $(RM)
|
2010-07-21 17:26:56 -04:00
|
|
|
RMDIR = @RMDIR@
|
2009-01-24 21:06:29 -05:00
|
|
|
RMDIRS = @RMDIRS@
|
2009-06-08 21:58:51 -04:00
|
|
|
RMALL = @RMALL@
|
2020-03-31 04:36:52 -04:00
|
|
|
LN_S = @LN_S@
|
2004-03-21 18:21:31 -05:00
|
|
|
NM = @NM@
|
|
|
|
AR = @AR@
|
2017-07-31 00:04:10 -04:00
|
|
|
ARFLAGS = @ARFLAGS@$(empty)
|
2004-03-21 18:21:31 -05:00
|
|
|
RANLIB = @RANLIB@
|
2006-07-26 09:28:17 -04:00
|
|
|
AS = @AS@
|
2021-01-22 09:41:52 -05:00
|
|
|
ASFLAGS = @ASFLAGS@ $(ARCH_FLAG) $(INCFLAGS)
|
2021-05-06 11:10:16 -04:00
|
|
|
IFCHANGE = $(SHELL) $(tooldir)/ifchange
|
2008-12-07 09:17:36 -05:00
|
|
|
OBJDUMP = @OBJDUMP@
|
|
|
|
OBJCOPY = @OBJCOPY@
|
2017-04-09 21:22:48 -04:00
|
|
|
HAVE_GIT = @HAVE_GIT@
|
|
|
|
GIT = @GIT@
|
2009-01-16 03:33:02 -05:00
|
|
|
VCS = @VCS@
|
|
|
|
VCSUP = @VCSUP@
|
2016-12-17 02:48:58 -05:00
|
|
|
DTRACE = @DTRACE@ @DTRACE_OPT@
|
2012-11-16 10:22:37 -05:00
|
|
|
DTRACE_EXT = @DTRACE_EXT@
|
2015-01-27 00:39:52 -05:00
|
|
|
DTRACE_OBJ = @DTRACE_OBJ@
|
2015-02-03 21:12:45 -05:00
|
|
|
DTRACE_REBUILD= @DTRACE_REBUILD@
|
|
|
|
DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT))
|
2004-03-21 18:21:31 -05:00
|
|
|
|
|
|
|
OBJEXT = @OBJEXT@
|
2019-07-01 07:05:06 -04:00
|
|
|
ASMEXT = @ASMEXT@
|
2017-10-14 11:35:05 -04:00
|
|
|
SOEXT = @SOEXT@
|
2007-12-15 04:56:59 -05:00
|
|
|
DLEXT = @DLEXT@
|
2003-01-20 07:51:50 -05:00
|
|
|
MANTYPE = @MANTYPE@
|
2010-11-11 06:45:32 -05:00
|
|
|
SYMBOL_PREFIX = @SYMBOL_PREFIX@
|
2003-01-20 07:51:50 -05:00
|
|
|
|
2006-09-16 03:06:57 -04:00
|
|
|
INSTALLED_LIST= .installed.list
|
2009-02-24 05:01:08 -05:00
|
|
|
|
2015-01-17 22:56:52 -05:00
|
|
|
NEWLINE_C = enc/trans/newline.c
|
2012-03-26 01:08:55 -04:00
|
|
|
MINIPRELUDE_C = miniprelude.c
|
2018-05-20 14:13:08 -04:00
|
|
|
GOLF_PRELUDE_C= golf_prelude.c
|
2013-01-04 06:19:19 -05:00
|
|
|
RBCONFIG = .rbconfig.time
|
2012-03-26 01:08:55 -04:00
|
|
|
|
2019-07-01 08:31:18 -04:00
|
|
|
MAINSRC = $(MAINOBJ:.@OBJEXT@=.c)
|
2017-05-15 03:04:48 -04:00
|
|
|
|
2009-03-14 20:17:21 -04:00
|
|
|
SRC_FILE = $<
|
2012-11-16 10:22:37 -05:00
|
|
|
OS_SRC_FILE = $<
|
|
|
|
DEST_FILE = $@
|
|
|
|
OS_DEST_FILE = $@
|
2010-11-13 02:38:01 -05:00
|
|
|
|
|
|
|
MESSAGE_BEGIN = @for line in
|
|
|
|
MESSAGE_END = ; do echo "$$line"; done
|
2013-02-09 10:16:15 -05:00
|
|
|
ECHO_BEGIN = @sep=''; for word in
|
|
|
|
ECHO_END = ; do echo @ECHO_N@ "$$sep'$$word'@ECHO_C@"; sep=' '; done; echo
|
2010-11-17 17:37:48 -05:00
|
|
|
|
2021-08-07 05:32:24 -04:00
|
|
|
ACTIONS_GROUP = @$(NULLCMD) $(empty)
|
|
|
|
ACTIONS_ENDGROUP = @$(NULLCMD)
|
|
|
|
|
2014-07-17 21:47:01 -04:00
|
|
|
DESTDIR = @DESTDIR@
|
|
|
|
|
2010-11-17 17:37:48 -05:00
|
|
|
configure_args = @configure_args@
|
2004-03-21 18:21:31 -05:00
|
|
|
#### End of variables
|
|
|
|
|
2018-11-20 07:02:29 -05:00
|
|
|
.SUFFIXES: .inc .h .c .y .i .$(ASMEXT) .$(DTRACE_EXT)
|
2012-11-18 20:04:53 -05:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
all:
|
2003-01-25 13:59:34 -05:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
# Prevent GNU make v3 from overflowing arg limit on SysV.
|
|
|
|
.NOEXPORT:
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
miniruby$(EXEEXT):
|
2009-08-22 00:17:38 -04:00
|
|
|
@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
|
2010-11-11 07:46:23 -05:00
|
|
|
$(ECHO) linking $@
|
2021-08-11 23:33:37 -04:00
|
|
|
$(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@
|
2017-06-11 01:36:56 -04:00
|
|
|
$(Q) $(POSTLINK)
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
$(PROGRAM):
|
|
|
|
@$(RM) $@
|
2010-11-11 07:46:23 -05:00
|
|
|
$(ECHO) linking $@
|
2021-08-11 23:33:37 -04:00
|
|
|
$(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@
|
2012-05-07 00:41:02 -04:00
|
|
|
$(Q) $(POSTLINK)
|
2004-02-09 03:48:55 -05:00
|
|
|
|
2019-11-09 19:15:12 -05:00
|
|
|
PRE_LIBRUBY_UPDATE = [ -n "$(LIBRUBY_SO_UPDATE)" ] || $(gnumake:yes=exec) $(RM) $(LIBRUBY_EXTS)
|
2018-02-17 00:52:20 -05: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-21 23:00:03 -05: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-21 18:21:31 -05:00
|
|
|
$(LIBRUBY_A):
|
|
|
|
@$(RM) $@
|
2018-02-17 00:52:21 -05:00
|
|
|
@-[ -z "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
|
2010-11-11 07:46:23 -05:00
|
|
|
$(ECHO) linking static-library $@
|
2014-11-27 15:04:48 -05:00
|
|
|
$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)
|
2004-03-21 18:21:31 -05:00
|
|
|
@-$(RANLIB) $@ 2> /dev/null || true
|
2017-02-27 00:14:30 -05:00
|
|
|
|
|
|
|
verify-static-library: $(LIBRUBY_A)
|
2012-05-16 01:39:06 -04:00
|
|
|
$(ECHO) verifying static-library $@
|
2021-08-11 23:33:37 -04:00
|
|
|
@$(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)
|
2017-02-27 00:14:30 -05:00
|
|
|
@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM
|
1999-01-19 23:59:39 -05:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
$(LIBRUBY_SO):
|
2018-02-17 00:52:21 -05:00
|
|
|
@-[ -n "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
|
2010-11-11 07:46:23 -05:00
|
|
|
$(ECHO) linking shared-library $@
|
2015-01-30 06:45:29 -05:00
|
|
|
$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@
|
2015-02-23 02:05:23 -05:00
|
|
|
-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)ruby_static_id_*' \
|
2017-10-28 19:54:16 -04:00
|
|
|
-L '$(SYMBOL_PREFIX)*_threadptr_*' -L '$(SYMBOL_PREFIX)*_ec_*' $@
|
2012-12-10 00:05:32 -05:00
|
|
|
$(Q) $(POSTLINK)
|
2018-06-01 03:13:38 -04:00
|
|
|
@-$(MINIRUBY) -e 'so, *aliases = ARGV; aliases.uniq!; aliases.delete(File.basename(so)); \
|
|
|
|
aliases.each { |link| File.delete link rescue nil; File.symlink so, link }' \
|
|
|
|
$(LIBRUBY_SO) $(LIBRUBY_ALIASES) || true
|
1998-01-16 07:13:05 -05:00
|
|
|
|
2018-02-17 00:52:21 -05:00
|
|
|
LIBRUBY_WITH_EXT = @LIBRUBY_WITH_EXT@
|
|
|
|
$(LIBRUBY_$(LIBRUBY_WITH_EXT)): $(LIBRUBY_SO_UPDATE)
|
|
|
|
|
2021-08-29 01:08:53 -04:00
|
|
|
PKG_CONFIG = @PKG_CONFIG@
|
2010-10-25 11:29:32 -04:00
|
|
|
ruby_pc = @ruby_pc@
|
2018-03-01 20:16:37 -05:00
|
|
|
ruby.pc: $(ruby_pc)
|
2021-08-29 01:08:53 -04:00
|
|
|
$(ruby_pc): config.status Makefile
|
|
|
|
$(Q)./config.status --file=-:$(srcdir)/template/ruby.pc.in | \
|
|
|
|
sed -e 's/\$$(\([A-Za-z_][A-Za-z0-9_]*\))/$${\1}/g' \
|
|
|
|
-e 's|^prefix=.*|prefix=$(prefix)|' \
|
|
|
|
> ruby.tmp.pc
|
|
|
|
$(Q)pkg_config=${PKG_CONFIG} && PKG_CONFIG_PATH=. $${pkg_config:-:} --print-errors ruby.tmp
|
|
|
|
$(Q)$(MV) -f ruby.tmp.pc $(ruby_pc)
|
|
|
|
|
|
|
|
pre-install-local:: pkgconfig-data
|
2010-10-25 11:29:32 -04:00
|
|
|
|
2018-08-16 05:27:53 -04:00
|
|
|
ruby-runner.h: template/ruby-runner.h.in config.status
|
2015-10-03 11:09:47 -04:00
|
|
|
@./config.status --file=$@:$(srcdir)/template/$(@F).in
|
|
|
|
|
2015-12-05 03:48:28 -05:00
|
|
|
$(RBCONFIG): $(PREP)
|
2015-03-06 21:06:11 -05:00
|
|
|
|
2015-05-06 22:39:59 -04:00
|
|
|
rbconfig.rb: $(RBCONFIG)
|
|
|
|
|
2010-09-24 12:34:56 -04:00
|
|
|
install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \
|
2021-08-29 01:08:53 -04:00
|
|
|
$(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE) pkgconfig-data
|
2010-11-11 08:03:42 -05:00
|
|
|
$(ECHO) installing cross-compiling stuff
|
2010-11-12 06:51:42 -05: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 12: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)
|
|
|
|
|
2019-06-06 20:09:29 -04:00
|
|
|
Makefile: $(srcdir)/template/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 10:17:44 -04:00
|
|
|
|
2014-06-16 16:23:23 -04:00
|
|
|
$(MKFILES): config.status $(srcdir)/version.h
|
2013-10-12 23: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 03:45:42 -05: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 10:17:44 -04:00
|
|
|
echo "all:; -@rm -f conftest.mk"; \
|
|
|
|
echo "conftest.mk: .force; @echo AUTO_REMAKE"; \
|
|
|
|
echo ".force:"; \
|
2003-08-16 10:58:34 -04:00
|
|
|
} > conftest.mk || exit 1; \
|
|
|
|
$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \
|
2013-10-12 23: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 10:17:44 -04:00
|
|
|
|
2008-08-13 23:01:42 -04:00
|
|
|
uncommon.mk: $(srcdir)/common.mk
|
|
|
|
sed 's/{\$$([^(){}]*)[^{}]*}//g' $< > $@
|
|
|
|
|
2010-11-17 17:37:48 -05:00
|
|
|
.PHONY: reconfig
|
2020-12-29 03:49:57 -05:00
|
|
|
reconfig-args = $(srcdir)/$(CONFIGURE) $(yes_silence:yes=--silent) $(configure_args)
|
|
|
|
config.status-args = ./config.status $(yes_silence:yes=--silent) --recheck
|
2018-11-13 09:56:49 -05: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-17 17:37:48 -05:00
|
|
|
reconfig-exec-1 = set -x; "$$@"
|
|
|
|
|
2015-03-20 20:11:20 -04:00
|
|
|
reconfig config.status: $(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \
|
2012-04-17 00:55:14 -04:00
|
|
|
$(srcdir)/include/ruby/version.h
|
2010-03-11 17:09:25 -05:00
|
|
|
@PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \
|
2010-11-17 17:37:48 -05:00
|
|
|
set $(SHELL) $($@-args); $(reconfig-exec-$(V))
|
1999-01-19 23:59:39 -05:00
|
|
|
|
2021-03-19 20:12:08 -04:00
|
|
|
$(srcdir)/$(CONFIGURE): $(srcdir)/configure.ac
|
2021-01-18 07:15:47 -05:00
|
|
|
$(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F)
|
1999-01-19 23:59:39 -05:00
|
|
|
|
2017-04-01 23:05:10 -04:00
|
|
|
prereq: $(srcdir)/$(CONFIGURE)
|
|
|
|
|
2012-11-16 03:56:49 -05: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-12 16:52:12 -05:00
|
|
|
|
2007-11-11 02:56:30 -05:00
|
|
|
# Things which should be considered:
|
|
|
|
# * with gperf v.s. without gperf
|
2009-10-13 07:43:01 -04:00
|
|
|
# * committers may have various versions of gperf
|
2007-11-11 02:56:30 -05: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 04:27:05 -05:00
|
|
|
# * svn checkout generate a file with mtime as current time
|
2009-10-13 07:43:01 -04:00
|
|
|
# * ext4 and XFS has a mtime with fractional part
|
2008-10-18 18:30:13 -04:00
|
|
|
lex.c: defs/keywords
|
2008-08-13 00:09:15 -04:00
|
|
|
@\
|
2008-10-18 18:30:13 -04:00
|
|
|
if cmp -s $(srcdir)/defs/lex.c.src $?; then \
|
2010-11-17 04:32:44 -05:00
|
|
|
[ $(Q) ] && echo copying $@ || set -x; \
|
2009-08-22 00:17:38 -04:00
|
|
|
$(CP) $(srcdir)/lex.c.blt $@; \
|
2007-11-11 02:56:30 -05:00
|
|
|
else \
|
2010-11-17 04:32:44 -05:00
|
|
|
[ $(Q) ] && echo generating $@ || set -x; \
|
2015-07-21 20:37:09 -04:00
|
|
|
gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \
|
2020-04-04 14:57:05 -04:00
|
|
|
| sed -f $(tooldir)/gperf.sed \
|
2015-07-21 20:37:09 -04:00
|
|
|
> $@.tmp && \
|
2009-08-22 00:17:38 -04:00
|
|
|
$(MV) $@.tmp $@ && \
|
|
|
|
$(CP) $? $(srcdir)/defs/lex.c.src && \
|
|
|
|
$(CP) $@ $(srcdir)/lex.c.blt; \
|
2007-11-11 02:56:30 -05:00
|
|
|
fi
|
1998-01-16 07:19:22 -05:00
|
|
|
|
2014-05-22 01: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-21 20:10:28 -04:00
|
|
|
$(srcdir)/enc/jis/props.h: enc/jis/props.kwd
|
2014-05-22 01: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 11:09:11 -04:00
|
|
|
gperf $(JIS_PROPS_OPTIONS) $? | \
|
2020-04-04 14:57:05 -04:00
|
|
|
sed -f $(tooldir)/gperf.sed > $@ && \
|
2014-05-22 01:02:15 -04:00
|
|
|
$(CP) $? $(?:.kwd=.src) && \
|
|
|
|
$(CP) $@ $(?:.kwd=.h.blt); \
|
|
|
|
fi
|
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
.c.@OBJEXT@:
|
2010-11-11 07:46:23 -05:00
|
|
|
@$(ECHO) compiling $<
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $<
|
2000-05-14 05:36:29 -04:00
|
|
|
|
2018-11-24 05:29:23 -05:00
|
|
|
.$(ASMEXT).@OBJEXT@:
|
2010-11-11 07:46:23 -05:00
|
|
|
@$(ECHO) assembling $<
|
2019-05-16 05:58:17 -04:00
|
|
|
$(Q) $(CC) $(ASFLAGS) -DSYMBOL_PREFIX=$(SYMBOL_PREFIX) -o $@ -c $<
|
2006-07-26 09:28:17 -04:00
|
|
|
|
2018-11-24 05:29:23 -05:00
|
|
|
.c.$(ASMEXT):
|
2010-11-11 07:46:23 -05:00
|
|
|
@$(ECHO) translating $<
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -S $<
|
2007-02-02 13:23:07 -05:00
|
|
|
|
2009-03-15 20:29:00 -04:00
|
|
|
.c.i:
|
2010-11-11 07:46:23 -05:00
|
|
|
@$(ECHO) preprocessing $<
|
2012-06-13 04:50:42 -04:00
|
|
|
$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $< > $@
|
2009-03-15 20:29:00 -04:00
|
|
|
|
2012-11-16 10:22:37 -05:00
|
|
|
.d.h:
|
|
|
|
@$(ECHO) translating probes $<
|
2012-11-22 03:01:49 -05:00
|
|
|
$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $<
|
2015-10-29 01:33:16 -04: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 10:22:37 -05:00
|
|
|
$(Q) $(RM) $@.tmp
|
2012-11-13 01:35:30 -05:00
|
|
|
|
2012-11-22 06:25:01 -05:00
|
|
|
.dmyh.h:
|
2016-01-08 22:32:43 -05:00
|
|
|
@$(ECHO) making dummy $(DEST_FILE)
|
|
|
|
$(Q)echo '#include "$(*F).dmyh"' > $@
|
2012-11-22 04:16:48 -05:00
|
|
|
|
2015-02-03 21:12:45 -05: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 $@
|
|
|
|
|
2018-06-02 08:17:16 -04: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 03:24:24 -05:00
|
|
|
@$(ECHO) processing probes in object files
|
2015-02-03 21:12:45 -05: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 03:24:24 -05:00
|
|
|
|
2018-10-19 08:31:02 -04:00
|
|
|
main: mjit-headers
|
|
|
|
yes-mjit-headers: $(MJIT_MIN_HEADER)
|
2018-08-04 11:12:30 -04:00
|
|
|
clean-local::
|
2019-11-09 19:15:12 -05:00
|
|
|
$(Q)$(RM) \
|
|
|
|
$(MJIT_HEADER) $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h \
|
|
|
|
$(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h \
|
|
|
|
$(MJIT_HEADER_INSTALL_DIR)/rb_mjit_min_header-*.h \
|
|
|
|
$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time mjit_config.h \
|
|
|
|
|| $(NULLCMD)
|
2018-11-07 05:55:23 -05:00
|
|
|
$(Q)$(RM) -r mjit_build_dir.*
|
2019-11-09 19:15:12 -05:00
|
|
|
-$(Q) $(RMDIRS) $(MJIT_HEADER_INSTALL_DIR) $(MJIT_HEADER_BUILD_DIR) $(TIMESTAMPDIR) 2> $(NULL) || $(NULLCMD)
|
2018-08-04 11:12:30 -04: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 03:24:24 -05:00
|
|
|
# DTrace static library hacks described here:
|
|
|
|
# http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html
|
2015-02-03 05:43:27 -05: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 03:24:24 -05:00
|
|
|
@$(ECHO) generating a glommed object with DTrace probes for static library
|
2015-02-03 05:43:27 -05: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 03:24:24 -05:00
|
|
|
|
2004-03-23 00:32:01 -05:00
|
|
|
clean-local::
|
2019-11-09 19:15:12 -05:00
|
|
|
$(Q)$(RM) \
|
|
|
|
ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \
|
|
|
|
enc/encinit.c enc/encinit.$(OBJEXT) $(pkgconfig_DATA) \
|
2020-01-18 02:45:31 -05:00
|
|
|
ruby-runner.$(OBJEXT) ruby-runner.h \
|
2019-11-09 19:15:12 -05:00
|
|
|
|| $(NULLCMD)
|
2020-01-18 02:45:31 -05:00
|
|
|
-$(Q)$(RMALL) exe/ *.dSYM
|
2004-03-23 00:32:01 -05:00
|
|
|
|
|
|
|
distclean-local::
|
2019-11-09 19:15:12 -05:00
|
|
|
$(Q)$(RM) \
|
|
|
|
ext/config.cache $(RBCONFIG) Doxyfile run.gdb \
|
|
|
|
$(INSTALLED_LIST) $(arch_hdrdir)/ruby/config.h verconf.h \
|
|
|
|
|| $(NULLCMD)
|
2010-12-30 06:18:12 -05:00
|
|
|
-$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2> /dev/null || true
|
2009-01-24 21:06:29 -05:00
|
|
|
|
2019-02-13 10:48:36 -05:00
|
|
|
ext/clean.sub:: ext/clean.mk
|
|
|
|
ext/distclean.sub:: ext/distclean.mk
|
|
|
|
ext/realclean.sub:: ext/realclean.mk
|
2017-03-01 02:53:15 -05:00
|
|
|
|
|
|
|
ext/clean.mk ext/distclean.mk ext/realclean.mk::
|
2017-03-29 05:24:10 -04:00
|
|
|
-$(Q) if [ -f $(EXTS_MK) ]; then exec $(MAKE) -f $(EXTS_MK) $(@F:.mk=); fi
|
2017-03-01 02:53:15 -05: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 00:29:18 -05:00
|
|
|
test "$$#" = 0 && set .; \
|
2010-08-06 05:56:22 -04:00
|
|
|
set dummy `\
|
2017-03-01 02:53:15 -05:00
|
|
|
cd $(@D) 2>/dev/null && \
|
2017-02-27 01:31:25 -05:00
|
|
|
find "$$@" \( -name Makefile -o -name exts.mk \) -print | \
|
2017-03-01 02:53:15 -05:00
|
|
|
sed -n 's:^\./::;s:^:$(@D)/:;s:/[^/][^/]*$$::p' | sort -u; \
|
2010-08-06 05:56:22 -04:00
|
|
|
`; shift; \
|
2010-07-11 04:01:59 -04:00
|
|
|
for dir do \
|
2017-02-28 03:22:00 -05:00
|
|
|
$(RM) "$$dir/exts.mk"; \
|
2017-03-01 02:53:15 -05: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-08 22:55:51 -04:00
|
|
|
$(Q) $(RMDIRS) $(@D) 2> /dev/null || true
|
2010-06-14 13:32:03 -04:00
|
|
|
|
|
|
|
clean-enc distclean-enc realclean-enc:
|
|
|
|
@test -f "$(ENC_MK)" || exit 0; \
|
|
|
|
echo $(@:-enc=ing) encodings; \
|
2016-08-16 04:41:59 -04:00
|
|
|
exec $(MAKE) $(MAKE_ENC) $(@:-enc=)
|
2010-06-14 13:32:03 -04:00
|
|
|
|
2004-04-06 21:43:27 -04:00
|
|
|
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
|
2010-11-11 08:03:42 -05:00
|
|
|
$(ECHO) compiling $@
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
|
2008-08-01 10:27:21 -04:00
|
|
|
|
2012-05-16 01:39:06 -04:00
|
|
|
enc/encinit.$(OBJEXT): enc/encinit.c $(SETUP)
|
|
|
|
|
2018-11-20 07:02:29 -05:00
|
|
|
cont.$(OBJEXT): $(COROUTINE_H)
|
2018-11-20 05:17:24 -05:00
|
|
|
|
2016-01-18 21:30:17 -05:00
|
|
|
update-src::
|
2009-03-06 04:37:31 -05:00
|
|
|
@$(CHDIR) "$(srcdir)" && LC_TIME=C exec $(VCSUP)
|
2009-01-16 03:33:02 -05:00
|
|
|
|
2016-01-20 07:00:14 -05:00
|
|
|
update-download:: update-config_files
|
|
|
|
|
2017-04-21 20:18:08 -04:00
|
|
|
after-update:: prereq
|
2013-06-14 01:10:15 -04:00
|
|
|
|
2017-05-20 09:00:41 -04:00
|
|
|
gcov:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(BASERUBY) $(tooldir)/run-gcov.rb
|
2017-05-20 09:00:41 -04:00
|
|
|
|
2017-07-04 12:02:19 -04:00
|
|
|
lcov:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(BASERUBY) $(tooldir)/run-lcov.rb
|
2017-07-04 12:02:19 -04:00
|
|
|
|
benchmark: introduce benchmark_driver.gem
Makefile.in: Clone benchmark-driver repository in benchmark/benchmark-driver
`make update-benchmark-driver`, like simplecov.
win32/Makefile.sub: Roughly do the same thing.
.gitignore: Ignore the cloned repository.
common.mk: Trigger `make update-benchmark-driver` to run `make benchmark`
and adjust arguments for benchmark_driver.gem.
benchmark/require.yml: renamed from benchmark/bm_require.rb, benchmark/prepare_require.rb
benchmark/require_thread.yml: renamed from benchmark/bm_require_thread.rb, benchmark/prepare_require_thread.rb
benchmark/so_count_words.yml: renamed from benchmark/bm_so_count_words.rb, benchmark/prepare_so_count_words.rb,
benchmark/wc.input.base
benchmark/so_k_nucleotide.yml: renamed from benchmark/bm_so_k_nucleotide.rb, benchmark/prepare_so_k_nucleotide.rb,
benchmark/make_fasta_output.rb
benchmark/so_reverse_complement.yml: renamed from benchmark/bm_so_reverse_complement.rb, benchmark/prepare_so_reverse_complement.rb,
benchmark/make_fasta_output.rb
I'm sorry but I made some duplications between benchmark/require.yml and benchmark/require_thread.yml,
and between benchmark/so_k_nucleotide.yml and benchmark/so_reverse_complement.yml.
If you're not comfortable with it, please combine these YAMLs to share
the same prelude. One YAML file can have multiple benchmark definitions
sharing prelude.
benchmark/driver.rb: Replace its core feature with benchmark_driver.gem.
Some old features are gone for now, but I'll add them again later.
[Misc #14902]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 10:38:05 -04:00
|
|
|
update-benchmark-driver:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(tooldir)/git-refresh -C $(srcdir)/benchmark $(Q1:0=-q) \
|
benchmark: introduce benchmark_driver.gem
Makefile.in: Clone benchmark-driver repository in benchmark/benchmark-driver
`make update-benchmark-driver`, like simplecov.
win32/Makefile.sub: Roughly do the same thing.
.gitignore: Ignore the cloned repository.
common.mk: Trigger `make update-benchmark-driver` to run `make benchmark`
and adjust arguments for benchmark_driver.gem.
benchmark/require.yml: renamed from benchmark/bm_require.rb, benchmark/prepare_require.rb
benchmark/require_thread.yml: renamed from benchmark/bm_require_thread.rb, benchmark/prepare_require_thread.rb
benchmark/so_count_words.yml: renamed from benchmark/bm_so_count_words.rb, benchmark/prepare_so_count_words.rb,
benchmark/wc.input.base
benchmark/so_k_nucleotide.yml: renamed from benchmark/bm_so_k_nucleotide.rb, benchmark/prepare_so_k_nucleotide.rb,
benchmark/make_fasta_output.rb
benchmark/so_reverse_complement.yml: renamed from benchmark/bm_so_reverse_complement.rb, benchmark/prepare_so_reverse_complement.rb,
benchmark/make_fasta_output.rb
I'm sorry but I made some duplications between benchmark/require.yml and benchmark/require_thread.yml,
and between benchmark/so_k_nucleotide.yml and benchmark/so_reverse_complement.yml.
If you're not comfortable with it, please combine these YAMLs to share
the same prelude. One YAML file can have multiple benchmark definitions
sharing prelude.
benchmark/driver.rb: Replace its core feature with benchmark_driver.gem.
Some old features are gone for now, but I'll add them again later.
[Misc #14902]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 10:38:05 -04:00
|
|
|
--branch $(BENCHMARK_DRIVER_GIT_REF) \
|
|
|
|
$(BENCHMARK_DRIVER_GIT_URL) benchmark-driver $(GIT_OPTS)
|
|
|
|
|
2015-11-09 03:38:20 -05:00
|
|
|
update-doclie:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
2017-03-30 02:44:27 -04:00
|
|
|
--branch $(DOCLIE_GIT_REF) \
|
|
|
|
$(DOCLIE_GIT_URL) doclie $(GIT_OPTS)
|
2015-11-09 03:38:20 -05:00
|
|
|
|
|
|
|
update-simplecov-html:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
2017-03-30 02:44:27 -04:00
|
|
|
--branch $(SIMPLECOV_HTML_GIT_REF) \
|
|
|
|
$(SIMPLECOV_HTML_GIT_URL) simplecov-html $(GIT_OPTS)
|
2015-11-09 03:38:20 -05:00
|
|
|
|
|
|
|
update-simplecov:
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
|
2017-03-30 02:44:27 -04:00
|
|
|
--branch $(SIMPLECOV_GIT_REF) \
|
2017-05-18 01:29:04 -04:00
|
|
|
$(SIMPLECOV_GIT_URL) simplecov $(GIT_OPTS)
|
2014-09-02 03:59:18 -04:00
|
|
|
|
2015-11-09 03:38:20 -05:00
|
|
|
update-coverage: update-simplecov update-simplecov-html update-doclie
|
|
|
|
|
2018-11-13 21:27:16 -05:00
|
|
|
update-known-errors:
|
|
|
|
errno --list | cut -d' ' -f1 | sort -u - $(srcdir)/defs/known_errors.def | \
|
|
|
|
$(IFCHANGE) $(srcdir)/defs/known_errors.def -
|
|
|
|
|
2009-03-06 00:28:42 -05:00
|
|
|
INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \
|
2020-12-08 16:54:41 -05:00
|
|
|
vmtc.inc vm.inc mjit_compile.inc ujit_hooks.inc
|
2009-03-06 00:28:42 -05:00
|
|
|
|
2009-09-21 15:43:43 -04:00
|
|
|
$(INSNS): $(srcdir)/insns.def vm_opts.h \
|
|
|
|
$(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \
|
2020-04-04 14:57:05 -04:00
|
|
|
$(tooldir)/insns2vm.rb \
|
|
|
|
$(tooldir)/ruby_vm/controllers/application_controller.rb \
|
|
|
|
$(tooldir)/ruby_vm/helpers/c_escape.rb \
|
|
|
|
$(tooldir)/ruby_vm/helpers/dumper.rb \
|
|
|
|
$(tooldir)/ruby_vm/helpers/scanner.rb \
|
|
|
|
$(tooldir)/ruby_vm/loaders/insns_def.rb \
|
|
|
|
$(tooldir)/ruby_vm/loaders/opt_insn_unif_def.rb \
|
|
|
|
$(tooldir)/ruby_vm/loaders/opt_operand_def.rb \
|
|
|
|
$(tooldir)/ruby_vm/loaders/vm_opts_h.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/attribute.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/bare_instructions.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/c_expr.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/instructions.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/instructions_unifications.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/operands_unifications.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/trace_instructions.rb \
|
2020-09-23 03:02:01 -04:00
|
|
|
$(tooldir)/ruby_vm/models/micro_jit.rb \
|
|
|
|
$(tooldir)/ruby_vm/models/micro_jit/example_instructions.rb \
|
2020-04-04 14:57:05 -04:00
|
|
|
$(tooldir)/ruby_vm/models/typemap.rb \
|
|
|
|
$(tooldir)/ruby_vm/scripts/converter.rb \
|
|
|
|
$(tooldir)/ruby_vm/scripts/insns2vm.rb \
|
|
|
|
$(tooldir)/ruby_vm/views/_attributes.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_c_expr.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_comptime_insn_stack_increase.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_copyright.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_entry.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_len_info.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_name_info.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_operand_info.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_sp_pc_dependency.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_insn_type_chars.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_leaf_helpers.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_mjit_compile_insn.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_mjit_compile_insn_body.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_mjit_compile_ivar.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_mjit_compile_pc_and_sp.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_mjit_compile_send.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_notice.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_sp_inc_helpers.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/_trace_instruction.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/insns.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/insns_info.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/mjit_compile.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/opt_sc.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/optinsn.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/optunifs.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/vm.inc.erb \
|
|
|
|
$(tooldir)/ruby_vm/views/vmtc.inc.erb
|
2011-07-31 10:17:37 -04:00
|
|
|
$(ECHO) generating $@
|
2020-04-04 14:57:05 -04:00
|
|
|
$(Q) $(BASERUBY) -Ku $(tooldir)/insns2vm.rb $(INSNS2VMOPT) $@
|
2013-05-16 03:54:04 -04:00
|
|
|
|
2014-12-01 03:20:45 -05:00
|
|
|
verconf.h: $(RBCONFIG)
|
|
|
|
|
2013-05-16 03: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 05:12:44 -04:00
|
|
|
|
|
|
|
un-runnable:
|
|
|
|
$(ECHO) cannot make runnable, configure with --enable-load-relative.
|
|
|
|
$(Q) exit 1
|
2018-02-10 01:22:38 -05:00
|
|
|
|
|
|
|
mjit_config.h:
|
|
|
|
$(ECHO) making $@
|
|
|
|
@{ \
|
2020-04-04 14:57:05 -04:00
|
|
|
. $(tooldir)/mjit_archflag.sh; \
|
2018-11-15 01:22:17 -05:00
|
|
|
parse_arch_flags "$(UNIVERSAL_ARCHNAMES)" $(ARCH_FLAG); \
|
2018-02-15 06:16:51 -05:00
|
|
|
test "$(Q)" = @ || set -x; \
|
2018-02-10 01:22:38 -05:00
|
|
|
echo '#ifndef RUBY_MJIT_CONFIG_H'; \
|
|
|
|
echo '#define RUBY_MJIT_CONFIG_H 1'; \
|
2018-02-11 07:50:23 -05:00
|
|
|
echo; \
|
2018-02-19 21:37:28 -05:00
|
|
|
sep=; \
|
2018-12-07 21:20:14 -05:00
|
|
|
echo '#ifdef LOAD_RELATIVE'; \
|
2018-12-07 20:50:39 -05:00
|
|
|
quote MJIT_HEADER_INSTALL_DIR "/$(MJIT_HEADER_INSTALL_DIR)"; \
|
2018-12-07 21:20:14 -05:00
|
|
|
echo '#else'; \
|
|
|
|
quote MJIT_HEADER_INSTALL_DIR "$(rubyarchhdrdir)"; \
|
|
|
|
echo '#endif'; \
|
2018-12-07 20:50:39 -05:00
|
|
|
quote MJIT_MIN_HEADER_NAME "$(MJIT_MIN_HEADER_NAME)"; \
|
2018-02-19 20:23:23 -05:00
|
|
|
sep=,; \
|
2018-11-06 07:08:54 -05:00
|
|
|
quote "MJIT_CC_COMMON " $(MJIT_CC); \
|
2018-11-15 00:22:44 -05:00
|
|
|
quote "MJIT_CFLAGS MJIT_ARCHFLAG" $(MJIT_CFLAGS); \
|
2018-03-01 17:49:26 -05:00
|
|
|
quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \
|
|
|
|
quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
|
2018-03-03 00:09:32 -05:00
|
|
|
quote "MJIT_LDSHARED " $(MJIT_LDSHARED); \
|
2018-11-15 00:22:44 -05:00
|
|
|
quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
|
2018-02-19 21:37:28 -05:00
|
|
|
quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \
|
2018-11-06 21:49:26 -05:00
|
|
|
quote 'PRELOADENV "@PRELOADENV@"'; \
|
2018-11-21 04:27:47 -05:00
|
|
|
indent=$${archs:+' '}; \
|
2018-11-19 08:43:44 -05:00
|
|
|
define_arch_flags; \
|
2018-02-11 07:50:23 -05:00
|
|
|
echo; \
|
2018-02-10 01:22:38 -05:00
|
|
|
echo '#endif /* RUBY_MJIT_CONFIG_H */'; \
|
|
|
|
} > $@
|
2018-11-06 21:49:26 -05:00
|
|
|
|
2020-05-12 10:19:20 -04:00
|
|
|
yes-test-almost yes-test-all programs: mjit_build_dir.$(SOEXT)
|
2018-12-07 21:05:06 -05:00
|
|
|
mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner.h
|
2018-11-06 21:49:26 -05:00
|
|
|
$(ECHO) making $@
|
2019-08-26 03:30:45 -04:00
|
|
|
$(Q) $(DLDSHARED) $(MJIT_DLDFLAGS) $(ARCH_FLAG) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) \
|
2018-12-07 20:50:39 -05:00
|
|
|
-DMAKE_MJIT_BUILD_DIR=1 -DMJIT_MIN_HEADER='"$(MJIT_MIN_HEADER)"' \
|
|
|
|
$(OUTFLAG)$@ $(srcdir)/ruby-runner.c
|
2019-05-16 10:26:57 -04:00
|
|
|
|
|
|
|
# yes-test-basic: leaked-globals
|
2020-04-04 14:57:05 -04:00
|
|
|
leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals PHONY
|
2020-12-27 00:58:00 -05:00
|
|
|
$(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS)
|