mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args
support. * bcc32/setup.mak: check runtime version. * win32/win32.c (rb_w32_open_osfhandle): prototype has changed in bcc 5.82. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
021660e442
commit
92cad4305b
5 changed files with 162 additions and 55 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,8 +1,16 @@
|
|||
Sat Jul 21 17:07:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Sat Jul 21 17:32:31 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H
|
||||
only if extconf.h is created.
|
||||
|
||||
* bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args
|
||||
support.
|
||||
|
||||
* bcc32/setup.mak: check runtime version.
|
||||
|
||||
* win32/win32.c (rb_w32_open_osfhandle): prototype has changed
|
||||
in bcc 5.82.
|
||||
|
||||
* {win32,wince,bcc32}/setup.mak (-version-): no RUBY_EXTERN magic.
|
||||
|
||||
* win32/resource.rb: include patchlevel number.
|
||||
|
|
|
@ -4,8 +4,12 @@ SHELL = $(COMSPEC)
|
|||
MKFILES = Makefile
|
||||
|
||||
#### Start of system configuration section. ####
|
||||
!ifndef OS
|
||||
OS = bccwin32
|
||||
RT = $(OS)
|
||||
!endif
|
||||
!if !defined(RT)
|
||||
!error RT not defined. Retry from configure pass.
|
||||
!endif
|
||||
|
||||
## variables may be overridden by $(compile_dir)/Makefile
|
||||
!ifndef srcdir
|
||||
|
@ -144,7 +148,7 @@ STACK = 0x2000000
|
|||
|
||||
XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing
|
||||
|
||||
ARFLAGS = /a
|
||||
ARFLAGS = /a /p32
|
||||
LD = ilink32 -q -Gn
|
||||
LDSHARED = $(LD)
|
||||
XLDFLAGS = -Tpe c0x32.obj
|
||||
|
@ -209,7 +213,13 @@ rubyw: $(WPROGRAM)
|
|||
|
||||
!include $(srcdir)/common.mk
|
||||
|
||||
PHONY: Makefile
|
||||
$(MKFILES): $(srcdir)/bcc32/Makefile.sub $(srcdir)/bcc32/configure.bat $(srcdir)/bcc32/setup.mak
|
||||
$(COMSPEC) /C $(srcdir:/=\)\bcc32\configure.bat $(configure_args)
|
||||
@echo $(MKFILES) should be updated, re-run $(MAKE).
|
||||
@$(MAKE) > nul -q -f &&|
|
||||
PHONY: nul
|
||||
@exit
|
||||
|
|
||||
|
||||
CONFIG_H = ./.config.h.time
|
||||
|
||||
|
|
|
@ -6,76 +6,120 @@
|
|||
echo> ~tmp~.mak ####
|
||||
echo>> ~tmp~.mak conf = %0
|
||||
echo>> ~tmp~.mak $(conf:\=/): nul
|
||||
echo>> ~tmp~.mak @del ~tmp~.mak
|
||||
echo>> ~tmp~.mak @del ~setup~.mak
|
||||
echo>> ~tmp~.mak @-$(MAKE) -l$(MAKEFLAGS) -f $(@D)setup.mak \
|
||||
if exist pathlist.tmp del pathlist.tmp
|
||||
if exist confargs.mk del confargs.mk
|
||||
:loop
|
||||
if "%1" == "" goto :end
|
||||
if "%1" == "--prefix" goto :prefix
|
||||
if "%1" == "prefix" goto :prefix
|
||||
if "%1" == "--srcdir" goto :srcdir
|
||||
if "%1" == "srcdir" goto :srcdir
|
||||
if "%1" == "--target" goto :target
|
||||
if "%1" == "target" goto :target
|
||||
if "%1" == "--with-static-linked-ext" goto :extstatic
|
||||
if "%1" == "--program-suffix" goto :suffix
|
||||
if "%1" == "--program-name" goto :progname
|
||||
if "%1" == "RUBY_SUFFIX" goto :suffix
|
||||
if "%1" == "--program-name" goto :installname
|
||||
if "%1" == "--install-name" goto :installname
|
||||
if "%1" == "RUBY_INSTALL_NAME" goto :installname
|
||||
if "%1" == "--so-name" goto :soname
|
||||
if "%1" == "RUBY_SO_NAME" goto :soname
|
||||
if "%1" == "--enable-install-doc" goto :enable-rdoc
|
||||
if "%1" == "--disable-install-doc" goto :disable-rdoc
|
||||
if "%1" == "--extout" goto :extout
|
||||
if "%1" == "EXTOUT" goto :extout
|
||||
if "%1" == "--with-baseruby" goto :baseruby
|
||||
if "%1" == "BASERUBY" goto :baseruby
|
||||
if "%1" == "--path" goto :path
|
||||
if "%1" == "-h" goto :help
|
||||
if "%1" == "--help" goto :help
|
||||
echo>> ~tmp~.mak "%1" \
|
||||
echo>>confargs.tmp %1 \
|
||||
shift
|
||||
goto :loop
|
||||
:srcdir
|
||||
echo>> ~tmp~.mak -D"srcdir=%2" \
|
||||
echo>> ~tmp~.mak -Dsrcdir=%2 \
|
||||
echo>>confargs.tmp --srcdir=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:prefix
|
||||
echo>> ~tmp~.mak -D"prefix=%2" \
|
||||
echo>> ~tmp~.mak -Dprefix=%2 \
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:suffix
|
||||
echo>> ~tmp~.mak -D"RUBY_SUFFIX=%2" \
|
||||
echo>>confargs.mk !ifndef RUBY_SUFFIX
|
||||
echo>>confargs.mk RUBY_SUFFIX = %2
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:installname
|
||||
echo>> ~tmp~.mak -D"RUBY_INSTALL_NAME=%2" \
|
||||
echo>>confargs.mk !ifndef RUBY_INSTALL_NAME
|
||||
echo>>confargs.mk RUBY_INSTALL_NAME = %2
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:soname
|
||||
echo>> ~tmp~.mak -D"RUBY_SO_NAME=%2" \
|
||||
echo>>confargs.mk !ifndef RUBY_SO_NAME
|
||||
echo>>confargs.mk RUBY_SO_NAME = %2
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:target
|
||||
echo>> ~tmp~.mak "%2" \
|
||||
echo>> ~tmp~.mak %2 \
|
||||
echo>>confargs.tmp --target=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:extstatic
|
||||
echo>> ~tmp~.mak -D"EXTSTATIC=static" \
|
||||
echo>>confargs.mk !ifndef EXTSTATIC
|
||||
echo>>confargs.mk EXTSTATIC = static
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1 \
|
||||
shift
|
||||
goto :loop
|
||||
:enable-rdoc
|
||||
echo>> ~tmp~.mak -D"RDOCTARGET=install-doc" \
|
||||
echo>>confargs.mk !ifndef RDOCTARGET
|
||||
echo>>confargs.mk RDOCTARGET = install-doc
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1 \
|
||||
shift
|
||||
goto :loop
|
||||
:disable-rdoc
|
||||
echo>> ~tmp~.mak -D"RDOCTARGET=install-nodoc" \
|
||||
echo>>confargs.mk !ifndef RDOCTARGET
|
||||
echo>>confargs.mk RDOCTARGET = install-nodoc
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1 \
|
||||
shift
|
||||
goto :loop
|
||||
:extout
|
||||
echo>> ~tmp~.mak -D"EXTOUT=%2" \
|
||||
echo>>confargs.mk !ifndef EXTOUT
|
||||
echo>>confargs.mk EXTOUT = %2
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:baseruby
|
||||
echo>> ~tmp~.mak -D"BASERUBY=%2" \
|
||||
echo>>confargs.mk !ifndef BASERUBY
|
||||
echo>>confargs.mk BASERUBY = %2
|
||||
echo>>confargs.mk !endif
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
:path
|
||||
echo>>pathlist.tmp %2;\
|
||||
echo>>confargs.tmp %1=%2 \
|
||||
shift
|
||||
shift
|
||||
goto :loop
|
||||
|
@ -84,16 +128,36 @@ goto :loop
|
|||
echo --help display this help
|
||||
echo --srcdir=DIR find the sources in DIR [configure dir or `..']
|
||||
echo Installation directories:
|
||||
echo --prefix=PREFIX install files in PREFIX [/usr]
|
||||
echo --prefix=PREFIX install files in PREFIX (ignored currently)
|
||||
echo System types:
|
||||
echo --target=TARGET configure for TARGET [i386-bccwin32]
|
||||
echo Optional Package:
|
||||
echo --with-baseruby=RUBY use RUBY as baseruby [ruby]
|
||||
echo --with-static-linked-ext link external modules statically
|
||||
echo --disable-install-doc do not install rdoc indexes during install
|
||||
echo --enable-install-doc install rdoc indexes during install
|
||||
del *.tmp
|
||||
del ~tmp~.mak
|
||||
goto :exit
|
||||
:end
|
||||
echo>> ~tmp~.mak -Dbcc32dir="$(@D)"
|
||||
make -s -f ~tmp~.mak
|
||||
echo>> ~tmp~.mak -Dbcc32dir=$(@D)
|
||||
if not exist confargs.tmp goto :noconfargs
|
||||
echo>>confargs.mk configure_args = \
|
||||
type>>confargs.mk confargs.tmp
|
||||
echo.>>confargs.mk
|
||||
echo>>confargs.mk ####
|
||||
:noconfargs
|
||||
if not exist pathlist.tmp goto :nopathlist
|
||||
echo>>confargs.mk pathlist = \
|
||||
type>>confargs.mk pathlist.tmp
|
||||
echo.>>confargs.mk
|
||||
echo>>confargs.mk ####
|
||||
echo>>confargs.mk PATH = $(pathlist:;=/bin;)$(PATH)
|
||||
echo>>confargs.mk INCLUDE = $(pathlist:;=/include;)
|
||||
echo>>confargs.mk LIB = $(pathlist:;=/lib;)
|
||||
:nopathlist
|
||||
if exist confargs.mk copy confargs.mk ~setup~.mak > nul
|
||||
type>>~setup~.mak ~tmp~.mak
|
||||
del *.tmp > nul
|
||||
del ~tmp~.mak > nul
|
||||
make -s -f ~setup~.mak
|
||||
:exit
|
||||
|
|
|
@ -9,7 +9,7 @@ srcdir = $(bcc32dir:/bcc32/=)
|
|||
!else
|
||||
srcdir = $(bcc32dir)/..
|
||||
!endif
|
||||
!if "$(prefix)" == ""
|
||||
!ifndef prefix
|
||||
prefix = /usr
|
||||
!endif
|
||||
OS = bccwin32
|
||||
|
@ -30,7 +30,9 @@ i586-$(OS): -prologue- -i586- -epilogue-
|
|||
i686-$(OS): -prologue- -i686- -epilogue-
|
||||
alpha-$(OS): -prologue- -alpha- -epilogue-
|
||||
|
||||
-prologue-: nul
|
||||
-prologue-: -basic-vars- -version- -system-vars-
|
||||
|
||||
-basic-vars-: nul
|
||||
@echo Creating $(MAKEFILE)
|
||||
@type > $(MAKEFILE) &&|
|
||||
\#\#\# Makefile for ruby $(OS) \#\#\#
|
||||
|
@ -40,41 +42,68 @@ $(BANG)endif
|
|||
$(BANG)ifndef prefix
|
||||
prefix = $(prefix:\=/)
|
||||
$(BANG)endif
|
||||
$(BANG)ifndef EXTSTATIC
|
||||
EXTSTATIC = $(EXTSTATIC)
|
||||
$(BANG)endif
|
||||
!if defined(RDOCTARGET)
|
||||
$(BANG)ifndef RDOCTARGET
|
||||
RDOCTARGET = $(RDOCTARGET)
|
||||
$(BANG)endif
|
||||
!endif
|
||||
!if defined(EXTOUT)
|
||||
$(BANG)ifndef EXTOUT
|
||||
EXTOUT = $(EXTOUT)
|
||||
$(BANG)endif
|
||||
!endif
|
||||
!if defined(BASERUBY)
|
||||
$(BANG)ifndef BASERUBY
|
||||
BASERUBY = $(BASERUBY)
|
||||
$(BANG)endif
|
||||
!endif
|
||||
|
|
||||
@type > usebormm.bat &&|
|
||||
@echo off
|
||||
ilink32 -Gn -x usebormm.lib > nul
|
||||
if exist usebormm.tds echo MEMLIB = usebormm.lib
|
||||
|
|
||||
@usebormm.bat >> $(MAKEFILE)
|
||||
@del usebormm.*
|
||||
!if exist(confargs.mk)
|
||||
@type confargs.mk >> $(MAKEFILE)
|
||||
@del confargs.mk
|
||||
!endif
|
||||
|
||||
-system-vars-: -runtime- -bormm-
|
||||
|
||||
-bormm-: nul
|
||||
@-ilink32 -q -Gn -x usebormm.lib > nul
|
||||
@-if exist usebormm.tds $(APPEND) MEMLIB = usebormm.lib
|
||||
@if exist usebormm.* del usebormm.*
|
||||
|
||||
-osname-: nul
|
||||
@echo OS = >>$(MAKEFILE)
|
||||
|
||||
-runtime-: nul
|
||||
type > conftest.c &&|
|
||||
\#include <stdio.h>
|
||||
int main(){printf("");return 0;}
|
||||
|
|
||||
bcc32 conftest.c cw32i.lib > nul
|
||||
tdump conftest.exe < nul > conftest.i
|
||||
grep "^Imports from CC" conftest.i > conftest.c
|
||||
cpp32 -P- -DFile=\# -DImports=RTNAME -Dfrom== conftest.c > nul
|
||||
$(MAKE) > nul -DBANG=$(BANG) -f &&|
|
||||
-runtime-: nul
|
||||
$(BANG)include conftest.i
|
||||
RT = $$(RTNAME:.DLL=)
|
||||
OS = $$(RT:CC32=)
|
||||
-runtime-:
|
||||
del conftest.*
|
||||
$(BANG)if "$$(OS)" == "50"
|
||||
echo OS = bccwin32 >> $(MAKEFILE)
|
||||
$(BANG)else
|
||||
echo OS = bccwin32_$$(OS) >> $(MAKEFILE)
|
||||
$(BANG)endif
|
||||
|
|
||||
@echo RT = $$(OS) >> $(MAKEFILE)
|
||||
|
||||
-version-: nul
|
||||
@cpp32 -I$(srcdir) -P- -o$(MAKEFILE) > nul &&|
|
||||
\#include "version.h"
|
||||
MAJOR = RUBY_VERSION_MAJOR
|
||||
MINOR = RUBY_VERSION_MINOR
|
||||
TEENY = RUBY_VERSION_TEENY
|
||||
|
||||
BORLANDC = __BORLANDC__
|
||||
|
|
||||
@type $(MAKEFILE).i >> $(MAKEFILE)
|
||||
@$(MAKE) > nul -DBANG=$(BANG) -f &&,
|
||||
-version-: nul
|
||||
$(BANG)include $(MAKEFILE)
|
||||
$(BANG)include $(MAKEFILE).i
|
||||
-version-:
|
||||
@del $(MAKEFILE).i
|
||||
@type >> $(MAKEFILE) &&|
|
||||
MAJOR = $$(MAJOR)
|
||||
MINOR = $$(MINOR)
|
||||
TEENY = $$(TEENY)
|
||||
BORLANDC = $$(BORLANDC)
|
||||
|
|
||||
,
|
||||
|
||||
-generic-: nul
|
||||
!if defined(PROCESSOR_ARCHITECTURE) || defined(PROCESSOR_LEVEL)
|
||||
|
@ -89,7 +118,6 @@ $(BANG)ifndef PROCESSOR_LEVEL
|
|||
PROCESSOR_LEVEL = $(PROCESSOR_LEVEL)
|
||||
$(BANG)endif
|
||||
!endif
|
||||
|
||||
|
|
||||
!endif
|
||||
|
||||
|
@ -122,8 +150,6 @@ $(BANG)endif
|
|||
-epilogue-: nul
|
||||
@type >> $(MAKEFILE) &&|
|
||||
|
||||
\# OS = $(OS)
|
||||
\# RT = $(RT)
|
||||
\# RUBY_INSTALL_NAME = ruby
|
||||
\# RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR)
|
||||
\# CFLAGS = -q $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi
|
||||
|
@ -134,5 +160,4 @@ $(BANG)endif
|
|||
\# EXTLIBS = cw32.lib import32.lib user32.lib kernel32.lib
|
||||
$(BANG)include $$(srcdir)/bcc32/Makefile.sub
|
||||
|
|
||||
@$(srcdir:/=\)\win32\rm.bat config.h config.status
|
||||
@echo type "`$(MAKE)'" to make ruby for $(OS).
|
||||
|
|
|
@ -1771,7 +1771,7 @@ init_stdhandle(void)
|
|||
|
||||
#ifdef __BORLANDC__
|
||||
static int
|
||||
rb_w32_open_osfhandle(long osfhandle, int flags)
|
||||
rb_w32_open_osfhandle(intptr_t osfhandle, int flags)
|
||||
{
|
||||
int fd = _open_osfhandle(osfhandle, flags);
|
||||
if (fd == -1) {
|
||||
|
|
Loading…
Reference in a new issue