summaryrefslogtreecommitdiff
path: root/lang/ruby18/patches/patch-aa
blob: 7e79768911fa3d4463dbebc4b751c36e07525403 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
$NetBSD: patch-aa,v 1.3 2005/01/21 06:13:36 tv Exp $

--- configure.in.orig	2003-12-24 14:19:12.000000000 -0500
+++ configure.in
@@ -314,6 +314,9 @@ msdosdjgpp*)	LIBS="-lm $LIBS"
 		ac_cv_func_getpgrp_void=yes
 		ac_cv_func_setitimer=no
 		;;
+interix3*)	LIBS="-lm $LIBS"
+		ac_cv_func_getpgrp_void=yes
+		;;
 freebsd*)	LIBS="-lm $LIBS"
 		AC_CACHE_CHECK([whether -lxpg4 has to be linked],
 		  rb_cv_lib_xpg4_needed,
@@ -824,6 +827,7 @@ if test "$with_dln_a_out" != yes; then
     mingw*)	;;
     aix*)	;;
     netbsd*) CCDLFLAGS="$CCDLFLAGS -fPIC";;
+    interix3*)	;;
     *) CCDLFLAGS="$CCDLFLAGS -fPIC";;
     esac
   else
@@ -864,6 +868,12 @@ if test "$with_dln_a_out" != yes; then
 	osf*) 		: ${LDSHARED="ld -shared -expect_unresolved \"*\""}
 			rb_cv_dlopen=yes ;;
 	linux*) 	: ${LDSHARED="$CC -shared"}
+			if test "$rb_cv_binary_elf" = yes; then
+			    LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+			    DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET)'
+			    LIBPATHFLAG=' -L%1$-s'
+			    RPATHFLAG=' -Wl,-R%1$-s'
+			fi
 			rb_cv_dlopen=yes ;;
 	gnu*)   	: ${LDSHARED="$CC -shared"}
 			rb_cv_dlopen=yes
@@ -879,10 +889,18 @@ if test "$with_dln_a_out" != yes; then
 	netbsd*)	: ${LDSHARED='${CC} -shared'}
 			if test "$rb_cv_binary_elf" = yes; then
 			    LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+			    DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET)'
 			    LIBPATHFLAG=' -L%1$-s'
 			    RPATHFLAG=' -Wl,-R%1$-s'
 			fi
 			rb_cv_dlopen=yes ;;
+	interix3*)	: ${LDSHARED='${CC} -shared'}
+			LDFLAGS="$LDFLAGS -Wl,-E"
+			# use special random-slot linkage in 0x[56]XXXXXXX
+			DLDFLAGS="$DLDFLAGS "'-Wl,-h,$(.TARGET) -Wl,--image-base,$$(($$RANDOM %%4096/2*262144+1342177280))'
+			LIBPATHFLAG=' -L%1$-s'
+			RPATHFLAG=' -Wl,-R%1$-s'
+			rb_cv_dlopen=yes ;;
 	openbsd*) 	: ${LDSHARED="\$(CC) -shared ${CCDLFLAGS}"}
 			if test "$rb_cv_binary_elf" = yes; then
 			    LDFLAGS="$LDFLAGS -Wl,-E"
@@ -1157,6 +1175,7 @@ if test "$enable_shared" = 'yes'; then
 	;;
     linux*)
 	LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'
+	LIBRUBYARG_SHARED='-Wl,-R -Wl,${libdir} -L${libdir} -L. -l$(RUBY_SO_NAME)'
 	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
 	;;
     gnu*)
@@ -1182,11 +1201,26 @@ if test "$enable_shared" = 'yes'; then
 	   LIBRUBY_ALIASES=""
 	fi
  	;;
+    interix3*)
+	SOLIBS='$(LIBS)'
+	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
+	# link explicitly to 0x48000000
+	LIBRUBY_DLDFLAGS='-Wl,-h,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) -Wl,--image-base,1207959552'
+	LIBRUBYARG_SHARED='-Wl,-R -Wl,${libdir} -L${libdir} -L. -l$(RUBY_SO_NAME)'
+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
+ 	;;
     openbsd*)
 	SOLIBS='$(LIBS)'
 	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`
 	;;
     solaris*)
+	SOLIBS='$(LIBS)'
+	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)'
+	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY) lib$(RUBY_SO_NAME).so'
+	if test "$GCC" = yes; then
+	    LIBRUBY_DLDFLAGS="$DLDFLAGS "'-Wl,-h,$(.TARGET)'
+	    LIBRUBYARG_SHARED='-Wl,-R -Wl,${libdir} -L${libdir} -L. -l$(RUBY_SO_NAME)'
+	fi
 	XLDFLAGS="$XLDFLAGS "'-R${libdir}'
  	;;
     hpux*)