source: branches/stable/mondo/configure.in @ 1064

Last change on this file since 1064 was 1064, checked in by Bruno Cornec, 13 years ago

More controls at the compiler level
still working with the problems around variable arguments

  • Property svn:keywords set to Id Rev
File size: 4.6 KB
Line 
1dnl Autoconfigure file for Mondo Rescue v2.0x
2dnl Mondo by Mondo dev team
3dnl This script by Joshua Oreman
4dnl
5dnl Process this file with autoconf >=2.53 to produce a configure script.
6dnl
7dnl $Id: configure.in 1064 2007-01-23 00:09:32Z bruno $
8dnl
9define(MONDO_VER,m4_normalize(esyscmd(cat VERSION)))
10define(MONDO_REV,m4_normalize(esyscmd(cat REVISION | awk '{print r$1}')))
11define(MONDO_TAG,MONDO_VER-MONDO_REV)
12AC_INIT([Mondo Rescue],MONDO_TAG,[mondo-devel@lists.sourceforge.net])
13AC_CONFIG_SRCDIR([src/mondoarchive/main.c])
14AM_CONFIG_HEADER(config.h)
15
16AC_CANONICAL_HOST
17AC_CANONICAL_TARGET
18AC_ARG_PROGRAM
19
20AM_INIT_AUTOMAKE([mondo], MONDO_VER)
21AM_MAINTAINER_MODE
22
23AC_PROG_CXX
24AC_PROG_AWK
25AC_PROG_CC
26AC_PROG_RANLIB
27AC_PROG_CPP
28AC_PROG_INSTALL
29AC_PROG_LN_S
30AC_PROG_MAKE_SET
31
32AM_GNU_GETTEXT([external])
33ALL_LINGUAS="fr"
34
35dnl --with/--enable stuff
36do_static_mr=
37AC_ARG_ENABLE(static-mr, AS_HELP_STRING(--enable-static-mr,Link mondorestore statically), do_static_mr=$withval, do_static_mr= )
38AC_ARG_ENABLE(debug, AS_HELP_STRING(--enable-debug,Add debugging flags), CFLAGS="$CFLAGS -g", )
39AC_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)
40AC_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)
41if test x$do_static_mr = xyes; then
42    MONDORESTORE_STATIC=-static
43else
44    MONDORESTORE_STATIC=
45fi
46AC_SUBST(MONDORESTORE_STATIC)
47AC_DEFINE_UNQUOTED(MAX_NOOF_MEDIA, $max_noof_media, [Maximum number of media])
48AC_DEFINE_UNQUOTED(EXTTAPE, $exttape, [Tape blocksize])
49
50# ( 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]) ) )
51
52# Checks for libraries.
53dnl AC_CHECK_LIB([dl], [main])
54AC_CHECK_LIB([newt], [newtInit])
55standardthread=0;
56
57case $build in
58    *freebsd*)
59        standardthread=0
60        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)
61        if test $standardthread -eq 0; then
62            CPPFLAGS=$CPPFLAGS -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/pthread/linuxthreads
63            PTHREAD="-L/usr/local/lib -llthread -llgcc_r";
64            if ! test -f /usr/local/include/pthread/linuxthreads/pthread.h; then
65                echo "*** Cannot find pthread.h: are you SURE you have linuxthreads installed?"
66                exit 1
67            fi
68            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])
69        else
70            PTHREAD="-lc_r"
71        fi
72        ;;
73    *linux*)
74        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])
75        PTHREAD="-lpthread"
76        CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -Wshadow -funsigned-char -Wstrict-prototypes -Wunused -Winit-self -Wcast-align"
77        ;;
78    *)
79        echo "*** Sorry, only Linux and FreeBSD are supported at this time. Want to help?"
80        ;;
81esac
82
83if test "$host_cpu" != "$target_cpu"; then
84    host_cpu=$target_cpu
85fi
86case "$host_cpu" in
87    i?86*)
88        ARCH=i386
89        CPPFLAGS="$CPPFLAGS -D__IA32__ -Wall"
90        ;;
91    x86_64*)
92        ARCH=x86-64
93        CPPFLAGS="$CPPFLAGS -D__X86_64__ -Wall"
94        ;;
95    ia64*)
96        ARCH=ia64
97        CPPFLAGS="$CPPFLAGS -D__IA64__ -Wall"
98        ;;
99    *)
100        echo "*** Sorry, only Intel Architectures (ia32, x86-64, ia64) are supported at this time."
101        echo "If you Want to help send a mail to bcornec@users.berlios.de"
102        ;;
103esac
104AC_SUBST(ARCH)
105
106LIBS="$LIBS $PTHREAD"
107AC_SUBST(LIBS)
108
109# Checks for header files.
110AC_HEADER_STDC
111AC_HEADER_SYS_WAIT
112AC_CHECK_HEADERS([fcntl.h stddef.h stdlib.h string.h sys/ioctl.h sys/param.h sys/time.h unistd.h])
113
114# Checks for typedefs, structures, and compiler characteristics.
115AC_C_CONST
116AC_TYPE_OFF_T
117AC_TYPE_PID_T
118
119# Checks for library functions.
120AC_FUNC_CHOWN
121AC_FUNC_FORK
122AC_PROG_GCC_TRADITIONAL
123AC_FUNC_LSTAT
124AC_FUNC_MALLOC
125AC_TYPE_SIGNAL
126AC_FUNC_VPRINTF
127AC_CHECK_FUNCS([bzero getcwd memmove memset mkdir mkfifo setenv strcasecmp strchr strerror strrchr strstr strspn getline asprintf trunc vasprintf])
128
129AC_OUTPUT([Makefile src/Makefile src/common/Makefile src/lib/Makefile src/mondoarchive/Makefile src/mondorestore/Makefile src/restore-scripts/Makefile src/restore-scripts/mondo/Makefile src/restore-scripts/usr/Makefile src/restore-scripts/usr/bin/Makefile src/post-nuke.sample/Makefile src/post-nuke.sample/usr/Makefile src/post-nuke.sample/usr/bin/Makefile])
Note: See TracBrowser for help on using the repository browser.