Made UAE buildable again.
[AROS-Contrib.git] / regina / common / inclibarch.m4
blobc4d194247b8e2c2fadf95826d87495f0cb19f440
2 dnl
3 dnl Determine if the platform can handle 64 bit binaries
4 dnl
5 dnl Assumes AC_CANONICAL_SYSTEM has already been called
6 dnl assumes we are on a 32bit system
7 osis64bit=no
8 bitflag=""
9 case "$target" in
10    *hp-hpux*)
11       ;;
12    *ibm-aix*)
13       rc=`lsconf -k | grep -c 64-bit`
14       if test $rc -eq 1; then
15          bitflag="64"
16          osis64bit=yes
17       fi
18       ;;
19    *dec-osf4*)
20       ;;
21    *dec-osf*)
22       ;;
23    *sequent-dynix*)
24       ;;
25    i*86*solaris*)
26       ;;
27    *solaris*)
28       rc=`isainfo -v | grep -c 64-bit`
29       if test $rc -eq 1; then
30          bitflag="64"
31          osis64bit=yes
32       fi
33       ;;
34    sparc*sunos*)
35       ;;
36    *linux*)
37       mach="`uname -m`"
38       if test "$mach" = "x86_64" -o "$mach" = "ia86" -o "$mach" = "alpha" -o "$mach" = "ppc64"; then
39          bitflag="64"
40          osis64bit=yes
41       fi
42       ;;
43    *nto-qnx*)
44       ;;
45    *qnx*)
46       ;;
47    *beos*)
48       ;;
49    *cygwin*)
50       ;;
51 esac
53 dnl ---------------------- check 32/64 bit -----------------------
54 dnl allow --with-32bit to ensure that 32bit libraries are used
55 AC_ARG_ENABLE(32bit,
56    [  --enable-32bit          specify if 32bit libraries are to be used],
57    [bitflag32=yes],
58    [bitflag32=no],
60 dnl allow --with-64bit to ensure that 64bit libraries are used
61 AC_ARG_ENABLE(64bit,
62    [  --enable-64bit          specify if 64bit libraries are to be used],
63    [bitflag64=yes],
64    [bitflag64=no],
67 if test "x$bitflag32" = "xyes" -a "x$bitflag64" = "xyes"; then
68    AC_MSG_ERROR(--enable-32bit and --enable-64bit flags cannot both be specified.)
71 if test "x$bitflag64" = "xyes" -a "$osis64bit" = "no"; then
72    AC_MSG_ERROR(--enable-64bit cannot be specified on non-64bit OS.)
75 binarybitprefix=""
76 if test "x$bitflag32" = "xyes"; then
77    bitflag="32"
78    if test "$osis64bit" = "yes"; then
79       binarybitprefix="32"
80    fi
81 elif test "x$bitflag64" = "xyes"; then
82    bitflag="64"
84 dnl
85 dnl following variable used to name 32bit binaries on a 64bit system
86 dnl allows 32bit and 64bit binaries t co-exist on a 64bit system
87 AC_SUBST(binarybitprefix)
89 dnl
90 dnl Now set the correct compiler flags
91 dnl
92 if test "$ac_cv_prog_CC" = "gcc" -o "$ac_cv_prog_CC" = "g++"; then
93    if test "$bitflag" = "32"; then
94       CFLAGS="${CFLAGS} -m32"
95       LDFLAGS="${LDFLAGS} -m32"
96    elif test "$bitflag" = "64"; then
97       CFLAGS="${CFLAGS} -m64"
98       LDFLAGS="${LDFLAGS} -m64"
99    else
100       bitflag="32"
101    fi
102 elif test "$ac_cv_prog_CC" = "xlc" -o "$ac_cv_prog_CC" = "xlC"; then
103    if test "$bitflag" = "32"; then
104       CFLAGS="${CFLAGS} -q32"
105       LDFLAGS="${LDFLAGS} -q32"
106    elif test "$bitflag" = "64"; then
107       CFLAGS="${CFLAGS} -q64"
108       LDFLAGS="${LDFLAGS} -q64"
109    else
110       bitflag="32"
111    fi
115 dnl If the user hasn't specified libdir, check if there is a /usr/lib32 or /usr/lib64
117 if test "$libdir" = '${exec_prefix}/lib'; then
118    if test "$osis64bit" = "yes"; then
119       if test -d "/usr/lib64"; then
120          libdir64='${exec_prefix}/lib64'
121          libdir32='${exec_prefix}/lib'
122       elif test -d "/usr/lib32"; then
123          libdir32='${exec_prefix}/lib32'
124          libdir64='${exec_prefix}/lib'
125       else
126          libdir64='${exec_prefix}/lib64'
127          libdir32='${exec_prefix}/lib'
128       fi
129    else
130       libdir64='${exec_prefix}/lib'
131       libdir32='${exec_prefix}/lib'
132    fi
133    if test "$bitflag" = "64"; then
134       libdir="$libdir64"
135    else
136       libdir="$libdir32"
137    fi
138 else
139    libdir64="$libdir"
140    libdir32="$libdir"
142 AC_SUBST(libdir64)
143 AC_SUBST(libdir32)
144 AC_SUBST(bitflag)