[go: up one dir, main page]

File: autoconf.cook

package info (click to toggle)
cook 2.29-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,656 kB
  • ctags: 4,083
  • sloc: ansic: 47,636; sh: 14,376; makefile: 4,656; yacc: 3,166; perl: 224; awk: 219
file content (98 lines) | stat: -rw-r--r-- 3,058 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
 *      cook - file construction tool
 *      Copyright (C) 2002-2004, 2007 Peter Miller;
 *      All rights reserved.
 *
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
 *
 * MANIFEST: Instructions to Cook, how to use GNU Autoconf
 */

configure: etc/configure.ac install-sh
{
        if [not [exists install-sh]] then
        {
                /*
                 * Cook says it is up-to-date, so it must be in the
                 * baseline; autoconf needs it in the current directory.
                 */
                cp [resolve install-sh] .
                        set clearstat;
        }
        autoconf [resolve etc/configure.ac] > [target];
        chmod 755 [target];
}

/*
 * The install-sh script can come from a huge range of places, depending
 * on what distribution you have installed (or whether you built it from
 * the tarball).
 */
loop install-sh-maybe =
    /usr/share/autoconf/install-sh
    [glob /usr/share/automake*/install-sh]
    /usr/local/share/autoconf/install-sh
    [glob /usr/local/share/automake*/install-sh]
{
    if [exists [install-sh-maybe]] then
    {
        install-sh = [install-sh-maybe];
        loopstop;
    }
}
if [not [install-sh]] then
    fail "Can't locate the ``install-sh'' script from GNU automake";

install-sh: [install-sh]
{
        cp [need] [target];
        chmod 755 [target];
}


[arch]/config.status: configure install-sh
{
        if [not [exists install-sh]] then
        {
                /*
                 * Cook says it is up-to-date, so it must be in the
                 * baseline; autoconf needs it in the current directory.
                 */
                cp [resolve install-sh] .
                        set clearstat;
        }
        ./[resolve configure] --cache-file\=/dev/null --verbose --no-create;
        mv config.status [arch]/config.status;
}

common/config.h.in: etc/configure.ac
{
        autoheader [resolve etc/configure.ac] > [target];
}


[arch]/%0%.h: %0%.h.in [arch]/config.status
        single-thread conftest.subs
{
        CONFIG_FILES\= CONFIG_HEADERS\=[target]\:[resolve %0%.h.in]
                [resolve [arch]/config.status];
}

[arch]/%0%: %0%.in [arch]/config.status
        single-thread conftest.subs
{
        CONFIG_FILES\=[target]\:[resolve %0%.in] CONFIG_HEADERS\=
                [resolve [arch]/config.status];
}