From 24fb67d0959880dec3a0d945e6e599245b2c80f2 Mon Sep 17 00:00:00 2001 From: SANO Masatoshi Date: Sun, 2 Nov 2014 01:45:30 +0900 Subject: [PATCH] delete sbcl.c --- src/Makefile.am | 2 +- src/cmds/install/cmd.c | 17 +++-- src/cmds/install/sbcl-bin.c | 29 ++++++++ src/cmds/install/sbcl.c | 127 ------------------------------------ 4 files changed, 38 insertions(+), 137 deletions(-) delete mode 100644 src/cmds/install/sbcl.c diff --git a/src/Makefile.am b/src/Makefile.am index 2382331..bcd72ec 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,7 +9,7 @@ bin_PROGRAMS = ros ros_SOURCES = lsp.c opt.c download.c util.c archive.c html.c\ cmds/version/cmd.c \ cmds/run/cmd.c cmds/run/sbcl.c\ - cmds/install/cmd.c cmds/install/sbcl.c cmds/install/sbcl-bin.c \ + cmds/install/cmd.c cmds/install/sbcl-bin.c \ cmds/list/cmd.c \ cmds/help/cmd.c \ cmds/config/cmd.c diff --git a/src/cmds/install/cmd.c b/src/cmds/install/cmd.c index 6bbdc0e..82ac2e6 100644 --- a/src/cmds/install/cmd.c +++ b/src/cmds/install/cmd.c @@ -14,8 +14,7 @@ static char *flags =NULL; struct install_impls *install_impl; struct install_impls *impls_to_install[]={ - &impls_sbcl_bin//, - //&impls_sbcl + &impls_sbcl_bin }; extern int extract(const char *filename, int do_extract, int flags,const char* outputpath,Function2 f,void* p); @@ -24,15 +23,15 @@ int installed_p(struct install_options* param) { int ret; char* i; - int pos; char *impl; - pos=position_char("-",param->impl); - if(pos!=-1) { - impl=subseq(param->impl,0,pos); - }else - impl=q(param->impl); - i=s_cat(homedir(),q("impls"),q(SLASH),q(impl),q("-"),q(param->version),q(SLASH),NULL); + + impl=q(param->impl); + i=s_cat(homedir(),q("impls"),q(SLASH),q(param->arch),q(SLASH),q(param->os),q(SLASH), + q(impl),q(SLASH),q(param->version),q(SLASH),NULL); ret=directory_exist_p(i); + if(verbose>0) { + fprintf(stderr,"directory_exist_p(%s)=%d\n",i,ret); + } s(i),s(impl); return ret; } diff --git a/src/cmds/install/sbcl-bin.c b/src/cmds/install/sbcl-bin.c index 6b64b24..59d9525 100644 --- a/src/cmds/install/sbcl-bin.c +++ b/src/cmds/install/sbcl-bin.c @@ -124,6 +124,35 @@ int sbcl_bin_install(struct install_options* param) { } #endif +int sbcl_install(struct install_options* param) { +#ifndef _WIN32 + int ret=1; + char* home= homedir(); + char* impl=param->impl; + char* version=param->version; + char* impl_path= cat(home,"impls",SLASH,param->arch,SLASH,param->os,SLASH,impl,SLASH,version,NULL); + char* src=param->expand_path; + char* sbcl_home=cat(impl_path,"/lib/sbcl",NULL); + char* install_root=q(impl_path); + char* log_path=cat(home,"impls/log/",impl,"-",version,"/install.log",NULL); + printf("installing %s/%s ",impl,version); + ensure_directories_exist(impl_path); + ensure_directories_exist(log_path); + change_directory(src); + setenv("SBCL_HOME",sbcl_home,1); + setenv("INSTALL_ROOT",install_root,1); + + if(system_redirect("sh install.sh",log_path)==-1) { + ret=0; + } + s(home),s(impl_path),s(sbcl_home),s(install_root),s(log_path); + printf("done.\n"); + return ret; +#else + +#endif +} + install_cmds install_sbcl_bin_full[]={ sbcl_version_bin, start, diff --git a/src/cmds/install/sbcl.c b/src/cmds/install/sbcl.c deleted file mode 100644 index cde68a1..0000000 --- a/src/cmds/install/sbcl.c +++ /dev/null @@ -1,127 +0,0 @@ -#include -#include -#include "util.h" -#include "ros_install.h" -#include "opt.h" - -int sbcl_start(struct install_options* param) -{ - if(strcmp(param->impl,"sbcl")==0 && !get_opt("sbcl.compiler")) { - printf("compiler variable 'sbcl.compiler'.assume it as 'sbcl-bin'\n"); - set_opt(&local_opt,"sbcl.compiler",(char*)"sbcl-bin",0); - } - return 1; -} - -char* log_path; -LVal sbcl_make_redirected(LVal v) { - FILE *in,*out; - char c; - int counter=0; - if((out=fopen(log_path,"a"))!=NULL) { - in=(FILE*)v; - fprintf(stderr,"%7d ",0); - while((c = fgetc(in)) != EOF) { - if(c=='\n') { - ++counter; - if(counter%20==0) - fprintf(stderr,"."); - if(counter%1200==0) - fprintf(stderr,"\n%7d ",counter); - fflush(stdout); - } - if (fputc(c, out) == EOF) { - break; - } - } - fclose(out); - } - fprintf(stderr,"\n make done with %dlines output.\n",counter); - return (LVal)NULL; -} - -int sbcl_make(struct install_options* param) { - char* impl=param->impl; - char* version=param->version; - char* home=homedir(); - char* src=cat(home,"src",SLASH,impl,"-",version,NULL); - char* arg0=truename(argv_orig[0]); - char* compiler=cat(arg0," lisp=",get_opt("sbcl.compiler")," --no-rc run --",NULL); - char* cmd=cat("sh make.sh \"--xc-host=",compiler,"\" ","--prefix=",home,"impls",SLASH,param->arch,SLASH,param->os,SLASH,impl,SLASH,version,NULL); - int ret; - log_path=cat(home,"impls/log/",impl,"-",version,"/make.log",NULL); - - printf("Building %s-%s with %s\n",impl,version,compiler); - change_directory(src); - ensure_directories_exist(log_path); - printf("cmd:%s\n",cmd); - ret = system_redirect_function(cmd,sbcl_make_redirected)!=0; - s(home),s(src),s(cmd),s(compiler),s(arg0),s(log_path); - return ret; -} - -int sbcl_install(struct install_options* param) { -#ifndef _WIN32 - int ret=1; - char* home= homedir(); - char* impl=param->impl; - char* version=param->version; - char* impl_path= cat(home,"impls",SLASH,param->arch,SLASH,param->os,SLASH,impl,SLASH,version,NULL); - char* src=param->expand_path; - char* sbcl_home=cat(impl_path,"/lib/sbcl",NULL); - char* install_root=q(impl_path); - char* log_path=cat(home,"impls/log/",impl,"-",version,"/install.log",NULL); - printf("installing %s/%s ",impl,version); - ensure_directories_exist(impl_path); - ensure_directories_exist(log_path); - change_directory(src); - setenv("SBCL_HOME",sbcl_home,1); - setenv("INSTALL_ROOT",install_root,1); - - if(system_redirect("sh install.sh",log_path)==-1) { - ret=0; - } - s(home),s(impl_path),s(sbcl_home),s(install_root),s(log_path); - printf("done.\n"); - return ret; -#else - -#endif -} - -int sbcl_version(struct install_options* param) -{ - if(param->version && strcmp(param->version,"latest")!=0) { - param->version= q(param->version); - return 1; - } - /* TBD */ - printf("detecting versions\n"); - param->version= q("1.2.3"); - return 1; -} - -char* sbcl_uri(struct install_options* param) -{ - char* version=param->version; - return cat("http://sourceforge.net/projects/sbcl/files/sbcl/",version, - "/sbcl-",version,"-source.tar.bz2",NULL); -} - -char* sbcl_extention(struct install_options* param) -{ - return "tar.bz2"; -} - -install_cmds install_sbcl_full[]={ - sbcl_version, - sbcl_start, - start, - download, - expand, - sbcl_make, - sbcl_install, - NULL -}; - -struct install_impls impls_sbcl={ "sbcl", install_sbcl_full,sbcl_uri,sbcl_extention};