Diff

Differences From Artifact [bd1b160949]:

To Artifact [b683d44d9b]:


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
90
91
92
93
94


95
96
97
98















99
100
			fi
			FOUND=1
			break
		fi
	done
])




AC_DEFUN(DC_GET_SHOBJFLAGS, [
  AC_SUBST(SHOBJFLAGS)
  AC_SUBST(SHOBJLDFLAGS)

  AC_MSG_CHECKING(how to create shared objects)
  OLD_LDFLAGS="$LDFLAGS"
  SHOBJFLAGS=""
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared -Wl,-G,-z,textoff -rdynamic -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -Wl,-G,-z,textoff -fPIC"; SHOBJLDFLAGS="-rdynamic" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared -Wl,-G,-z,textoff -rdynamic"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -Wl,-G,-z,textoff"; SHOBJLDFLAGS="-rdynamic" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared -Wl,-G,-z,textoff -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -Wl,-G,-z,textoff -fPIC"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared -Wl,-G,-z,textoff"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -Wl,-G,-z,textoff"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -Wl,-G,-z,textoff -rdynamic -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-Wl,-G,-z,textoff -fPIC"; SHOBJLDFLAGS="-rdynamic" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -Wl,-G,-z,textoff -rdynamic"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-Wl,-G,-z,textoff"; SHOBJLDFLAGS="-rdynamic" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -Wl,-G,-z,textoff -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-Wl,-G,-z,textoff -fPIC"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -Wl,-G,-z,textoff"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-Wl,-G,-z,textoff"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$LDFLAGS -shared -rdynamic -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -fPIC"; SHOBJLDFLAGS="-rdynamic" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared -fPIC"
    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared -fPIC"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  if test -z "$SHOBJFLAGS"; then
    LDFLAGS="$OLD_LDFLAGS -shared"


    AC_TRY_LINK([#include <stdio.h>
int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="-shared"; SHOBJLDFLAGS="" ], SHOBJFLAGS="", SHOBJFLAGS="");
  fi
  LDFLAGS="$OLD_LDFLAGS"















  AC_MSG_RESULT($SHOBJLDFLAGS $SHOBJFLAGS)
])







>
>
>
|



<


|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
<
<
<
<
|
<
<
<
<
<
|
<
<
|
>
>
|
<
<

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


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
			fi
			FOUND=1
			break
		fi
	done
])

dnl Usage:
dnl    DC_TEST_SHOBJFLAGS(shobjflags, shobjldflags, action-if-not-found)
dnl
AC_DEFUN(DC_TEST_SHOBJFLAGS, [
  AC_SUBST(SHOBJFLAGS)
  AC_SUBST(SHOBJLDFLAGS)


  OLD_LDFLAGS="$LDFLAGS"
  SHOBJFLAGS=""




































  LDFLAGS="$OLD_LDFLAGS $1 $2"





  AC_TRY_LINK([#include <stdio.h>





int unrestst(void);], [ printf("okay\n"); unrestst(); return(0); ], [ SHOBJFLAGS="$1"; SHOBJLDFLAGS="$2" ], [


  LDFLAGS="$OLD_LDFLAGS"
  $3
])



  LDFLAGS="$OLD_LDFLAGS"
])

AC_DEFUN(DC_GET_SHOBJFLAGS, [
  AC_MSG_CHECKING(how to create shared objects)

  DC_TEST_SHOBJFLAGS([-shared -fPIC], [-rdynamic], [
    DC_TEST_SHOBJFLAGS([-shared -fPIC], [], [
      DC_TEST_SHOBJFLAGS([-shared -fPIC], [-rdynamic -Wl,-G,-z,textoff], [
        DC_TEST_SHOBJFLAGS([-shared -fPIC], [-Wl,-G,-z,textoff], [
          AC_MSG_ERROR(cant)
        ])
      ])
    ])
  ])

  AC_MSG_RESULT($SHOBJLDFLAGS $SHOBJFLAGS)
])