summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>1998-12-10 19:20:31 +0000
committerWerner Koch <wk@gnupg.org>1998-12-10 19:20:31 +0000
commit2900284514330c9d4fc53d3287bcb5ffbd413faa (patch)
tree6b74ca2f6fb6ab6f0766b94c5a6aa316c03b49b8 /acinclude.m4
parentd0bd12cc702a19405392fd422701788d8da8a32d (diff)
downloadlibgcrypt-2900284514330c9d4fc53d3287bcb5ffbd413faa.tar.gz
See ChangeLog: Thu Dec 10 20:15:36 CET 1998 Werner Koch
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m4224
1 files changed, 149 insertions, 75 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index bb8700f5..13eff5fa 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,41 +1,41 @@
dnl macros to configure g10
-dnl WK_MSG_PRINT(STRING)
+dnl GNUPG_MSG_PRINT(STRING)
dnl print a message
dnl
-define(WK_MSG_PRINT,
+define(GNUPG_MSG_PRINT,
[ echo $ac_n "$1"" $ac_c" 1>&AC_FD_MSG
])
-dnl WK_CHECK_TYPEDEF(TYPE, HAVE_NAME)
+dnl GNUPG_CHECK_TYPEDEF(TYPE, HAVE_NAME)
dnl Check whether a typedef exists and create a #define $2 if it exists
dnl
-AC_DEFUN(WK_CHECK_TYPEDEF,
+AC_DEFUN(GNUPG_CHECK_TYPEDEF,
[ AC_MSG_CHECKING(for $1 typedef)
- AC_CACHE_VAL(wk_cv_typedef_$1,
+ AC_CACHE_VAL(gnupg_cv_typedef_$1,
[AC_TRY_COMPILE([#include <stdlib.h>
#include <sys/types.h>], [
#undef $1
int a = sizeof($1);
- ], wk_cv_typedef_$1=yes, wk_cv_typedef_$1=no )])
- AC_MSG_RESULT($wk_cv_typedef_$1)
- if test "$wk_cv_typedef_$1" = yes; then
+ ], gnupg_cv_typedef_$1=yes, gnupg_cv_typedef_$1=no )])
+ AC_MSG_RESULT($gnupg_cv_typedef_$1)
+ if test "$gnupg_cv_typedef_$1" = yes; then
AC_DEFINE($2)
fi
])
-dnl WK_LINK_FILES( SRC, DEST )
+dnl GNUPG_LINK_FILES( SRC, DEST )
dnl same as AC_LINK_FILES, but collect the files to link in
dnl some special variables and do the link
-dnl when WK_DO_LINK_FILES is called
+dnl when GNUPG_DO_LINK_FILES is called
dnl This is a workaround for AC_LINK_FILES, because it does not work
dnl correct when using a caching scheme
dnl
-define(WK_LINK_FILES,
+define(GNUPG_LINK_FILES,
[ if test "x$wk_link_files_src" = "x"; then
wk_link_files_src="$1"
wk_link_files_dst="$2"
@@ -44,21 +44,21 @@ define(WK_LINK_FILES,
wk_link_files_dst="$wk_link_files_dst $2"
fi
])
-define(WK_DO_LINK_FILES,
+define(GNUPG_DO_LINK_FILES,
[ AC_LINK_FILES( $wk_link_files_src, $wk_link_files_dst )
])
-dnl WK_CHECK_ENDIAN
+dnl GNUPG_CHECK_ENDIAN
dnl define either LITTLE_ENDIAN_HOST or BIG_ENDIAN_HOST
dnl
-define(WK_CHECK_ENDIAN,
+define(GNUPG_CHECK_ENDIAN,
[ if test "$cross_compiling" = yes; then
AC_MSG_WARN(cross compiling; assuming little endianess)
fi
AC_MSG_CHECKING(endianess)
- AC_CACHE_VAL(wk_cv_c_endian,
- [ wk_cv_c_endian=unknown
+ AC_CACHE_VAL(gnupg_cv_c_endian,
+ [ gnupg_cv_c_endian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/param.h>], [
@@ -69,8 +69,8 @@ define(WK_CHECK_ENDIAN,
#include <sys/param.h>], [
#if BYTE_ORDER != BIG_ENDIAN
not big endian
- #endif], wk_cv_c_endian=big, wk_cv_c_endian=little)])
- if test "$wk_cv_c_endian" = unknown; then
+ #endif], gnupg_cv_c_endian=big, gnupg_cv_c_endian=little)])
+ if test "$gnupg_cv_c_endian" = unknown; then
AC_TRY_RUN([main () {
/* Are we little or big endian? From Harbison&Steele. */
union
@@ -81,27 +81,27 @@ define(WK_CHECK_ENDIAN,
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}],
- wk_cv_c_endian=little,
- wk_cv_c_endian=big,
- wk_cv_c_endian=little
+ gnupg_cv_c_endian=little,
+ gnupg_cv_c_endian=big,
+ gnupg_cv_c_endian=little
)
fi
])
- AC_MSG_RESULT([$wk_cv_c_endian])
- if test "$wk_cv_c_endian" = little; then
+ AC_MSG_RESULT([$gnupg_cv_c_endian])
+ if test "$gnupg_cv_c_endian" = little; then
AC_DEFINE(LITTLE_ENDIAN_HOST)
else
AC_DEFINE(BIG_ENDIAN_HOST)
fi
])
-dnl WK_CHECK_CACHE
+dnl GNUPG_CHECK_CACHE
dnl
-define(WK_CHECK_CACHE,
+define(GNUPG_CHECK_CACHE,
[ AC_MSG_CHECKING(cached information)
- wk_hostcheck="$target"
- AC_CACHE_VAL(wk_cv_hostcheck, [ wk_cv_hostcheck="$wk_hostcheck" ])
- if test "$wk_cv_hostcheck" != "$wk_hostcheck"; then
+ gnupg_hostcheck="$target"
+ AC_CACHE_VAL(gnupg_cv_hostcheck, [ gnupg_cv_hostcheck="$gnupg_hostcheck" ])
+ if test "$gnupg_cv_hostcheck" != "$gnupg_hostcheck"; then
AC_MSG_RESULT(changed)
AC_MSG_WARN(config.cache exists!)
AC_MSG_ERROR(you must do 'make distclean' first to compile for
@@ -112,65 +112,138 @@ define(WK_CHECK_CACHE,
])
-
-
######################################################################
-# Check for SysV IPC (from GIMP)
-# And see whether we have a SHM_LOCK (FreeBSD does not have it).
+# Check for -fPIC etc (taken from libtool)
+# This sets CFLAGS_PIC to the required flags
+# NO_PIC to yes if it is not possible to
+# generate PIC
######################################################################
-dnl WK_CHECK_IPC
+dnl GNUPG_CHECK_PIC
dnl
-define(WK_CHECK_IPC,
- [ AC_CHECK_HEADERS(sys/ipc.h sys/shm.h)
- if test "$ac_cv_header_sys_shm_h" = "yes"; then
- AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
- int main()
- {
- int id;
- char *shmaddr;
- id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0777);
- if (id == -1)
- exit (2);
- shmaddr = shmat (id, 0, 0);
- shmctl (id, IPC_RMID, 0);
- if ((char*) shmat (id, 0, 0) == (char*) -1)
- {
- shmdt (shmaddr);
- exit (1);
- }
- shmdt (shmaddr);
- shmdt (shmaddr);
- exit (0);
- }
- ],
- AC_DEFINE(IPC_RMID_DEFERRED_RELEASE)
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no),
- AC_MSG_RESULT(assuming no))
- AC_MSG_CHECKING(whether SHM_LOCK is available)
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>],[
- int foo( int shm_id ) { shmctl(shm_id, SHM_LOCK, 0); }
- ],
- AC_DEFINE(IPC_HAVE_SHM_LOCK)
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
+define(GNUPG_CHECK_PIC,
+ [ AC_MSG_CHECKING(for option to create PIC)
+ CFLAGS_PIC=
+ NO_PIC=no
+ if test "$cross_compiling" = yes; then
+ AC_MSG_RESULT(assume none)
+ else
+ if test "$GCC" = yes; then
+ CFLAGS_PIC="-fPIC"
+ else
+ case "$host_os" in
+ aix3* | aix4*)
+ # All rs/6000 code is PIC
+ # but is there any non-rs/6000 AIX platform?
+ ;;
+
+ hpux9* | hpux10*)
+ CFLAGS_PIC="+Z"
+ ;;
+
+ irix5* | irix6*)
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ osf3* | osf4*)
+ # FIXME - pic_flag is probably required for
+ # hppa*-osf* and i860-osf*
+ ;;
+
+ sco3.2v5*)
+ CFLAGS_PIC='-Kpic'
+ ;;
+
+ solaris2* | solaris7* )
+ CFLAGS_PIC='-KPIC'
+ ;;
+
+ sunos4*)
+ CFLAGS_PIC='-PIC'
+ ;;
+
+ *)
+ NO_PIC=yes
+ ;;
+ esac
+ fi
+
+ case "$host_cpu" in
+ rs6000 | powerpc | powerpcle)
+ # Yippee! All RS/6000 and PowerPC code is position-independent.
+ CFLAGS_PIC=""
+ ;;
+ esac
+
+ if test "$NO_PIC" = yes; then
+ AC_MSG_RESULT(not possible)
+ else
+ if test -z "$CFLAGS_PIC"; then
+ AC_MSG_RESULT(none)
+ else
+ AC_MSG_RESULT($CFLAGS_PIC)
+ fi
+ fi
fi
])
+#####################################################################
+# Check for SysV IPC (from GIMP)
+# And see whether we have a SHM_LOCK (FreeBSD does not have it).
+#####################################################################
+dnl GNUPG_CHECK_IPC
+dnl
+define(GNUPG_CHECK_IPC,
+ [ AC_CHECK_HEADERS(sys/ipc.h sys/shm.h)
+ if test "$ac_cv_header_sys_shm_h" = "yes"; then
+ AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
+ AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ int main()
+ {
+ int id;
+ char *shmaddr;
+ id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0777);
+ if (id == -1)
+ exit (2);
+ shmaddr = shmat (id, 0, 0);
+ shmctl (id, IPC_RMID, 0);
+ if ((char*) shmat (id, 0, 0) == (char*) -1)
+ {
+ shmdt (shmaddr);
+ exit (1);
+ }
+ shmdt (shmaddr);
+ shmdt (shmaddr);
+ exit (0);
+ }
+ ],
+ AC_DEFINE(IPC_RMID_DEFERRED_RELEASE)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no),
+ AC_MSG_RESULT(assuming no))
+ AC_MSG_CHECKING(whether SHM_LOCK is available)
+ AC_TRY_COMPILE([#include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>],[
+ int foo( int shm_id ) { shmctl(shm_id, SHM_LOCK, 0); }
+ ],
+ AC_DEFINE(IPC_HAVE_SHM_LOCK)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no))
+ fi
+ ])
+
+
######################################################################
# Check whether mlock is broken (hpux 10.20 raises a SIGBUS if mlock
# is not called from uid 0 (not tested whether uid 0 works)
######################################################################
-dnl WK_CHECK_MLOCK
+dnl GNUPG_CHECK_MLOCK
dnl
-define(WK_CHECK_MLOCK,
+define(GNUPG_CHECK_MLOCK,
[ AC_CHECK_FUNCS(mlock)
if test "$ac_cv_func_mlock" = "yes"; then
AC_MSG_CHECKING(whether mlock is broken)
@@ -533,3 +606,4 @@ strdup __argz_count __argz_stringify __argz_next])
< $srcdir/po/POTFILES.in > po/POTFILES
])
+dnl *-*wedit:notab*-* Please keep this as the last line.