1 | dnl Autoconfigure file for Mondo Rescue v2.0x |
---|
2 | dnl Mondo by Mondo dev team |
---|
3 | dnl This script by Joshua Oreman |
---|
4 | dnl |
---|
5 | dnl Process this file with autoconf >=2.53 to produce a configure script. |
---|
6 | dnl |
---|
7 | dnl $Id: configure.in 2190 2009-05-05 01:56:10Z bruno $ |
---|
8 | dnl |
---|
9 | define(MONDO_VER,m4_normalize(PBVER))) |
---|
10 | define(MONDO_REV,m4_normalize(rPBREV))) |
---|
11 | define(MONDO_TAG,MONDO_VER-MONDO_REV) |
---|
12 | AC_INIT([Mondo Rescue],MONDO_TAG,[mondo-devel@lists.sourceforge.net]) |
---|
13 | AC_CONFIG_SRCDIR([src/mondoarchive/mondoarchive.c]) |
---|
14 | AM_CONFIG_HEADER(config.h) |
---|
15 | |
---|
16 | AC_CANONICAL_HOST |
---|
17 | AC_CANONICAL_TARGET |
---|
18 | AC_ARG_PROGRAM |
---|
19 | |
---|
20 | AM_INIT_AUTOMAKE([mondo], MONDO_VER) |
---|
21 | AM_MAINTAINER_MODE |
---|
22 | |
---|
23 | AC_PROG_CXX |
---|
24 | AC_PROG_AWK |
---|
25 | AC_PROG_CC |
---|
26 | AC_PROG_RANLIB |
---|
27 | AC_PROG_CPP |
---|
28 | AC_PROG_INSTALL |
---|
29 | AC_PROG_LN_S |
---|
30 | AC_PROG_MAKE_SET |
---|
31 | |
---|
32 | |
---|
33 | dnl --with/--enable stuff |
---|
34 | do_static_mr= |
---|
35 | AC_ARG_ENABLE(static-mr, AS_HELP_STRING(--enable-static-mr,Link mondorestore statically), do_static_mr=$withval, do_static_mr= ) |
---|
36 | AC_ARG_ENABLE(debug, AS_HELP_STRING(--enable-debug,Add debugging flags), CFLAGS="$CFLAGS -g", ) |
---|
37 | AC_ARG_WITH(max-noof-media, AS_HELP_STRING(--with-max-noof-media=NUM,Compile for a certain maximum number of media (default 50)), max_noof_media=$withval, max_noof_media=50) |
---|
38 | AC_ARG_WITH(tape-block-size, AS_HELP_STRING(--with-tape-block-size=NUM,Set tape block size in kilobytes (default 131072)), exttape=${withval:=131072}, exttape=131072) |
---|
39 | if test x$do_static_mr = xyes; then |
---|
40 | MONDORESTORE_STATIC=-static |
---|
41 | else |
---|
42 | MONDORESTORE_STATIC= |
---|
43 | fi |
---|
44 | AC_SUBST(MONDORESTORE_STATIC) |
---|
45 | AC_DEFINE_UNQUOTED(MAX_NOOF_MEDIA, $max_noof_media, [Maximum number of media]) |
---|
46 | AC_DEFINE_UNQUOTED(EXTTAPE, $exttape, [Tape blocksize]) |
---|
47 | |
---|
48 | # ( which automake 2>/dev/null >/dev/null && ( automake --version 2>&1 | grep -q 1.5 || automake --version 2>&1 | grep -q 1.7 || AC_MSG_ERROR([Automake must be version 1.5 or 1.7, if you have it at all]) ) ) |
---|
49 | |
---|
50 | # Checks for libraries. |
---|
51 | dnl AC_CHECK_LIB([dl], [main]) |
---|
52 | AC_CHECK_LIB([newt], [newtInit]) |
---|
53 | standardthread=0; |
---|
54 | |
---|
55 | case $build in |
---|
56 | *freebsd*) |
---|
57 | standardthread=0 |
---|
58 | AC_ARG_ENABLE(standard-pthreads, AS_HELP_STRING(--enable-standard-pthreads,(FreeBSD only) Compile with FreeBSD "standard" pthreads instead of LinuxThreads -- *MAY BE UNSTABLE*), standardthread=1, standardthread=0) |
---|
59 | if test $standardthread -eq 0; then |
---|
60 | CPPFLAGS=$CPPFLAGS -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/pthread/linuxthreads |
---|
61 | PTHREAD="-L/usr/local/lib -llthread -llgcc_r"; |
---|
62 | if ! test -f /usr/local/include/pthread/linuxthreads/pthread.h; then |
---|
63 | echo "*** Cannot find pthread.h: are you SURE you have linuxthreads installed?" |
---|
64 | exit 1 |
---|
65 | fi |
---|
66 | AC_CHECK_LIB(lthread, pthread_create, true, [echo "*** Cannot find -llthread."; echo "*** Please install linuxthreads from /usr/ports/devel/linuxthreads."; exit 1], [-L/usr/local/lib -llgcc_r]) |
---|
67 | else |
---|
68 | PTHREAD="-lc_r" |
---|
69 | fi |
---|
70 | ;; |
---|
71 | *linux*) |
---|
72 | AC_CHECK_LIB(pthread, pthread_create, true, [echo "*** Cannot find -lpthread."; echo "*** Please make sure you have the linuxthreads glibc add-on installed."; exit 1]) |
---|
73 | PTHREAD="-lpthread" |
---|
74 | CFLAGS="$CFLAGS -Wall -Wno-return-type -Werror=format-security -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT" |
---|
75 | ;; |
---|
76 | *) |
---|
77 | echo "*** Sorry, only Linux and FreeBSD are supported at this time. Want to help?" |
---|
78 | ;; |
---|
79 | esac |
---|
80 | |
---|
81 | if test "$host_cpu" != "$target_cpu"; then |
---|
82 | host_cpu=$target_cpu |
---|
83 | fi |
---|
84 | case "$host_cpu" in |
---|
85 | i?86*) |
---|
86 | CPPFLAGS="$CPPFLAGS -D__IA32__" |
---|
87 | ;; |
---|
88 | x86_64*) |
---|
89 | CPPFLAGS="$CPPFLAGS -D__IA32__ -D__X86_64__" |
---|
90 | ;; |
---|
91 | ia64*) |
---|
92 | CPPFLAGS="$CPPFLAGS -D__IA64__" |
---|
93 | ;; |
---|
94 | *) |
---|
95 | echo "*** Sorry, only Intel Architectures (ia32, x86_64, ia64) are supported at this time. Want to help?" |
---|
96 | ;; |
---|
97 | esac |
---|
98 | |
---|
99 | LIBS="$LIBS $PTHREAD" |
---|
100 | AC_SUBST(LIBS) |
---|
101 | |
---|
102 | # Checks for header files. |
---|
103 | AC_HEADER_STDC |
---|
104 | AC_HEADER_SYS_WAIT |
---|
105 | AC_CHECK_HEADERS([fcntl.h stddef.h stdlib.h string.h sys/ioctl.h sys/param.h sys/time.h unistd.h]) |
---|
106 | |
---|
107 | # Checks for typedefs, structures, and compiler characteristics. |
---|
108 | AC_C_CONST |
---|
109 | AC_TYPE_OFF_T |
---|
110 | AC_TYPE_PID_T |
---|
111 | |
---|
112 | # Checks for library functions. |
---|
113 | AC_FUNC_CHOWN |
---|
114 | AC_FUNC_FORK |
---|
115 | AC_PROG_GCC_TRADITIONAL |
---|
116 | AC_FUNC_LSTAT |
---|
117 | AC_FUNC_MALLOC |
---|
118 | AC_TYPE_SIGNAL |
---|
119 | AC_FUNC_VPRINTF |
---|
120 | AC_CHECK_FUNCS([bzero getcwd memmove memset mkdir mkfifo setenv strcasecmp strchr strerror strrchr strstr mkdtemp]) |
---|
121 | |
---|
122 | AC_OUTPUT([Makefile src/Makefile src/common/Makefile src/mondoarchive/Makefile src/mondorestore/Makefile src/restore-scripts/Makefile src/restore-scripts/mondo/Makefile src/post-nuke.sample/Makefile src/post-nuke.sample/usr/Makefile src/post-nuke.sample/usr/bin/Makefile]) |
---|