Index: genini =================================================================== RCS file: /cvs/cygwin-apps/genini/genini,v retrieving revision 1.13 diff -u -p -r1.13 genini --- genini 21 Jul 2010 15:02:30 -0000 1.13 +++ genini 16 Jul 2013 21:55:17 -0000 @@ -14,16 +14,26 @@ use strict; sub mywarn(@); sub myerror(@); sub usage(); +sub arch_handler(@); my @okmissing = qw'message ldesc'; my ($outfile, $help, $recursive); +my $arch = 'x86'; +my $release = 'cygwin'; my @cmp_fmts = qw(gz bz2 lzma xz); -GetOptions('okmissing=s'=>\@okmissing, 'output=s'=>\$outfile, 'help'=>\$help, 'recursive'=>\$recursive) or usage; +GetOptions('okmissing=s'=>\@okmissing, 'output=s'=>\$outfile, 'help'=>\$help, 'release=s'=>\$release, 'arch=s'=>\&arch_handler, 'recursive'=>\$recursive) or usage; $help and usage; @main::okmissing{@okmissing} = @okmissing; +sub arch_handler (@) { + my ($opt_name, $opt_value) = @_; + die "invalid arch specified: '$opt_value'" + unless $main::valid_arch{lc $opt_value}; + $arch = $opt_value; +} + if (defined($outfile)) { open(STDOUT, '>', $outfile) or die "$0: can't open $outfile - $!\n"; } @@ -46,6 +56,8 @@ print <<'EOF'; EOF my $ts = time(); +print "release: $release\n"; +print "arch: $arch\n"; print "setup-timestamp: $ts\n"; print "$main::setup_version\n" if $main::setup_version; @@ -277,6 +289,9 @@ Create cygwin setup.ini from setup.ini, missing tarballs. --okmissing=source is useful for LOCAL-ONLY[*] srcless install media. --recursive recurse all subdirectories of specified dirs + --arch=x86|x64_86 Must be either x86 or x64_86. Defaults to x86. + --release=string repository id: cygwin, cygwinports, etc. Defaults + to cygwin. --output=file output setup.ini info to file --help display this message @@ -289,10 +304,13 @@ EOF BEGIN { my @cats = qw' - Admin Archive Audio Base Comm Database Devel Doc Editors Games + Admin Archive Audio Base Comm Database Debug Devel Doc Editors Games Gnome Graphics Interpreters KDE Libs Mail Math Mingw Net Perl Publishing Python Science Shells Sound System Text Utils Web X11 _obsolete _PostInstallLast '; @main::categories{map {lc $_} @cats} = @cats; + + my @archs = qw'x86 x86_64'; + @main::valid_arch{map {lc $_} @archs} = @archs; }