Skip to content

Instantly share code, notes, and snippets.

@morenoh149

morenoh149/error Secret

Last active February 19, 2018 21:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save morenoh149/e774cb45dba51bf257a2c7cec4c97ee6 to your computer and use it in GitHub Desktop.
Save morenoh149/e774cb45dba51bf257a2c7cec4c97ee6 to your computer and use it in GitHub Desktop.
ruby 2.4.2 installation error
$ 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
# ***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
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 $
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