1330
|
1 : #-*- Perl -*-
|
|
2
|
|
3 # Create skeleton build tree
|
|
4 #
|
|
5 # Copyright (C) 2003 Ben Wing.
|
|
6 #
|
|
7 # This file is part of XEmacs.
|
|
8 #
|
|
9 # XEmacs is free software; you can redistribute it and/or modify it
|
|
10 # under the terms of the GNU General Public License as published by the
|
|
11 # Free Software Foundation; either version 2, or (at your option) any
|
|
12 # later version.
|
|
13 #
|
|
14 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
|
|
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
16 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
17 # for more details.
|
|
18 #
|
|
19 # You should have received a copy of the GNU General Public License
|
|
20 # along with XEmacs; see the file COPYING. If not, write to
|
|
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
22 # Boston, MA 02111-1307, USA.
|
|
23 #
|
|
24 # Author: Ben Wing <ben@xemacs.org>
|
|
25 #
|
|
26 # Synched up with: Not in FSF.
|
|
27
|
|
28 eval 'exec perl -w -S $0 ${1+"$@"}'
|
|
29 if 0;
|
|
30
|
|
31 use File::Copy;
|
|
32 use File::Basename;
|
|
33 use Cwd;
|
|
34
|
|
35 die "Creates a skeleton build tree for use with SOURCE_DIR in config.inc.
|
|
36
|
|
37 Usage: $0 PATH
|
|
38 " if ($#ARGV);
|
|
39
|
|
40 my $path = $ARGV[0];
|
|
41 # Sometimes perl sucks, too. To get the equivalent of expand-file-name
|
|
42 # in a reliable way, you have to do really weird shit, it seems.
|
|
43 my $cwd = cwd ();
|
|
44 $0 =~ s|\\|/|g;
|
|
45 chdir (dirname ($0));
|
|
46 my $srcroot = dirname (cwd ());
|
|
47
|
|
48 # Convert the path to MS Windows format if we're running Cygwin Perl.
|
|
49 chomp ($srcroot = `cygpath -w $srcroot`) if ($^O eq "cygwin");
|
|
50 $srcroot =~ s|/|\\|g;
|
|
51
|
|
52 chdir ($cwd);
|
|
53
|
|
54 print "Creating skeleton build tree in $path\n";
|
|
55 mkdir $path if ! -e $path;
|
|
56 mkdir "$path/nt" if ! -e "$path/nt";
|
|
57 copy("$srcroot/nt/xemacs.mak", "$path/nt/xemacs.mak") if ! -e "$path/nt/xemacs.mak";
|
|
58
|
|
59 &HackFile ("config.inc.samp");
|
|
60 &HackFile ("config.inc") if -e "$srcroot/nt/config.inc";
|
|
61
|
|
62 sub HackFile
|
|
63 {
|
|
64 my $file = $_[0];
|
|
65 if (! -e "$path/nt/$file")
|
|
66 {
|
|
67 open IN, "<$srcroot/nt/$file";
|
|
68 open OUT, ">$path/nt/$file";
|
|
69
|
|
70 while (<IN>)
|
|
71 {
|
|
72 # Must hack away CRLF junk. Perl sucks again. Wouldn't it be
|
|
73 # nice if perl handled this right?? Really can't be that hard!!!
|
|
74 s/\r\n/\n/g;
|
|
75
|
|
76 # hack the SOURCE_DIR line to point back to the source.
|
|
77 s!^# SOURCE_DIR=.*!SOURCE_DIR=$srcroot!;
|
|
78
|
|
79 print OUT;
|
|
80 }
|
|
81
|
|
82 close IN;
|
|
83 close OUT;
|
|
84 }
|
|
85 }
|