зеркало из https://github.com/github/ruby.git
* configure.in (RUBY_EXTERN): macro to export symbols in shared
library. [ruby-core:05528] * defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to configuration pass. * ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
ed91275a98
Коммит
8a2612b335
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
Wed Oct 26 01:58:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* configure.in (RUBY_EXTERN): macro to export symbols in shared
|
||||
library. [ruby-core:05528]
|
||||
|
||||
* defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to
|
||||
configuration pass.
|
||||
|
||||
* ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.
|
||||
|
||||
Tue Oct 25 20:06:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
||||
|
||||
* ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate
|
||||
|
|
|
@ -226,6 +226,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)bcc32/Makefile.sub
|
|||
\#define TOKEN_PASTE(x,y) x\#\#y
|
||||
\#define HAVE_STDARG_PROTOTYPES 1
|
||||
\#define NORETURN(x) x
|
||||
\#define RUBY_EXTERN extern __declspec(dllimport)
|
||||
\#define HAVE_DECL_SYS_NERR 1
|
||||
\#define HAVE_LIMITS_H 1
|
||||
\#define HAVE_FCNTL_H 1
|
||||
|
|
12
configure.in
12
configure.in
|
@ -308,6 +308,17 @@ RUBY_FUNC_ATTRIBUTE(noinline, NOINLINE)
|
|||
RUBY_FUNC_ATTRIBUTE(stdcall)
|
||||
RUBY_FUNC_ATTRIBUTE(cdecl)
|
||||
|
||||
AC_CACHE_CHECK([for RUBY_EXTERN], rb_cv_ruby_extern,
|
||||
[rb_cv_ruby_extern=no
|
||||
for mac in "__attribute__((dllimport))" "__declspec(dllimport)"; do
|
||||
AC_TRY_COMPILE(
|
||||
[extern $mac void conftest(void);],
|
||||
[rb_cv_ruby_extern="extern $mac"; break])
|
||||
done])
|
||||
test "x$rb_cv_ruby_extern" = xno || AC_DEFINE_UNQUOTED(RUBY_EXTERN, $rb_cv_ruby_extern)
|
||||
|
||||
XCFLAGS="$XCFLAGS -DRUBY_EXPORT"
|
||||
|
||||
dnl Check whether we need to define sys_nerr locally
|
||||
AC_CHECK_DECLS([sys_nerr], [], [], [$ac_includes_default
|
||||
#include <errno.h>])
|
||||
|
@ -1375,7 +1386,6 @@ case "$target_os" in
|
|||
COMMON_HEADERS="winsock2.h windows.h"
|
||||
;;
|
||||
esac
|
||||
XCFLAGS="$XCFLAGS"
|
||||
LIBRUBY_DLDFLAGS="${DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)'
|
||||
LIBRUBY_ALIASES=''
|
||||
FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in
|
||||
|
|
|
@ -195,11 +195,8 @@ void xfree(void*);
|
|||
#include <net/socket.h> /* intern.h needs fd_set definition */
|
||||
#endif
|
||||
|
||||
#ifdef RUBY_EXPORT
|
||||
#undef RUBY_EXTERN
|
||||
#if defined _WIN32 && !defined __GNUC__
|
||||
# ifndef RUBY_EXPORT
|
||||
# define RUBY_EXTERN extern __declspec(dllimport)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef RUBY_EXTERN
|
||||
|
|
|
@ -129,6 +129,7 @@ def extmake(target)
|
|||
then
|
||||
ok = false
|
||||
init_mkmf
|
||||
$defs << "-DRUBY_EXPORT" if $static
|
||||
Logging::logfile 'mkmf.log'
|
||||
rm_f makefile
|
||||
if File.exist?($0 = "#{$srcdir}/makefile.rb")
|
||||
|
|
|
@ -228,6 +228,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub
|
|||
#define DEPRECATED(x) __declspec(deprecated) x
|
||||
#define NOINLINE(x) __declspec(noinline) x
|
||||
!endif
|
||||
#define RUBY_EXTERN extern __declspec(dllimport)
|
||||
#define HAVE_DECL_SYS_NERR 1
|
||||
#define HAVE_LIMITS_H 1
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
|
|
@ -223,6 +223,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/wince/Makefile.sub
|
|||
#define DEPRECATED(x) __declspec(deprecated) x
|
||||
#define NOINLINE(x) __declspec(noinline) x
|
||||
!endif
|
||||
#define RUBY_EXTERN extern __declspec(dllimport)
|
||||
#define HAVE_DECL_SYS_NERR 1
|
||||
#define HAVE_FCNTL_H 1
|
||||
#define HAVE_SYS_UTIME_H 1
|
||||
|
|
Загрузка…
Ссылка в новой задаче