2003-08-16 10:58:34 -04:00
|
|
|
# -*- makefile -*-
|
|
|
|
|
2000-12-06 04:10:17 -05:00
|
|
|
SHELL = $(COMSPEC)
|
2011-12-14 06:02:00 -05:00
|
|
|
ECHO1 = $(V:1=@:)
|
2009-02-24 05:01:08 -05:00
|
|
|
RUNCMD = $(COMSPEC) /c
|
2014-06-10 04:30:01 -04:00
|
|
|
MKFILES = Makefile verconf.mk
|
2004-03-21 18:21:31 -05:00
|
|
|
NULL = nul
|
2009-03-06 04:37:31 -05:00
|
|
|
CHDIR = cd
|
2012-11-19 02:08:13 -05:00
|
|
|
PATH_SEPARATOR = ;
|
2013-10-15 03:33:59 -04:00
|
|
|
TZ = # skip timezone tests
|
2014-11-21 10:58:35 -05:00
|
|
|
PWD = $(MAKEDIR)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-12-22 01:30:40 -05:00
|
|
|
!ifndef MFLAGS
|
2007-12-23 22:35:06 -05:00
|
|
|
MFLAGS=-l
|
2007-12-22 01:30:40 -05:00
|
|
|
!endif
|
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
!ifndef CROSS_COMPILING
|
2013-01-07 01:23:15 -05:00
|
|
|
CROSS_COMPILING = no
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
|
|
|
!ifndef LARGEFILE_SUPPORT
|
|
|
|
LARGEFILE_SUPPORT = 1
|
|
|
|
!endif
|
|
|
|
!ifndef win_srcdir
|
|
|
|
win_srcdir = $(srcdir)/win32
|
|
|
|
!endif
|
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
#### Start of system configuration section. ####
|
|
|
|
|
2005-10-14 10:10:08 -04:00
|
|
|
!if defined(pathlist)
|
|
|
|
PATH = $(pathlist:;=/bin;)$(PATH)
|
|
|
|
INCLUDE = $(pathlist:;=/include;)
|
|
|
|
LIB = $(pathlist:;=/lib;)
|
|
|
|
!endif
|
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
## variables may be overridden by $(compile_dir)/Makefile
|
|
|
|
!ifndef srcdir
|
|
|
|
srcdir = ..
|
|
|
|
!endif
|
2009-05-07 21:14:14 -04:00
|
|
|
!ifndef RUBY_BASE_NAME
|
|
|
|
RUBY_BASE_NAME = ruby
|
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
!ifndef RUBY_INSTALL_NAME
|
2010-12-16 05:55:11 -05:00
|
|
|
RUBY_INSTALL_NAME = $(PROGRAM_PREFIX)$(RUBY_BASE_NAME)$(PROGRAM_SUFFIX)
|
2000-08-03 05:55:54 -04:00
|
|
|
!endif
|
|
|
|
!if !defined(RUBYW_INSTALL_NAME) || "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
|
|
|
|
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
|
|
|
|
!endif
|
|
|
|
!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
|
|
|
|
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
|
|
|
|
!endif
|
2010-11-18 09:56:34 -05:00
|
|
|
STUBPROGRAM = rubystub$(EXEEXT)
|
2001-06-09 03:41:44 -04:00
|
|
|
!if !defined(icondirs) && defined(ICONDIRS)
|
|
|
|
icondirs=$(ICONDIRS)
|
|
|
|
!endif
|
|
|
|
!if defined(icondirs)
|
|
|
|
icondirs=$(icondirs:\=/)
|
2002-03-20 06:21:19 -05:00
|
|
|
iconinc=-I$(icondirs: = -I)
|
2001-06-09 03:41:44 -04:00
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
###############
|
|
|
|
|
2012-11-19 00:56:38 -05:00
|
|
|
.SUFFIXES: .def .lib
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(CC)
|
2000-08-03 05:55:54 -04:00
|
|
|
CC = cl
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2006-09-26 02:32:09 -04:00
|
|
|
!if !defined(CPP) || "$(CPP)" == "cl"
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
CPP = $(CC) -E
|
|
|
|
!endif
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(YACC)
|
2004-09-17 07:38:49 -04:00
|
|
|
YACC = bison
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2002-09-10 04:24:11 -04:00
|
|
|
AR = lib -nologo
|
2000-08-03 05:55:54 -04:00
|
|
|
PURIFY =
|
|
|
|
AUTOCONF = autoconf
|
2008-01-25 04:27:30 -05:00
|
|
|
IFCHANGE = $(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat
|
2006-01-16 21:08:33 -05:00
|
|
|
RM = $(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat
|
2010-12-26 08:46:02 -05:00
|
|
|
RMDIR = $(COMSPEC) /C $(srcdir:/=\)\win32\rmdirs.bat
|
2009-01-24 21:06:29 -05:00
|
|
|
RMDIRS = $(COMSPEC) /C $(srcdir:/=\)\win32\rmdirs.bat
|
2014-07-07 03:08:06 -04:00
|
|
|
RMALL = $(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat -r
|
2012-03-01 01:40:09 -05:00
|
|
|
MAKEDIRS = $(COMSPEC) /E:ON /C $(srcdir:/=\)\win32\makedirs.bat
|
2007-12-11 02:19:28 -05:00
|
|
|
CP = copy > nul
|
2008-01-12 19:17:31 -05:00
|
|
|
MV = move > nul
|
2007-01-23 01:41:22 -05:00
|
|
|
!if !defined(BASERUBY)
|
|
|
|
BASERUBY = ruby
|
|
|
|
!endif
|
2009-07-21 00:35:56 -04:00
|
|
|
!if !defined(TEST_RUNNABLE)
|
|
|
|
TEST_RUNNABLE = yes
|
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2014-10-31 04:07:50 -04:00
|
|
|
!if !defined(MACHINE)
|
|
|
|
MACHINE = x86
|
2002-09-10 04:24:11 -04:00
|
|
|
!endif
|
2014-10-31 04:07:50 -04:00
|
|
|
!if "$(MACHINE)" == "x86"
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(PROCESSOR_LEVEL)
|
|
|
|
PROCESSOR_LEVEL = 5
|
|
|
|
!endif
|
2002-06-11 00:16:58 -04:00
|
|
|
!if 6 < $(PROCESSOR_LEVEL)
|
|
|
|
PROCESSOR_LEVEL = 6
|
|
|
|
!endif
|
2005-12-30 04:23:15 -05:00
|
|
|
!if $(MSC_VER) < 1400
|
2002-03-20 06:21:19 -05:00
|
|
|
PROCESSOR_FLAG = -G$(PROCESSOR_LEVEL)
|
2005-12-30 04:23:15 -05:00
|
|
|
!endif
|
2002-03-20 06:21:19 -05:00
|
|
|
CPU = i$(PROCESSOR_LEVEL)86
|
|
|
|
ARCH = i386
|
|
|
|
!else
|
2014-10-31 04:07:50 -04:00
|
|
|
CPU = $(MACHINE)
|
|
|
|
ARCH = $(MACHINE)
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2007-02-24 21:48:19 -05:00
|
|
|
!if !defined(DEBUGFLAGS)
|
2002-03-20 06:21:19 -05:00
|
|
|
DEBUGFLAGS = -Zi
|
|
|
|
!endif
|
|
|
|
!if !defined(OPTFLAGS)
|
2006-01-09 00:27:43 -05:00
|
|
|
!if $(MSC_VER) < 1400
|
|
|
|
OPTFLAGS = -O2b2xg-
|
|
|
|
!else
|
2009-03-10 00:52:29 -04:00
|
|
|
OPTFLAGS = -O2sy-
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2006-01-09 00:27:43 -05:00
|
|
|
!endif
|
2008-07-11 09:10:29 -04:00
|
|
|
!if !defined(PLATFORM)
|
|
|
|
PLATFORM = mswin32
|
2005-04-13 06:25:41 -04:00
|
|
|
!endif
|
|
|
|
!if !defined(RT)
|
|
|
|
!error RT not defined. Retry from configure pass.
|
2003-12-18 07:48:43 -05:00
|
|
|
!endif
|
2009-11-26 03:55:34 -05:00
|
|
|
!ifdef NTVER
|
|
|
|
ARCHDEFS = -D_WIN32_WINNT=$(NTVER) $(ARCHDEFS)
|
|
|
|
!endif
|
2012-02-28 10:51:25 -05:00
|
|
|
!if !defined(PLATFORM_DIR)
|
|
|
|
PLATFORM_DIR = win32
|
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2008-07-11 09:10:29 -04:00
|
|
|
arch = $(ARCH)-$(PLATFORM)
|
2009-10-26 14:45:34 -04:00
|
|
|
sitearch = $(ARCH)-$(RT)
|
2008-07-15 09:34:49 -04:00
|
|
|
!if !defined(ruby_version)
|
|
|
|
ruby_version = $(MAJOR).$(MINOR).$(TEENY)
|
|
|
|
!endif
|
2007-06-09 23:06:15 -04:00
|
|
|
|
2002-09-10 04:24:11 -04:00
|
|
|
!ifndef RUBY_SO_NAME
|
2009-05-07 21:14:14 -04:00
|
|
|
RUBY_SO_NAME = $(RT)-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)$(TEENY)
|
2011-05-15 22:22:27 -04:00
|
|
|
!if "$(ARCH)" != "i386"
|
|
|
|
RUBY_SO_NAME = $(ARCH)-$(RUBY_SO_NAME)
|
|
|
|
!endif
|
2002-09-10 04:24:11 -04:00
|
|
|
!endif
|
2008-01-08 06:02:10 -05:00
|
|
|
!ifndef RUBY_PLATFORM
|
|
|
|
RUBY_PLATFORM = $(arch)
|
|
|
|
!endif
|
2002-09-10 04:24:11 -04:00
|
|
|
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(prefix)
|
2000-08-03 05:55:54 -04:00
|
|
|
prefix = /usr
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2003-08-16 10:58:34 -04:00
|
|
|
!if !defined(exec_prefix)
|
|
|
|
exec_prefix = $(prefix)
|
|
|
|
!endif
|
|
|
|
!if !defined(libdir)
|
|
|
|
libdir = $(exec_prefix)/lib
|
|
|
|
!endif
|
2004-02-09 03:48:55 -05:00
|
|
|
!if !defined(datadir)
|
|
|
|
datadir = $(prefix)/share
|
|
|
|
!endif
|
|
|
|
!ifndef EXTOUT
|
|
|
|
EXTOUT = .ext
|
|
|
|
!endif
|
|
|
|
!ifndef TESTUI
|
|
|
|
TESTUI = console
|
|
|
|
!endif
|
|
|
|
!ifndef TESTS
|
|
|
|
TESTS =
|
|
|
|
!endif
|
2009-09-16 03:20:19 -04:00
|
|
|
!ifndef CAPITARGET
|
|
|
|
! ifdef DOXYGEN
|
|
|
|
CAPITARGET = capi
|
|
|
|
! else
|
|
|
|
CAPITARGET = nodoc
|
|
|
|
! endif
|
|
|
|
!endif
|
|
|
|
!ifndef DOCTARGETS
|
2009-09-16 04:00:07 -04:00
|
|
|
! if "$(RDOCTARGET)" == "rdoc" || "$(RDOCTARGET)" == ""
|
2009-09-16 03:20:19 -04:00
|
|
|
DOCTARGETS = $(DOCTARGETS) rdoc
|
|
|
|
! endif
|
|
|
|
! if "$(CAPITARGET)" == "capi"
|
|
|
|
DOCTARGETS = $(DOCTARGETS) capi
|
|
|
|
! endif
|
2009-09-16 03:27:58 -04:00
|
|
|
!endif
|
2009-09-16 03:20:19 -04:00
|
|
|
!ifndef INSTALLDOC
|
2009-09-16 04:06:24 -04:00
|
|
|
! if "$(DOCTARGETS)" != ""
|
2009-09-16 03:20:19 -04:00
|
|
|
INSTALLDOC = all
|
|
|
|
! else
|
|
|
|
INSTALLDOC = nodoc
|
|
|
|
DOCTARGETS = nodoc
|
|
|
|
! endif
|
2004-02-09 03:48:55 -05:00
|
|
|
!endif
|
2004-03-21 18:21:31 -05:00
|
|
|
|
|
|
|
OUTFLAG = -Fe
|
2007-12-23 22:49:56 -05:00
|
|
|
COUTFLAG = -Fo
|
2008-01-08 06:02:10 -05:00
|
|
|
!if !defined(RUNTIMEFLAG)
|
|
|
|
RUNTIMEFLAG = -MD
|
|
|
|
!endif
|
2008-09-01 23:59:39 -04:00
|
|
|
!if !defined(COMPILERFLAG)
|
2009-01-14 23:14:18 -05:00
|
|
|
COMPILERFLAG = -Zm600
|
2008-09-01 23:59:39 -04:00
|
|
|
!endif
|
2009-03-10 07:07:42 -04:00
|
|
|
!if !defined(WARNFLAGS)
|
2009-03-12 09:31:11 -04:00
|
|
|
!if $(MSC_VER) >= 1400
|
2010-12-06 18:00:47 -05:00
|
|
|
WARNFLAGS = -W2 -wd4996 -we4028 -we4142
|
2009-03-12 09:31:11 -04:00
|
|
|
!else
|
|
|
|
WARNFLAGS = -W2
|
|
|
|
!endif
|
2009-03-10 07:07:42 -04:00
|
|
|
!endif
|
2010-12-06 18:00:47 -05:00
|
|
|
WERRORFLAG = -WX
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(CFLAGS)
|
2008-09-01 23:59:39 -04:00
|
|
|
CFLAGS = $(RUNTIMEFLAG) $(DEBUGFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) $(COMPILERFLAG)
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2005-04-20 17:45:43 -04:00
|
|
|
!if !defined(CXXFLAGS)
|
|
|
|
CXXFLAGS = $(CFLAGS)
|
|
|
|
!endif
|
2003-12-18 07:48:43 -05:00
|
|
|
!if !defined(LDFLAGS)
|
2009-03-08 10:02:50 -04:00
|
|
|
LDFLAGS = -incremental:no -debug -opt:ref -opt:icf
|
2003-12-18 07:48:43 -05:00
|
|
|
!endif
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(XLDFLAGS)
|
2003-12-18 07:48:43 -05:00
|
|
|
XLDFLAGS = -stack:$(STACK)
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
|
|
|
!if !defined(RFLAGS)
|
|
|
|
RFLAGS = -r
|
|
|
|
!endif
|
|
|
|
!if !defined(EXTLIBS)
|
|
|
|
EXTLIBS =
|
|
|
|
!endif
|
2012-05-19 23:25:14 -04:00
|
|
|
!if !defined(EXTSOLIBS)
|
|
|
|
EXTSOLIBS =
|
|
|
|
!endif
|
2008-01-08 06:02:10 -05:00
|
|
|
!if !defined(LIBS)
|
2014-07-14 07:50:43 -04:00
|
|
|
LIBS = user32.lib advapi32.lib shell32.lib ws2_32.lib
|
2013-05-14 04:24:58 -04:00
|
|
|
!if $(MSC_VER) >= 1400
|
|
|
|
LIBS = $(LIBS) iphlpapi.lib
|
|
|
|
!endif
|
2013-10-17 04:11:21 -04:00
|
|
|
LIBS = $(LIBS) imagehlp.lib shlwapi.lib $(EXTLIBS)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
|
|
|
!if !defined(MISSING)
|
2014-05-18 01:46:36 -04:00
|
|
|
MISSING = crypt.obj ffs.obj langinfo.obj lgamma_r.obj strlcat.obj strlcpy.obj win32/win32.obj win32/file.obj setproctitle.obj
|
2013-10-23 09:51:05 -04:00
|
|
|
!if $(RT_VER) < 120
|
2014-05-18 09:20:39 -04:00
|
|
|
MISSING = $(MISSING) acosh.obj cbrt.obj erf.obj tgamma.obj
|
2013-10-23 09:51:05 -04:00
|
|
|
!endif
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2012-11-25 22:11:12 -05:00
|
|
|
DLNOBJ = dln.obj
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
|
|
|
|
ARFLAGS = -machine:$(MACHINE) -out:
|
|
|
|
CC = $(CC) -nologo
|
|
|
|
LD = $(CC)
|
|
|
|
LDSHARED = $(LD) -LD
|
2008-01-08 06:02:10 -05:00
|
|
|
XCFLAGS = -DRUBY_EXPORT -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I$(srcdir)/missing $(XCFLAGS)
|
2005-12-30 04:23:15 -05:00
|
|
|
!if $(MSC_VER) >= 1400
|
|
|
|
# Prevents VC++ 2005 (cl ver 14) warnings
|
2006-05-24 12:52:00 -04:00
|
|
|
MANIFESTTOOL = mt -nologo
|
2009-10-01 01:19:19 -04:00
|
|
|
LDSHARED_0 = @if exist $(@).manifest $(MINIRUBY) -run -e wait_writable -- -n 10 $@
|
|
|
|
LDSHARED_1 = @if exist $(@).manifest $(MANIFESTTOOL) -manifest $(@).manifest -outputresource:$(@);2
|
|
|
|
LDSHARED_2 = @if exist $(@).manifest @$(RM) $(@:/=\).manifest
|
2005-12-30 04:23:15 -05:00
|
|
|
!endif
|
2009-03-10 07:07:42 -04:00
|
|
|
CPPFLAGS = $(DEFS) $(ARCHDEFS) $(CPPFLAGS)
|
2005-12-30 04:23:15 -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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
DLDFLAGS = $(LDFLAGS) -dll
|
2013-03-04 03:05:13 -05:00
|
|
|
SOLIBS =
|
2010-10-07 05:10:47 -04:00
|
|
|
RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
|
2010-12-02 09:06:54 -05:00
|
|
|
!ifndef RCFLAGS
|
2010-12-02 22:56:21 -05:00
|
|
|
!if $(MSC_VER) >= 1600
|
2010-12-02 09:06:54 -05:00
|
|
|
RCFLAGS=-nologo
|
|
|
|
!endif
|
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
|
* configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.
* configure.in (LIBPATHFLAG): switch template to specify library
path.
* configure.in (LINK_SO): command to link shared objects.
* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
files.
* configure.in (EXPORT_PREFIX): prefix to exported symbols on
Windows.
* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
libraries, macros and headers used in common.
* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
excutable name.
* Makefile.in (CFLAGS): append XCFLAGS.
* Makefile.in (PREP): miscellaneous system dependent files.
* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
* Makefile.in (MAKEFILES): depend on *.in and config.status.
* Makefile.in (parse.c): replace "y.tab.c" with actual name for
byacc.
* ext/extmk.rb, lib/mkmf.rb: integrated.
* ext/extmk.rb: propagate MFLAGS.
* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
Makefile is made.
* lib/mkmf.rb (older): accept multiple file names and Time
objects.
* lib/mkmf.rb (xsystem): split and qoute.
* lib/mkmf.rb (cpp_include): make include directives.
* lib/mkmf.rb (try_func): try wheather specified function is
available.
* lib/mkmf.rb (install_files): default to site-install.
* lib/mkmf.rb (checking_for): added.
* lib/mkmf.rb (find_executable0): just find executable file with
no message.
* lib/mkmf.rb (create_header): output header file is variable.
* lib/mkmf.rb (create_makefile): separate sections.
* lib/mkmf.rb (init_mkmf): initialize global variables.
* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
* bcc32/Makefile.sub (ARCH): fixed to i386.
* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
link EXTOBJS.
* ext/dl/extconf.rb: use try_cpp to cross compile.
* ext/dl/extconf.rb: not modify files in source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
LIBRUBY_LDSHARED = $(LDSHARED)
|
2008-07-12 10:58:07 -04:00
|
|
|
LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -implib:dummy.lib -def:$(RUBYDEF)
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
EXEEXT = .exe
|
2009-11-30 02:54:26 -05:00
|
|
|
EXECUTABLE_EXTS = ".exe",".com",".cmd",".bat"
|
2008-01-08 06:02:10 -05:00
|
|
|
!if !defined(PROGRAM)
|
2000-08-03 05:55:54 -04:00
|
|
|
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
|
|
|
!if !defined(WPROGRAM) && defined(RUBYW_INSTALL_NAME)
|
2000-08-03 05:55:54 -04:00
|
|
|
WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
RUBYDEF = $(RUBY_SO_NAME).def
|
2013-01-07 01:23:15 -05:00
|
|
|
!if "$(CROSS_COMPILING)" == "yes"
|
|
|
|
MINIRUBY = $(RUBY) -I$(MAKEDIR) -r$(arch)-fake
|
2008-01-08 06:02:10 -05:00
|
|
|
RUNRUBY = $(MINIRUBY)
|
|
|
|
!else
|
2011-01-13 21:37:34 -05:00
|
|
|
MINIRUBY = .\miniruby$(EXEEXT) -I$(srcdir)/lib -I.
|
|
|
|
RUNRUBY = .\$(PROGRAM) -I$(srcdir)/lib -I"$(EXTOUT)/$(arch)" -I.
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
|
|
|
MINIRUBY = $(MINIRUBY) $(MINIRUBYOPT)
|
2011-07-08 19:39:42 -04:00
|
|
|
RUNRUBY = $(RUNRUBY) "$(srcdir)/tool/runruby.rb" --extout="$(EXTOUT)" $(RUNRUBYOPT) -- $(RUN_OPTS)
|
2013-01-07 01:23:15 -05:00
|
|
|
!if "$(CROSS_COMPILING)" == "yes"
|
2009-10-22 18:32:39 -04:00
|
|
|
XRUBY = $(MINIRUBY)
|
|
|
|
!else
|
|
|
|
XRUBY = $(RUNRUBY)
|
|
|
|
!endif
|
2012-05-16 22:48:59 -04:00
|
|
|
BTESTRUBY = $(MINIRUBY)
|
2008-01-08 06:02:10 -05:00
|
|
|
!ifndef RUBY
|
|
|
|
RUBY = ruby
|
|
|
|
!endif
|
2011-02-10 22:03:26 -05:00
|
|
|
|
2012-11-16 10:22:37 -05:00
|
|
|
DTRACE_EXT = dmyh
|
|
|
|
|
2002-03-20 06:21:19 -05:00
|
|
|
!if !defined(STACK)
|
* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,
rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,
rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,
functions, and macros for Windows.
* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand
fd_array if needed. [ruby-core:19946]
* win32/win32.c (copy_fd): new funcion for rb_w32_select().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 02:52:22 -05:00
|
|
|
!if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
|
|
|
STACK = 0x400000
|
|
|
|
!else
|
2007-02-14 08:13:52 -05:00
|
|
|
STACK = 0x200000
|
* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,
rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,
rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,
functions, and macros for Windows.
* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand
fd_array if needed. [ruby-core:19946]
* win32/win32.c (copy_fd): new funcion for rb_w32_select().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 02:52:22 -05:00
|
|
|
!endif
|
2008-01-08 06:02:10 -05:00
|
|
|
!if defined(STACK_COMMIT)
|
|
|
|
STACK = $(STACK),$(STACK_COMMIT)
|
|
|
|
!endif
|
2002-03-20 06:21:19 -05:00
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
ORGLIBPATH = $(LIB)
|
|
|
|
|
|
|
|
#### End of system configuration section. ####
|
|
|
|
|
2002-11-14 08:51:19 -05:00
|
|
|
LIBRUBY_A = $(RUBY_SO_NAME)-static.lib
|
2000-08-03 05:55:54 -04:00
|
|
|
LIBRUBY_SO = $(RUBY_SO_NAME).dll
|
|
|
|
LIBRUBY = $(RUBY_SO_NAME).lib
|
|
|
|
LIBRUBYARG = $(LIBRUBY)
|
2012-07-02 22:16:08 -04:00
|
|
|
LIBRUBY_RELATIVE = yes
|
|
|
|
|
2007-02-27 20:33:57 -05:00
|
|
|
THREAD_MODEL = win32
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2013-01-07 01:23:15 -05:00
|
|
|
!if "$(CROSS_COMPILING)" == "yes"
|
|
|
|
PREP = $(arch)-fake.rb
|
2008-01-08 06:02:10 -05:00
|
|
|
!else
|
2004-03-04 08:50:48 -05:00
|
|
|
PREP = miniruby$(EXEEXT)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2004-03-04 08:50:48 -05:00
|
|
|
|
2004-01-18 23:10:53 -05:00
|
|
|
!if !defined(EXTSTATIC)
|
2013-03-04 03:05:13 -05:00
|
|
|
EXTSTATIC =
|
2004-01-18 23:10:53 -05:00
|
|
|
!endif
|
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
OBJEXT = obj
|
2007-02-02 13:23:07 -05:00
|
|
|
ASMEXT = asm
|
2004-03-21 18:21:31 -05:00
|
|
|
|
2006-09-19 20:54:45 -04:00
|
|
|
INSTALLED_LIST= .installed.list
|
|
|
|
|
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 = $(@:/=\)
|
2009-03-14 20:17:21 -04:00
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
!if !defined(WINMAINOBJ)
|
2004-03-21 18:21:31 -05:00
|
|
|
WINMAINOBJ = winmain.$(OBJEXT)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2009-03-04 21:27:20 -05:00
|
|
|
ARCHMINIOBJS = dmydln.$(OBJEXT) miniruby.res
|
2008-02-06 21:14:54 -05:00
|
|
|
LIBOBJS = $(MISSING) $(LIBOBJS)
|
2008-01-08 06:02:10 -05:00
|
|
|
|
|
|
|
!ifndef COMMON_LIBS
|
|
|
|
COMMON_LIBS = m
|
|
|
|
!endif
|
|
|
|
!ifndef COMMON_MACROS
|
|
|
|
COMMON_MACROS = WIN32_LEAN_AND_MEAN WIN32
|
|
|
|
!endif
|
|
|
|
!ifndef COMMON_HEADERS
|
2008-06-06 08:52:30 -04:00
|
|
|
COMMON_HEADERS = winsock2.h ws2tcpip.h windows.h
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2004-03-21 18:21:31 -05:00
|
|
|
|
2013-03-02 08:49:49 -05:00
|
|
|
!if "$(EXTSTATIC)" == "static"
|
|
|
|
ENCOBJS = enc/encinit.$(OBJEXT) enc/libenc.lib enc/libtrans.lib
|
|
|
|
EXTOBJS = ext/extinit.$(OBJEXT)
|
2014-07-02 23:40:24 -04:00
|
|
|
! if !defined(ENCSTATIC)
|
|
|
|
ENCSTATIC = static
|
|
|
|
! endif
|
2014-11-27 15:02:32 -05:00
|
|
|
!else
|
|
|
|
ENCOBJS = dmyenc.$(OBJEXT)
|
|
|
|
EXTOBJS = dmyext.$(OBJEXT)
|
2013-03-02 08:49:49 -05:00
|
|
|
!endif
|
|
|
|
|
2007-06-09 23:06:15 -04:00
|
|
|
arch_hdrdir = $(EXTOUT)/include/$(arch)
|
2014-11-21 00:27:07 -05:00
|
|
|
top_srcdir = $(srcdir)
|
2007-06-09 23:06:15 -04:00
|
|
|
hdrdir = $(srcdir)/include
|
2008-01-08 06:02:10 -05:00
|
|
|
VPATH = $(arch_hdrdir)/ruby;$(hdrdir)/ruby;$(srcdir);$(srcdir)/enc;$(srcdir)/missing;$(win_srcdir)
|
2007-06-09 23:06:15 -04:00
|
|
|
|
2009-01-16 03:33:02 -05:00
|
|
|
!if exist($(srcdir)/.svn)
|
|
|
|
VCS = svn
|
|
|
|
VCSUP = $(VCS) up $(SVNUPOPTIONS)
|
|
|
|
!else if exist($(srcdir)/.git/svn)
|
|
|
|
VCS = git svn
|
2009-01-17 05:40:51 -05:00
|
|
|
VCSUP = $(VCS) rebase $(GITSVNREBASEOPTIONS)
|
2009-01-16 03:33:02 -05:00
|
|
|
!else if exist($(srcdir)/.git)
|
|
|
|
VCS = git
|
2009-01-17 05:40:51 -05:00
|
|
|
VCSUP = $(VCS) pull $(GITPULLOPTIONS)
|
2014-09-19 03:04:35 -04:00
|
|
|
!else
|
2014-09-19 02:49:56 -04:00
|
|
|
VCSUP = rem
|
2009-01-16 03:33:02 -05:00
|
|
|
!endif
|
2010-10-25 23:47:15 -04:00
|
|
|
ruby_pc = $(RUBY_BASE_NAME)-$(MAJOR).$(MINOR).pc
|
2009-01-16 03:33:02 -05:00
|
|
|
|
2010-11-13 02:38:01 -05:00
|
|
|
MESSAGE_BEGIN = @for %I in (
|
|
|
|
MESSAGE_END = ) do @echo.%~I
|
2013-02-09 10:16:15 -05:00
|
|
|
ECHO_BEGIN = @echo.
|
|
|
|
ECHO_END =
|
2010-11-12 06:52:45 -05:00
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
all: $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
|
2013-03-29 08:02:16 -04:00
|
|
|
prog: config
|
2004-03-21 18:21:31 -05:00
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
ruby: $(PROGRAM)
|
|
|
|
rubyw: $(WPROGRAM)
|
2010-11-18 09:56:34 -05:00
|
|
|
stub: $(STUBPROGRAM)
|
|
|
|
|
2012-03-26 01:08:55 -04:00
|
|
|
!if !exist(newline.c) && exist($(srcdir)/newline.c)
|
|
|
|
NEWLINE_C = $(srcdir)/newline.c
|
|
|
|
!else
|
|
|
|
NEWLINE_C = newline.c
|
|
|
|
!endif
|
|
|
|
!if !exist(miniprelude.c) && exist($(srcdir)/miniprelude.c)
|
|
|
|
MINIPRELUDE_C = $(srcdir)/miniprelude.c
|
|
|
|
!else
|
|
|
|
MINIPRELUDE_C = miniprelude.c
|
|
|
|
!endif
|
2014-11-11 05:29:00 -05:00
|
|
|
!if !exist(prelude.c) && exist($(srcdir)/prelude.c)
|
|
|
|
PRELUDE_C = $(srcdir)/prelude.c
|
|
|
|
!else
|
|
|
|
PRELUDE_C = prelude.c
|
|
|
|
!endif
|
2013-01-06 05:08:22 -05:00
|
|
|
RBCONFIG = ./.rbconfig.time
|
2012-03-26 01:08:55 -04:00
|
|
|
|
2012-03-18 06:45:05 -04:00
|
|
|
!include $(srcdir)/common.mk
|
2014-06-10 04:30:01 -04:00
|
|
|
!if exist(verconf.mk)
|
|
|
|
! include verconf.mk
|
|
|
|
!endif
|
2012-03-18 06:45:05 -04:00
|
|
|
|
2010-11-18 09:56:34 -05:00
|
|
|
!ifdef SCRIPTPROGRAMS
|
|
|
|
!else if [echo>scriptbin.mk SCRIPTPROGRAMS = \]
|
|
|
|
!else if [for %I in ($(srcdir:/=\)\bin\*) do @echo>>scriptbin.mk %~nI.exe \]
|
|
|
|
!else if [echo.>>scriptbin.mk]
|
|
|
|
!else if [echo.>>scriptbin.mk]
|
|
|
|
!endif
|
|
|
|
!if [for %I in ($(srcdir:/=\)\bin\*) do @for %J in (\
|
|
|
|
"%~nI.exe: $$(srcdir)/bin/%~nI" \
|
2012-03-18 06:45:05 -04:00
|
|
|
" $$(ECHO) generating $$(@)" \
|
|
|
|
" $$(Q) copy /y /b $$(STUBPROGRAM) $$(@) > nul" \
|
|
|
|
" $$(Q) echo.>>$$(@)" \
|
|
|
|
" $$(Q) echo.>>$$(@)" \
|
|
|
|
" $$(Q) copy /b $$(@)+$$(srcdir:/=\)\bin\%~nI $$(@) > nul" \
|
|
|
|
"" \
|
2010-11-18 09:56:34 -05:00
|
|
|
) do @echo.%~J>>scriptbin.mk]
|
|
|
|
!else
|
|
|
|
! include scriptbin.mk
|
|
|
|
! if [del scriptbin.mk > nul]
|
|
|
|
! endif
|
|
|
|
!endif
|
|
|
|
|
|
|
|
scriptbin: $(SCRIPTPROGRAMS)
|
|
|
|
|
|
|
|
$(SCRIPTPROGRAMS): $(STUBPROGRAM)
|
2004-03-25 00:01:15 -05:00
|
|
|
|
2009-01-16 03:33:02 -05:00
|
|
|
up::
|
2009-03-06 04:37:31 -05:00
|
|
|
@cd "$(srcdir:/=\)" && set LC_TIME=C && $(VCSUP)
|
2009-01-16 03:33:02 -05:00
|
|
|
|
2009-03-06 04:46:52 -05:00
|
|
|
update-mspec:
|
|
|
|
!if exist($(srcdir)/spec/mspec)
|
|
|
|
@echo updating mspec ...
|
|
|
|
@cd $(srcdir:/=\)\spec\mspec && git pull
|
|
|
|
!else
|
|
|
|
@echo retrieving mspec ...
|
|
|
|
@cd $(srcdir:/=\) && git clone $(MSPEC_GIT_URL) spec/mspec
|
|
|
|
!endif
|
|
|
|
|
|
|
|
update-rubyspec: update-mspec
|
|
|
|
!if exist($(srcdir)/spec/rubyspec)
|
|
|
|
@echo updating rubyspec ...
|
|
|
|
@cd $(srcdir:/=\)\spec\rubyspec && git pull
|
|
|
|
!else
|
|
|
|
@echo retrieving rubyspec ...
|
|
|
|
@cd $(srcdir:/=\) && git clone $(RUBYSPEC_GIT_URL) spec/rubyspec
|
|
|
|
!endif
|
2010-08-15 23:29:08 -04:00
|
|
|
|
|
|
|
test-rubyspec-precheck:
|
|
|
|
!if !exist($(srcdir)/spec/rubyspec/.)
|
|
|
|
@echo No rubyspec here. make update-rubyspec first.
|
|
|
|
@exit 1
|
|
|
|
!endif
|
2009-03-06 04:46:52 -05:00
|
|
|
|
2014-06-10 04:30:01 -04:00
|
|
|
$(MKFILES): $(srcdir)/common.mk $(srcdir)/version.h \
|
|
|
|
$(win_srcdir)/Makefile.sub $(win_srcdir)/configure.bat \
|
|
|
|
$(win_srcdir)/setup.mak $(win_srcdir)/enc-setup.mak \
|
|
|
|
$(srcdir)/enc/Makefile.in
|
2008-01-08 06:02:10 -05:00
|
|
|
$(COMSPEC) /C $(win_srcdir:/=\)\configure.bat $(configure_args)
|
2013-01-10 03:45:42 -05:00
|
|
|
@fc Makefile Makefile.old > nul && echo Makefile unchanged || \
|
|
|
|
(echo $(MKFILES) was updated, re-run $(MAKE). & exit 1)
|
2005-10-14 10:10:08 -04:00
|
|
|
|
2007-06-09 23:06:15 -04:00
|
|
|
RUBY_CONFIG_H = $(arch_hdrdir)/ruby/config.h
|
2005-03-03 04:38:40 -05:00
|
|
|
CONFIG_H = ./.config.h.time
|
2002-03-20 06:21:19 -05:00
|
|
|
|
2005-03-03 04:38:40 -05:00
|
|
|
config: config.status
|
|
|
|
|
|
|
|
config.status: $(CONFIG_H)
|
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
BANG = !
|
|
|
|
|
2012-03-27 09:43:43 -04:00
|
|
|
!if exist($(RUBY_CONFIG_H))
|
|
|
|
!include $(RUBY_CONFIG_H)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
|
|
|
|
2010-07-26 05:18:21 -04:00
|
|
|
guard = INCLUDE_RUBY_CONFIG_H
|
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
|
2005-03-03 04:38:40 -05:00
|
|
|
@echo Creating config.h
|
2007-06-09 23:06:15 -04:00
|
|
|
!if !exist("$(arch_hdrdir)")
|
|
|
|
@md $(arch_hdrdir:/=\)
|
|
|
|
!endif
|
|
|
|
!if !exist("$(arch_hdrdir)/ruby")
|
|
|
|
@md $(arch_hdrdir:/=\)\ruby
|
|
|
|
!endif
|
2013-06-20 20:52:33 -04:00
|
|
|
@$(IFCHANGE) "--timestamp=$(@:/=\)" $(RUBY_CONFIG_H:/=\) <<
|
2010-07-26 05:18:21 -04:00
|
|
|
#ifndef $(guard)
|
|
|
|
#define $(guard) 1
|
2005-12-30 04:23:15 -05:00
|
|
|
#if _MSC_VER != $(MSC_VER)
|
2007-06-09 23:06:15 -04:00
|
|
|
#error MSC version unmatch: _MSC_VER: $(MSC_VER) is expected.
|
2005-12-30 04:23:15 -05:00
|
|
|
#endif
|
2012-04-16 03:08:27 -04:00
|
|
|
#define RUBY_MSVCRT_VERSION $(RT_VER)
|
2002-05-14 05:22:22 -04:00
|
|
|
#define STDC_HEADERS 1
|
|
|
|
#define HAVE_SYS_TYPES_H 1
|
|
|
|
#define HAVE_SYS_STAT_H 1
|
|
|
|
#define HAVE_STDLIB_H 1
|
2010-08-01 04:27:34 -04:00
|
|
|
#define HAVE_STDDEF_H 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_STRING_H 1
|
|
|
|
#define HAVE_MEMORY_H 1
|
2006-02-13 23:39:32 -05:00
|
|
|
!if $(MSC_VER) >= 1400
|
|
|
|
#define HAVE_LONG_LONG 1
|
|
|
|
!endif
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_OFF_T 1
|
|
|
|
#define SIZEOF_INT 4
|
|
|
|
#define SIZEOF_SHORT 2
|
|
|
|
#define SIZEOF_LONG 4
|
2006-02-13 21:48:08 -05:00
|
|
|
!if $(MSC_VER) >= 1400
|
|
|
|
#define SIZEOF_LONG_LONG 8
|
|
|
|
!else
|
2002-05-14 05:22:22 -04:00
|
|
|
#define SIZEOF_LONG_LONG 0
|
2006-02-13 21:48:08 -05:00
|
|
|
!endif
|
2002-05-14 05:22:22 -04:00
|
|
|
#define SIZEOF___INT64 8
|
2006-08-12 02:56:09 -04:00
|
|
|
#define _INTEGRAL_MAX_BITS 64
|
2008-01-08 06:02:10 -05:00
|
|
|
!if $(LARGEFILE_SUPPORT)
|
2006-08-12 02:56:09 -04:00
|
|
|
#define SIZEOF_OFF_T 8
|
2008-01-08 06:02:10 -05:00
|
|
|
!else
|
|
|
|
#define SIZEOF_OFF_T 4
|
|
|
|
!endif
|
2007-06-27 07:47:53 -04:00
|
|
|
!if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
|
|
|
#define SIZEOF_VOIDP 8
|
|
|
|
!else
|
2002-05-14 05:22:22 -04:00
|
|
|
#define SIZEOF_VOIDP 4
|
2007-06-27 07:47:53 -04:00
|
|
|
!endif
|
2002-05-14 05:22:22 -04:00
|
|
|
#define SIZEOF_FLOAT 4
|
|
|
|
#define SIZEOF_DOUBLE 8
|
2013-03-27 03:40:43 -04:00
|
|
|
#define SIGNEDNESS_OF_TIME_T -1
|
2009-10-01 01:19:19 -04:00
|
|
|
!if $(RT_VER) >= 80
|
2006-02-13 21:48:08 -05:00
|
|
|
#define SIZEOF_TIME_T 8
|
2009-03-10 15:47:46 -04:00
|
|
|
#define TIMET2NUM(v) LL2NUM(v)
|
|
|
|
#define NUM2TIMET(v) NUM2LL(v)
|
2006-02-13 21:48:08 -05:00
|
|
|
!else
|
2004-04-06 21:43:27 -04:00
|
|
|
#define SIZEOF_TIME_T 4
|
2009-03-10 15:47:46 -04:00
|
|
|
#define TIMET2NUM(v) LONG2NUM(v)
|
|
|
|
#define NUM2TIMET(v) NUM2LONG(v)
|
2006-02-13 21:48:08 -05:00
|
|
|
!endif
|
2013-08-15 01:32:02 -04:00
|
|
|
#define CLOCKID2NUM(v) INT2NUM(v)
|
|
|
|
#define NUM2CLOCKID(v) NUM2INT(v)
|
2013-08-22 22:07:20 -04:00
|
|
|
#define SIZEOF_CLOCK_T 4
|
2008-07-12 16:39:02 -04:00
|
|
|
#define SIZEOF_RLIM_T 0
|
|
|
|
!if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
|
|
|
#define SIZEOF_SIZE_T 8
|
|
|
|
#define SIZEOF_PTRDIFF_T 8
|
2009-01-15 22:18:09 -05:00
|
|
|
#define SIZEOF_INTPTR_T 8
|
|
|
|
#define SIZEOF_UINTPTR_T 8
|
2008-07-12 16:39:02 -04:00
|
|
|
!else
|
|
|
|
#define SIZEOF_SIZE_T 4
|
|
|
|
#define SIZEOF_PTRDIFF_T 4
|
2009-01-15 22:18:09 -05:00
|
|
|
#define SIZEOF_INTPTR_T 4
|
|
|
|
#define SIZEOF_UINTPTR_T 4
|
2008-07-12 16:39:02 -04:00
|
|
|
!endif
|
2008-09-08 05:09:41 -04:00
|
|
|
!if $(MSC_VER) < 1400
|
|
|
|
#define SIZE_MAX UINT_MAX
|
|
|
|
!endif
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_PROTOTYPES 1
|
|
|
|
#define TOKEN_PASTE(x,y) x##y
|
|
|
|
#define HAVE_STDARG_PROTOTYPES 1
|
2005-08-03 11:27:13 -04:00
|
|
|
!if $(MSC_VER) > 1100
|
2002-05-14 05:22:22 -04:00
|
|
|
#define NORETURN(x) __declspec(noreturn) x
|
2005-08-03 11:27:13 -04:00
|
|
|
!endif
|
|
|
|
!if $(MSC_VER) >= 1300
|
2005-04-29 22:59:44 -04:00
|
|
|
#define DEPRECATED(x) __declspec(deprecated) x
|
|
|
|
#define NOINLINE(x) __declspec(noinline) x
|
2005-08-03 11:27:13 -04:00
|
|
|
!endif
|
2006-07-07 01:08:05 -04:00
|
|
|
#define FUNC_STDCALL(x) __stdcall x
|
|
|
|
#define FUNC_CDECL(x) __cdecl x
|
2007-06-28 09:31:08 -04:00
|
|
|
#define FUNC_FASTCALL(x) __fastcall x
|
2013-03-14 12:21:54 -04:00
|
|
|
!if $(MSC_VER) >= 1500
|
|
|
|
#define RUBY_FUNCTION_NAME_STRING __FUNCTION__
|
2014-02-25 02:00:10 -05:00
|
|
|
#define PACKED_STRUCT(x) __pragma(pack(push, 1)) x __pragma(pack(pop))
|
2014-07-21 08:13:07 -04:00
|
|
|
!else
|
|
|
|
#define PACKED_STRUCT(x) x
|
|
|
|
!endif
|
2014-02-25 02:00:10 -05:00
|
|
|
!if "$(ARCH)" == "x86" || "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
|
|
|
#define PACKED_STRUCT_UNALIGNED(x) PACKED_STRUCT(x)
|
|
|
|
!else
|
|
|
|
#define PACKED_STRUCT_UNALIGNED(x) x
|
|
|
|
!endif
|
2005-10-25 13:00:03 -04:00
|
|
|
#define RUBY_EXTERN extern __declspec(dllimport)
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_DECL_SYS_NERR 1
|
|
|
|
#define HAVE_LIMITS_H 1
|
|
|
|
#define HAVE_FCNTL_H 1
|
|
|
|
#define HAVE_SYS_UTIME_H 1
|
2004-02-14 09:59:19 -05:00
|
|
|
#define HAVE_FLOAT_H 1
|
2013-03-16 10:48:33 -04:00
|
|
|
#define HAVE_TIME_H 1
|
2005-05-16 09:22:09 -04:00
|
|
|
#define rb_pid_t int
|
|
|
|
#define rb_gid_t int
|
|
|
|
#define rb_uid_t int
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_STRUCT_STAT_ST_RDEV 1
|
|
|
|
#define HAVE_ST_RDEV 1
|
2013-03-16 10:48:33 -04:00
|
|
|
#define HAVE_STRUCT_TIMEVAL 1
|
2011-10-29 08:08:47 -04:00
|
|
|
!if $(MSC_VER) >= 1600
|
|
|
|
#define HAVE_STDINT_H 1
|
|
|
|
!else
|
* configure.in (int8_t, uint8_t, int16_t, uint16_t int32_t,
uint32_t int64_t, uint64_t, int128_t, uint128_t,
intptr_t, uintptr_t): check if defined.
* win32/Makefile.sub: follow configure.in.
* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-13 21:47:02 -04:00
|
|
|
#define int8_t signed char
|
|
|
|
#define uint8_t unsigned char
|
2011-10-29 08:08:47 -04:00
|
|
|
#define int16_t short
|
|
|
|
#define uint16_t unsigned short
|
|
|
|
#define int32_t int
|
|
|
|
#define uint32_t unsigned int
|
|
|
|
#define int64_t __int64
|
|
|
|
#define uint64_t unsigned __int64
|
2010-04-29 11:54:18 -04:00
|
|
|
#define INT8_MIN _I8_MIN
|
|
|
|
#define INT8_MAX _I8_MAX
|
|
|
|
#define UINT8_MAX _UI8_MAX
|
2011-10-29 08:08:47 -04:00
|
|
|
#define INT16_MIN _I16_MIN
|
|
|
|
#define INT16_MAX _I16_MAX
|
|
|
|
#define UINT16_MAX _UI16_MAX
|
|
|
|
#define INT32_MIN _I32_MIN
|
|
|
|
#define INT32_MAX _I32_MAX
|
|
|
|
#define UINT32_MAX _UI32_MAX
|
|
|
|
#define INT64_MIN _I64_MIN
|
|
|
|
#define INT64_MAX _I64_MAX
|
|
|
|
#define UINT64_MAX _UI64_MAX
|
|
|
|
!endif
|
|
|
|
#define HAVE_INT8_T 1
|
|
|
|
#define HAVE_UINT8_T 1
|
|
|
|
#define SIZEOF_INT8_T 1
|
|
|
|
#define SIZEOF_UINT8_T 1
|
* configure.in (int8_t, uint8_t, int16_t, uint16_t int32_t,
uint32_t int64_t, uint64_t, int128_t, uint128_t,
intptr_t, uintptr_t): check if defined.
* win32/Makefile.sub: follow configure.in.
* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-13 21:47:02 -04:00
|
|
|
#define HAVE_INT16_T 1
|
|
|
|
#define HAVE_UINT16_T 1
|
2010-03-02 15:49:02 -05:00
|
|
|
#define SIZEOF_INT16_T 2
|
2010-04-29 11:54:18 -04:00
|
|
|
#define SIZEOF_UINT16_T 2
|
* configure.in (int8_t, uint8_t, int16_t, uint16_t int32_t,
uint32_t int64_t, uint64_t, int128_t, uint128_t,
intptr_t, uintptr_t): check if defined.
* win32/Makefile.sub: follow configure.in.
* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-13 21:47:02 -04:00
|
|
|
#define HAVE_INT32_T 1
|
|
|
|
#define HAVE_UINT32_T 1
|
2010-03-02 15:49:02 -05:00
|
|
|
#define SIZEOF_INT32_T 4
|
2010-04-29 11:54:18 -04:00
|
|
|
#define SIZEOF_UINT32_T 4
|
2010-03-02 15:49:02 -05:00
|
|
|
#define HAVE_INT64_T 1
|
|
|
|
#define HAVE_UINT64_T 1
|
|
|
|
#define SIZEOF_INT64_T 8
|
2010-04-29 11:54:18 -04:00
|
|
|
#define SIZEOF_UINT64_T 8
|
* configure.in (int8_t, uint8_t, int16_t, uint16_t int32_t,
uint32_t int64_t, uint64_t, int128_t, uint128_t,
intptr_t, uintptr_t): check if defined.
* win32/Makefile.sub: follow configure.in.
* ext/digest/defs.h: remove checks for uint8_t, uint32_t and uint64_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-13 21:47:02 -04:00
|
|
|
#define HAVE_INTPTR_T 1
|
|
|
|
#define HAVE_UINTPTR_T 1
|
2008-03-31 05:58:41 -04:00
|
|
|
#define HAVE_SSIZE_T 1
|
2008-03-31 20:42:06 -04:00
|
|
|
!if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
2008-03-31 05:58:41 -04:00
|
|
|
#define ssize_t __int64
|
|
|
|
!else
|
|
|
|
#define ssize_t int
|
|
|
|
!endif
|
2010-11-11 10:30:24 -05:00
|
|
|
#define PRI_LL_PREFIX "I64"
|
|
|
|
#define PRI_PIDT_PREFIX PRI_INT_PREFIX
|
2002-05-14 05:22:22 -04:00
|
|
|
#define GETGROUPS_T int
|
|
|
|
#define RETSIGTYPE void
|
2009-03-10 15:47:46 -04:00
|
|
|
#define TYPEOF_TIMEVAL_TV_SEC long
|
2013-10-23 12:34:17 -04:00
|
|
|
!if $(RT_VER) >= 120
|
2013-10-23 09:51:05 -04:00
|
|
|
#define HAVE_ACOSH 1
|
|
|
|
#define HAVE_ASINH 1
|
|
|
|
#define HAVE_ATANH 1
|
|
|
|
#define HAVE_CBRT 1
|
|
|
|
#define HAVE_LOG2 1
|
2013-10-23 12:34:17 -04:00
|
|
|
#define log2(x) log2(x)
|
2013-10-23 09:51:05 -04:00
|
|
|
#define HAVE_ERF 1
|
|
|
|
#define HAVE_ERFC 1
|
|
|
|
#define HAVE_ROUND 1
|
|
|
|
#define HAVE_TGAMMA 1
|
2014-05-18 01:46:36 -04:00
|
|
|
#define HAVE_NEXTAFTER 1
|
2013-10-23 09:51:05 -04:00
|
|
|
!endif
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_ALLOCA 1
|
|
|
|
#define HAVE_DUP2 1
|
|
|
|
#define HAVE_MEMCMP 1
|
|
|
|
#define HAVE_MEMMOVE 1
|
|
|
|
#define HAVE_MKDIR 1
|
2013-08-15 01:32:02 -04:00
|
|
|
#define HAVE_CLOCK_GETTIME 1
|
2013-09-06 01:23:28 -04:00
|
|
|
#define HAVE_CLOCK_GETRES 1
|
2013-05-12 04:42:19 -04:00
|
|
|
#define HAVE_SPAWNV 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_STRCASECMP 1
|
|
|
|
#define HAVE_STRNCASECMP 1
|
|
|
|
#define HAVE_STRERROR 1
|
|
|
|
#define HAVE_STRFTIME 1
|
|
|
|
#define HAVE_STRCHR 1
|
|
|
|
#define HAVE_STRSTR 1
|
|
|
|
#define HAVE_STRTOD 1
|
|
|
|
#define HAVE_STRTOL 1
|
|
|
|
#define HAVE_STRTOUL 1
|
|
|
|
#define HAVE_FLOCK 1
|
2003-04-21 08:26:08 -04:00
|
|
|
#define HAVE_ISNAN 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_FINITE 1
|
2004-02-14 09:59:19 -05:00
|
|
|
#define HAVE_HYPOT 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_FMOD 1
|
|
|
|
#define HAVE_FREXP 1
|
|
|
|
#define HAVE_MODF 1
|
|
|
|
#define HAVE_WAITPID 1
|
2003-05-13 04:59:36 -04:00
|
|
|
#define HAVE_FSYNC 1
|
2004-02-14 09:59:19 -05:00
|
|
|
#define HAVE_GETCWD 1
|
2006-08-12 02:56:09 -04:00
|
|
|
#define HAVE_TRUNCATE 1
|
2008-02-14 20:27:48 -05:00
|
|
|
#define HAVE_FTRUNCATE 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_TIMES 1
|
2004-09-06 23:52:15 -04:00
|
|
|
#define HAVE_FCNTL 1
|
2004-01-21 11:09:40 -05:00
|
|
|
#define HAVE_LINK 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE__SETJMP 1
|
|
|
|
#define HAVE_TELLDIR 1
|
|
|
|
#define HAVE_SEEKDIR 1
|
|
|
|
#define HAVE_MKTIME 1
|
|
|
|
#define HAVE_COSH 1
|
|
|
|
#define HAVE_SINH 1
|
|
|
|
#define HAVE_TANH 1
|
2010-03-02 16:19:33 -05:00
|
|
|
#define HAVE_SIGNBIT 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define HAVE_TZNAME 1
|
|
|
|
#define HAVE_DAYLIGHT 1
|
2012-04-16 03:22:43 -04:00
|
|
|
#define HAVE_GMTIME_R 1
|
2013-06-08 06:26:36 -04:00
|
|
|
#define HAVE_TYPE_NET_LUID 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define SETPGRP_VOID 1
|
|
|
|
#define RSHIFT(x,y) ((x)>>(int)y)
|
* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,
rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,
rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,
functions, and macros for Windows.
* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand
fd_array if needed. [ruby-core:19946]
* win32/win32.c (copy_fd): new funcion for rb_w32_select().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 02:52:22 -05:00
|
|
|
#define HAVE_RB_FD_INIT 1
|
2008-03-31 20:42:06 -04:00
|
|
|
#define RUBY_SETJMP(env) _setjmp(env)
|
|
|
|
#define RUBY_LONGJMP(env,val) longjmp(env,val)
|
|
|
|
#define RUBY_JMP_BUF jmp_buf
|
2004-02-14 09:59:19 -05:00
|
|
|
#define inline __inline
|
|
|
|
#define NEED_IO_SEEK_BETWEEN_RW 1
|
2009-03-04 05:35:28 -05:00
|
|
|
!if "$(MACHINE)" == "x86" || "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
|
2004-02-14 09:59:19 -05:00
|
|
|
#define STACK_GROW_DIRECTION -1
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2008-12-15 05:08:48 -05:00
|
|
|
#define CANONICALIZATION_FOR_MATHN 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define DEFAULT_KCODE KCODE_NONE
|
2010-06-26 00:07:20 -04:00
|
|
|
!if "$(ENABLE_DEBUG_ENV)" == "yes"
|
|
|
|
#define RUBY_DEBUG_ENV 1
|
|
|
|
!endif
|
2009-02-19 00:48:14 -05:00
|
|
|
#define LOAD_RELATIVE 1
|
2002-05-14 05:22:22 -04:00
|
|
|
#define DLEXT ".so"
|
2013-03-02 08:49:49 -05:00
|
|
|
!if "$(EXTSTATIC)" == "static"
|
|
|
|
#define EXTSTATIC 1
|
|
|
|
!endif
|
2009-11-30 02:54:26 -05:00
|
|
|
#define EXECUTABLE_EXTS $(EXECUTABLE_EXTS)
|
2009-03-17 00:48:03 -04:00
|
|
|
#define RUBY_COREDLL "$(RT)"
|
2008-01-08 06:02:10 -05:00
|
|
|
#define LIBRUBY_SO "$(LIBRUBY_SO)"
|
2013-05-15 12:44:55 -04:00
|
|
|
#define RUBY_PLATFORM "$(arch)"
|
|
|
|
#define RUBY_SITEARCH "$(sitearch)"
|
2008-01-08 06:02:10 -05:00
|
|
|
#if 0
|
2008-07-11 09:10:29 -04:00
|
|
|
$(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(PLATFORM)"!="$$(ARCH)-$$(PLATFORM)"
|
2008-01-08 06:02:10 -05:00
|
|
|
config.h: nul
|
|
|
|
$(BANG)endif
|
|
|
|
#endif
|
2010-07-26 05:18:21 -04:00
|
|
|
#endif /* $(guard) */
|
2012-03-27 09:44:25 -04:00
|
|
|
<<
|
2005-03-03 04:38:40 -05:00
|
|
|
|
2007-06-09 23:06:15 -04:00
|
|
|
#!if exist($(RUBY_CONFIG_H))
|
2005-03-03 04:38:40 -05:00
|
|
|
#! if exist(config_h.bak)
|
2007-06-09 23:06:15 -04:00
|
|
|
# @del $(RUBY_CONFIG_H:.h=_h).bak
|
2005-03-03 04:38:40 -05:00
|
|
|
#! endif
|
2007-06-09 23:06:15 -04:00
|
|
|
# @copy $(RUBY_CONFIG_H) $(RUBY_CONFIG_H:.h=_h).bak
|
2005-03-03 04:38:40 -05:00
|
|
|
#!endif
|
2007-06-09 23:06:15 -04:00
|
|
|
#!if exist($(RUBY_CONFIG_H))
|
2005-03-03 04:38:40 -05:00
|
|
|
# @echo NMAKE will abort if config.h is changed, then restart NMAKE.
|
2007-06-09 23:06:15 -04:00
|
|
|
# @fc.exe $(RUBY_CONFIG_H) $(RUBY_CONFIG_H:.h=_h).bak > nul
|
|
|
|
# @echo $(RUBY_CONFIG_H) unchanged.
|
|
|
|
# @del $(RUBY_CONFIG_H)
|
|
|
|
# @ren $(RUBY_CONFIG_H:.h=_h).bak $(RUBY_CONFIG_H)
|
2005-03-03 04:38:40 -05:00
|
|
|
#!endif
|
2002-03-20 06:21:19 -05:00
|
|
|
|
2010-01-29 00:21:55 -05:00
|
|
|
EXECUTABLE_EXTS = $(EXECUTABLE_EXTS:"=) # "
|
|
|
|
EXECUTABLE_EXTS = $(EXECUTABLE_EXTS:,= )
|
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
|
2005-03-03 04:38:40 -05:00
|
|
|
@echo Creating $@
|
|
|
|
@exit <<$@
|
2002-03-20 07:59:21 -05:00
|
|
|
# Generated automatically by Makefile.sub.
|
|
|
|
s,@SHELL@,$$(COMSPEC),;t t
|
2005-04-20 11:08:36 -04:00
|
|
|
s,@BUILD_FILE_SEPARATOR@,\,;t t
|
2004-03-23 00:32:01 -05:00
|
|
|
s,@PATH_SEPARATOR@,;,;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@CFLAGS@,$(CFLAGS),;t t
|
2010-12-06 18:00:47 -05:00
|
|
|
s,@WERRORFLAG@,$(WERRORFLAG),;t t
|
2007-12-19 14:16:32 -05:00
|
|
|
s,@DEFS@,$(DEFS),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@CPPFLAGS@,$(CPPFLAGS),;t t
|
|
|
|
s,@CXXFLAGS@,$(CXXFLAGS),;t t
|
|
|
|
s,@FFLAGS@,$(FFLAGS),;t t
|
2009-03-09 23:27:54 -04:00
|
|
|
s,@LDFLAGS@,$(LDFLAGS),;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@LIBS@,$(LIBS),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@exec_prefix@,$${prefix},;t t
|
2003-12-28 12:25:31 -05:00
|
|
|
s,@prefix@,$(prefix),;t t
|
2010-12-16 05:55:11 -05:00
|
|
|
s,@program_transform_name@,s,.*,$(PROGRAM_PREFIX)&$(PROGRAM_SUFFIX),,;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@bindir@,$${exec_prefix}/bin,;t t
|
|
|
|
s,@sbindir@,$${exec_prefix}/sbin,;t t
|
|
|
|
s,@libexecdir@,$${exec_prefix}/libexec,;t t
|
|
|
|
s,@datadir@,$${prefix}/share,;t t
|
|
|
|
s,@sysconfdir@,$${prefix}/etc,;t t
|
|
|
|
s,@sharedstatedir@,/etc,;t t
|
|
|
|
s,@localstatedir@,/var,;t t
|
|
|
|
s,@libdir@,$${exec_prefix}/lib,;t t
|
|
|
|
s,@includedir@,$${prefix}/include,;t t
|
|
|
|
s,@oldincludedir@,/usr/include,;t t
|
2009-09-16 04:42:48 -04:00
|
|
|
s,@infodir@,$${datadir}/info,;t t
|
|
|
|
s,@mandir@,$${datadir}/man,;t t
|
|
|
|
s,@ridir@,$${datadir}/ri,;t t
|
|
|
|
s,@docdir@,$${datadir}/doc/$${RUBY_BASE_NAME},;t t
|
2008-07-11 09:10:29 -04:00
|
|
|
s,@build@,$(CPU)-pc-$(PLATFORM),;t t
|
|
|
|
s,@build_alias@,$(CPU)-$(PLATFORM),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@build_cpu@,$(CPU),;t t
|
|
|
|
s,@build_vendor@,pc,;t t
|
2008-07-11 09:10:29 -04:00
|
|
|
s,@build_os@,$(PLATFORM),;t t
|
|
|
|
s,@host@,$(CPU)-pc-$(PLATFORM),;t t
|
|
|
|
s,@host_alias@,$(CPU)-$(PLATFORM),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@host_cpu@,$(CPU),;t t
|
|
|
|
s,@host_vendor@,pc,;t t
|
2008-07-11 09:10:29 -04:00
|
|
|
s,@host_os@,$(PLATFORM),;t t
|
|
|
|
s,@target@,$(ARCH)-pc-$(PLATFORM),;t t
|
|
|
|
s,@target_alias@,$(ARCH)-$(PLATFORM),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@target_cpu@,$(ARCH),;t t
|
|
|
|
s,@target_vendor@,pc,;t t
|
2008-07-11 09:10:29 -04:00
|
|
|
s,@target_os@,$(PLATFORM),;t t
|
2011-12-14 06:02:00 -05:00
|
|
|
s,@NULLCMD@,:,;t t
|
2002-03-28 04:59:49 -05:00
|
|
|
s,@CC@,$(CC),;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@CPP@,$(CPP),;t t
|
2005-04-20 17:45:43 -04:00
|
|
|
s,@CXX@,$$(CC),;t t
|
|
|
|
s,@LD@,$$(CC),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@YACC@,$(YACC),;t t
|
2002-10-22 00:19:26 -04:00
|
|
|
s,@RANLIB@,,;t t
|
2002-09-10 04:24:11 -04:00
|
|
|
s,@AR@,$(AR),;t t
|
2002-10-22 00:19:26 -04:00
|
|
|
s,@ARFLAGS@,$(ARFLAGS),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@LN_S@,$(LN_S),;t t
|
2007-12-23 21:56:33 -05:00
|
|
|
s,@SET_MAKE@,MFLAGS = -$$(MAKEFLAGS),;t t
|
2007-12-19 14:16:32 -05:00
|
|
|
s,@RM@,$$(COMSPEC) /C $$(top_srcdir:/=\)\win32\rm.bat,;t t
|
2010-12-26 08:46:02 -05:00
|
|
|
s,@RMDIR@,$$(COMSPEC) /C $$(top_srcdir:/=\)\win32\rmdirs.bat,:t t
|
2009-01-24 21:06:29 -05:00
|
|
|
s,@RMDIRS@,$$(COMSPEC) /C $$(top_srcdir:/=\)\win32\rmdirs.bat,;t t
|
2014-07-07 03:08:06 -04:00
|
|
|
s,@RMALL@,$$(COMSPEC) /C $$(top_srcdir:/=\)\win32\rm.bat -f -r,:t t
|
2013-03-02 08:50:08 -05:00
|
|
|
s,@MAKEDIRS@,$$(COMSPEC) /E:ON /C $$(top_srcdir:/=\)\win32\makedirs.bat,;t t
|
2008-01-08 06:02:10 -05:00
|
|
|
s,@LIBOBJS@,$(LIBOBJS),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@ALLOCA@,$(ALLOCA),;t t
|
|
|
|
s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
|
|
|
|
s,@EXEEXT@,.exe,;t t
|
2009-11-30 02:54:26 -05:00
|
|
|
s,@EXECUTABLE_EXTS@,$(EXECUTABLE_EXTS),;t t
|
2004-03-21 18:21:31 -05:00
|
|
|
s,@OBJEXT@,$(OBJEXT),;t t
|
2014-10-07 21:38:32 -04:00
|
|
|
s,@ASMEXT@,$(ASMEXT),;t t
|
2003-11-30 19:30:37 -05:00
|
|
|
s,@XCFLAGS@,$(XCFLAGS),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@XLDFLAGS@,$(XLDFLAGS),;t t
|
2007-12-23 22:49:56 -05:00
|
|
|
s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH),;t t
|
2012-07-23 10:58:42 -04:00
|
|
|
s,@EXTDLDFLAGS@,$(EXTDLDFLAGS),;t t
|
2003-11-30 19:30:37 -05:00
|
|
|
s,@ARCH_FLAG@,$(ARCH_FLAG),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@STATIC@,$(STATIC),;t t
|
2003-03-04 09:12:19 -05:00
|
|
|
s,@CCDLFLAGS@,,;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@LDSHARED@,$(LDSHARED),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@DLEXT@,so,;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@LIBEXT@,lib,;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@STRIP@,$(STRIP),;t t
|
|
|
|
s,@EXTSTATIC@,$(EXTSTATIC),;t t
|
|
|
|
s,@setup@,Setup,;t t
|
2002-09-08 05:08:15 -04:00
|
|
|
s,@MINIRUBY@,$(MINIRUBY),;t t
|
2005-03-03 04:38:40 -05:00
|
|
|
s,@PREP@,miniruby$(EXEEXT),;t t
|
|
|
|
s,@RUNRUBY@,$(RUNRUBY),;t t
|
|
|
|
s,@EXTOUT@,$(EXTOUT),;t t
|
|
|
|
s,@ARCHFILE@,,;t t
|
|
|
|
s,@RDOCTARGET@,,;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@LIBRUBY_LDSHARED@,$(LIBRUBY_LDSHARED),;t t
|
|
|
|
s,@LIBRUBY_DLDFLAGS@,$(LIBRUBY_DLDFLAGS),;t t
|
2009-05-07 21:14:14 -04:00
|
|
|
s,@RUBY_BASE_NAME@,$(RUBY_BASE_NAME),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t
|
|
|
|
s,@RUBYW_INSTALL_NAME@,$(RUBYW_INSTALL_NAME),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t
|
2002-11-14 08:51:19 -05:00
|
|
|
s,@LIBRUBY_A@,$$(RUBY_SO_NAME)-static.lib,;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t
|
|
|
|
s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t
|
|
|
|
s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t
|
2002-11-14 08:51:19 -05:00
|
|
|
s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t
|
|
|
|
s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t
|
|
|
|
s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@SOLIBS@,$(SOLIBS),;t t
|
|
|
|
s,@DLDLIBS@,$(DLDLIBS),;t t
|
|
|
|
s,@ENABLE_SHARED@,yes,;t t
|
2008-08-06 00:55:39 -04:00
|
|
|
s,@BASERUBY@,$(BASERUBY),;t t
|
2004-03-21 18:21:31 -05:00
|
|
|
s,@OUTFLAG@,$(OUTFLAG),;t t
|
2007-12-23 22:49:56 -05:00
|
|
|
s,@COUTFLAG@,$(COUTFLAG),;t t
|
2002-09-15 08:57:21 -04:00
|
|
|
s,@CPPOUTFILE@,-P,;t t
|
2009-07-15 03:30:42 -04:00
|
|
|
s,@LIBPATHFLAG@, -libpath:%s,;t t
|
2003-10-30 22:58:21 -05:00
|
|
|
s,@RPATHFLAG@,,;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@LIBARG@,%s.lib,;t t
|
2009-03-10 00:45:51 -04:00
|
|
|
s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) -link $$(DLDFLAGS) -implib:$$(*F:.so=)-$$(arch).lib -pdb:$$(*F:.so=)-$$(arch).pdb -def:$$(DEFFILE),;t t
|
2006-05-24 12:52:00 -04:00
|
|
|
!if $(MSC_VER) >= 1400
|
2009-10-01 01:19:19 -04:00
|
|
|
s,@LINK_SO@,@if exist $$(@).manifest $$(RUBY) -run -e wait_writable -- -n 10 $$(@),;t t
|
|
|
|
s,@LINK_SO@,@if exist $$(@).manifest $(MANIFESTTOOL) -manifest $$(@).manifest -outputresource:$$(@);2,;t t
|
|
|
|
s,@LINK_SO@,@if exist $$(@).manifest $$(RM) $$(@:/=\).manifest,;t t
|
2006-05-24 12:52:00 -04:00
|
|
|
!endif
|
2007-12-23 22:49:56 -05:00
|
|
|
s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$(@) -c -Tc$$(<:\=/),;t t
|
|
|
|
s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) $$(COUTFLAG)$$(@) -c -Tp$$(<:\=/),;t t
|
2014-10-07 21:38:32 -04:00
|
|
|
s,@ASSEMBLE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -Fa$$(@) -c -Tc$$(<:\=/),;t t
|
|
|
|
s,@ASSEMBLE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -Fa$$(@) -c -Tp$$(<:\=/),;t t
|
2012-11-28 07:19:49 -05:00
|
|
|
s,@COMPILE_RULES@,{$$(*VPATH*)}.%s.%s: .%s.%s:,;t t
|
2007-06-09 23:06:15 -04:00
|
|
|
s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t
|
2002-10-22 00:19:26 -04:00
|
|
|
s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
|
2008-01-08 06:02:10 -05:00
|
|
|
s,@COMMON_LIBS@,$(COMMON_LIBS),;t t
|
|
|
|
s,@COMMON_MACROS@,$(COMMON_MACROS),;t t
|
|
|
|
s,@COMMON_HEADERS@,$(COMMON_HEADERS),;t t
|
2008-08-07 01:16:27 -04:00
|
|
|
s,@cleanobjs@,$$*.exp $$*.lib $$*.pdb,;t t
|
2004-03-23 00:32:01 -05:00
|
|
|
s,@DISTCLEANFILES@,vc*.pdb,;t t
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
s,@EXPORT_PREFIX@, ,;t t
|
2013-02-07 06:55:14 -05:00
|
|
|
s,@archlibdir@,$${libdir}/$${arch},;t t
|
|
|
|
s,@sitearchlibdir@,$${libdir}/$${sitearch},;t t
|
|
|
|
s,@archincludedir@,$${includedir}/$${arch},;t t
|
|
|
|
s,@sitearchincludedir@,$${includedir}/$${sitearch},;t t
|
2008-07-11 09:10:29 -04:00
|
|
|
s,@arch@,$(ARCH)-$(PLATFORM),;t t
|
2002-08-23 04:18:19 -04:00
|
|
|
s,@sitearch@,$(ARCH)-$(RT),;t t
|
2008-07-15 09:34:49 -04:00
|
|
|
s,@ruby_version@,$(ruby_version),;t t
|
2009-05-07 21:14:14 -04:00
|
|
|
s,@rubylibprefix@,$${prefix}/lib/$${RUBY_BASE_NAME},;t t
|
2013-02-07 02:21:33 -05:00
|
|
|
s,@rubyarchdir@,$${rubylibdir}/$${arch},;t t
|
|
|
|
s,@rubylibdir@,$${rubylibprefix}/$${ruby_version},;t t
|
2009-05-07 21:14:14 -04:00
|
|
|
s,@sitedir@,$${rubylibprefix}/site_ruby,;t t
|
2013-02-10 23:15:14 -05:00
|
|
|
s,@sitearchdir@,$${sitelibdir}/$${sitearch},;t t
|
2013-02-07 06:55:14 -05:00
|
|
|
s,@sitelibdir@,$${sitedir}/$${ruby_version},;t t
|
2009-05-07 21:14:14 -04:00
|
|
|
s,@vendordir@,$${rubylibprefix}/vendor_ruby,;t t
|
2013-05-16 03:20:00 -04:00
|
|
|
s,@vendorarchdir@,$${vendorlibdir}/$${sitearch},;t t
|
2013-02-07 06:55:14 -05:00
|
|
|
s,@vendorlibdir@,$${vendordir}/$${ruby_version},;t t
|
2009-05-07 21:14:14 -04:00
|
|
|
s,@rubyhdrdir@,$$(includedir)/$${RUBY_BASE_NAME}-$$(ruby_version),;t t
|
2007-06-10 02:43:12 -04:00
|
|
|
s,@sitehdrdir@,$$(rubyhdrdir)/site_ruby,;t t
|
2007-11-04 10:26:21 -05:00
|
|
|
s,@vendorhdrdir@,$$(rubyhdrdir)/vendor_ruby,;t t
|
2013-02-07 06:55:14 -05:00
|
|
|
s,@rubyarchhdrdir@,$$(rubyhdrdir)/$${arch},;t t
|
|
|
|
s,@sitearchhdrdir@,$$(sitehdrdir)/$${sitearch},;t t
|
|
|
|
s,@vendorarchhdrdir@,$$(vendorhdrdir)/$${sitearch},;t t
|
2013-10-29 23:44:30 -04:00
|
|
|
s,@PLATFORM_DIR@,$(PLATFORM_DIR),;t t
|
|
|
|
s,@THREAD_MODEL@,$(THREAD_MODEL),;t t
|
2002-03-20 07:59:21 -05:00
|
|
|
s,@configure_args@,--with-make-prog=nmake --enable-shared $(configure_args),;t t
|
|
|
|
s,@configure_input@,$$configure_input,;t t
|
|
|
|
s,@srcdir@,$(srcdir),;t t
|
|
|
|
s,@top_srcdir@,$(srcdir),;t t
|
2009-01-26 21:09:47 -05:00
|
|
|
s,@try_header@,try_compile,;t t
|
2010-10-25 23:47:15 -04:00
|
|
|
s,@ruby_pc@,$(ruby_pc),;t t
|
2007-12-25 08:57:19 -05:00
|
|
|
<<KEEP
|
2001-06-09 03:41:44 -04:00
|
|
|
|
2008-09-01 23:32:32 -04:00
|
|
|
miniruby: miniruby$(EXEEXT)
|
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
miniruby$(EXEEXT):
|
2009-11-19 03:04:11 -05:00
|
|
|
@echo $(LIBS)
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking $(@:\=/)
|
2014-11-27 15:04:48 -05:00
|
|
|
$(Q) $(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) $(LIBS) -Fe$@ -link $(LDFLAGS)
|
2009-01-26 21:03:54 -05:00
|
|
|
@$(RM) miniruby.lib miniruby.exp
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) miniruby.exe -v
|
|
|
|
$(Q) $(LDSHARED_1)
|
|
|
|
$(Q) $(LDSHARED_2)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2009-03-04 21:27:20 -05:00
|
|
|
miniruby.rc:
|
|
|
|
@exit > $@
|
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
!if "$(PROGRAM)" != ""
|
|
|
|
$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking $(@:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \
|
2009-03-10 00:45:51 -04:00
|
|
|
$(OUTFLAG)$@ $(LIBRUBYARG) -link $(LDFLAGS) $(XLDFLAGS)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(LDSHARED_0)
|
|
|
|
$(Q) $(LDSHARED_1)
|
|
|
|
$(Q) $(LDSHARED_2)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
!if "$(WPROGRAM)" != ""
|
2004-03-23 00:32:01 -05:00
|
|
|
$(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking $(@:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) \
|
2004-03-23 00:32:01 -05:00
|
|
|
$(RUBYW_INSTALL_NAME).res $(OUTFLAG)$@ $(LIBRUBYARG) \
|
2009-03-10 00:45:51 -04:00
|
|
|
-link $(LDFLAGS) $(XLDFLAGS) -subsystem:Windows
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(LDSHARED_0)
|
|
|
|
$(Q) $(LDSHARED_1)
|
|
|
|
$(Q) $(LDSHARED_2)
|
2008-01-08 06:02:10 -05:00
|
|
|
!endif
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2010-11-18 09:56:34 -05:00
|
|
|
!if "$(STUBPROGRAM)" != ""
|
2010-11-29 08:53:16 -05:00
|
|
|
$(STUBPROGRAM): stub.$(OBJEXT) $(LIBRUBY) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
|
2010-11-18 09:56:34 -05:00
|
|
|
$(ECHO) linking $(@:\=/)
|
|
|
|
$(Q) $(PURIFY) $(CC) stub.$(OBJEXT) $(RUBY_INSTALL_NAME).res \
|
|
|
|
$(OUTFLAG)$@ $(LIBRUBYARG) -link $(LDFLAGS) $(XLDFLAGS)
|
|
|
|
$(Q) $(LDSHARED_0)
|
|
|
|
$(Q) $(LDSHARED_1)
|
|
|
|
$(Q) $(LDSHARED_2)
|
|
|
|
!endif
|
|
|
|
|
2014-11-27 15:04:48 -05:00
|
|
|
$(LIBRUBY_A): $(OBJS) $(INITOBJS)
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking static-library $(@:\=/)
|
2014-11-27 15:04:48 -05:00
|
|
|
$(Q) $(AR) $(ARFLAGS)$@ $(OBJS) $(INITOBJS)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
|
|
|
$(LIBRUBY): $(RUBYDEF)
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking import-library $(@:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(AR) $(ARFLAGS)$@ -def:$(RUBYDEF)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2004-03-23 00:32:01 -05:00
|
|
|
$(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
|
2009-11-19 03:04:11 -05:00
|
|
|
@echo $(DLDOBJS)
|
2006-10-01 11:00:45 -04:00
|
|
|
@-$(PRE_LIBRUBY_UPDATE)
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) linking shared-library $(@:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(LDSHARED) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) \
|
2009-03-10 00:45:51 -04:00
|
|
|
$(RUBY_SO_NAME).res $(LIBS) -Fe$@ -link $(LDFLAGS) \
|
2004-03-23 00:32:01 -05:00
|
|
|
$(LIBRUBY_DLDFLAGS)
|
2009-01-26 21:03:54 -05:00
|
|
|
@$(RM) dummy.lib dummy.exp
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(LDSHARED_0)
|
|
|
|
$(Q) $(LDSHARED_1)
|
|
|
|
$(Q) $(LDSHARED_2)
|
2013-03-02 10:04:23 -05:00
|
|
|
# | findstr -v -c:LNK4049 -c:LNK4217
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2004-03-04 08:50:48 -05:00
|
|
|
$(RUBYDEF): $(LIBRUBY_A) $(PREP)
|
2010-11-17 09:17:26 -05:00
|
|
|
$(ECHO) generating $(@:\=/)
|
2010-11-17 04:38:38 -05:00
|
|
|
$(Q) $(MINIRUBY) $(srcdir)/win32/mkexports.rb \
|
2007-06-27 07:47:53 -04:00
|
|
|
-output=$@ -arch=$(ARCH) $(LIBRUBY_A)
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
|
2008-01-08 06:02:10 -05:00
|
|
|
{$(win_srcdir)}.def.lib:
|
2010-11-17 04:38:38 -05:00
|
|
|
$(Q) $(AR) $(ARFLAGS)$@ -def:$<
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2004-03-21 18:21:31 -05:00
|
|
|
clean-local::
|
2010-12-30 06:21:54 -05:00
|
|
|
$(Q)$(RM) $(WINMAINOBJ) ext\extinit.c ext\extinit.$(OBJEXT) ext\vc*.pdb miniruby.lib
|
|
|
|
$(Q)$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res
|
|
|
|
$(Q)$(RM) miniruby.rc $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
|
|
|
|
$(Q)$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF) ext\ripper\y.output
|
2004-03-21 18:21:31 -05:00
|
|
|
|
|
|
|
distclean-local::
|
2010-12-30 06:21:54 -05:00
|
|
|
$(Q)$(RM) ext\config.cache $(RBCONFIG:/=\) $(CONFIG_H:/=\)
|
2012-05-03 12:57:51 -04:00
|
|
|
-$(Q)$(RM) $(INSTALLED_LIST:/=\) $(arch_hdrdir:/=\)\ruby\config.h verconf.h
|
2010-12-30 06:21:54 -05:00
|
|
|
-$(Q)$(RMDIRS) $(arch_hdrdir:/=\)\ruby
|
2009-01-24 21:06:29 -05:00
|
|
|
|
2008-08-07 03:28:56 -04:00
|
|
|
clean-ext distclean-ext realclean-ext::
|
2009-01-24 22:03:00 -05:00
|
|
|
!if "$(EXTS)" != ""
|
2009-01-24 21:06:29 -05:00
|
|
|
@for %I in ($(EXTS)) \
|
|
|
|
!else
|
|
|
|
@for /R ext %I in (.) \
|
|
|
|
!endif
|
|
|
|
do @if exist %I\Makefile ( \
|
|
|
|
cd %I && ( \
|
2008-08-07 03:28:56 -04:00
|
|
|
echo $(@:-ext=)ing %~nI & \
|
|
|
|
$(MAKE) $(MFLAGS) $(@:-ext=) & \
|
2008-12-31 17:16:51 -05:00
|
|
|
cd %CD% & \
|
2009-01-24 21:06:29 -05:00
|
|
|
$(RMDIRS) %I \
|
|
|
|
) )
|
2008-08-07 03:28:56 -04:00
|
|
|
|
2008-12-31 17:16:51 -05:00
|
|
|
distclean-ext realclean-ext::
|
2010-12-30 06:21:54 -05:00
|
|
|
-$(Q)rmdir ext
|
2008-12-31 17:16:51 -05:00
|
|
|
|
2010-06-14 13:32:03 -04:00
|
|
|
clean-extout:
|
|
|
|
|
|
|
|
clean-enc distclean-enc realclean-enc:
|
|
|
|
!if exist($(ENC_MK))
|
|
|
|
@echo $(@:-enc=ing) encodings
|
2010-12-29 06:27:36 -05:00
|
|
|
@-$(MAKE) -f $(ENC_MK) $(MFLAGS) V=$(V) $(@:-enc=)
|
2010-06-14 13:32:03 -04:00
|
|
|
!endif
|
|
|
|
|
2010-10-07 21:52:37 -04:00
|
|
|
$(RCFILES): $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb
|
* 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 10:03:46 -04:00
|
|
|
@$(MINIRUBY) $(srcdir)/win32/resource.rb \
|
2000-08-03 05:55:54 -04:00
|
|
|
-ruby_name=$(RUBY_INSTALL_NAME) \
|
|
|
|
-rubyw_name=$(RUBYW_INSTALL_NAME) \
|
2002-09-10 22:38:51 -04:00
|
|
|
-so_name=$(RUBY_SO_NAME) \
|
2008-01-08 06:02:10 -05:00
|
|
|
. $(icondirs) $(win_srcdir)
|
|
|
|
|
2013-12-26 02:11:51 -05:00
|
|
|
$(arch)-fake.rb: $(MKFILES) $(srcdir)/version.h
|
2008-01-08 06:02:10 -05:00
|
|
|
@echo Creating <<$@
|
|
|
|
class Object
|
2013-12-26 23:25:47 -05:00
|
|
|
remove_const :CROSS_COMPILING if defined?(CROSS_COMPILING)
|
2008-01-08 06:02:10 -05:00
|
|
|
CROSS_COMPILING = RUBY_PLATFORM
|
|
|
|
remove_const :RUBY_PLATFORM
|
|
|
|
remove_const :RUBY_VERSION
|
2013-12-26 23:25:47 -05:00
|
|
|
remove_const :RUBY_DESCRIPTION if defined?(RUBY_DESCRIPTION)
|
2013-12-20 15:05:30 -05:00
|
|
|
RUBY_PLATFORM = "$(arch)"
|
2013-12-26 23:25:47 -05:00
|
|
|
RUBY_VERSION = $(RUBY_PROGRAM_VERSION)
|
2014-06-10 04:30:10 -04:00
|
|
|
RUBY_DESCRIPTION = "ruby #{RUBY_VERSION} (" $(RUBY_RELEASE_DATE) ") [#{RUBY_PLATFORM}]"
|
2008-01-08 06:02:10 -05:00
|
|
|
end
|
|
|
|
class File
|
|
|
|
remove_const :ALT_SEPARATOR
|
|
|
|
ALT_SEPARATOR = "\\"
|
|
|
|
end
|
|
|
|
<<KEEP
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2010-10-25 23:47:15 -04:00
|
|
|
$(ruby_pc): $(RBCONFIG)
|
2013-12-27 00:46:10 -05:00
|
|
|
@$(MINIRUBY) -r./rbconfig $(srcdir)/tool/expand-config.rb \
|
2010-10-25 23:47:15 -04:00
|
|
|
$(srcdir)/template/ruby.pc.in > $@
|
|
|
|
|
2007-10-10 17:35:45 -04:00
|
|
|
{$(srcdir)/enc}.c.obj:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
|
2000-12-21 22:22:25 -05:00
|
|
|
{$(srcdir)/missing}.c.obj:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
|
2008-01-08 06:02:10 -05:00
|
|
|
{$(win_srcdir)}.c.obj:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
|
2012-02-28 10:51:25 -05:00
|
|
|
{$(srcdir)}.c{}.obj:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
|
2000-08-03 05:55:54 -04:00
|
|
|
.c.obj:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-02-02 13:23:07 -05:00
|
|
|
{$(srcdir)/missing}.c.asm:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) translating $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa$@ -c -Tc$(<:\=/)
|
2012-08-23 06:18:23 -04:00
|
|
|
{$(win_srcdir)}.c.asm:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) translating $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa$@ -c -Tc$(<:\=/)
|
2012-08-23 06:18:23 -04:00
|
|
|
{$(srcdir)}.c{}.asm:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) translating $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa$@ -c -Tc$(<:\=/)
|
2007-02-02 13:23:07 -05:00
|
|
|
.c.asm:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) translating $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa$@ -c -Tc$(<:\=/)
|
2007-02-02 13:23:07 -05:00
|
|
|
|
2009-03-15 20:29:00 -04:00
|
|
|
{$(srcdir)/missing}.c.i:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) preprocessing $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(XCFLAGS) $(CPPFLAGS) -P -Tc$(<:\=/) > $@
|
2012-08-23 06:18:23 -04:00
|
|
|
{$(win_srcdir)}.c.i:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) preprocessing $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(XCFLAGS) $(CPPFLAGS) -P -Tc$(<:\=/)
|
2012-08-23 06:18:23 -04:00
|
|
|
{$(srcdir)}.c{}.i:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) preprocessing $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(XCFLAGS) $(CPPFLAGS) -P -Tc$(<:\=/)
|
2009-03-15 20:29:00 -04:00
|
|
|
.c.i:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) preprocessing $(<:\=/)
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(XCFLAGS) $(CPPFLAGS) -P -Tc$(<:\=/)
|
2009-03-15 20:29:00 -04:00
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
.rc.res:
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling $(<:\=/)
|
2010-12-02 09:06:54 -05:00
|
|
|
$(Q) $(RC) $(RCFLAGS) -I. -I$(<D) $(iconinc) -I$(srcdir)/win32 $(RFLAGS) -fo$@ $(<:\=/)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-11-13 01:29:49 -05:00
|
|
|
lex.c: {$(srcdir)}lex.c.blt
|
|
|
|
copy $(?:/=\) $@
|
|
|
|
|
2009-08-21 04:01:09 -04:00
|
|
|
enc/unicode/name2ctype.h: {$(srcdir)}enc/unicode/name2ctype.h.blt
|
2009-10-19 02:04:10 -04:00
|
|
|
@if not exist $(@D:/=\) md $(@D:/=\)
|
2010-11-17 04:38:38 -05:00
|
|
|
$(ECHO) copying $@
|
|
|
|
$(Q) copy $(?:/=\) $(@:/=\) > nul
|
2009-08-21 04:01:09 -04:00
|
|
|
|
2014-05-26 00:03:52 -04:00
|
|
|
enc/jis/props.h: {$(srcdir)}enc/jis/props.h.blt
|
|
|
|
@if not exist $(@D:/=\) md $(@D:/=\)
|
|
|
|
$(ECHO) copying $@
|
|
|
|
$(Q) copy $(?:/=\) $(@:/=\) > nul
|
|
|
|
|
2007-06-09 23:06:15 -04:00
|
|
|
$(OBJS): {$(hdrdir)/ruby}win32.h
|
2004-03-21 18:21:31 -05:00
|
|
|
|
2012-02-28 10:51:25 -05:00
|
|
|
dir.$(OBJEXT) win32/win32.$(OBJEXT): {$(srcdir)}win32/dir.h
|
2004-04-06 21:43:27 -04:00
|
|
|
|
|
|
|
ext/extinit.obj: ext/extinit.c $(SETUP)
|
2010-11-11 10:31:59 -05:00
|
|
|
$(ECHO) compiling ext/extinit.c
|
2010-11-12 06:51:42 -05:00
|
|
|
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
|
2009-03-04 21:52:21 -05:00
|
|
|
|
2012-11-22 07:49:59 -05:00
|
|
|
probes.h: {$(VPATH)}probes.dmyh
|
2012-11-22 04:16:48 -05:00
|
|
|
@$(ECHO) copying dummy $(DEST_FILE)
|
2012-11-22 07:49:59 -05:00
|
|
|
@if exist probes.dmyh (\
|
|
|
|
$(Q) $(CP) probes.dmyh $(OS_DEST_FILE)\
|
|
|
|
) else (\
|
|
|
|
$(Q) $(CP) $(srcdir:/=\)\probes.dmyh $(OS_DEST_FILE)\
|
|
|
|
)
|
|
|
|
|
2009-03-06 00:28:42 -05:00
|
|
|
INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \
|
|
|
|
vmtc.inc vm.inc
|
|
|
|
|
2010-11-18 09:56:34 -05:00
|
|
|
!if [exit > insns_rules.mk]
|
|
|
|
!else if [for %I in ($(INSNS)) do \
|
|
|
|
@for %J in (\
|
2010-11-19 09:05:50 -05:00
|
|
|
"%I: $$(srcdir)/insns.def {$$(VPATH)}vm_opts.h \" \
|
|
|
|
" $$(srcdir)/defs/opt_operand.def $$(srcdir)/defs/opt_insn_unif.def \" \
|
2010-11-18 09:56:34 -05:00
|
|
|
" $$(srcdir)/tool/instruction.rb $$(srcdir)/tool/insns2vm.rb" \
|
|
|
|
" @$$(RM) $$(PROGRAM)" \
|
2011-09-06 08:16:44 -04:00
|
|
|
" $$(BASERUBY) -Ku $$(srcdir)/tool/insns2vm.rb $$(INSNS2VMOPT) %I" \
|
2010-11-18 09:56:34 -05:00
|
|
|
"" \
|
|
|
|
) do @echo.%~J>>insns_rules.mk]
|
2009-03-04 21:52:21 -05:00
|
|
|
!else
|
|
|
|
! include insns_rules.mk
|
|
|
|
! if [del insns_rules.mk > nul]
|
|
|
|
! endif
|
|
|
|
!endif
|
2013-05-16 03:54:04 -04:00
|
|
|
|
2014-12-01 03:20:45 -05:00
|
|
|
verconf.h: verconf.mk
|
|
|
|
|
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'
|