Fixed message typo.
[captive.git] / autogen.pl
1 #! /usr/bin/perl
2
3 # $Id$
4 # Run to generate the initial Makefiles etc. after CVS checkout.
5 # Copyright (C) 2002 Jan Kratochvil <project-captive@jankratochvil.net>
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; exactly version 2 of June 1991 is required
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20
21 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
22 use vars qw($VERSION);
23 $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
24 use strict;
25 use warnings;
26
27 use lib "./macros/";
28 use AutoGen;
29
30 use Carp qw(cluck confess);
31
32
33 AutoGen->run(
34                 "name"=>"captive",
35                 "COPYRIGHT_HOLDER"=>'Jan Kratochvil <project-captive@jankratochvil.net>',
36                 "ARGV"=>\@ARGV,
37                 "gtk-doc-dir"=>"./doc/apiref/",
38                 "clean"=>[qw(
39                                 _include_test_false.c
40                                 .include_test_all.stamp
41                                 *.pod.pl *.pod *.[0-9]
42                                 ./ChangeLog.bak
43                                 ./debian/changelog
44                                 ./doc/*-pod.*
45                                 ./doc/apiref/gtk-doc.make
46                                 ./doc/apiref/gtk-doc.make-captive
47                                 ./fonts/fonts.conf
48                                 ./src/client/bug-replay/captive-bug-replay
49                                 ./src/client/cmdline/captive-cmdline
50                                 ./src/client/lufs/mount.captive
51                                 ./src/client/fuse/mount.captive
52                                 ./src/client/fuse/captive
53                                 ./src/client/fuse/captive-fusermount
54                                 ./src/client/sandbox-server/captive-sandbox-server
55                                 ./src/client/gnomevfs/captive.conf
56                                 ./src/install/fstab/captive-install-fstab
57                                 ./src/install/acquire/captive-install-acquire
58                                 ./src/install/acquire/ui-gnome-callbacks.[ch]
59                                 ./src/install/acquire/ui-gnome-interface.[ch]
60                                 ./src/install/acquire/ui-gnome-support.[ch]
61                                 ./src/install/acquire/ui-gnome.glade.bak
62                                 ./src/install/acquire/ui-gnome.gladep.bak
63                                 ./src/install/acquire/gnome_vfs_read_entire_file.c
64                                 ./src/libcaptive/cc/marshallers.[ch]
65                                 ./src/libcaptive/client/marshallers.[ch]
66                                 ./src/libcaptive/ke/exports.c
67                                 ./src/libcaptive/reactos/*/*.[cS]
68                                 ./src/libcaptive/sandbox/sandbox-common.c
69                                 ./src/libcaptive/sandbox/sandbox-skels.c
70                                 ./src/libcaptive/sandbox/sandbox-stubs.c
71                                 ./src/libcaptive/sandbox/sandbox.h
72                                 ./src/libcaptive/sandbox/sandbox-skelimpl.c
73                                 ./src/TraceFS/TraceFS-W32/obj
74                                 ./src/TraceFS/TraceFS-W32/objchk
75                                 ./src/TraceFS/TraceFS-W32/objfre
76                                 ./src/TraceFS/TraceFS-W32/buildchk.log
77                                 ./src/TraceFS/TraceFS-W32/buildchk.wrn
78                                 ./src/TraceFS/TraceFS-W32/buildchk.err
79                                 ./src/TraceFS/TraceFS-W32/buildfre.log
80                                 ./src/TraceFS/TraceFS-W32/buildfre.wrn
81                                 ./src/TraceFS/TraceFS-W32/buildfre.err
82                                 )],
83                 "prep"=>sub {
84                                 # For conflicting object basenames in convenient libraries:
85                                 AutoGen->checkcommandversion("libtoolize","1.5");
86                                 # 1.5 for AM_PROG_AS.
87                                 # 1.6 to prevent weird error wrt 'SANDBOX_IDL_SOURCES':
88                                 AutoGen->checkcommandversion("automake","1.6");
89
90                                 AutoGen::_system "gtkdocize --copy --docdir doc/apiref/";
91                                 for my $fname ("doc/apiref/gtk-doc.make") {
92                                         my $gtk_doc_make=AutoGen::_readfile $fname;
93                                         for my $keyword (qw(EXTRA_DIST CLEANFILES)) {
94                                                 $gtk_doc_make=~s/^$keyword =/$keyword +=/m or confess "$keyword not found in $fname";
95                                                 }
96                                         $gtk_doc_make=~s/^(dist-hook): dist-check-gtkdoc (dist-hook-local)$/$1: $2\n\nDISABLED_$&/m;
97                                         AutoGen::_writefile "$fname-captive",$gtk_doc_make;
98                                         }
99                                 for my $dir ("./src/install/acquire/cabextract") {
100                                         if (!-f "$dir/cabextract.c" || -f "$dir/configure.in") {
101                                                 do { system $_ and die "$_: $!"; } for ("cvs update -kk -r captive $dir");
102                                                 }
103                                         }
104                                 1;
105                                 },
106                 );