use strict; use LWP::Simple qw(getstore); use ExtUtils::Command; my $version = shift || die "Usage: getsqlite.pl \n"; print("downloading http://www.sqlite.org/sqlite-$version.tar.gz\n"); if (getstore( "http://www.sqlite.org/sqlite-$version.tar.gz", "sqlite.tar.gz") != 200) { die "Failed to download"; } print("done\n"); rm_rf('sqlite'); xsystem("tar zxvf sqlite.tar.gz"); chdir("sqlite") || chdir("sqlite-$version") || die "SQLite directory not found"; xsystem("sh configure --enable-utf8"); xsystem("make parse.c sqlite3.h opcodes.h opcodes.c"); eval { xsystem("make keywordhash.h") }; my %skip = map { $_ => 1 } map { chomp; $_ } ; warn("Skip: $_\n") for keys %skip; foreach (<*.[ch]>, `find src -name \\*.[ch]`) { chomp; next if $skip{$_}; next if /\btest.*\.c$/; xsystem("cp $_ ../"); } exit(0); sub xsystem { local $, = ", "; print("@_\n"); my $ret = system(@_); if ($ret != 0) { die "system(@_) failed: $?"; } } __DATA__ lempar.c src/threadtest.c src/tclsqlite.c src/shell.c src/lemon.c src/md5.c src/encode.c src/experimental.c