1
0
Fork 0
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:
nobu 2007-07-21 08:32:34 +00:00
parent 021660e442
commit 92cad4305b
5 changed files with 162 additions and 55 deletions

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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).

View file

@ -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) {