[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 1821 - (view) (download)

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

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