summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m4346
1 files changed, 0 insertions, 346 deletions
diff --git a/acinclude.m4 b/acinclude.m4
deleted file mode 100644
index 2349da62..00000000
--- a/acinclude.m4
+++ /dev/null
@@ -1,346 +0,0 @@
-dnl macros to configure g10
-
-
-dnl GNUPG_MSG_PRINT(STRING)
-dnl print a message
-dnl
-define(GNUPG_MSG_PRINT,
- [ echo $ac_n "$1"" $ac_c" 1>&AC_FD_MSG
- ])
-
-
-dnl GNUPG_CHECK_TYPEDEF(TYPE, HAVE_NAME)
-dnl Check whether a typedef exists and create a #define $2 if it exists
-dnl
-AC_DEFUN(GNUPG_CHECK_TYPEDEF,
- [ AC_MSG_CHECKING(for $1 typedef)
- AC_CACHE_VAL(gnupg_cv_typedef_$1,
- [AC_TRY_COMPILE([#include <stdlib.h>
- #include <sys/types.h>], [
- #undef $1
- int a = sizeof($1);
- ], 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 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 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(GNUPG_LINK_FILES,
- [ if test "x$wk_link_files_src" = "x"; then
- wk_link_files_src="$1"
- wk_link_files_dst="$2"
- else
- wk_link_files_src="$wk_link_files_src $1"
- wk_link_files_dst="$wk_link_files_dst $2"
- fi
- ])
-define(GNUPG_DO_LINK_FILES,
- [ AC_LINK_FILES( $wk_link_files_src, $wk_link_files_dst )
- ])
-
-
-dnl GNUPG_CHECK_ENDIAN
-dnl define either LITTLE_ENDIAN_HOST or BIG_ENDIAN_HOST
-dnl
-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(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>], [
- #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
- #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/param.h>], [
- #if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #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
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
- }],
- gnupg_cv_c_endian=little,
- gnupg_cv_c_endian=big,
- gnupg_cv_c_endian=little
- )
- fi
- ])
- 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 GNUPG_CHECK_CACHE
-dnl
-define(GNUPG_CHECK_CACHE,
- [ AC_MSG_CHECKING(cached information)
- 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
- different target or different parameters.)
- else
- AC_MSG_RESULT(ok)
- fi
- ])
-
-
-######################################################################
-# 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 GNUPG_CHECK_PIC
-dnl
-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 rdynamic flag
-# This sets CFLAGS_RDYNAMIC to the required flags
-######################################################################
-dnl GNUPG_CHECK_RDYNAMIC
-dnl
-define(GNUPG_CHECK_RDYNAMIC,
- [ AC_MSG_CHECKING(how to specify -rdynamic)
- CFLAGS_RDYNAMIC=
- if test "$cross_compiling" = yes; then
- AC_MSG_RESULT(assume none)
- else
- case "$host_os" in
- solaris* )
- CFLAGS_RDYNAMIC="-Wl,-dy"
- ;;
-
- freebsd2* | osf4* )
- CFLAGS_RDYNAMIC=""
- ;;
- * )
- CFLAGS_RDYNAMIC="-Wl,-export-dynamic"
- ;;
- esac
- AC_MSG_RESULT($CFLAGS_RDYNAMIC)
- 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 IPC_RMID allowes subsequent attaches)
- AC_CACHE_VAL(gnupg_cv_ipc_rmid_deferred_release,
- 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);
- }
- ],
- gnupg_cv_ipc_rmid_deferred_release="yes",
- gnupg_cv_ipc_rmid_deferred_release="no",
- gnupg_cv_ipc_rmid_deferred_release="assume-no")
- )
- if test "$gnupg_cv_ipc_rmid_deferred_release" = "yes"; then
- AC_DEFINE(IPC_RMID_DEFERRED_RELEASE)
- AC_MSG_RESULT(yes)
- else
- if test "$gnupg_cv_ipc_rmid_deferred_release" = "no"; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT([assuming no])
- fi
- fi
-
- AC_MSG_CHECKING(whether SHM_LOCK is available)
- AC_CACHE_VAL(gnupg_cv_ipc_have_shm_lock,
- 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); }
- ],
- gnupg_cv_ipc_have_shm_lock="yes",
- gnupg_cv_ipc_have_shm_lock="no"
- )
- )
- if test "$gnupg_cv_ipc_have_shm_lock" = "yes"; then
- AC_DEFINE(IPC_HAVE_SHM_LOCK)
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- 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 GNUPG_CHECK_MLOCK
-dnl
-define(GNUPG_CHECK_MLOCK,
- [ AC_CHECK_FUNCS(mlock)
- if test "$ac_cv_func_mlock" = "yes"; then
- AC_MSG_CHECKING(whether mlock is broken)
- AC_CACHE_VAL(gnupg_cv_have_broken_mlock,
- AC_TRY_RUN([
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <sys/mman.h>
- #include <sys/types.h>
- #include <fcntl.h>
-
- int main()
- {
- char *pool;
- int err;
- long int pgsize = getpagesize();
-
- pool = malloc( 4096 + pgsize );
- if( !pool )
- return 2;
- pool += (pgsize - ((long int)pool % pgsize));
-
- err = mlock( pool, 4096 );
- if( !err || errno == EPERM )
- return 0; /* okay */
-
- return 1; /* hmmm */
- }
-
- ],
- gnupg_cv_have_broken_mlock="no",
- gnupg_cv_have_broken_mlock="yes",
- gnupg_cv_have_broken_mlock="assume-no"
- )
- )
- if test "$gnupg_cv_have_broken_mlock" = "yes"; then
- AC_DEFINE(HAVE_BROKEN_MLOCK)
- AC_MSG_RESULT(yes)
- else
- if test "$gnupg_cv_have_broken_mlock" = "no"; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(assuming no)
- fi
- fi
- fi
- ])
-
-
-dnl *-*wedit:notab*-* Please keep this as the last line.