]> git.saurik.com Git - wxWidgets.git/blame - build/aclocal/bakefile.m4
reuse wxObjectRefData for various ref-counted classes (closes #10886)
[wxWidgets.git] / build / aclocal / bakefile.m4
CommitLineData
2e91a01a 1dnl
5b8deaba 2dnl This file is part of Bakefile (http://www.bakefile.org)
2e91a01a
VZ
3dnl
4dnl Copyright (C) 2003-2007 Vaclav Slavik and others
5dnl
6dnl Permission is hereby granted, free of charge, to any person obtaining a
7dnl copy of this software and associated documentation files (the "Software"),
8dnl to deal in the Software without restriction, including without limitation
9dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
10dnl and/or sell copies of the Software, and to permit persons to whom the
11dnl Software is furnished to do so, subject to the following conditions:
12dnl
13dnl The above copyright notice and this permission notice shall be included in
14dnl all copies or substantial portions of the Software.
15dnl
16dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22dnl DEALINGS IN THE SOFTWARE.
23dnl
24dnl $Id$
25dnl
26dnl Support macros for makefiles generated by BAKEFILE.
27dnl
948b08e2 28
2e91a01a
VZ
29
30dnl ---------------------------------------------------------------------------
948b08e2 31dnl Lots of compiler & linker detection code contained here was taken from
2e91a01a
VZ
32dnl wxWidgets configure.in script (see http://www.wxwidgets.org)
33dnl ---------------------------------------------------------------------------
948b08e2
VZ
34
35
36
37dnl ---------------------------------------------------------------------------
38dnl AC_BAKEFILE_GNUMAKE
39dnl
40dnl Detects GNU make
41dnl ---------------------------------------------------------------------------
42
43AC_DEFUN([AC_BAKEFILE_GNUMAKE],
44[
45 dnl does make support "-include" (only GNU make does AFAIK)?
46 AC_CACHE_CHECK([if make is GNU make], bakefile_cv_prog_makeisgnu,
47 [
48 if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
49 egrep -s GNU > /dev/null); then
50 bakefile_cv_prog_makeisgnu="yes"
51 else
52 bakefile_cv_prog_makeisgnu="no"
53 fi
54 ])
55
56 if test "x$bakefile_cv_prog_makeisgnu" = "xyes"; then
57 IF_GNU_MAKE=""
58 else
59 IF_GNU_MAKE="#"
60 fi
61 AC_SUBST(IF_GNU_MAKE)
62])
63
64dnl ---------------------------------------------------------------------------
65dnl AC_BAKEFILE_PLATFORM
66dnl
67dnl Detects platform and sets PLATFORM_XXX variables accordingly
68dnl ---------------------------------------------------------------------------
69
70AC_DEFUN([AC_BAKEFILE_PLATFORM],
71[
72 PLATFORM_UNIX=0
73 PLATFORM_WIN32=0
74 PLATFORM_MSDOS=0
75 PLATFORM_MAC=0
76 PLATFORM_MACOS=0
77 PLATFORM_MACOSX=0
78 PLATFORM_OS2=0
79 PLATFORM_BEOS=0
80
2e91a01a 81 if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
948b08e2
VZ
82 case "${BAKEFILE_HOST}" in
83 *-*-mingw32* )
84 PLATFORM_WIN32=1
85 ;;
86 *-pc-msdosdjgpp )
87 PLATFORM_MSDOS=1
88 ;;
89 *-pc-os2_emx | *-pc-os2-emx )
90 PLATFORM_OS2=1
91 ;;
92 *-*-darwin* )
93 PLATFORM_MAC=1
94 PLATFORM_MACOSX=1
2e91a01a 95 ;;
948b08e2
VZ
96 *-*-beos* )
97 PLATFORM_BEOS=1
98 ;;
99 powerpc-apple-macos* )
100 PLATFORM_MAC=1
101 PLATFORM_MACOS=1
102 ;;
103 * )
104 PLATFORM_UNIX=1
105 ;;
106 esac
107 else
108 case "$BAKEFILE_FORCE_PLATFORM" in
109 win32 )
110 PLATFORM_WIN32=1
111 ;;
112 msdos )
113 PLATFORM_MSDOS=1
114 ;;
115 os2 )
116 PLATFORM_OS2=1
117 ;;
118 darwin )
119 PLATFORM_MAC=1
120 PLATFORM_MACOSX=1
121 ;;
122 unix )
123 PLATFORM_UNIX=1
124 ;;
125 beos )
126 PLATFORM_BEOS=1
127 ;;
128 * )
313b12ad 129 dnl wxWidgets-specific: allow unknown Unix systems
2e91a01a 130 dnl AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
948b08e2
VZ
131 ;;
132 esac
133 fi
134
135 AC_SUBST(PLATFORM_UNIX)
136 AC_SUBST(PLATFORM_WIN32)
137 AC_SUBST(PLATFORM_MSDOS)
138 AC_SUBST(PLATFORM_MAC)
139 AC_SUBST(PLATFORM_MACOS)
140 AC_SUBST(PLATFORM_MACOSX)
141 AC_SUBST(PLATFORM_OS2)
142 AC_SUBST(PLATFORM_BEOS)
143])
144
145
146dnl ---------------------------------------------------------------------------
147dnl AC_BAKEFILE_PLATFORM_SPECIFICS
148dnl
149dnl Sets misc platform-specific settings
150dnl ---------------------------------------------------------------------------
151
152AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
153[
154 AC_ARG_ENABLE([omf], AS_HELP_STRING([--enable-omf],
155 [use OMF object format (OS/2)]),
156 [bk_os2_use_omf="$enableval"])
2e91a01a 157
948b08e2
VZ
158 case "${BAKEFILE_HOST}" in
159 *-*-darwin* )
160 dnl For Unix to MacOS X porting instructions, see:
161 dnl http://fink.sourceforge.net/doc/porting/porting.html
162 if test "x$GCC" = "xyes"; then
163 CFLAGS="$CFLAGS -fno-common"
164 CXXFLAGS="$CXXFLAGS -fno-common"
165 fi
166 if test "x$XLCC" = "xyes"; then
167 CFLAGS="$CFLAGS -qnocommon"
168 CXXFLAGS="$CXXFLAGS -qnocommon"
169 fi
170 ;;
171
172 *-pc-os2_emx | *-pc-os2-emx )
173 if test "x$bk_os2_use_omf" = "xyes" ; then
174 AR=emxomfar
175 RANLIB=:
176 LDFLAGS="-Zomf $LDFLAGS"
177 CFLAGS="-Zomf $CFLAGS"
178 CXXFLAGS="-Zomf $CXXFLAGS"
179 OS2_LIBEXT="lib"
180 else
181 OS2_LIBEXT="a"
182 fi
183 ;;
2e91a01a 184
948b08e2
VZ
185 i*86-*-beos* )
186 LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
187 ;;
188 esac
189])
190
191dnl ---------------------------------------------------------------------------
192dnl AC_BAKEFILE_SUFFIXES
193dnl
194dnl Detects shared various suffixes for shared libraries, libraries, programs,
195dnl plugins etc.
196dnl ---------------------------------------------------------------------------
197
198AC_DEFUN([AC_BAKEFILE_SUFFIXES],
199[
200 SO_SUFFIX="so"
201 SO_SUFFIX_MODULE="so"
202 EXEEXT=""
203 LIBPREFIX="lib"
204 LIBEXT=".a"
205 DLLPREFIX="lib"
206 DLLPREFIX_MODULE=""
207 DLLIMP_SUFFIX=""
208 dlldir="$libdir"
2e91a01a 209
948b08e2 210 case "${BAKEFILE_HOST}" in
970a5bab
VZ
211 dnl PA-RISC HP systems used .sl but IA64 use ELF-64 and so use the
212 dnl standard .so extension
213 ia64-hp-hpux* )
214 ;;
948b08e2
VZ
215 *-hp-hpux* )
216 SO_SUFFIX="sl"
217 SO_SUFFIX_MODULE="sl"
218 ;;
219 *-*-aix* )
220 dnl quoting from
221 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
222 dnl Both archive libraries and shared libraries on AIX have an
223 dnl .a extension. This will explain why you can't link with an
224 dnl .so and why it works with the name changed to .a.
225 SO_SUFFIX="a"
226 SO_SUFFIX_MODULE="a"
227 ;;
228 *-*-cygwin* )
229 SO_SUFFIX="dll"
230 SO_SUFFIX_MODULE="dll"
231 DLLIMP_SUFFIX="dll.a"
232 EXEEXT=".exe"
233 DLLPREFIX="cyg"
234 dlldir="$bindir"
235 ;;
236 *-*-mingw32* )
237 SO_SUFFIX="dll"
238 SO_SUFFIX_MODULE="dll"
239 DLLIMP_SUFFIX="dll.a"
240 EXEEXT=".exe"
241 DLLPREFIX=""
242 dlldir="$bindir"
243 ;;
244 *-pc-msdosdjgpp )
245 EXEEXT=".exe"
246 DLLPREFIX=""
247 dlldir="$bindir"
248 ;;
249 *-pc-os2_emx | *-pc-os2-emx )
250 SO_SUFFIX="dll"
251 SO_SUFFIX_MODULE="dll"
252 DLLIMP_SUFFIX=$OS2_LIBEXT
253 EXEEXT=".exe"
254 DLLPREFIX=""
255 LIBPREFIX=""
256 LIBEXT=".$OS2_LIBEXT"
257 dlldir="$bindir"
258 ;;
259 *-*-darwin* )
260 SO_SUFFIX="dylib"
261 SO_SUFFIX_MODULE="bundle"
262 ;;
263 esac
264
265 if test "x$DLLIMP_SUFFIX" = "x" ; then
266 DLLIMP_SUFFIX="$SO_SUFFIX"
267 fi
268
269 AC_SUBST(SO_SUFFIX)
270 AC_SUBST(SO_SUFFIX_MODULE)
271 AC_SUBST(DLLIMP_SUFFIX)
272 AC_SUBST(EXEEXT)
273 AC_SUBST(LIBPREFIX)
274 AC_SUBST(LIBEXT)
275 AC_SUBST(DLLPREFIX)
276 AC_SUBST(DLLPREFIX_MODULE)
277 AC_SUBST(dlldir)
278])
279
280
281dnl ---------------------------------------------------------------------------
282dnl AC_BAKEFILE_SHARED_LD
283dnl
284dnl Detects command for making shared libraries, substitutes SHARED_LD_CC
285dnl and SHARED_LD_CXX.
286dnl ---------------------------------------------------------------------------
287
288AC_DEFUN([AC_BAKEFILE_SHARED_LD],
289[
290 dnl the extra compiler flags needed for compilation of shared library
291 PIC_FLAG=""
292 if test "x$GCC" = "xyes"; then
293 dnl the switch for gcc is the same under all platforms
294 PIC_FLAG="-fPIC"
295 fi
2e91a01a 296
948b08e2
VZ
297 dnl Defaults for GCC and ELF .so shared libs:
298 SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
299 SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
300 WINDOWS_IMPLIB=0
301
302 case "${BAKEFILE_HOST}" in
303 *-hp-hpux* )
304 dnl default settings are good for gcc but not for the native HP-UX
305 if test "x$GCC" != "xyes"; then
306 dnl no idea why it wants it, but it does
307 LDFLAGS="$LDFLAGS -L/usr/lib"
308
309 SHARED_LD_CC="${CC} -b -o"
310 SHARED_LD_CXX="${CXX} -b -o"
311 PIC_FLAG="+Z"
312 fi
313 ;;
314
315 *-*-linux* )
05622061
VZ
316 dnl newer icc versions use -fPIC just as gcc does and, in fact, the
317 dnl newest (v10+) ones don't even understand -KPIC any longer
318 if test "$INTELCC" = "yes" -a "$INTELCC8" != "yes"; then
9435c35e
VZ
319 PIC_FLAG="-KPIC"
320 elif test "x$SUNCXX" = "xyes"; then
321 SHARED_LD_CC="${CC} -G -o"
322 SHARED_LD_CXX="${CXX} -G -o"
323 PIC_FLAG="-KPIC"
948b08e2
VZ
324 fi
325 ;;
326
327 *-*-solaris2* )
9435c35e 328 if test "x$SUNCXX" = xyes ; then
948b08e2
VZ
329 SHARED_LD_CC="${CC} -G -o"
330 SHARED_LD_CXX="${CXX} -G -o"
331 PIC_FLAG="-KPIC"
332 fi
333 ;;
334
335 *-*-darwin* )
89ec5d14
VZ
336 AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
337 chmod +x shared-ld-sh
338
339 SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
5b8deaba 340 SHARED_LD_MODULE_CXX="CXX=\$(CXX) $SHARED_LD_MODULE_CC"
89ec5d14 341
948b08e2
VZ
342 dnl Most apps benefit from being fully binded (its faster and static
343 dnl variables initialized at startup work).
344 dnl This can be done either with the exe linker flag -Wl,-bind_at_load
345 dnl or with a double stage link in order to create a single module
346 dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
347
348 dnl If using newer dev tools then there is a -single_module flag that
2eef8513 349 dnl we can use to do this for dylibs, otherwise we'll need to use a helper
948b08e2 350 dnl script. Check the version of gcc to see which way we can go:
a1aa0349 351 AC_CACHE_CHECK([for gcc 3.1 or later], bakefile_cv_gcc31, [
948b08e2
VZ
352 AC_TRY_COMPILE([],
353 [
354 #if (__GNUC__ < 3) || \
355 ((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
27237c37 356 This is old gcc
948b08e2
VZ
357 #endif
358 ],
359 [
a1aa0349 360 bakefile_cv_gcc31=yes
948b08e2
VZ
361 ],
362 [
a1aa0349 363 bakefile_cv_gcc31=no
948b08e2
VZ
364 ]
365 )
366 ])
a1aa0349 367 if test "$bakefile_cv_gcc31" = "no"; then
948b08e2
VZ
368 dnl Use the shared-ld-sh helper script
369 SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
948b08e2 370 SHARED_LD_CXX="$SHARED_LD_CC"
948b08e2
VZ
371 else
372 dnl Use the -single_module flag and let the linker do it for us
373 SHARED_LD_CC="\${CC} -dynamiclib -single_module -headerpad_max_install_names -o"
948b08e2 374 SHARED_LD_CXX="\${CXX} -dynamiclib -single_module -headerpad_max_install_names -o"
948b08e2
VZ
375 fi
376
377 if test "x$GCC" == "xyes"; then
378 PIC_FLAG="-dynamic -fPIC"
379 fi
380 if test "x$XLCC" = "xyes"; then
381 PIC_FLAG="-dynamic -DPIC"
382 fi
383 ;;
384
385 *-*-aix* )
948b08e2 386 if test "x$GCC" = "xyes"; then
89ec5d14
VZ
387 dnl at least gcc 2.95 warns that -fPIC is ignored when
388 dnl compiling each and every file under AIX which is annoying,
389 dnl so don't use it there (it's useless as AIX runs on
390 dnl position-independent architectures only anyhow)
391 PIC_FLAG=""
392
393 dnl -bexpfull is needed by AIX linker to export all symbols (by
394 dnl default it doesn't export any and even with -bexpall it
395 dnl doesn't export all C++ support symbols, e.g. vtable
396 dnl pointers) but it's only available starting from 5.1 (with
397 dnl maintenance pack 2, whatever this is), see
398 dnl http://www-128.ibm.com/developerworks/eserver/articles/gnu.html
399 case "${BAKEFILE_HOST}" in
400 *-*-aix5* )
401 LD_EXPFULL="-Wl,-bexpfull"
402 ;;
403 esac
404
405 SHARED_LD_CC="\$(CC) -shared $LD_EXPFULL -o"
406 SHARED_LD_CXX="\$(CXX) -shared $LD_EXPFULL -o"
407 else
408 dnl FIXME: makeC++SharedLib is obsolete, what should we do for
409 dnl recent AIX versions?
948b08e2
VZ
410 AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
411 makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
948b08e2
VZ
412 SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
413 SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o"
414 fi
415 ;;
416
417 *-*-beos* )
418 dnl can't use gcc under BeOS for shared library creation because it
419 dnl complains about missing 'main'
420 SHARED_LD_CC="${LD} -nostart -o"
421 SHARED_LD_CXX="${LD} -nostart -o"
422 ;;
423
424 *-*-irix* )
425 dnl default settings are ok for gcc
426 if test "x$GCC" != "xyes"; then
427 PIC_FLAG="-KPIC"
428 fi
429 ;;
89ec5d14 430
948b08e2
VZ
431 *-*-cygwin* | *-*-mingw32* )
432 PIC_FLAG=""
433 SHARED_LD_CC="\$(CC) -shared -o"
434 SHARED_LD_CXX="\$(CXX) -shared -o"
435 WINDOWS_IMPLIB=1
436 ;;
437
438 *-pc-os2_emx | *-pc-os2-emx )
439 SHARED_LD_CC="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
440 SHARED_LD_CXX="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
441 PIC_FLAG=""
442 AC_BAKEFILE_CREATE_FILE_DLLAR_SH
443 chmod +x dllar.sh
444 ;;
89ec5d14 445
948b08e2
VZ
446 powerpc-apple-macos* | \
447 *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
c3e7509c 448 *-*-mirbsd* | \
948b08e2
VZ
449 *-*-sunos4* | \
450 *-*-osf* | \
451 *-*-dgux5* | \
452 *-*-sysv5* | \
453 *-pc-msdosdjgpp )
454 dnl defaults are ok
455 ;;
456
457 *)
2e91a01a 458 AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
948b08e2
VZ
459 esac
460
461 if test "x$PIC_FLAG" != "x" ; then
462 PIC_FLAG="$PIC_FLAG -DPIC"
463 fi
464
465 if test "x$SHARED_LD_MODULE_CC" = "x" ; then
466 SHARED_LD_MODULE_CC="$SHARED_LD_CC"
467 fi
468 if test "x$SHARED_LD_MODULE_CXX" = "x" ; then
469 SHARED_LD_MODULE_CXX="$SHARED_LD_CXX"
470 fi
471
472 AC_SUBST(SHARED_LD_CC)
473 AC_SUBST(SHARED_LD_CXX)
474 AC_SUBST(SHARED_LD_MODULE_CC)
475 AC_SUBST(SHARED_LD_MODULE_CXX)
476 AC_SUBST(PIC_FLAG)
477 AC_SUBST(WINDOWS_IMPLIB)
478])
479
480
481dnl ---------------------------------------------------------------------------
482dnl AC_BAKEFILE_SHARED_VERSIONS
483dnl
484dnl Detects linker options for attaching versions (sonames) to shared libs.
485dnl ---------------------------------------------------------------------------
486
487AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
488[
489 USE_SOVERSION=0
490 USE_SOVERLINUX=0
491 USE_SOVERSOLARIS=0
492 USE_SOVERCYGWIN=0
493 USE_SOSYMLINKS=0
494 USE_MACVERSION=0
495 SONAME_FLAG=
496
497 case "${BAKEFILE_HOST}" in
5b8deaba
VZ
498 *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
499 *-*-k*bsd*-gnu | *-*-mirbsd* )
9435c35e
VZ
500 if test "x$SUNCXX" = "xyes"; then
501 SONAME_FLAG="-h "
502 else
503 SONAME_FLAG="-Wl,-soname,"
504 fi
948b08e2
VZ
505 USE_SOVERSION=1
506 USE_SOVERLINUX=1
507 USE_SOSYMLINKS=1
508 ;;
509
510 *-*-solaris2* )
511 SONAME_FLAG="-h "
512 USE_SOVERSION=1
513 USE_SOVERSOLARIS=1
514 USE_SOSYMLINKS=1
515 ;;
516
517 *-*-darwin* )
518 USE_MACVERSION=1
519 USE_SOVERSION=1
520 USE_SOSYMLINKS=1
521 ;;
522
523 *-*-cygwin* )
524 USE_SOVERSION=1
525 USE_SOVERCYGWIN=1
526 ;;
527 esac
528
529 AC_SUBST(USE_SOVERSION)
530 AC_SUBST(USE_SOVERLINUX)
531 AC_SUBST(USE_SOVERSOLARIS)
532 AC_SUBST(USE_SOVERCYGWIN)
533 AC_SUBST(USE_MACVERSION)
534 AC_SUBST(USE_SOSYMLINKS)
535 AC_SUBST(SONAME_FLAG)
536])
537
538
539dnl ---------------------------------------------------------------------------
540dnl AC_BAKEFILE_DEPS
541dnl
542dnl Detects available C/C++ dependency tracking options
543dnl ---------------------------------------------------------------------------
544
545AC_DEFUN([AC_BAKEFILE_DEPS],
546[
bd73e184
VZ
547 AC_ARG_ENABLE([dependency-tracking],
548 AS_HELP_STRING([--disable-dependency-tracking],
549 [don't use dependency tracking even if the compiler can]),
550 [bk_use_trackdeps="$enableval"])
2e91a01a 551
948b08e2 552 AC_MSG_CHECKING([for dependency tracking method])
948b08e2 553
97d28c6f 554 BK_DEPS=""
bd73e184 555 if test "x$bk_use_trackdeps" = "xno" ; then
14cde513 556 DEPS_TRACKING=0
bd73e184
VZ
557 AC_MSG_RESULT([disabled])
558 else
559 DEPS_TRACKING=1
560
561 if test "x$GCC" = "xyes"; then
562 DEPSMODE=gcc
563 case "${BAKEFILE_HOST}" in
564 *-*-darwin* )
565 dnl -cpp-precomp (the default) conflicts with -MMD option
566 dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html)
567 DEPSFLAG="-no-cpp-precomp -MMD"
568 ;;
569 * )
570 DEPSFLAG="-MMD"
571 ;;
572 esac
573 AC_MSG_RESULT([gcc])
574 elif test "x$MWCC" = "xyes"; then
575 DEPSMODE=mwcc
576 DEPSFLAG="-MM"
577 AC_MSG_RESULT([mwcc])
578 elif test "x$SUNCC" = "xyes"; then
579 DEPSMODE=unixcc
580 DEPSFLAG="-xM1"
581 AC_MSG_RESULT([Sun cc])
582 elif test "x$SGICC" = "xyes"; then
583 DEPSMODE=unixcc
584 DEPSFLAG="-M"
585 AC_MSG_RESULT([SGI cc])
586 elif test "x$HPCC" = "xyes"; then
587 DEPSMODE=unixcc
588 DEPSFLAG="+make"
589 AC_MSG_RESULT([HP cc])
590 elif test "x$COMPAQCC" = "xyes"; then
591 DEPSMODE=gcc
592 DEPSFLAG="-MD"
593 AC_MSG_RESULT([Compaq cc])
594 else
595 DEPS_TRACKING=0
596 AC_MSG_RESULT([none])
597 fi
948b08e2 598
bd73e184
VZ
599 if test $DEPS_TRACKING = 1 ; then
600 AC_BAKEFILE_CREATE_FILE_BK_DEPS
601 chmod +x bk-deps
97d28c6f
VZ
602 dnl FIXME: make this $(top_builddir)/bk-deps once autoconf-2.60
603 dnl is required (and so top_builddir is never empty):
604 BK_DEPS="`pwd`/bk-deps"
bd73e184 605 fi
948b08e2 606 fi
14cde513 607
948b08e2 608 AC_SUBST(DEPS_TRACKING)
97d28c6f 609 AC_SUBST(BK_DEPS)
948b08e2
VZ
610])
611
612dnl ---------------------------------------------------------------------------
613dnl AC_BAKEFILE_CHECK_BASIC_STUFF
614dnl
615dnl Checks for presence of basic programs, such as C and C++ compiler, "ranlib"
616dnl or "install"
617dnl ---------------------------------------------------------------------------
618
619AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
620[
621 AC_PROG_RANLIB
622 AC_PROG_INSTALL
623 AC_PROG_LN_S
624
625 AC_PROG_MAKE_SET
626 AC_SUBST(MAKE_SET)
2e91a01a 627
97d28c6f
VZ
628 if test "x$SUNCXX" = "xyes"; then
629 dnl Sun C++ compiler requires special way of creating static libs;
630 dnl see here for more details:
631 dnl https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1229751&group_id=9863
2e91a01a
VZ
632 AR=$CXX
633 AROPTIONS="-xar -o"
634 AC_SUBST(AR)
635 elif test "x$SGICC" = "xyes"; then
636 dnl Almost the same as above for SGI mipsPro compiler
637 AR=$CXX
638 AROPTIONS="-ar -o"
97d28c6f 639 AC_SUBST(AR)
97d28c6f
VZ
640 else
641 AC_CHECK_TOOL(AR, ar, ar)
642 AROPTIONS=rcu
643 fi
644 AC_SUBST(AROPTIONS)
645
948b08e2
VZ
646 AC_CHECK_TOOL(STRIP, strip, :)
647 AC_CHECK_TOOL(NM, nm, :)
648
5b8deaba
VZ
649 dnl This check is necessary because "install -d" doesn't exist on
650 dnl all platforms (e.g. HP/UX), see http://www.bakefile.org/ticket/80
651 AC_MSG_CHECKING([for command to install directories])
652 INSTALL_TEST_DIR=acbftest$$
653 $INSTALL -d $INSTALL_TEST_DIR > /dev/null 2>&1
654 if test $? = 0 -a -d $INSTALL_TEST_DIR; then
655 rmdir $INSTALL_TEST_DIR
656 dnl we must refer to makefile's $(INSTALL) variable and not
657 dnl current value of shell variable, hence the single quoting:
658 INSTALL_DIR='$(INSTALL) -d'
659 AC_MSG_RESULT([$INSTALL -d])
660 else
661 INSTALL_DIR="mkdir -p"
662 AC_MSG_RESULT([mkdir -p])
663 fi
948b08e2
VZ
664 AC_SUBST(INSTALL_DIR)
665
666 LDFLAGS_GUI=
667 case ${BAKEFILE_HOST} in
668 *-*-cygwin* | *-*-mingw32* )
669 LDFLAGS_GUI="-mwindows"
670 esac
671 AC_SUBST(LDFLAGS_GUI)
672])
673
674
675dnl ---------------------------------------------------------------------------
676dnl AC_BAKEFILE_RES_COMPILERS
677dnl
678dnl Checks for presence of resource compilers for win32 or mac
679dnl ---------------------------------------------------------------------------
680
681AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
682[
2e91a01a 683 case ${BAKEFILE_HOST} in
948b08e2
VZ
684 *-*-cygwin* | *-*-mingw32* )
685 dnl Check for win32 resources compiler:
891ace05 686 AC_CHECK_TOOL(WINDRES, windres)
948b08e2 687 ;;
2e91a01a 688
948b08e2 689 *-*-darwin* | powerpc-apple-macos* )
891ace05 690 AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
948b08e2
VZ
691 AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
692 ;;
693 esac
694
891ace05
DE
695 AC_SUBST(WINDRES)
696 AC_SUBST(REZ)
948b08e2
VZ
697 AC_SUBST(SETFILE)
698])
699
700dnl ---------------------------------------------------------------------------
701dnl AC_BAKEFILE_PRECOMP_HEADERS
702dnl
703dnl Check for precompiled headers support (GCC >= 3.4)
704dnl ---------------------------------------------------------------------------
705
706AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
707[
708
709 AC_ARG_ENABLE([precomp-headers],
710 AS_HELP_STRING([--disable-precomp-headers],
711 [don't use precompiled headers even if compiler can]),
712 [bk_use_pch="$enableval"])
713
714 GCC_PCH=0
bd73e184
VZ
715 ICC_PCH=0
716 USE_PCH=0
97d28c6f 717 BK_MAKE_PCH=""
948b08e2 718
2e91a01a 719 case ${BAKEFILE_HOST} in
91a1ee86
VZ
720 *-*-cygwin* )
721 dnl PCH support is broken in cygwin gcc because of unportable
722 dnl assumptions about mmap() in gcc code which make PCH generation
723 dnl fail erratically; disable PCH completely until this is fixed
724 bk_use_pch="no"
725 ;;
726 esac
727
948b08e2
VZ
728 if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then
729 if test "x$GCC" = "xyes"; then
730 dnl test if we have gcc-3.4:
731 AC_MSG_CHECKING([if the compiler supports precompiled headers])
732 AC_TRY_COMPILE([],
733 [
734 #if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
27237c37 735 There is no PCH support
948b08e2
VZ
736 #endif
737 #if (__GNUC__ < 3)
27237c37 738 There is no PCH support
948b08e2
VZ
739 #endif
740 #if (__GNUC__ == 3) && \
741 ((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
bd73e184
VZ
742 ( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3))) || \
743 ( defined(__INTEL_COMPILER) )
27237c37 744 There is no PCH support
948b08e2
VZ
745 #endif
746 ],
747 [
748 AC_MSG_RESULT([yes])
749 GCC_PCH=1
750 ],
751 [
05622061
VZ
752 if test "$INTELCXX8" = "yes"; then
753 AC_MSG_RESULT([yes])
754 ICC_PCH=1
755 if test "$INTELCXX10" = "yes"; then
756 ICC_PCH_CREATE_SWITCH="-pch-create"
757 ICC_PCH_USE_SWITCH="-pch-use"
758 else
759 ICC_PCH_CREATE_SWITCH="-create-pch"
760 ICC_PCH_USE_SWITCH="-use-pch"
761 fi
762 else
763 AC_MSG_RESULT([no])
764 fi
948b08e2 765 ])
bd73e184
VZ
766 if test $GCC_PCH = 1 -o $ICC_PCH = 1 ; then
767 USE_PCH=1
948b08e2
VZ
768 AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH
769 chmod +x bk-make-pch
97d28c6f
VZ
770 dnl FIXME: make this $(top_builddir)/bk-make-pch once
771 dnl autoconf-2.60 is required (and so top_builddir is
772 dnl never empty):
773 BK_MAKE_PCH="`pwd`/bk-make-pch"
948b08e2
VZ
774 fi
775 fi
776 fi
777
778 AC_SUBST(GCC_PCH)
bd73e184 779 AC_SUBST(ICC_PCH)
05622061
VZ
780 AC_SUBST(ICC_PCH_CREATE_SWITCH)
781 AC_SUBST(ICC_PCH_USE_SWITCH)
97d28c6f 782 AC_SUBST(BK_MAKE_PCH)
948b08e2
VZ
783])
784
785
786
787dnl ---------------------------------------------------------------------------
788dnl AC_BAKEFILE([autoconf_inc.m4 inclusion])
789dnl
790dnl To be used in configure.in of any project using Bakefile-generated mks
791dnl
792dnl Behaviour can be modified by setting following variables:
793dnl BAKEFILE_CHECK_BASICS set to "no" if you don't want bakefile to
794dnl to perform check for basic tools like ranlib
795dnl BAKEFILE_HOST set this to override host detection, defaults
796dnl to ${host}
797dnl BAKEFILE_FORCE_PLATFORM set to override platform detection
798dnl
799dnl Example usage:
800dnl
801dnl AC_BAKEFILE([FOO(autoconf_inc.m4)])
802dnl
803dnl (replace FOO with m4_include above, aclocal would die otherwise)
804dnl (yes, it's ugly, but thanks to a bug in aclocal, it's the only thing
805dnl we can do...)
806dnl ---------------------------------------------------------------------------
807
808AC_DEFUN([AC_BAKEFILE],
809[
97d28c6f 810 AC_PREREQ([2.58])
948b08e2 811
5b8deaba
VZ
812 dnl We need to always run C/C++ compiler tests, but it's also possible
813 dnl for the user to call these macros manually, hence this instead of
814 dnl simply calling these macros. See http://www.bakefile.org/ticket/64
815 AC_REQUIRE([AC_BAKEFILE_PROG_CC])
816 AC_REQUIRE([AC_BAKEFILE_PROG_CXX])
817
948b08e2 818 if test "x$BAKEFILE_HOST" = "x"; then
bd73e184
VZ
819 if test "x${host}" = "x" ; then
820 AC_MSG_ERROR([You must call the autoconf "CANONICAL_HOST" macro in your configure.ac (or .in) file.])
821 fi
822
948b08e2
VZ
823 BAKEFILE_HOST="${host}"
824 fi
825
826 if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then
827 AC_BAKEFILE_CHECK_BASIC_STUFF
828 fi
829 AC_BAKEFILE_GNUMAKE
830 AC_BAKEFILE_PLATFORM
831 AC_BAKEFILE_PLATFORM_SPECIFICS
832 AC_BAKEFILE_SUFFIXES
833 AC_BAKEFILE_SHARED_LD
834 AC_BAKEFILE_SHARED_VERSIONS
835 AC_BAKEFILE_DEPS
836 AC_BAKEFILE_RES_COMPILERS
837
313b12ad
VZ
838 dnl OBJCFLAGS is set by Autoconf, but OBJCXXFLAGS is not:
839 AC_SUBST(OBJCXXFLAGS)
840
841
574be073 842 BAKEFILE_BAKEFILE_M4_VERSION="0.2.6"
2e91a01a 843
948b08e2
VZ
844 dnl includes autoconf_inc.m4:
845 $1
2e91a01a 846
948b08e2
VZ
847 if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
848 AC_MSG_ERROR([No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?])
849 fi
2e91a01a 850
948b08e2
VZ
851 if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
852 AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
853 fi
854])
2e91a01a 855
948b08e2
VZ
856
857dnl ---------------------------------------------------------------------------
858dnl Embedded copies of helper scripts follow:
859dnl ---------------------------------------------------------------------------
860
948b08e2
VZ
861AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
862[
863dnl ===================== bk-deps begins here =====================
864dnl (Created by merge-scripts.py from bk-deps
865dnl file do not edit here!)
866D='$'
867cat <<EOF >bk-deps
868#!/bin/sh
869
5b8deaba 870# This script is part of Bakefile (http://www.bakefile.org) autoconf
948b08e2
VZ
871# script. It is used to track C/C++ files dependencies in portable way.
872#
873# Permission is given to use this file in any way.
874
875DEPSMODE=${DEPSMODE}
948b08e2 876DEPSFLAG="${DEPSFLAG}"
313b12ad 877DEPSDIRBASE=.deps
948b08e2
VZ
878
879if test ${D}DEPSMODE = gcc ; then
880 ${D}* ${D}{DEPSFLAG}
881 status=${D}?
5b8deaba
VZ
882
883 # determine location of created files:
948b08e2
VZ
884 while test ${D}# -gt 0; do
885 case "${D}1" in
886 -o )
887 shift
888 objfile=${D}1
889 ;;
890 -* )
891 ;;
892 * )
893 srcfile=${D}1
894 ;;
895 esac
896 shift
897 done
313b12ad
VZ
898 objfilebase=\`basename ${D}objfile\`
899 builddir=\`dirname ${D}objfile\`
948b08e2
VZ
900 depfile=\`basename ${D}srcfile | sed -e 's/\\..*${D}/.d/g'\`
901 depobjname=\`echo ${D}depfile |sed -e 's/\\.d/.o/g'\`
313b12ad
VZ
902 depsdir=${D}builddir/${D}DEPSDIRBASE
903 mkdir -p ${D}depsdir
904
5b8deaba
VZ
905 # if the compiler failed, we're done:
906 if test ${D}{status} != 0 ; then
907 rm -f ${D}depfile
908 exit ${D}{status}
909 fi
910
911 # move created file to the location we want it in:
948b08e2 912 if test -f ${D}depfile ; then
313b12ad 913 sed -e "s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
948b08e2
VZ
914 rm -f ${D}depfile
915 else
a1aa0349 916 # "g++ -MMD -o fooobj.o foosrc.cpp" produces fooobj.d
313b12ad 917 depfile=\`echo "${D}objfile" | sed -e 's/\\..*${D}/.d/g'\`
a1aa0349
VZ
918 if test ! -f ${D}depfile ; then
919 # "cxx -MD -o fooobj.o foosrc.cpp" creates fooobj.o.d (Compaq C++)
920 depfile="${D}objfile.d"
921 fi
948b08e2 922 if test -f ${D}depfile ; then
313b12ad 923 sed -e "\\,^${D}objfile,!s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
948b08e2
VZ
924 rm -f ${D}depfile
925 fi
926 fi
927 exit 0
313b12ad 928
948b08e2 929elif test ${D}DEPSMODE = mwcc ; then
4171f4c1 930 ${D}* || exit ${D}?
948b08e2
VZ
931 # Run mwcc again with -MM and redirect into the dep file we want
932 # NOTE: We can't use shift here because we need ${D}* to be valid
933 prevarg=
934 for arg in ${D}* ; do
935 if test "${D}prevarg" = "-o"; then
936 objfile=${D}arg
937 else
938 case "${D}arg" in
939 -* )
940 ;;
941 * )
942 srcfile=${D}arg
943 ;;
944 esac
945 fi
946 prevarg="${D}arg"
947 done
05622061 948
313b12ad
VZ
949 objfilebase=\`basename ${D}objfile\`
950 builddir=\`dirname ${D}objfile\`
951 depsdir=${D}builddir/${D}DEPSDIRBASE
952 mkdir -p ${D}depsdir
953
954 ${D}* ${D}DEPSFLAG >${D}{depsdir}/${D}{objfilebase}.d
948b08e2 955 exit 0
313b12ad 956
948b08e2 957elif test ${D}DEPSMODE = unixcc; then
4171f4c1 958 ${D}* || exit ${D}?
948b08e2
VZ
959 # Run compiler again with deps flag and redirect into the dep file.
960 # It doesn't work if the '-o FILE' option is used, but without it the
961 # dependency file will contain the wrong name for the object. So it is
962 # removed from the command line, and the dep file is fixed with sed.
963 cmd=""
964 while test ${D}# -gt 0; do
965 case "${D}1" in
966 -o )
967 shift
968 objfile=${D}1
969 ;;
970 * )
971 eval arg${D}#=\\${D}1
972 cmd="${D}cmd \\${D}arg${D}#"
973 ;;
974 esac
975 shift
976 done
05622061 977
313b12ad
VZ
978 objfilebase=\`basename ${D}objfile\`
979 builddir=\`dirname ${D}objfile\`
980 depsdir=${D}builddir/${D}DEPSDIRBASE
981 mkdir -p ${D}depsdir
05622061 982
825dbe24 983 eval "${D}cmd ${D}DEPSFLAG" | sed "s|.*:|${D}objfile:|" >${D}{depsdir}/${D}{objfilebase}.d
948b08e2 984 exit 0
313b12ad 985
948b08e2
VZ
986else
987 ${D}*
988 exit ${D}?
989fi
990EOF
991dnl ===================== bk-deps ends here =====================
992])
993
994AC_DEFUN([AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH],
995[
996dnl ===================== shared-ld-sh begins here =====================
997dnl (Created by merge-scripts.py from shared-ld-sh
998dnl file do not edit here!)
999D='$'
1000cat <<EOF >shared-ld-sh
1001#!/bin/sh
1002#-----------------------------------------------------------------------------
1003#-- Name: distrib/mac/shared-ld-sh
1004#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
1005#-- Author: Gilles Depeyrot
1006#-- Copyright: (c) 2002 Gilles Depeyrot
1007#-- Licence: any use permitted
1008#-----------------------------------------------------------------------------
1009
1010verbose=0
1011args=""
1012objects=""
1013linking_flag="-dynamiclib"
1014ldargs="-r -keep_private_externs -nostdlib"
1015
5b8deaba
VZ
1016if test "x${D}CXX" = "x"; then
1017 CXX="c++"
1018fi
1019
948b08e2
VZ
1020while test ${D}# -gt 0; do
1021 case ${D}1 in
1022
1023 -v)
1024 verbose=1
1025 ;;
1026
1027 -o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
1028 # collect these options and values
1029 args="${D}{args} ${D}1 ${D}2"
1030 shift
1031 ;;
5b8deaba
VZ
1032
1033 -arch|-isysroot)
1034 # collect these options and values
1035 ldargs="${D}{ldargs} ${D}1 ${D}2"
1036 shift
1037 ;;
2e91a01a 1038
948b08e2
VZ
1039 -s|-Wl,*)
1040 # collect these load args
1041 ldargs="${D}{ldargs} ${D}1"
1042 ;;
1043
1044 -l*|-L*|-flat_namespace|-headerpad_max_install_names)
1045 # collect these options
1046 args="${D}{args} ${D}1"
1047 ;;
1048
1049 -dynamiclib|-bundle)
1050 linking_flag="${D}1"
1051 ;;
1052
1053 -*)
1054 echo "shared-ld: unhandled option '${D}1'"
1055 exit 1
1056 ;;
1057
1058 *.o | *.a | *.dylib)
1059 # collect object files
1060 objects="${D}{objects} ${D}1"
1061 ;;
1062
1063 *)
1064 echo "shared-ld: unhandled argument '${D}1'"
1065 exit 1
1066 ;;
1067
1068 esac
1069 shift
1070done
1071
1072status=0
1073
1074#
1075# Link one module containing all the others
1076#
1077if test ${D}{verbose} = 1; then
5b8deaba 1078 echo "${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o"
948b08e2 1079fi
5b8deaba 1080${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o
948b08e2
VZ
1081status=${D}?
1082
1083#
1084# Link the shared library from the single module created, but only if the
1085# previous command didn't fail:
1086#
1087if test ${D}{status} = 0; then
1088 if test ${D}{verbose} = 1; then
5b8deaba 1089 echo "${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}"
948b08e2 1090 fi
5b8deaba 1091 ${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}
948b08e2
VZ
1092 status=${D}?
1093fi
1094
1095#
1096# Remove intermediate module
1097#
1098rm -f master.${D}${D}.o
1099
1100exit ${D}status
1101EOF
1102dnl ===================== shared-ld-sh ends here =====================
1103])
1104
1105AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH],
1106[
1107dnl ===================== bk-make-pch begins here =====================
1108dnl (Created by merge-scripts.py from bk-make-pch
1109dnl file do not edit here!)
1110D='$'
1111cat <<EOF >bk-make-pch
1112#!/bin/sh
1113
5b8deaba 1114# This script is part of Bakefile (http://www.bakefile.org) autoconf
948b08e2
VZ
1115# script. It is used to generated precompiled headers.
1116#
1117# Permission is given to use this file in any way.
1118
1119outfile="${D}{1}"
1120header="${D}{2}"
1121shift
1122shift
1123
313b12ad
VZ
1124builddir=\`echo ${D}outfile | sed -e 's,/\\.pch/.*${D},,g'\`
1125
bd73e184
VZ
1126compiler=""
1127headerfile=""
1128
948b08e2 1129while test ${D}{#} -gt 0; do
bd73e184 1130 add_to_cmdline=1
948b08e2
VZ
1131 case "${D}{1}" in
1132 -I* )
1133 incdir=\`echo ${D}{1} | sed -e 's/-I\\(.*\\)/\\1/g'\`
1134 if test "x${D}{headerfile}" = "x" -a -f "${D}{incdir}/${D}{header}" ; then
1135 headerfile="${D}{incdir}/${D}{header}"
1136 fi
1137 ;;
05622061 1138 -use-pch|-use_pch|-pch-use )
bd73e184
VZ
1139 shift
1140 add_to_cmdline=0
1141 ;;
948b08e2 1142 esac
bd73e184
VZ
1143 if test ${D}add_to_cmdline = 1 ; then
1144 compiler="${D}{compiler} ${D}{1}"
1145 fi
948b08e2
VZ
1146 shift
1147done
1148
1149if test "x${D}{headerfile}" = "x" ; then
bd73e184 1150 echo "error: can't find header ${D}{header} in include paths" >&2
948b08e2
VZ
1151else
1152 if test -f ${D}{outfile} ; then
1153 rm -f ${D}{outfile}
1154 else
1155 mkdir -p \`dirname ${D}{outfile}\`
1156 fi
313b12ad
VZ
1157 depsfile="${D}{builddir}/.deps/\`echo ${D}{outfile} | tr '/.' '__'\`.d"
1158 mkdir -p ${D}{builddir}/.deps
bd73e184
VZ
1159 if test "x${GCC_PCH}" = "x1" ; then
1160 # can do this because gcc is >= 3.4:
1161 ${D}{compiler} -o ${D}{outfile} -MMD -MF "${D}{depsfile}" "${D}{headerfile}"
1162 elif test "x${ICC_PCH}" = "x1" ; then
1163 filename=pch_gen-${D}${D}
1164 file=${D}{filename}.c
1165 dfile=${D}{filename}.d
1166 cat > ${D}file <<EOT
1167#include "${D}header"
1168EOT
1169 # using -MF icc complains about differing command lines in creation/use
05622061 1170 ${D}compiler -c ${ICC_PCH_CREATE_SWITCH} ${D}outfile -MMD ${D}file && \\
bd73e184
VZ
1171 sed -e "s,^.*:,${D}outfile:," -e "s, ${D}file,," < ${D}dfile > ${D}depsfile && \\
1172 rm -f ${D}file ${D}dfile ${D}{filename}.o
1173 fi
948b08e2
VZ
1174 exit ${D}{?}
1175fi
1176EOF
1177dnl ===================== bk-make-pch ends here =====================
1178])