mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
3fa3f9abb9
Fixes --with-static-linked-ext. Patch by Google Inc. [ruby-core:45073]. * Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static linked libraries. Also reintroduces extinit.o, introduces encinit.o introduces encinit.o * common.mk: Builds static libraries rather than shared objects if specified. * configure.in (LD): new substitution. Avoids PIE if s * enc/depend: Supports static linked libraries (libencs, libenc, libtrans): New target. * enc/encinit.c.erb: new template to generate the initialization of statically linked encodings. * enc/make_encmake.rb (--module): new flag to specify whether static or dynamic. * transcode_data.h (TRANS_INIT): New macro to get rid of the name collision of encoding initializers and transcoder initializers. * ext/extmk.rb: Fixes the behavior on $extstatic is true. * lib/mkmf.rb (clean-static): new target to clean up static linked libraries. * ruby.c (process_options): New initializes statically linked encodings here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
77 lines
1.5 KiB
Makefile
77 lines
1.5 KiB
Makefile
V = 0
|
|
Q1 = $(V:1=)
|
|
Q = $(Q1:0=@)
|
|
n=$(NULLCMD)
|
|
ECHO1 = $(V:1=@$n)
|
|
ECHO = $(ECHO1:0=@echo)
|
|
|
|
encsrcdir = @srcdir@
|
|
topdir = .
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
libdir = @libdir@
|
|
top_srcdir = $(encsrcdir:/enc=)
|
|
srcdir = $(top_srcdir)
|
|
arch = @arch@
|
|
EXTOUT = @EXTOUT@
|
|
hdrdir = $(srcdir)/include
|
|
arch_hdrdir = $(EXTOUT)/include/$(arch)
|
|
ENCSODIR = $(EXTOUT)/$(arch)/enc
|
|
TRANSSODIR = $(ENCSODIR)/trans
|
|
DLEXT = @DLEXT@
|
|
OBJEXT = @OBJEXT@
|
|
LIBEXT = @LIBEXT@
|
|
|
|
BUILTIN_ENCS = ascii.c us_ascii.c\
|
|
unicode.c utf_8.c
|
|
|
|
BUILTIN_TRANSES = newline.trans
|
|
|
|
RUBY_SO_NAME = @RUBY_SO_NAME@
|
|
LIBRUBY = @LIBRUBY@
|
|
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
|
LIBRUBYARG_STATIC = $(LIBRUBYARG_SHARED)
|
|
|
|
empty =
|
|
AR = @AR@
|
|
CC = @CC@
|
|
RANLIB = @RANLIB@
|
|
OUTFLAG = @OUTFLAG@$(empty)
|
|
COUTFLAG = @COUTFLAG@$(empty)
|
|
CFLAGS = $(CCDLFLAGS) @CFLAGS@ @ARCH_FLAG@
|
|
cflags = @cflags@
|
|
optflags = @optflags@
|
|
debugflags = @debugflags@
|
|
warnflags = @warnflags@
|
|
CCDLFLAGS = @CCDLFLAGS@
|
|
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(top_srcdir)
|
|
DEFS = @DEFS@
|
|
CPPFLAGS = @CPPFLAGS@ -DONIG_ENC_REGISTER=rb_enc_register
|
|
LDFLAGS = @LDFLAGS@
|
|
LDSHARED = @LDSHARED@
|
|
ldflags = $(LDFLAGS)
|
|
dldflags = @DLDFLAGS@
|
|
archflag = @ARCH_FLAG@
|
|
DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
|
|
RUBY = $(MINIRUBY)
|
|
|
|
WORKDIRS = @WORKDIRS@
|
|
|
|
NULLCMD = @NULLCMD@
|
|
RM = @RM@
|
|
RMDIR = @RMDIR@
|
|
RMDIRS = @RMDIRS@
|
|
MAKEDIRS = @MAKEDIRS@
|
|
|
|
.SUFFIXES: .trans
|
|
|
|
all: make-workdir
|
|
|
|
make-workdir:
|
|
$(Q)$(MAKEDIRS) $(WORKDIRS)
|
|
|
|
clean:
|
|
|
|
distclean: clean
|
|
$(Q)$(RM) enc.mk
|
|
realclean: distclean clean-srcs
|