Skip to content

Commit

Permalink
* Makefile.in, common.mk: miniruby depens on MINIOBJS.
Browse files Browse the repository at this point in the history
* dmydln.c (dln_load): dummy function to raise LoadError.

* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
  can't load extensions on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Apr 20, 2005
1 parent 9031084 commit 5c6e644
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 4 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
Wed Apr 20 23:22:39 2005 Nobuyoshi Nakada <[email protected]>

* Makefile.in, common.mk: miniruby depens on MINIOBJS.

* dmydln.c (dln_load): dummy function to raise LoadError.

* cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
can't load extensions on Windows.

Wed Apr 20 23:01:35 2005 Nobuyoshi Nakada <[email protected]>

* win32/ifchange.bat: delete testing files.
Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ all:

miniruby$(EXEEXT):
@$(RM) $@
$(PURIFY) $(CC) $(MAINOBJ) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(MAINLIBS)
$(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(MAINLIBS)

$(PROGRAM):
@$(RM) $@
Expand Down
3 changes: 2 additions & 1 deletion bcc32/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ DMYOBJS = dmyext.obj
OBJEXT = obj

WINMAINOBJ = winmain.$(OBJEXT)
MINIOBJS = dmydln.$(OBJEXT)

.path.c = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
.path.h = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
Expand Down Expand Up @@ -395,7 +396,7 @@ s,@top_srcdir@,$(srcdir),;t t

miniruby$(EXEEXT):
@echo $(LIBS)
$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ),$@,nul,$(LIBRUBY_A) $(LIBS)
$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(MINIOBJS),$@,nul,$(LIBRUBY_A) $(LIBS)

$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBY_INSTALL_NAME).res
Expand Down
5 changes: 4 additions & 1 deletion common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY)
@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)
prog: $(PROGRAM) $(WPROGRAM)

miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(OBJS) $(DMYEXT)
miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(MINIOBJS) $(OBJS) $(DMYEXT)

$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)

Expand Down Expand Up @@ -217,6 +217,9 @@ dir.$(OBJEXT): {$(VPATH)}dir.c {$(VPATH)}ruby.h config.h \
dln.$(OBJEXT): {$(VPATH)}dln.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}dln.h
dmydln.$(OBJEXT): {$(VPATH)}dmydln.c {$(VPATH)}dln.c {$(VPATH)}ruby.h \
config.h {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}dln.h
dmyext.$(OBJEXT): {$(VPATH)}dmyext.c
enum.$(OBJEXT): {$(VPATH)}enum.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
Expand Down
2 changes: 2 additions & 0 deletions cygwin/GNUmakefile.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
MINIOBJS = dmydln.o

include Makefile

ENABLE_SHARED=@ENABLE_SHARED@
Expand Down
10 changes: 10 additions & 0 deletions dln.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ char *getenv();

int eaccess();

#ifndef NO_DLN_LOAD

#if defined(HAVE_DLOPEN) && !defined(USE_DLN_A_OUT) && !defined(_AIX) && !defined(__APPLE__) && !defined(_UNICOSMP)
/* dynamic load with dlopen() */
# define USE_DLN_DLOPEN
Expand Down Expand Up @@ -1256,10 +1258,16 @@ aix_loaderror(const char *pathname)
}
#endif

#endif /* NO_DLN_LOAD */

void*
dln_load(file)
const char *file;
{
#ifdef NO_DLN_LOAD
rb_raise(rb_eLoadError, "this executable file can't load extension libraries");
#else

#if !defined(_AIX) && !defined(NeXT)
const char *error = 0;
#define DLN_ERROR() (error = dln_strerror(), strcpy(ALLOCA_N(char, strlen(error) + 1), error))
Expand Down Expand Up @@ -1592,6 +1600,8 @@ dln_load(file)
failed:
rb_loaderror("%s - %s", error, file);
#endif

#endif /* NO_DLN_LOAD */
return 0; /* dummy return */
}

Expand Down
2 changes: 2 additions & 0 deletions dmydln.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#define NO_DLN_LOAD 1
#include "dln.c"
3 changes: 2 additions & 1 deletion win32/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ EXTOBJS =
DLDOBJS =

WINMAINOBJ = winmain.$(OBJEXT)
MINIOBJS = dmydln.$(OBJEXT)

all: $(srcdir)/win32/Makefile.sub $(srcdir)/common.mk

Expand Down Expand Up @@ -411,7 +412,7 @@ s,@top_srcdir@,$(srcdir),;t t

miniruby$(EXEEXT):
@echo. $(LIBS)
$(PURIFY) $(CC) $(MAINOBJ) $(LIBRUBY_A) $(LIBS) -Fe$@ $(LDFLAGS)
$(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) -Fe$@ $(LDFLAGS)

$(PROGRAM): $(RUBY_INSTALL_NAME).res
$(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \
Expand Down

0 comments on commit 5c6e644

Please sign in to comment.