source: neercs/trunk/configure.ac @ 4165

Last change on this file since 4165 was 4165, checked in by Sam Hocevar, 11 years ago

Start porting the Python interpreter to Python 2.4/2.5.

File size: 4.7 KB
Line 
1# $Id: configure.ac 98 2006-09-22 16:27:37Z sam $
2
3AC_INIT(neercs, 0.0)
4
5AC_PREREQ(2.50)
6AC_CONFIG_SRCDIR(src/main.c)
7AC_CONFIG_AUX_DIR(.auto)
8AC_CANONICAL_SYSTEM
9
10AM_INIT_AUTOMAKE(neercs, 0.0)
11AM_CONFIG_HEADER(config.h)
12
13AM_PROG_CC_C_O
14AC_PROG_CPP
15
16AC_CANONICAL_HOST
17
18if test "$host_os" == "darwin10.2.0"; then
19    case x${target} in
20     x*86*darwin*)
21      MACOSX_SDK="${MACOSX_SDK:-/Developer/SDKs/MacOSX10.6.sdk}"
22      GCC_VERSION="${GCC_VERSION:-4.0}"
23      ARCH="${ARCH:--arch i386}"
24      MACOSX_SDK_CFLAGS="${MACOSX_SDK_CFLAGS:--isysroot ${MACOSX_SDK}}"
25      MACOSX_SDK_CXXFLAGS="${MACOSX_SDK_CXXFLAGS:-${MACOSX_SDK_CFLAGS}}"
26      ;;
27    esac
28    CC="${CC:-gcc-${GCC_VERSION}}"
29    CXX="${CXX:-g++-${GCC_VERSION}}"
30    MACOSX_SDK_FRAMEWORKS="${MACOSX_SDK_FRAMEWORKS:--F${MACOSX_SDK}/System/Library/Frameworks}"
31    CPPFLAGS="${CPPFLAGS} ${ARCH} ${MACOSX_SDK_FRAMEWORKS}"
32    CFLAGS="${CFLAGS} ${MACOSX_SDK_CFLAGS}"
33    CXXFLAGS="${CXXFLAGS} ${MACOSX_SDK_CXXFLAGS}"
34    OBJCFLAGS="${OBJCFLAGS} ${MACOSX_SDK_CFLAGS}"
35    LDFLAGS="${ARCH} ${MACOSX_SDK_LDFLAGS} ${LDFLAGS}"
36fi
37
38
39dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
40dnl now otherwise it might be set in an obscure if statement. Same thing for
41dnl PKG_PROG_PKG_CONFIG which needs to be called first.
42AC_EGREP_CPP(yes, foo)
43PKG_PROG_PKG_CONFIG()
44
45dnl Don't let pkg-config fuck our cross-compilation environment
46m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
47if test "$build" != "$host" -a "${PKG_CONFIG_LIBDIR}" = ""; then
48  export PKG_CONFIG_LIBDIR=/dev/null
49fi
50
51
52dnl conditional builds
53AC_ARG_ENABLE(debug,
54  [  --enable-debug          build debug version of neercs (default no)])
55AC_ARG_ENABLE(profiling,
56  [  --enable-profiling      build profiling version of neercs (gprof)(default no)])
57AC_ARG_ENABLE(python,
58  [  --enable-python         build Python interpreter (default yes)])
59AS_IF([test "x$enable_python" != "xno"], [
60  enable_python="yes"
61])
62AC_ARG_ENABLE(ruby,
63  [  --enable-ruby           build Ruby interpreter (default yes)])
64AS_IF([test "x$enable_ruby" != "xno"], [
65  enable_ruby="yes"
66])
67
68CACA="no"
69PKG_CHECK_MODULES(CACA, caca >= 0.99.beta16,
70 [CACA="yes"],
71 [AC_MSG_RESULT(no)
72  AC_MSG_ERROR([you need libcaca version 0.99.beta17 or later])])
73
74AC_CHECK_HEADERS(stdio.h pty.h sys/ioctl.h sys/ptrace.h sys/stat.h sys/syscall.h sys/user.h sys/wait.h linux/kdev_t.h linux/major.h security/pam_appl.h security/pam_misc.h)
75
76if test $host_os != "darwin10.2.0"; then
77AC_CHECK_LIB(pam, pam_authenticate,
78 [PAM_LIBS="${PAM_LIBS} -lpam"
79  AC_DEFINE(USE_LOCK, 1, [Locking the PTY is supported])])
80AC_SUBST(PAM_LIBS)
81else
82AC_MSG_RESULT(Disabling lock support on OSX)
83fi
84
85AC_CHECK_LIB(caca, caca_clear_dirty_rect_list,
86 [AC_DEFINE(HAVE_CACA_DIRTY_RECTANGLES, 1, [libcaca has dirty rectangles])])
87
88AC_CHECK_LIB(caca, caca_fill_triangle_textured,
89 [AC_DEFINE(HAVE_CACA_TRIANGLE_TEXTURING, 1, [libcaca has trifiller])])
90
91AC_CHECK_LIB(util, forkpty, UTIL_LIBS="${UTIL_LIBS} -lutil")
92AC_SUBST(UTIL_LIBS)
93
94AC_MSG_CHECKING(for pty grab support)
95case $target in
96  i?86-*-linux-*|amd64-*-linux-*|x86_64-*-linux-*)
97    AC_DEFINE(USE_GRAB, 1, [Grabbing processes is supported])
98    grab=yes ;;
99  *)
100    grab=no ;;
101esac
102AC_MSG_RESULT($grab)
103
104if test "${enable_debug}" = "yes"; then
105  AC_DEFINE(DEBUG, 1, Define to 1 to activate debug)
106fi
107
108AC_DEFINE(_GNU_SOURCE, 1, [Use GNU extentions])
109
110PYTHON="no"
111if test "${enable_python}" != "no"; then
112PKG_CHECK_MODULES(PYTHON3, python3 >= 3.1,
113 [PYTHON="yes"
114  PYTHON_CFLAGS="${PYTHON3_CFLAGS}"
115  PYTHON_LIBS="${PYTHON3_LIBS}"
116  AC_DEFINE(HAVE_PYTHON3, 1, [Define to 1 if Python 3 is present])],
117 [AC_PATH_PROG(PYTHON_CONFIG, python2.5-config, no)
118  if test "${PYTHON_CONFIG}" = "no"; then
119    AC_PATH_PROG(PYTHON_CONFIG, python2.4-config, no)
120  fi
121  if test "${PYTHON_CONFIG}" != "no"; then
122    PYTHON="yes"
123    PYTHON_CFLAGS="`${PYTHON_CONFIG} --cflags`"
124    PYTHON_LIBS="`${PYTHON_CONFIG} --libs`"
125    AC_DEFINE(HAVE_PYTHON2, 1, [Define to 1 if Python 2 is present])
126  fi])
127  if test "${PYTHON}" = "yes"; then
128    AC_DEFINE(USE_PYTHON, 1, [Define to 1 to use Python interpreter])
129  else
130    AC_MSG_RESULT(you need Python 2.5 or later to compile the interpreter)
131  fi
132fi
133
134AC_SUBST(PYTHON_CFLAGS)
135AC_SUBST(PYTHON_LIBS)
136
137# Optimizations / Profiling
138CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce"
139
140if test "${enable_profiling}" = "yes"; then
141  CFLAGS="${CFLAGS} -g -O0 -fno-strength-reduce -pg"
142else
143  CFLAGS="${CFLAGS} -fomit-frame-pointer"
144fi
145
146
147# Code qui fait des warnings == code de porc == deux baffes dans ta gueule
148CFLAGS="${CFLAGS} -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs -Wsign-compare"
149
150AC_OUTPUT([
151  Makefile
152  doc/Makefile
153  src/Makefile
154  data/Makefile
155])
156
Note: See TracBrowser for help on using the repository browser.