source: libpipi/trunk/configure.ac @ 2902

Last change on this file since 2902 was 2902, checked in by Sam Hocevar, 12 years ago

Support C99 types on Win32 through the same hacks as in libcaca.

File size: 6.0 KB
Line 
1# $Id$
2
3AC_INIT(libpipi, 0.0)
4AC_PREREQ(2.50)
5AC_CONFIG_AUX_DIR(.auto)
6AC_CANONICAL_SYSTEM
7AM_INIT_AUTOMAKE([no-define tar-ustar])
8dnl AM_MAINTAINER_MODE
9
10AM_CONFIG_HEADER(config.h)
11
12LT_MAJOR="0"
13LT_MINOR="0"
14LT_MICRO="0"
15AC_SUBST(LT_MAJOR)
16AC_SUBST(LT_MINOR)
17AC_SUBST(LT_MICRO)
18LT_VERSION="$LT_MAJOR:$LT_MINOR:$LT_MICRO"
19AC_SUBST(LT_VERSION)
20
21AM_PROG_CC_C_O
22AC_PROG_CPP
23AC_PROG_OBJC
24_AM_DEPENDENCIES([OBJC])
25OBJC="${CC}"
26AC_SUBST(OBJC)
27AC_SUBST(OBJCFLAGS)
28
29AC_LIBTOOL_WIN32_DLL
30AM_PROG_LIBTOOL
31AC_LIBTOOL_CXX
32
33AC_C_CONST
34AC_C_INLINE
35
36dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
37dnl now otherwise it might be set in an obscure if statement. Same thing for
38dnl PKG_PROG_PKG_CONFIG which needs to be called first.
39AC_EGREP_CPP(yes, foo)
40PKG_PROG_PKG_CONFIG()
41m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
42if test "${build}" != "${host}" -a "${PKG_CONFIG_LIBDIR}" = ""; then
43  export PKG_CONFIG_LIBDIR=/dev/null
44fi
45
46AC_MSG_CHECKING(for library suffix)
47LT_SUFFIX="`./libtool -n --mode=link gcc -o libTEST.la -no-undefined -version-number 123:666:999 -rpath / | xargs -n 1 | sed -ne 's/.*libTEST\(@<:@^, ()0-9@:>@*\)123\(@<:@^, ()0-9@:>@*\).*/\1'$LT_MAJOR'\2/p' | grep -v '\.$' | head -n 1`"
48if test "$LT_SUFFIX" = ""; then
49  LT_SUFFIX=".so.$LT_MAJOR"
50  AC_MSG_RESULT([unknown, defaulting to $LT_SUFFIX])
51else
52  AC_MSG_RESULT($LT_SUFFIX)
53fi
54AC_SUBST(LT_SUFFIX)
55
56AC_CHECK_HEADERS(stdio.h stdarg.h inttypes.h endian.h stdint.h getopt.h)
57
58ac_cv_have_getopt_long="no"
59AC_CHECK_FUNCS(getopt_long,
60 [ac_cv_have_getopt_long="yes"],
61 [AC_CHECK_LIB(gnugetopt, getopt_long,
62   [ac_cv_have_getopt_long="yes"
63    GETOPT_LIBS="${GETOPT_LIBS} -lgnugetopt"])])
64if test "$ac_cv_have_getopt_long" != "no"; then
65  AC_DEFINE(HAVE_GETOPT_LONG, 1, Define to 1 if you have the `getopt_long' function.)
66fi
67AM_CONDITIONAL(NEED_GETOPT_LONG, test "$ac_cv_have_getopt_long" = "no")
68AC_SUBST(GETOPT_LIBS)
69
70# How to get the C99 types. See pipi/pipi_types.h.in for details about
71# the PIPI_TYPES variable
72if test "${ac_cv_my_have_vga}" = "yes"; then
73  PIPI_TYPES=0
74else
75  AC_CHECK_HEADERS(stdint.h,
76    [PIPI_TYPES=1],
77    [AC_CHECK_HEADERS(inttypes.h,
78      [PIPI_TYPES=2],
79      [AC_CHECK_HEADERS(windows.h,
80        [PIPI_TYPES=3],
81        [PIPI_TYPES=0])])])
82fi
83AC_SUBST(PIPI_TYPES)
84
85# Optimizations
86CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer"
87# Code qui fait des warnings == code de porc == deux baffes dans ta gueule
88CFLAGS="${CFLAGS} -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs -Wsign-compare"
89
90# Use DevIL?
91#AC_CHECK_HEADERS(IL/il.h,
92# [ac_cv_my_have_il="yes"],
93# [ac_cv_my_have_il="no"])
94#CPPFLAGS="${save_CPPFLAGS}"
95#AM_CONDITIONAL(USE_IL, test "${ac_cv_my_have_il}" = "yes")
96
97# Use Windows?
98#AC_CHECK_HEADERS(olectl.h,
99# [ac_cv_my_have_ole="yes"],
100# [ac_cv_my_have_ole="no"])
101#CPPFLAGS="${save_CPPFLAGS}"
102#AM_CONDITIONAL(USE_OLE, test "${ac_cv_my_have_ole}" = "yes")
103
104# Use SDL?
105ac_cv_my_have_sdl="no"
106save_CPPFLAGS="${CPPFLAGS}"
107AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
108if test "${SDL_CONFIG}" != "no"; then
109  CPPFLAGS="${CPPFLAGS} `sdl-config --cflags`"
110fi
111AC_CHECK_HEADERS(SDL_image.h,
112 [ac_cv_my_have_sdl="yes"],
113 [ac_cv_my_have_sdl="no"])
114CPPFLAGS="${save_CPPFLAGS}"
115if test "${ac_cv_my_have_sdl}" != "no"; then
116  AC_DEFINE(USE_SDL, 1, Define to 1 to use SDL_image)
117fi
118AM_CONDITIONAL(USE_SDL, test "${ac_cv_my_have_sdl}" = "yes")
119
120# Use OpenCV?
121ac_cv_my_have_opencv="no"
122OPENCV="no"
123PKG_CHECK_MODULES(OPENCV, opencv, [ac_cv_my_have_opencv="yes"], [:])
124if test "${ac_cv_my_have_opencv}" != "no"; then
125  AC_DEFINE(USE_OPENCV, 1, Define to 1 to use OpenCV)
126fi
127AM_CONDITIONAL(USE_OPENCV, test "${ac_cv_my_have_opencv}" = "yes")
128
129# Use Imlib2?
130ac_cv_my_have_imlib2="no"
131IMLIB2="no"
132PKG_CHECK_MODULES(IMLIB2, imlib2, [ac_cv_my_have_imlib2="yes"], [:])
133if test "${ac_cv_my_have_imlib2}" != "no"; then
134  AC_DEFINE(USE_IMLIB2, 1, Define to 1 to use Imlib2)
135fi
136AM_CONDITIONAL(USE_IMLIB2, test "${ac_cv_my_have_imlib2}" = "yes")
137
138# Use Windows GDI?
139ac_cv_my_have_gdi="no"
140GDI="no"
141AC_CHECK_HEADERS(windows.h,
142 [ac_cv_my_have_gdi="yes"],
143 [ac_cv_my_have_gdi="no"])
144if test "${ac_cv_my_have_gdi}" != "no"; then
145  AC_DEFINE(USE_GDI, 1, Define to 1 to use GDI)
146fi
147AM_CONDITIONAL(USE_GDI, test "${ac_cv_my_have_gdi}" = "yes")
148
149# Use Cocoa?
150ac_cv_my_have_cocoa="no"
151AC_CHECK_HEADERS(/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h,
152[
153 MACOSX_SDK_FRAMEWORKS="-F${MACOSX_SDK}/System/Library/Frameworks"
154 CPPFLAGS="${CPPFLAGS} ${ARCH} ${MACOSX_SDK_FRAMEWORKS} -I/Developer//SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Versions/A/Headers/"
155 CFLAGS="${CFLAGS} ${MACOSX_SDK_CFLAGS} -I/Developer//SDKs/MacOSX10.5.sdk/System/Library/Frameworks/QuartzCore.framework/Versions/A/Headers/"
156 CXXFLAGS="${CXXFLAGS} ${MACOSX_SDK_CXXFLAGS}"
157 OBJCFLAGS="${OBJCFLAGS} ${MACOSX_SDK_CFLAGS}"
158 LDFLAGS="${ARCH} ${MACOSX_SDK_LDFLAGS} ${LDFLAGS}"
159 AC_DEFINE(USE_COCOA, 1, Define to 1 to activate the Cocoa backend driver)
160#    CACA_LIBS="${CACA_LIBS} -Wl,-syslibroot,${MACOSX_SDK},-framework,Cocoa"
161#    CACA_DRIVERS="${CACA_DRIVERS} cocoa"
162 ac_cv_my_have_cocoa="yes"],
163 [ac_cv_my_have_cocoa="no"]
164 )
165AM_CONDITIONAL(USE_COCOA, test "${ac_cv_my_have_cocoa}" = "yes")
166
167
168if test "${ac_cv_my_have_il}" = "no" -a "${ac_cv_my_have_ole}" = "no" -a "${ac_cv_my_have_sdl}" = "no" -a "${ac_cv_my_have_imlib2}" = "no" -a "${ac_cv_my_have_opencv}" = "no" -a "${ac_cv_my_have_cocoa}" = "no"; then
169  AC_MSG_ERROR([[cannot find DevIL, OLE, SDL_Image, Imlib2, Cocoa, or OpenCV, please install one of them]])
170fi
171
172# Build The Pimp?
173AC_PATH_PROG(GMCS, gmcs, no)
174PKG_CHECK_MODULES([GLADE_SHARP_20], [glade-sharp-2.0], [:])
175PKG_CHECK_MODULES([GLIB_SHARP_20], [glib-sharp-2.0], [:])
176PKG_CHECK_MODULES([GTK_SHARP_20], [gtk-sharp-2.0], [:])
177AM_CONDITIONAL(USE_CSHARP, test "${gmcs}" != "no")
178
179
180AC_CONFIG_FILES([
181  Makefile
182  pipi/Makefile
183  src/Makefile
184  genethumb/Makefile
185  examples/Makefile
186  test/Makefile
187  pipi-sharp/Makefile
188  ThePimp/Makefile
189  win32/Makefile
190])
191AC_CONFIG_FILES([
192  pipi/pipi_types.h
193  pipi/pipi.pc
194  pipi-sharp/pipi-sharp.pc
195  pipi-sharp/pipi-sharp.dll.config
196])
197
198AC_OUTPUT
199
Note: See TracBrowser for help on using the repository browser.