[svn] / trunk / xvidcore / build / generic / configure.in Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/build/generic/configure.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1768 - (view) (download)

1 : edgomez 824 dnl ==========================================================================
2 :     dnl
3 :     dnl Autoconf script for XviD
4 :     dnl
5 : edgomez 1451 dnl Copyright(C) 2003-2004 Edouard Gomez <ed.gomez@free.fr>
6 : edgomez 824 dnl
7 :     dnl ==========================================================================
8 :    
9 : edgomez 1451 AC_PREREQ([2.50])
10 :    
11 : edgomez 1609 AC_INIT([XviD], [1.1.0-beta2], [xvid-devel@xvid.org])
12 : edgomez 824 AC_CONFIG_SRCDIR(configure.in)
13 :    
14 : edgomez 900 dnl Do not forget to increase that when needed.
15 : edgomez 1382 API_MAJOR="4"
16 : edgomez 1536 API_MINOR="1"
17 : edgomez 900
18 : edgomez 824 dnl NASM version requirement
19 :     minimum_nasm_patch_version=34
20 :     nasm_prog="nasm"
21 : edgomez 1535 yasm_prog="yasm"
22 : edgomez 824
23 :     dnl Default CFLAGS -- Big impact on overall speed
24 :     our_cflags_defaults="-Wall"
25 :     our_cflags_defaults="$our_cflags_defaults -O2"
26 : edgomez 1382 our_cflags_defaults="$our_cflags_defaults -fstrength-reduce"
27 :     our_cflags_defaults="$our_cflags_defaults -finline-functions"
28 :     our_cflags_defaults="$our_cflags_defaults -freduce-all-givs"
29 :     our_cflags_defaults="$our_cflags_defaults -ffast-math"
30 : edgomez 824 our_cflags_defaults="$our_cflags_defaults -fomit-frame-pointer"
31 :    
32 :     dnl ==========================================================================
33 :     dnl Features - configure options
34 :     dnl ==========================================================================
35 :    
36 :     FEATURES=""
37 :    
38 :     dnl Internal Debug
39 :     AC_ARG_ENABLE(idebug,
40 :     AC_HELP_STRING([--enable-idebug],
41 :     [Enable internal debug function]),
42 :     [if test "$enable_idebug" = "yes" ; then
43 :     FEATURES="$FEATURES -D_DEBUG"
44 :     fi])
45 :    
46 :     dnl Internal Profile
47 :     AC_ARG_ENABLE(iprofile,
48 :     AC_HELP_STRING([--enable-iprofile],
49 :     [Enable internal profiling]),
50 :     [if test "$enable_iprofile" = "yes" ; then
51 :     FEATURES="$FEATURES -D_PROFILING_"
52 :     fi])
53 :    
54 : edgomez 1382 dnl GNU Profiling options
55 :     AC_ARG_ENABLE(gnuprofile,
56 :     AC_HELP_STRING([--enable-gnuprofile],
57 :     [Enable profiling informations for gprof]),
58 :     [if test "$enable_gnuprofile" = "yes" ; then
59 :     GNU_PROF_CFLAGS="-pg -fprofile-arcs -ftest-coverage"
60 :     GNU_PROF_LDFLAGS="-pg"
61 :     fi])
62 :    
63 : edgomez 824 dnl Assembly code
64 :     AC_ARG_ENABLE(assembly,
65 :     AC_HELP_STRING([--disable-assembly],
66 :     [Disable assembly code]),
67 :     [if test "$enable_assembly" = "no" ; then
68 :     assembly="no"
69 :     else
70 :     if test "$enable_assembly" = "yes" ; then
71 :     assembly="yes"
72 :     fi
73 :     fi],
74 :     [assembly="yes"])
75 :    
76 : edgomez 1024 dnl Build as a module not a shared lib on darwin
77 :     AC_ARG_ENABLE(macosx_module,
78 :     AC_HELP_STRING([--enable-macosx_module],
79 :     [Build as a module on MacOS X]),
80 :     [if test "$enable_macosx_module" = "yes" ; then
81 :     macosx_module="yes"
82 :     else
83 :     macosx_module="no"
84 : edgomez 1382 fi],
85 :     [macosx_module="no"])
86 : edgomez 1024
87 : edgomez 824 dnl ==========================================================================
88 :     dnl Default install prefix and checks build type
89 :     dnl ==========================================================================
90 :    
91 :     AC_PREFIX_DEFAULT("/usr/local")
92 :     AC_CANONICAL_BUILD
93 :     AC_CANONICAL_HOST
94 :     AC_CANONICAL_TARGET
95 :    
96 :     dnl ==========================================================================
97 :     dnl Check for the C compiler (could be passed on command line)
98 :     dnl ==========================================================================
99 :    
100 :     dnl
101 :     dnl First we test if CFLAGS have been passed on command line
102 :     dnl I do that because autoconf defaults (-g -O2) suck and they would kill
103 :     dnl performance. To prevent that we define a good defult CFLAGS at the end
104 :     dnl of the script if and only if CFLAGS has not been passed on the command
105 :     dnl line
106 :     dnl
107 :     AC_MSG_CHECKING(whether to use default CFLAGS)
108 :     if test x"$CFLAGS" = x"" ; then
109 :     force_default_cc_options="yes"
110 :     AC_MSG_RESULT([yes])
111 :     else
112 :     force_default_cc_options="no"
113 :     AC_MSG_RESULT([no])
114 :     fi
115 :    
116 :     dnl Now we can safely check for the C compiler
117 :     AC_PROG_CC
118 :    
119 :     dnl ==========================================================================
120 :     dnl Check for the install program
121 :     dnl ==========================================================================
122 :    
123 :     AC_PROG_INSTALL
124 :    
125 :     dnl ==========================================================================
126 : edgomez 830 dnl Check for the ranlib program to generate static library index
127 :     dnl ==========================================================================
128 :    
129 :     AC_PROG_RANLIB
130 :    
131 :     dnl ==========================================================================
132 : edgomez 824 dnl
133 :     dnl This part looks for:
134 :     dnl
135 :     dnl ARCHITECTURE : The platform architecture
136 :     dnl - IA32 for mmx, mmx-ext, mmx2, sse assembly
137 :     dnl - IA64
138 :     dnl - PPC for PowerPC assembly routines
139 :     dnl - GENERIC for plain C sources only
140 :     dnl
141 :     dnl BUS: Address bus size (in bits)
142 :     dnl - 32
143 :     dnl - 64
144 :     dnl
145 :     dnl ENDIANNESS: I think you can guess what this thing means :-)
146 :     dnl - LITTLE_ENDIAN
147 :     dnl - BIG_ENDIAN
148 :     dnl
149 :     dnl ==========================================================================
150 :    
151 :     dnl
152 :     dnl Looking what sources have to be compiled according to the CPU type
153 :     dnl
154 :    
155 :     ARCHITECTURE=""
156 :    
157 :     AC_MSG_CHECKING([for whether to use assembly code])
158 :     if test x"$assembly" = x"yes" ; then
159 :     AC_MSG_RESULT([yes])
160 :     AC_MSG_CHECKING([for architecture type])
161 :     case "$target_cpu" in
162 :     i[[3456]]86)
163 :     AC_MSG_RESULT(ia32)
164 :     ARCHITECTURE="IA32"
165 : edgomez 1586 ;;
166 :     x86_64)
167 :     AC_MSG_RESULT(x86_64)
168 :     ARCHITECTURE="X86_64"
169 : edgomez 824 ;;
170 :     powerpc)
171 :     AC_MSG_RESULT(PowerPC)
172 : edgomez 1412 ARCHITECTURE="PPC"
173 : edgomez 824 ;;
174 :     ia64)
175 :     AC_MSG_RESULT(ia64)
176 :     ARCHITECTURE="IA64"
177 :     ;;
178 :     *)
179 :     AC_MSG_RESULT($target_cpu)
180 :     ARCHITECTURE="GENERIC"
181 :     ;;
182 :     esac
183 :     else
184 :     AC_MSG_RESULT([no])
185 :     ARCHITECTURE="GENERIC"
186 :     fi
187 :    
188 :     dnl
189 :     dnl Testing address bus length
190 :     dnl
191 :     BUS=""
192 :    
193 :     AC_CHECK_SIZEOF([int *])
194 :     case "$ac_cv_sizeof_int_p" in
195 :     4)
196 :     BUS="32BIT"
197 :     ;;
198 :     8)
199 :     BUS="64BIT"
200 :     ;;
201 :     *)
202 :     AC_MSG_ERROR([XviD supports only 32/64 bit architectures])
203 :     ;;
204 :     esac
205 :    
206 :     dnl
207 :     dnl Testing endianness
208 :     dnl
209 :     ENDIANNESS=""
210 :    
211 :     AC_C_BIGENDIAN(ENDIANNESS="BIG_ENDIAN", ENDIANNESS="LITTLE_ENDIAN")
212 :    
213 :     dnl ==========================================================================
214 :     dnl
215 :     dnl Check for OS specific variables
216 :     dnl - SHARED_EXTENSION, STATIC_EXTENSION, OBJECT_EXTENSION
217 :     dnl
218 :     dnl ==========================================================================
219 :    
220 :     AC_MSG_CHECKING(for build extensions)
221 :     SHARED_EXTENSION=""
222 :     STATIC_EXTENSION=""
223 :     OBJECT_EXTENSION=""
224 :     case "$target_os" in
225 :     *bsd*|linux*|beos|irix*|solaris*)
226 :     AC_MSG_RESULT([.so .a .o])
227 :     STATIC_EXTENSION="a"
228 :     SHARED_EXTENSION="so"
229 :     OBJECT_EXTENSION="o"
230 :     ;;
231 : edgomez 1382 [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
232 : edgomez 900 AC_MSG_RESULT([.dll .a .obj])
233 :     STATIC_EXTENSION="a"
234 : edgomez 824 SHARED_EXTENSION="dll"
235 :     OBJECT_EXTENSION="obj"
236 :     ;;
237 :     darwin*|raphsody*)
238 : edgomez 1024 if test x"$macosx_module" = x"yes"; then
239 :     AC_MSG_RESULT([.so .a .o])
240 :     SHARED_EXTENSION="so"
241 :     else
242 :     AC_MSG_RESULT([.dynlib .a .o])
243 :     SHARED_EXTENSION="dylib"
244 :     fi
245 : edgomez 824 STATIC_EXTENSION="a"
246 :     OBJECT_EXTENSION="o"
247 :     ;;
248 :     *)
249 :     AC_MSG_RESULT([Unknown OS - Using .so .a .o])
250 :     STATIC_EXTENSION="a"
251 :     SHARED_EXTENSION="so"
252 :     OBJECT_EXTENSION="o"
253 :     ;;
254 :     esac
255 :    
256 : edgomez 1382 dnl ==========================================================================
257 :     dnl
258 :     dnl Determines best options for CC and LD
259 :     dnl - STATIC_LIB, SHARED_LIB, SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
260 :     dnl
261 :     dnl ==========================================================================
262 :    
263 : edgomez 824 AC_MSG_CHECKING(for platform specific LDFLAGS/CFLAGS)
264 : edgomez 830 SPECIFIC_LDFLAGS=""
265 :     SPECIFIC_CFLAGS=""
266 : edgomez 1382 PRE_SHARED_LIB=""
267 : edgomez 824 case "$target_os" in
268 : Skal 1617 linux*|solaris*)
269 : edgomez 1382 AC_MSG_RESULT([ok])
270 : edgomez 900 STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
271 :     SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
272 : Skal 1617 SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -Wl,--version-script=libxvidcore.ld -lc -lm"
273 :     SPECIFIC_CFLAGS="-fPIC"
274 :     ;;
275 :     *bsd*|irix*)
276 :     AC_MSG_RESULT([ok])
277 :     STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
278 :     SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR).\$(API_MINOR)"
279 : edgomez 1006 SPECIFIC_LDFLAGS="-Wl,-soname,libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -shared -lc -lm"
280 : edgomez 830 SPECIFIC_CFLAGS="-fPIC"
281 : edgomez 824 ;;
282 : edgomez 1382 [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
283 :     AC_MSG_RESULT([ok])
284 :     STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
285 :     SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"
286 : edgomez 900 SPECIFIC_LDFLAGS="-mno-cygwin -shared -Wl,--dll,--out-implib,\$@.a libxvidcore.def"
287 : edgomez 830 SPECIFIC_CFLAGS="-mno-cygwin"
288 : edgomez 824 ;;
289 :     darwin*|raphsody*)
290 : edgomez 900 STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
291 :     SPECIFIC_CFLAGS="-fPIC -fno-common -no-cpp-precomp"
292 : edgomez 1024 if test x"$macosx_module" = x"no"; then
293 :     AC_MSG_RESULT([dylib options])
294 :     SHARED_LIB="libxvidcore.\$(API_MAJOR).\$(SHARED_EXTENSION)"
295 : edgomez 1382 SPECIFIC_LDFLAGS="-dynamiclib -flat_namespace -compatibility_version \$(API_MAJOR) -current_version \$(API_MAJOR).\$(API_MINOR) -install_name \$(libdir)/\$(SHARED_LIB)"
296 : edgomez 1024 else
297 : edgomez 1382 AC_MSG_RESULT([module options])
298 :     PRE_SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)-temp.o"
299 :     SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR)"
300 :     SPECIFIC_LDFLAGS="-r -keep_private_externs -nostdlib && \$(CC) \$(LDFLAGS) \$(PRE_SHARED_LIB) -o libxvidcore.\$(SHARED_EXTENSION).\$(API_MAJOR) -bundle -flat_namespace -undefined suppress"
301 : edgomez 1024 fi
302 : edgomez 824 ;;
303 :     beos)
304 : edgomez 1382 AC_MSG_RESULT([ok])
305 : edgomez 900 STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
306 :     SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
307 : edgomez 830 SPECIFIC_LDFLAGS="-nostart"
308 :     SPECIFIC_CFLAGS="-fPIC"
309 : edgomez 824 ;;
310 :     *)
311 : edgomez 1382 AC_MSG_RESULT([Unknown Platform (Using default -shared -lc -lm)])
312 : edgomez 1535 STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
313 : edgomez 900 SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"
314 : edgomez 830 SPECIFIC_LDFLAGS=""
315 :     SPECIFIC_CFLAGS=""
316 : edgomez 824 ;;
317 :     esac
318 :    
319 : edgomez 1382 if test x"$PRE_SHARED_LIB" = x; then
320 :     PRE_SHARED_LIB=$SHARED_LIB
321 :     fi
322 :    
323 : edgomez 824 dnl ==========================================================================
324 :     dnl
325 : edgomez 1382 dnl Assembler stuff
326 :     dnl - AS, AFLAGS, ASSEMBLY_EXTENSION, SOURCES
327 : edgomez 824 dnl
328 :     dnl ==========================================================================
329 :    
330 :     AS=""
331 :     AFLAGS=""
332 :     ASSEMBLY_EXTENSION=""
333 :     GENERIC_SOURCES="SRC_GENERIC"
334 :     ASSEMBLY_SOURCES=""
335 :    
336 :     dnl
337 :     dnl IA32
338 :     dnl
339 :    
340 : edgomez 1586 if test "$ARCHITECTURE" = "IA32" -o "$ARCHITECTURE" = "X86_64" ; then
341 : edgomez 824
342 :     dnl
343 : edgomez 1535 dnl Checking for nasm compatible programs
344 :     dnl yasm is preferred over nasm, because... i can use it
345 :     dnl to profile assembly code ;-)
346 : edgomez 824 dnl
347 :    
348 : edgomez 1535 found_nasm_comp_prog="no"
349 :     chosen_asm_prog=""
350 : edgomez 824
351 : edgomez 1535 dnl Check for yasm first
352 :     AC_CHECK_PROG([ac_yasm], [$yasm_prog], [yes], [no], , [yes])
353 :     if test "$ac_yasm" = "yes" ; then
354 :     found_nasm_comp_prog="yes"
355 :     chosen_asm_prog="$yasm_prog"
356 :     fi
357 : edgomez 1382
358 : edgomez 1535 dnl if yasm hasn't been found, then check for nasm (not buggy version)
359 : edgomez 1586 if test "$found_nasm_comp_prog" = "no" -a "$ARCHITECTURE" != "X86_64" ; then
360 : edgomez 1535 AC_CHECK_PROG([ac_nasm], [$nasm_prog], [yes], [no], , [yes])
361 :     if test "$ac_nasm" = "yes" ; then
362 :     dnl
363 :     dnl Checking nasm patch version
364 :     dnl
365 :     AC_MSG_CHECKING([for nasm patch version])
366 :     nasm_patch=`$nasm_prog -r | cut -d '.' -f 3 | cut -d ' ' -f 1`
367 :     if test -z $nasm_patch ; then
368 :     nasm_patch=-1
369 :     fi
370 :     AC_MSG_RESULT([$nasm_patch])
371 : edgomez 824
372 :    
373 : edgomez 1535 if test "$nasm_patch" -lt "$minimum_nasm_patch_version" ; then
374 :     AC_MSG_WARN([nasm patch version is too old])
375 :     else
376 :     found_nasm_comp_prog="yes"
377 :     chosen_asm_prog="$nasm_prog"
378 :     fi
379 : edgomez 824 fi
380 : edgomez 1535 fi
381 : edgomez 824
382 : edgomez 1535 dnl
383 :     dnl Ok now sort what object format we must use
384 :     dnl
385 :     if test "$found_nasm_comp_prog" = "yes" ; then
386 :     AC_MSG_CHECKING([for asm object format])
387 :     case "$target_os" in
388 :     *bsd*|linux*|beos|irix*|solaris*)
389 :     AC_MSG_RESULT([elf])
390 :     NASM_FORMAT="elf"
391 :     MARK_FUNCS="-DMARK_FUNCS"
392 :     PREFIX=""
393 :     ;;
394 :     [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]*|mingw32*|mks*)
395 :     AC_MSG_RESULT([win32])
396 :     NASM_FORMAT="win32"
397 :     PREFIX="-DPREFIX"
398 :     MARK_FUNCS=""
399 :     ;;
400 : Isibaar 1768 *darwin*)
401 :     AC_MSG_RESULT([macho])
402 :     NASM_FORMAT="macho"
403 :     PREFIX="-DPREFIX"
404 :     MARK_FUNCS=""
405 :     ;;
406 : edgomez 1535 esac
407 :    
408 :     AS="$chosen_asm_prog"
409 : edgomez 1586 ASSEMBLY_EXTENSION="asm"
410 : edgomez 1535 AFLAGS="-I\$(<D)/ -f $NASM_FORMAT $PREFIX $MARK_FUNCS"
411 : edgomez 1586 ASSEMBLY_SOURCES="SRC_${ARCHITECTURE}"
412 :     if test "$ARCHITECTURE" = "X86_64" ; then
413 :     AFLAGS=${AFLAGS}" -m amd64"
414 :     fi
415 : edgomez 1535 else
416 :     AC_MSG_WARN([no correct assembler was found - Compiling generic sources only])
417 :     ARCHITECTURE="GENERIC"
418 : edgomez 824 fi
419 :     fi
420 :    
421 :     dnl
422 :     dnl PPC
423 :     dnl
424 : edgomez 1412 dnl With the PPC platform we do not use assembly language, we better keep with
425 :     dnl intrinsic altivec functions and types as they are supported by both Apple
426 :     dnl and GNU gcc with very slight changes to code which can be sumed up by:
427 :     dnl
428 :     dnl Apple:
429 :     dnl - compile with the option -faltivec
430 :     dnl - define vectors with parentheses vec = (0,0,0,0)
431 :     dnl GNU
432 :     dnl - compile with -maltivec -mabi=altivec
433 :     dnl - include <altivec.h> before using intrincic
434 :     dnl - define vectors with vec = {0,0,0,0}
435 :     dnl
436 :     dnl * The compile time option will be "injected" into SPECIFIC_CFLAGS variable
437 :     dnl * The need for altivec.h will also be injected into SPECIFIC_CFLAGS through
438 :     dnl a -DHAVE_ALTIVEC_H
439 :     dnl * The vector definition is handled in portab.h thx to
440 :     dnl HAVE_PARENTHESES/BRACES_ALTIVEC_DECL
441 :     dnl
442 :     PPC_ALTIVEC_SOURCES=""
443 : edgomez 824 if test "$ARCHITECTURE" = "PPC" ; then
444 :     AS="\$(CC)"
445 : edgomez 1412 AFLAGS=""
446 :     ASSEMBLY_EXTENSION=".s"
447 :     ASSEMBLY_SOURCES=""
448 :    
449 :     AC_MSG_CHECKING([for altivec.h])
450 :     cat > conftest.c << EOF
451 :     #include <altivec.h>
452 :     int main() { return(0); }
453 : edgomez 824 EOF
454 : edgomez 1412 if $CC -faltivec -c conftest.c 2>/dev/null 1>/dev/null || \
455 :     $CC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
456 : edgomez 824 AC_MSG_RESULT(yes)
457 : edgomez 1412 SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_ALTIVEC_H"
458 :     TEMP_ALTIVEC="-DHAVE_ALTIVEC_H"
459 : edgomez 824 else
460 :     AC_MSG_RESULT(no)
461 : edgomez 1412 TEMP_ALTIVEC=""
462 : edgomez 824 fi
463 : edgomez 1412
464 :     AC_MSG_CHECKING([for Altivec compiler support])
465 :     cat > conftest.c << EOF
466 :     #ifdef HAVE_ALTIVEC_H
467 :     #include <altivec.h>
468 :     #endif
469 :    
470 :     int main()
471 :     {
472 :     vector unsigned int vartest2 = (vector unsigned int)(0);
473 :     vector unsigned int vartest3 = (vector unsigned int)(1);
474 :     vartest2 = vec_add(vartest2, vartest3);
475 :     return(0);
476 :     }
477 :     EOF
478 :     if $CC $TEMP_ALTIVEC -faltivec -c conftest.c 2>/dev/null 1>/dev/null ; then
479 :     AC_MSG_RESULT([yes (Apple)])
480 :     SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -faltivec -DHAVE_ALTIVEC_PARENTHESES_DECL $TEMP_ALTIVEC"
481 :     PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
482 :     else
483 :     cat > conftest.c << EOF
484 :     #ifdef HAVE_ALTIVEC_H
485 :     #include <altivec.h>
486 :     #endif
487 :    
488 :     int main()
489 :     {
490 :     vector unsigned int vartest2 = (vector unsigned int){0};
491 :     vector unsigned int vartest3 = (vector unsigned int){1};
492 :     vartest2 = vec_add(vartest2, vartest3);
493 :     return(0);
494 :     }
495 :     EOF
496 :     if $CC $TEMP_ALTIVEC -maltivec -mabi=altivec -c conftest.c 2>/dev/null 1>/dev/null ; then
497 :     AC_MSG_RESULT([yes (GNU)])
498 :     SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -maltivec -mabi=altivec -DHAVE_ALTIVEC_BRACES_DECL $TEMP_ALTIVEC"
499 :     PPC_ALTIVEC_SOURCES="SRC_PPC_ALTIVEC"
500 :     else
501 :     AC_MSG_RESULT([no (ppc support won't be compiled in)])
502 :     dnl Only C code can be compiled :-(
503 :     ARCHITECTURE="GENERIC"
504 :     fi
505 :     fi
506 :    
507 : edgomez 824 rm -f conftest.*
508 :     fi
509 :    
510 :     dnl
511 :     dnl IA64
512 :     dnl
513 :    
514 :     if test "$ARCHITECTURE" = "IA64" ; then
515 :     AS="\$(CC)"
516 :     AFLAGS="-c"
517 :     ASSEMBLY_EXTENSION="s"
518 :     ASSEMBLY_SOURCES="SRC_IA64"
519 : edgomez 830
520 :     case `basename $CC` in
521 :     *ecc*)
522 : edgomez 1382 DCT_IA64_SOURCES="SRC_IA64_IDCT_ECC"
523 : edgomez 830
524 :     dnl If the compiler is ecc, then i don't know its options
525 :     dnl fallback to "no options"
526 :     if test "$force_default_cc_options" = "yes" ; then
527 :     our_cflags_defaults=""
528 :     fi
529 :     ;;
530 :     *)
531 : edgomez 1382 DCT_IA64_SOURCES="SRC_IA64_IDCT_GCC"
532 : edgomez 830 ;;
533 :     esac
534 :    
535 : edgomez 824 fi
536 :    
537 :     dnl ==========================================================================
538 :     dnl
539 :     dnl Check for header files
540 :     dnl
541 :     dnl ==========================================================================
542 :    
543 :     AC_CHECK_HEADERS(
544 :     stdio.h \
545 :     signal.h \
546 : edgomez 1451 stdlib.h \
547 :     string.h \
548 :     assert.h \
549 :     math.h \
550 : edgomez 824 , , AC_MSG_ERROR(Missing header file))
551 :    
552 :     dnl ==========================================================================
553 :     dnl
554 : syskin 1694 dnl Check for pthread
555 :     dnl
556 :     dnl ==========================================================================
557 :    
558 :     AC_CHECK_HEADER(
559 :     pthread.h,
560 :     AC_CHECK_LIB(
561 :     pthread,
562 :     pthread_create,
563 :     AC_CHECK_LIB(
564 :     pthread,
565 :     pthread_join,
566 :     SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS -DHAVE_PTHREAD"
567 :     SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS -lpthread",
568 :     AC_MSG_WARN(Pthread not supported. No SMP support)),
569 :     AC_MSG_WARN(Pthread not supported. No SMP support)),
570 :     AC_MSG_WARN(Pthread not supported. No SMP support))
571 :    
572 :     dnl ==========================================================================
573 :     dnl
574 : edgomez 830 dnl Now we can set CFLAGS if needed
575 :     dnl
576 :     dnl ==========================================================================
577 :    
578 :     if test "$force_default_cc_options" = "yes" ; then
579 :     CFLAGS="$our_cflags_defaults"
580 :     fi
581 :    
582 :     dnl ==========================================================================
583 :     dnl
584 : edgomez 1382 dnl Profiling stuff goes here
585 :     dnl - adds options to SPECIFIC_CFLAGS, SPECIFIC_LDLAGS
586 :     dnl - removes incompatible options from CFLAGS
587 :     dnl
588 :     dnl ==========================================================================
589 :    
590 :     SPECIFIC_LDFLAGS="$SPECIFIC_LDFLAGS $GNU_PROF_LDFLAGS"
591 :     SPECIFIC_CFLAGS="$SPECIFIC_CFLAGS $GNU_PROF_CFLAGS"
592 :    
593 :     if test "$enable_gnuprofile" = "yes" ; then
594 :     CFLAGS=`echo $CFLAGS | sed s/'-fomit-frame-pointer'/''/`
595 :     fi
596 :    
597 :     dnl ==========================================================================
598 : Skal 1615 dnl Some gcc flags can't be used for gcc >= 3.4.0
599 :     dnl ==========================================================================
600 :    
601 :     if test "$GCC" = "yes" ; then
602 :     cat << EOF > test.c
603 :     #include <stdio.h>
604 :     int main(int argc, char **argv)
605 :     {
606 :     if (*argv[[1]] == 'M') {
607 :     printf("%d", __GNUC__);
608 :     }
609 :     if (*argv[[1]] == 'm') {
610 :     printf("%d", __GNUC_MINOR__);
611 :     }
612 :     return 0;
613 :     }
614 :     EOF
615 :     $CC -o gcc-ver test.c
616 :    
617 :     GCC_MAJOR=`./gcc-ver M`
618 :     GCC_MINOR=`./gcc-ver m`
619 :    
620 :     rm -f test.c
621 :     rm -f gcc-ver
622 :    
623 :     # GCC 4.x
624 : Skal 1617 if test "${GCC_MAJOR}" -gt 3 ; then
625 : Skal 1615 CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
626 :     CFLAGS=`echo $CFLAGS | sed s,'-freduce-all-givs','',g`
627 :     CFLAGS=`echo $CFLAGS | sed s,'-fmove-all-movables','',g`
628 :     CFLAGS=`echo $CFLAGS | sed s,'-fnew-ra','',g`
629 :     CFLAGS=`echo $CFLAGS | sed s,'-fwritable-strings','',g`
630 :     fi
631 :    
632 :     # GCC 3.4.x
633 : Skal 1617 if test "${GCC_MAJOR}" -eq 3 && test "${GCC_MINOR}" -gt 3 ; then
634 : Skal 1615 CFLAGS=`echo $CFLAGS | sed s,"-mcpu","-mtune",g`
635 :     fi
636 :     fi
637 :    
638 :    
639 :     dnl ==========================================================================
640 : edgomez 1382 dnl
641 : edgomez 824 dnl Substitions
642 :     dnl
643 :     dnl ==========================================================================
644 :    
645 :     AC_SUBST(FEATURES)
646 :     AC_SUBST(ARCHITECTURE)
647 :     AC_SUBST(BUS)
648 :     AC_SUBST(ENDIANNESS)
649 :     AC_SUBST(SHARED_EXTENSION)
650 :     AC_SUBST(STATIC_EXTENSION)
651 :     AC_SUBST(OBJECT_EXTENSION)
652 :     AC_SUBST(NASM_FORMAT)
653 :     AC_SUBST(AS)
654 :     AC_SUBST(AFLAGS)
655 :     AC_SUBST(ASSEMBLY_EXTENSION)
656 :     AC_SUBST(GENERIC_SOURCES)
657 :     AC_SUBST(ASSEMBLY_SOURCES)
658 :     AC_SUBST(CC)
659 :     AC_SUBST(CFLAGS)
660 : edgomez 830 AC_SUBST(SPECIFIC_LDFLAGS)
661 :     AC_SUBST(SPECIFIC_CFLAGS)
662 :     AC_SUBST(DCT_IA64_SOURCES)
663 : edgomez 1412 AC_SUBST(PPC_ALTIVEC_SOURCES)
664 : edgomez 830 AC_SUBST(RANLIB)
665 : edgomez 900 AC_SUBST(API_MAJOR)
666 :     AC_SUBST(API_MINOR)
667 :     AC_SUBST(STATIC_LIB)
668 : edgomez 1382 AC_SUBST(PRE_SHARED_LIB)
669 : edgomez 900 AC_SUBST(SHARED_LIB)
670 : edgomez 824
671 :     dnl ==========================================================================
672 :     dnl
673 :     dnl Output files
674 :     dnl
675 :     dnl ==========================================================================
676 :    
677 :     AC_CONFIG_FILES(platform.inc)
678 :    
679 :     AC_OUTPUT

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4