Skip to content
Snippets Groups Projects
Commit aecb1bfa authored by Fredrik Hübinette (Hubbe)'s avatar Fredrik Hübinette (Hubbe)
Browse files

some fixes to make sure .o files are removed/updated properly

Rev: bin/install.pike:1.3
Rev: src/dumpmodule.pike:1.2
parent 655982a5
No related branches found
No related tags found
No related merge requests found
#!/usr/local/bin/pike #!/usr/local/bin/pike
int last_len; int last_len;
int redump_all;
string pike; string pike;
array(string) to_dump=({}); array(string) to_dump=({});
...@@ -57,17 +58,16 @@ int compare_files(string a,string b) ...@@ -57,17 +58,16 @@ int compare_files(string a,string b)
return 0; return 0;
} }
void install_file(string from, int low_install_file(string from,
string to, string to,
void|int mode, void|int mode)
void|int dump)
{ {
status("installing",to); status("installing",to);
if(compare_files(from,to)) if(compare_files(from,to))
{ {
status("installing",to,"Already installed"); status("installing",to,"Already installed");
return; return 0;
} }
mkdirhier(dirname(to)); mkdirhier(dirname(to));
switch(query_num_arg()) switch(query_num_arg())
...@@ -94,7 +94,16 @@ void install_file(string from, ...@@ -94,7 +94,16 @@ void install_file(string from,
if(!mv(tmpfile,to)) if(!mv(tmpfile,to))
fail("mv(%s,%s)",tmpfile,to); fail("mv(%s,%s)",tmpfile,to);
if(dump) return 1;
}
int install_file(string from,
string to,
void|int mode,
void|int dump)
{
int ret=install_file(from,to,mode);
if((ret || redump_all) && dump)
{ {
switch(reverse(to)[..4]) switch(reverse(to)[..4])
{ {
...@@ -104,6 +113,7 @@ void install_file(string from, ...@@ -104,6 +113,7 @@ void install_file(string from,
to_dump+=({to}); to_dump+=({to});
} }
} }
return ret;
} }
string stripslash(string s) string stripslash(string s)
...@@ -181,7 +191,10 @@ int main(int argc, string *argv) ...@@ -181,7 +191,10 @@ int main(int argc, string *argv)
mixed err=catch { mixed err=catch {
pike=combine_path(getenv("exec_prefix"),"pike"); pike=combine_path(getenv("exec_prefix"),"pike");
write("\nInstalling Pike... in %s\n\n",getenv("prefix")); write("\nInstalling Pike... in %s\n\n",getenv("prefix"));
install_file("pike",pike); if(install_file("pike",pike))
{
redump_all=1;
}
install_file("hilfe",combine_path(getenv("exec_prefix"),"hilfe")); install_file("hilfe",combine_path(getenv("exec_prefix"),"hilfe"));
install_dir(getenv("TMP_LIBDIR"),getenv("lib_prefix"),1); install_dir(getenv("TMP_LIBDIR"),getenv("lib_prefix"),1);
install_dir(getenv("LIBDIR_SRC"),getenv("lib_prefix"),1); install_dir(getenv("LIBDIR_SRC"),getenv("lib_prefix"),1);
...@@ -216,7 +229,7 @@ int main(int argc, string *argv) ...@@ -216,7 +229,7 @@ int main(int argc, string *argv)
string master=combine_path(getenv("lib_prefix"),"master.pike"); string master=combine_path(getenv("lib_prefix"),"master.pike");
mixed s1=file_stat(master); mixed s1=file_stat(master);
mixed s2=file_stat(master+".o"); mixed s2=file_stat(master+".o");
if(!s1 || !s2 || s1[3]>=s2[3]) if(!s1 || !s2 || s1[3]>=s2[3] || redump_all)
{ {
Process.create_process( ({pike,"-m",combine_path(getenv("SRCDIR"),"dumpmaster.pike"),master}))->wait(); Process.create_process( ({pike,"-m",combine_path(getenv("SRCDIR"),"dumpmaster.pike"),master}))->wait();
} }
......
...@@ -92,6 +92,7 @@ int main(int argc, string *argv) ...@@ -92,6 +92,7 @@ int main(int argc, string *argv)
{ {
werror(file +": "); werror(file +": ");
mixed err=catch { mixed err=catch {
rm(file+".o"); // Make sure no old files are left
if(mixed s=file_stat(file)) if(mixed s=file_stat(file))
{ {
if(s[1]<=0) if(s[1]<=0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment