-
-
Save morenoh149/e774cb45dba51bf257a2c7cec4c97ee6 to your computer and use it in GitHub Desktop.
ruby 2.4.2 installation error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ make | |
... | |
strscan.bundle | |
linking shared-object syslog.bundle | |
linking shared-object zlib.bundle | |
*** Following extensions failed to configure: | |
../.././ext/openssl/extconf.rb:106: Ignore OpenSSL broken by Apple. | |
../.././ext/openssl/extconf.rb:106: Please use another openssl. (e.g. using `configure --with-openssl-dir=/path/to/openssl') | |
*** Fix the problems, then remove these directories and try again if you want. | |
linking ruby | |
making enc | |
linking encoding encdb.bundle | |
linking encoding big5.bundle |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ***DUMMY MAKEFILE*** | |
SHELL = /bin/sh | |
# V=0 quiet, V=1 verbose. other values don't work. | |
V = 0 | |
Q1 = $(V:1=) | |
Q = $(Q1:0=@) | |
ECHO1 = $(V:1=@ :) | |
ECHO = $(ECHO1:0=@ echo) | |
NULLCMD = : | |
#### Start of system configuration section. #### | |
top_srcdir = $(topdir)/. | |
srcdir = $(top_srcdir)/ext/openssl | |
topdir = ../.. | |
hdrdir = $(top_srcdir)/include | |
arch_hdrdir = $(extout)/include/$(arch) | |
PATH_SEPARATOR = : | |
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby | |
RUBYLIB = | |
RUBYOPT = - | |
prefix = $(DESTDIR)/Users/harrymoreno/.rubies/ruby-2.4.2 | |
rubysitearchprefix = $(rubylibprefix)/$(sitearch) | |
rubyarchprefix = $(rubylibprefix)/$(arch) | |
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) | |
exec_prefix = $(prefix) | |
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch) | |
sitearchhdrdir = $(sitehdrdir)/$(sitearch) | |
rubyarchhdrdir = $(rubyhdrdir)/$(arch) | |
vendorhdrdir = $(rubyhdrdir)/vendor_ruby | |
sitehdrdir = $(rubyhdrdir)/site_ruby | |
rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME) | |
vendorarchdir = $(vendorlibdir)/$(sitearch) | |
vendorlibdir = $(vendordir)/$(ruby_version) | |
vendordir = $(rubylibprefix)/vendor_ruby | |
sitearchdir = $(sitelibdir)/$(sitearch) | |
sitelibdir = $(sitedir)/$(ruby_version) | |
sitedir = $(rubylibprefix)/site_ruby | |
rubyarchdir = $(rubylibdir)/$(arch) | |
rubylibdir = $(rubylibprefix)/$(ruby_version) | |
sitearchincludedir = $(includedir)/$(sitearch) | |
archincludedir = $(includedir)/$(arch) | |
sitearchlibdir = $(libdir)/$(sitearch) | |
archlibdir = $(libdir)/$(arch) | |
ridir = $(datarootdir)/$(RI_BASE_NAME) | |
mandir = $(datarootdir)/man | |
localedir = $(datarootdir)/locale | |
libdir = $(exec_prefix)/lib | |
psdir = $(docdir) | |
pdfdir = $(docdir) | |
dvidir = $(docdir) | |
htmldir = $(docdir) | |
infodir = $(datarootdir)/info | |
docdir = $(datarootdir)/doc/$(PACKAGE) | |
oldincludedir = $(SDKROOT)/usr/include | |
includedir = $(prefix)/include | |
localstatedir = $(prefix)/var | |
sharedstatedir = $(prefix)/com | |
sysconfdir = $(prefix)/etc | |
datadir = $(datarootdir) | |
datarootdir = $(prefix)/share | |
libexecdir = $(exec_prefix)/libexec | |
sbindir = $(exec_prefix)/sbin | |
bindir = $(exec_prefix)/bin | |
archdir = $(rubyarchdir) | |
CC = clang | |
CXX = clang++ | |
LIBRUBY = $(LIBRUBY_A) | |
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a | |
LIBRUBYARG_SHARED = | |
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation | |
empty = | |
OUTFLAG = -o $(empty) | |
COUTFLAG = -o $(empty) | |
CSRCFLAG = $(empty) | |
RUBY_EXTCONF_H = | |
cflags = $(optflags) $(debugflags) $(warnflags) | |
cxxflags = $(optflags) $(debugflags) $(warnflags) | |
optflags = -O3 -fno-fast-math | |
debugflags = -ggdb3 | |
warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens | |
CCDLFLAGS = -fno-common | |
CFLAGS = $(CCDLFLAGS) $(cflags) -pipe $(ARCH_FLAG) | |
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I/usr/local/Cellar/openssl098/0.9.8zg/include | |
DEFS = | |
CPPFLAGS = -DHAVE_OPENSSL_SSL_H -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -I/usr/local/opt/libffi/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags) | |
CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG) | |
ldflags = -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L/usr/local/opt/libffi/lib -L/usr/local/Cellar/openssl098/0.9.8zg/lib | |
dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L/usr/local/opt/libffi/lib | |
ARCH_FLAG = | |
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) | |
LDSHARED = $(CC) -dynamic -bundle | |
LDSHAREDXX = $(CXX) -dynamic -bundle | |
AR = ar | |
EXEEXT = | |
RUBY_INSTALL_NAME = $(RUBY_BASE_NAME) | |
RUBY_SO_NAME = ruby | |
RUBYW_INSTALL_NAME = | |
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) | |
RUBYW_BASE_NAME = rubyw | |
RUBY_BASE_NAME = ruby | |
arch = x86_64-darwin17 | |
sitearch = $(arch) | |
ruby_version = 2.4.0 | |
ruby = $(topdir)/miniruby -I'$(topdir)' -I'$(top_srcdir)/lib' -I'$(extout)/$(arch)' -I'$(extout)/common' | |
RUBY = $(ruby) | |
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h | |
RM = rm -f | |
RM_RF = $(RUBY) -run -e rm -- -rf | |
RMDIRS = rmdir -p | |
MAKEDIRS = mkdir -p | |
INSTALL = /usr/bin/install -c | |
INSTALL_PROG = $(INSTALL) -m 0755 | |
INSTALL_DATA = $(INSTALL) -m 644 | |
COPY = cp | |
TOUCH = exit > | |
#### End of system configuration section. #### | |
preload = | |
EXTSO = | |
CLEANFILES = mkmf.log | |
DISTCLEANFILES = | |
all install static install-so install-rb: Makefile | |
@$(NULLCMD) | |
.PHONY: all install static install-so install-rb | |
.PHONY: clean clean-so clean-static clean-rb | |
clean-static:: | |
clean-rb-default:: | |
clean-rb:: | |
clean-so:: | |
clean: clean-so clean-static clean-rb-default clean-rb | |
-$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time | |
distclean-rb-default:: | |
distclean-rb:: | |
distclean-so:: | |
distclean-static:: | |
distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb | |
-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log | |
-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) | |
-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true | |
realclean: distclean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 /Users/harrymoreno/.gem/ruby/2.3.1/bin:$ | |
2 /Users/harrymoreno/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/bin:$ | |
3 /Users/harrymoreno/.rubies/ruby-2.3.1/bin:$ | |
4 /Users/harrymoreno/.yarn/bin:$ | |
5 /Users/harrymoreno/.config/yarn/global/node_modules/.bin:$ | |
6 /Users/harrymoreno/.nix-profile/bin:$ | |
7 /nix/var/nix/profiles/default/bin:$ | |
8 /Users/harrymoreno/programming/google-cloud-sdk/bin:$ | |
9 /usr/local/opt/openssl/bin:$ | |
10 /Users/harrymoreno/.nvm/versions/node/v7.3.0/bin:$ | |
11 /usr/local/bin:$ | |
12 /usr/local/sbin:$ | |
13 /usr/bin:$ | |
14 /bin:$ | |
15 /usr/sbin:$ | |
16 /sbin:$ | |
17 /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin:$ | |
18 /usr/local/opt/go/libexec/bin:$ | |
19 /Applications/FirefoxDeveloperEdition.app/Contents/MacOS:$ | |
20 /Users/harrymoreno/go/bin$ | |
21 $ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RUBY_RELEASE_YEAR = 2017 | |
RUBY_RELEASE_MONTH = 09 | |
RUBY_RELEASE_DAY = 14 | |
SHELL = /bin/sh | |
NULLCMD = : | |
n=$(NULLCMD) | |
ECHO1 = $(V:1=$n) | |
RUNCMD = $(SHELL) | |
CDPATH = . | |
CHDIR = cd -P | |
exec = exec | |
NULL = /dev/null | |
PATH_SEPARATOR = : | |
#### Start of system configuration section. #### | |
srcdir = . | |
top_srcdir = $(srcdir) | |
hdrdir = $(srcdir)/include | |
PLATFORM_DIR = | |
CC = clang | |
CPP = $(CC) -E | |
LD = ld | |
YACC = bison | |
PURIFY = | |
AUTOCONF = autoconf | |
ACLOCAL = aclocal | |
CONFIGURE = configure | |
MKFILES = Makefile GNUmakefile | |
BASERUBY = /Users/harrymoreno/.rubies/ruby-2.3.1/bin/ruby --disable=gems | |
HAVE_BASERUBY = yes | |
TEST_RUNNABLE = yes | |
CROSS_COMPILING = no | |
DOXYGEN = | |
prefix = /Users/harrymoreno/.rubies/ruby-2.4.2 | |
exec_prefix = ${prefix} | |
bindir = ${exec_prefix}/bin | |
sbindir = ${exec_prefix}/sbin | |
libdir = ${exec_prefix}/lib | |
libexecdir = ${exec_prefix}/libexec | |
datarootdir = ${prefix}/share | |
datadir = ${datarootdir} | |
arch = x86_64-darwin17 | |
sitearch = ${arch} | |
sitedir = ${rubylibprefix}/site_ruby | |
archlibdir = ${libdir}/${arch} | |
ruby_version = 2.4.0 | |
TESTUI = console | |
TESTS = | |
INSTALLDOC = all | |
DOCTARGETS = rdoc nodoc | |
EXTOUT = .ext | |
arch_hdrdir = $(EXTOUT)/include/$(arch) | |
VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir)/missing | |
empty = | |
CC_VERSION = $(CC) --version | |
OUTFLAG = -o $(empty) | |
COUTFLAG = -o $(empty) | |
ARCH_FLAG = | |
CFLAGS_NO_ARCH = ${cflags} -pipe | |
CFLAGS = $(CFLAGS_NO_ARCH) $(ARCH_FLAG) | |
cflags = ${optflags} ${debugflags} ${warnflags} | |
optflags = -O3 -fno-fast-math | |
debugflags = -ggdb3 | |
warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens | |
cppflags = | |
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE | |
CPPFLAGS = -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -I/usr/local/opt/libffi/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) ${cppflags} $(INCFLAGS) | |
LDFLAGS = $(CFLAGS) -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L/usr/local/opt/libffi/lib | |
EXTLDFLAGS = | |
XLDFLAGS = -fstack-protector -Wl,-u,_objc_msgSend -Wl,-pie -framework CoreFoundation $(EXTLDFLAGS) | |
EXTLIBS = | |
LIBS = -lpthread -lgmp -ldl -lobjc $(EXTLIBS) | |
MISSING = ${LIBOBJDIR}explicit_bzero.o ${LIBOBJDIR}setproctitle.o | |
LDSHARED = $(CC) -dynamic -bundle | |
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L/usr/local/opt/libffi/lib $(XLDFLAGS) $(ARCH_FLAG) | |
SOLIBS = | |
MAINLIBS = | |
ARCHMINIOBJS = dmydln.o | |
DLNOBJ = dln.o | |
ENCOBJS = dmyenc.$(OBJEXT) | |
EXTOBJS = dmyext.$(OBJEXT) | |
BUILTIN_ENCOBJS = enc/ascii.$(OBJEXT) enc/us_ascii.$(OBJEXT) enc/unicode.$(OBJEXT) enc/utf_8.$(OBJEXT) | |
BUILTIN_TRANSSRCS = enc/trans/newline.c | |
BUILTIN_TRANSOBJS = enc/trans/newline.$(OBJEXT) | |
POSTLINK = test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@ | |
RUBY_BASE_NAME=ruby | |
RUBY_PROGRAM_VERSION=2.4.2 | |
RUBY_INSTALL_NAME=$(RUBY_BASE_NAME) | |
RUBY_SO_NAME=$(RUBY_BASE_NAME) | |
EXEEXT = | |
LIBEXT = a | |
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT) | |
RUBY = $(RUBY_INSTALL_NAME) | |
MINIRUBY = ./miniruby$(EXEEXT) -I$(srcdir)/lib -I. -I$(EXTOUT)/common\ | |
$(MINIRUBYOPT) | |
# RUNRUBY_COMMAND:: runruby.rb or baseruby. do not append options directly | |
RUNRUBY_COMMAND = $(MINIRUBY) $(srcdir)/tool/runruby.rb --extout=$(EXTOUT) $(RUNRUBYOPT) | |
# RUNRUBY:: run ruby with RUN_OPTS which is passed to ruby | |
RUNRUBY = $(RUNRUBY_COMMAND) -- $(RUN_OPTS) | |
# RUNRUBY_DEBUGGER:: debugging option for runruby.rb | |
RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args' | |
XRUBY = $(RUNRUBY) | |
BTESTRUBY = $(MINIRUBY)\ | |
$(MINIRUBYOPT) | |
INSTALL = /usr/bin/install -c | |
INSTALL_DATA = ${INSTALL} -m 644 | |
INSTALL_SCRIPT = ${INSTALL} | |
INSTALL_PROGRAM = ${INSTALL} | |
XRUBY_LIBDIR = | |
XRUBY_RUBYLIBDIR = | |
XRUBY_RUBYHDRDIR = | |
BOOTSTRAPRUBY = $(MINIRUBY) | |
#### End of system configuration section. #### | |
MAJOR= 2 | |
MINOR= 4 | |
TEENY= 2 | |
RUBY_PROGRAM_VERSION = 2.4.2 | |
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a | |
LIBRUBY_SO = lib$(RUBY_SO_NAME).so.$(RUBY_PROGRAM_VERSION) | |
LIBRUBY_ALIASES= lib$(RUBY_SO_NAME).so | |
LIBRUBY = $(LIBRUBY_A) | |
LIBRUBYARG = $(LIBRUBYARG_STATIC) | |
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation | |
LIBRUBYARG_SHARED = | |
LIBRUBY_RELATIVE = no | |
LIBRUBY_A_OBJS = $(OBJS) | |
DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS)) | |
DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \ | |
eval.$(OBJEXT) \ | |
gc.$(OBJEXT) \ | |
hash.$(OBJEXT) \ | |
load.$(OBJEXT) \ | |
object.$(OBJEXT) \ | |
parse.$(OBJEXT) \ | |
string.$(OBJEXT) \ | |
symbol.$(OBJEXT) \ | |
vm.$(OBJEXT) | |
THREAD_MODEL = pthread | |
PREP = miniruby$(EXEEXT) ruby-runner$(EXEEXT) | |
ARCHFILE = | |
SETUP = | |
EXTSTATIC = | |
ENCSTATIC = | |
SET_LC_MESSAGES = env LC_MESSAGES=C | |
MAKEDIRS = mkdir -p | |
CP = cp | |
MV = mv | |
RM = rm -f | |
RMDIR = rmdir | |
RMDIRS = rmdir -p | |
RMALL = rm -fr | |
NM = nm | |
AR = ar | |
ARFLAGS = rcu | |
RANLIB = ranlib | |
AS = as | |
ASFLAGS = $(INCFLAGS) | |
IFCHANGE = $(srcdir)/tool/ifchange | |
SET_LC_MESSAGES = env LC_MESSAGES=C | |
OBJDUMP = objdump | |
OBJCOPY = : | |
VCS = echo cannot | |
VCSUP = $(VCS) | |
DTRACE = dtrace -xnolibs | |
DTRACE_EXT = d | |
DTRACE_OBJ = | |
DTRACE_REBUILD= | |
DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT)) | |
OBJEXT = o | |
ASMEXT = S | |
DLEXT = bundle | |
MANTYPE = doc | |
SYMBOL_PREFIX = _ | |
INSTALLED_LIST= .installed.list | |
NEWLINE_C = enc/trans/newline.c | |
MINIPRELUDE_C = miniprelude.c | |
PRELUDE_C = prelude.c | |
RBCONFIG = .rbconfig.time | |
SRC_FILE = $< | |
OS_SRC_FILE = $< | |
DEST_FILE = $@ | |
OS_DEST_FILE = $@ | |
MESSAGE_BEGIN = @for line in | |
MESSAGE_END = ; do echo "$$line"; done | |
ECHO_BEGIN = @sep=''; for word in | |
ECHO_END = ; do echo "$$sep'$$word'\c"; sep=' '; done; echo | |
DESTDIR = | |
configure_args = '--prefix=/Users/harrymoreno/.rubies/ruby-2.4.2' '--with-opt-dir=/usr/local/opt/openssl:/usr/local/opt/readline:/usr/local/opt/libyaml:/usr/local/opt/gdbm:/usr/local/opt/libffi' | |
#### End of variables | |
.SUFFIXES: .inc .h .c .y .i .$(DTRACE_EXT) | |
all: | |
# Prevent GNU make v3 from overflowing arg limit on SysV. | |
.NOEXPORT: | |
miniruby$(EXEEXT): | |
@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi | |
$(ECHO) linking $@ | |
$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@ | |
$(PROGRAM): | |
@$(RM) $@ | |
$(ECHO) linking $@ | |
$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@ | |
$(Q) $(POSTLINK) | |
# 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. | |
$(LIBRUBY_A): | |
@$(RM) $@ | |
$(ECHO) linking static-library $@ | |
$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS) | |
@-$(RANLIB) $@ 2> /dev/null || true | |
$(ECHO) verifying static-library $@ | |
@$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT) | |
@$(RM) conftest$(EXEEXT) conftest.c | |
$(LIBRUBY_SO): | |
@-$(PRE_LIBRUBY_UPDATE) | |
$(ECHO) linking shared-library $@ | |
$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@ | |
-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)ruby_static_id_*' \ | |
-L '$(SYMBOL_PREFIX)*_threadptr_*' $@ | |
$(Q) $(POSTLINK) | |
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link rescue nil; \ | |
File.symlink "$(LIBRUBY_SO)", link}' \ | |
$(LIBRUBY_ALIASES) || true | |
ruby_pc = ruby-2.4.pc | |
$(ruby_pc): | |
@./config.status --file=$@:$(srcdir)/template/ruby.pc.in | |
ruby-runner.h: template/ruby-runner.h.in | |
@./config.status --file=$@:$(srcdir)/template/$(@F).in | |
ruby-runner$(EXEEXT): ruby-runner.c ruby-runner.h | |
$(Q) $(PURIFY) $(CC) $(CFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(RUBY_INSTALL_NAME) $(LDFLAGS) $(LIBS) $(OUTFLAG)$@ $< | |
$(RBCONFIG): $(PREP) | |
rbconfig.rb: $(RBCONFIG) | |
install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \ | |
$(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE) | |
$(ECHO) installing cross-compiling stuff | |
$(Q) $(MAKEDIRS) $(XRUBY_RUBYLIBDIR)/$(arch) $(XRUBY_RUBYHDRDIR)/$(arch)/ruby | |
$(Q) sed '/^\$$:\.unshift/q' $(arch)-fake.rb > fake.rb | |
$(Q) $(BASERUBY) -p \ | |
-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) | |
Makefile: $(srcdir)/Makefile.in $(srcdir)/enc/Makefile.in | |
$(MKFILES): config.status $(srcdir)/version.h | |
@[ -f $@ ] && mv $@ $@.old | |
MAKE=$(MAKE) $(SHELL) ./config.status $@ | |
@cmp $@ $@.old > /dev/null 2>&1 && echo $@ unchanged && exit 0; \ | |
{ \ | |
echo "all:; -@rm -f conftest.mk"; \ | |
echo "conftest.mk: .force; @echo AUTO_REMAKE"; \ | |
echo ".force:"; \ | |
} > conftest.mk || exit 1; \ | |
$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \ | |
{ echo "$@ updated, restart."; exit 1; } | |
uncommon.mk: $(srcdir)/common.mk | |
sed 's/{\$$([^(){}]*)[^{}]*}//g' $< > $@ | |
.PHONY: reconfig | |
reconfig-args = $(srcdir)/$(CONFIGURE) $(configure_args) | |
config.status-args = ./config.status --recheck | |
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>&-` | |
reconfig-exec-1 = set -x; "$$@" | |
reconfig config.status: $(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \ | |
$(srcdir)/include/ruby/version.h | |
@PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \ | |
set $(SHELL) $($@-args); $(reconfig-exec-$(V)) | |
$(srcdir)/$(CONFIGURE): $(srcdir)/configure.in $(srcdir)/aclocal.m4 | |
$(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F) | |
$(srcdir)/aclocal.m4: | |
$(CHDIR) $(srcdir) && \ | |
type $(ACLOCAL) >/dev/null 2>&1 && exec $(ACLOCAL); \ | |
touch $(@F) | |
incs: id.h | |
all-incs: probes.h | |
# Things which should be considered: | |
# * with gperf v.s. without gperf | |
# * committers may have various versions of gperf | |
# * ./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. | |
# * svn checkout generate a file with mtime as current time | |
# * ext4 and XFS has a mtime with fractional part | |
lex.c: defs/keywords | |
@\ | |
if cmp -s $(srcdir)/defs/lex.c.src $?; then \ | |
[ $(Q) ] && echo copying $@ || set -x; \ | |
$(CP) $(srcdir)/lex.c.blt $@; \ | |
else \ | |
[ $(Q) ] && echo generating $@ || set -x; \ | |
gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \ | |
| sed 's/(long)&((\(struct stringpool_t\) *\*)0)->\(stringpool_[a-z0-9]*\)/offsetof(\1, \2)/g' \ | |
> $@.tmp && \ | |
$(MV) $@.tmp $@ && \ | |
$(CP) $? $(srcdir)/defs/lex.c.src && \ | |
$(CP) $@ $(srcdir)/lex.c.blt; \ | |
fi | |
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 | |
enc/jis/props.h: enc/jis/props.kwd | |
$(MAKEDIRS) $(@D) | |
@set +e; \ | |
if cmp -s $(?:.kwd=.src) $?; then \ | |
set -x; \ | |
$(CP) $(?:.kwd=.h.blt) $@; \ | |
else \ | |
set -x; \ | |
gperf $(JIS_PROPS_OPTIONS) $? | \ | |
sed 's/(int)(long)&((\([a-zA-Z_0-9 ]*[a-zA-Z_0-9]\) *\*)0)->\([a-zA-Z0-9_]*\),/(char)offsetof(\1, \2),/g' > $@ && \ | |
$(CP) $? $(?:.kwd=.src) && \ | |
$(CP) $@ $(?:.kwd=.h.blt); \ | |
fi | |
.c.o: | |
@$(ECHO) compiling $< | |
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $< | |
.s.o: | |
@$(ECHO) assembling $< | |
$(Q) $(AS) $(ASFLAGS) -o $@ $< | |
.c.S: | |
@$(ECHO) translating $< | |
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -S $< | |
.c.i: | |
@$(ECHO) preprocessing $< | |
$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $< > $@ | |
.d.h: | |
@$(ECHO) translating probes $< | |
$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $< | |
$(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 > $@ | |
$(Q) $(RM) $@.tmp | |
.dmyh.h: | |
@$(ECHO) making dummy $(DEST_FILE) | |
$(Q)echo '#include "$(*F).dmyh"' > $@ | |
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 $@ | |
probes.o: $(srcdir)/probes.d $(DTRACE_REBUILD:yes=probes.stamp) | |
@$(ECHO) processing probes in object files | |
$(Q) $(RM) $@ | |
$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_OBJS) | |
# DTrace static library hacks described here: | |
# http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html | |
ruby-glommed.$(OBJEXT): | |
@$(ECHO) generating a glommed object with DTrace probes for static library | |
$(Q) $(LD) -r -o $@ $(OBJS) | |
clean-local:: | |
$(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \ | |
enc/encinit.c enc/encinit.$(OBJEXT) | |
-$(Q)$(RM) $(pkgconfig_DATA) | |
distclean-local:: | |
$(Q)$(RM) ext/config.cache $(RBCONFIG) Doxyfile | |
-$(Q)$(RM) run.gdb | |
-$(Q)$(RM) $(INSTALLED_LIST) $(arch_hdrdir)/ruby/config.h verconf.h | |
-$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2> /dev/null || true | |
clean-ext distclean-ext realclean-ext:: | |
@cd ext 2>/dev/null || exit 0; set dummy `echo "${EXTS}" | tr , ' '`; shift; \ | |
test "$$#" = 0 && set .; \ | |
set dummy `\ | |
find "$$@" -name Makefile -print | sed 's:^\./::;s:/Makefile$$::' | sort; \ | |
`; shift; \ | |
cd ..; \ | |
for dir do \ | |
echo $(@:-ext=)ing "$$dir"; \ | |
(cd "ext/$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \ | |
case "$@" in \ | |
*distclean-ext*|*realclean-ext*) \ | |
$(RMDIRS) "ext/$$dir" 2> /dev/null || true;; \ | |
esac; \ | |
done | |
-$(Q)$(RM) ext/extinit.$(OBJEXT) | |
distclean-ext realclean-ext:: | |
-$(Q)$(RM) ext/extinit.c | |
-$(Q)$(RMDIR) ext 2> /dev/null || true | |
clean-extout: | |
clean-enc distclean-enc realclean-enc: | |
@test -f "$(ENC_MK)" || exit 0; \ | |
echo $(@:-enc=ing) encodings; \ | |
exec $(MAKE) $(MAKE_ENC) $(@:-enc=) | |
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP) | |
$(ECHO) compiling $@ | |
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c | |
enc/encinit.$(OBJEXT): enc/encinit.c $(SETUP) | |
update-src:: | |
@$(CHDIR) "$(srcdir)" && LC_TIME=C exec $(VCSUP) | |
update-download:: update-config_files | |
after-update:: common-srcs | |
update-mspec: | |
@$(CHDIR) $(srcdir); \ | |
if [ -d spec/mspec ]; then \ | |
echo updating mspec ...; \ | |
$(Q1:0=:) set -x; \ | |
cd spec/mspec && \ | |
exec git pull; \ | |
else \ | |
echo retrieving mspec ...; \ | |
$(Q1:0=:) set -x; \ | |
exec git clone $(MSPEC_GIT_URL) spec/mspec; \ | |
fi | |
$(Q)cd $(srcdir)/spec/mspec && exec git --no-pager log -1 --oneline | |
update-rubyspec: update-mspec | |
@$(CHDIR) $(srcdir); \ | |
if [ -d spec/rubyspec ]; then \ | |
echo updating rubyspec ...; \ | |
$(Q1:0=:) set -x; \ | |
cd spec/rubyspec && \ | |
exec git pull; \ | |
else \ | |
echo retrieving rubyspec ...; \ | |
$(Q1:0=:) set -x; \ | |
exec git clone $(RUBYSPEC_GIT_URL) spec/rubyspec; \ | |
fi | |
$(Q)cd $(srcdir)/spec/rubyspec && exec git --no-pager log -1 --oneline | |
test-rubyspec-precheck: | |
@if [ ! -d $(srcdir)/spec/rubyspec ]; then echo No rubyspec here. make update-rubyspec first.; exit 1; fi | |
update-doclie: | |
@$(CHDIR) $(srcdir); \ | |
if [ -d coverage/doclie ]; then \ | |
echo updating doclie ...; \ | |
$(Q1:0=:) set -x; \ | |
cd coverage/doclie && \ | |
git fetch && \ | |
exec git checkout $(DOCLIE_GIT_REF); \ | |
else \ | |
echo retrieving doclie ...; \ | |
$(Q1:0=:) set -x; \ | |
exec git clone --branch $(DOCLIE_GIT_REF) $(DOCLIE_GIT_URL) coverage/doclie; \ | |
fi | |
update-simplecov-html: | |
@$(CHDIR) $(srcdir); \ | |
if [ -d coverage/simplecov-html ]; then \ | |
echo updating simplecov-html ...; \ | |
$(Q1:0=:) set -x; \ | |
cd coverage/simplecov-html && \ | |
git fetch && \ | |
exec git checkout $(SIMPLECOV_HTML_GIT_REF); \ | |
else \ | |
echo retrieving simplecov-html ...; \ | |
exec git clone --branch $(SIMPLECOV_HTML_GIT_REF) $(SIMPLECOV_HTML_GIT_URL) coverage/simplecov-html; \ | |
fi | |
update-simplecov: | |
@$(CHDIR) $(srcdir); \ | |
if [ -d coverage/simplecov ]; then \ | |
echo updating simplecov ...; \ | |
$(Q1:0=:) set -x; \ | |
cd coverage/simplecov && \ | |
git fetch && \ | |
exec git checkout $(SIMPLECOV_GIT_REF); \ | |
else \ | |
echo retrieving simplecov ...; \ | |
$(Q1:0=:) set -x; \ | |
exec git clone --branch $(SIMPLECOV_GIT_REF) $(SIMPLECOV_GIT_URL) coverage/simplecov; \ | |
fi | |
update-coverage: update-simplecov update-simplecov-html update-doclie | |
INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \ | |
vmtc.inc vm.inc | |
$(INSNS): $(srcdir)/insns.def vm_opts.h \ | |
$(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \ | |
$(srcdir)/tool/instruction.rb $(srcdir)/tool/insns2vm.rb | |
$(ECHO) generating $@ | |
$(Q) $(BASERUBY) -Ku $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) $@ | |
verconf.h: $(RBCONFIG) | |
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' | |
un-runnable: | |
$(ECHO) cannot make runnable, configure with --enable-load-relative. | |
$(Q) exit 1 | |
distclean-local::; @$(RM) GNUmakefile uncommon.mk |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment