#!/usr/bin/env perl use strict; use warnings; use File::Slurp; my $src_dir = 'src/libswish3'; my $dest_file = 'src/libswish3/libswish3.c'; chomp( my $svn_rev = `svnversion .` ); $svn_rev =~ s/^(\d+).*/$1/; my $version = '0.1.' . $svn_rev; my @files = qw( libswish3.h getruntime.h getruntime.c utf8.c config.c docinfo.c error.c hash.c fs.c io.c mem.c mime_types.c parser.c namedbuffer.c string.c times.c swish.c analyzer.c property.c metaname.c header.c tokenizer.c ); my $includes = < #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_ALLOCA_H # include #elif defined __GNUC__ # define alloca __builtin_alloca #elif defined _AIX # define alloca __alloca #elif defined _MSC_VER # include # define alloca _alloca #else # ifndef HAVE_ALLOCA # ifdef __cplusplus extern "C" # endif void *alloca (size_t); # endif #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined (HAVE_GETRUSAGE) && defined (HAVE_SYS_RESOURCE_H) #include #include #endif #ifdef HAVE_TIMES #ifdef HAVE_SYS_PARAM_H #include #endif #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LIBSWISH3_SINGLE_FILE 1 EOF my @buf = ($includes); for my $file (@files) { my $c = read_file("$src_dir/$file"); if ( $file eq 'libswish3.h' ) { $c =~ s/ VERSION\n/ "$version"\n/s; } push @buf, "\n\n/*************** start $file ************/\n"; push @buf, $c; push @buf, "\n\n/*************** end $file ************/\n"; } write_file( $dest_file, @buf ); print "File written to $dest_file\n";