diff --git a/bin/export.lpc b/bin/export.lpc index 4e1fab45495b460aed1de3be5df037de4b35a0e8..038007c1f2b3987d313fca199f28257ee06e7129 100755 --- a/bin/export.lpc +++ b/bin/export.lpc @@ -23,11 +23,27 @@ string *get_files(string path) return ret; } +void fix_configure(string dir) +{ + int *config,*config_in; + config=file_stat(dir+"/configure"); + config_in=file_stat(dir+"/configure.in"); + + if(config_in) + { + if(!config || config_in[3] > config[3]) + { + perror("Fixing configure in "+dir+".\n"); + system("cd "+dir+" ; autoconf"); + } + } +} + int main(int argc, string *argv) { mixed tmp; int e; - string files; + string *files; string s=replace(version()," ","_"); tmp=explode(argv[0],"/"); @@ -44,6 +60,12 @@ int main(int argc, string *argv) cd(tmp*"/"); perror("Sourcedir = "+tmp*"/"+"/ulpc\n"); + fix_configure("ulpc/src"); + + foreach(get_dir("ulpc/src/modules") - ({"CVS","RCS"}), tmp) + if(file_size("ulpc/src/modules/"+tmp) == -2) + fix_configure("modules/"+tmp); + files=sum(({ "ulpc/README" }), get_files("ulpc/src"), get_files("ulpc/doc"),