Don't tie the script name to the .exe.so name.

This commit is contained in:
Dimitrie O. Paun 2004-03-03 20:11:20 +00:00 committed by Alexandre Julliard
parent b2791bde3f
commit 2ab690bcbb
3 changed files with 10 additions and 10 deletions

View File

@ -187,7 +187,7 @@ char* get_basename(const char* file)
return base_name;
}
void create_file(const char* name, const char* fmt, ...)
void create_file(const char* name, int mode, const char* fmt, ...)
{
va_list ap;
FILE *file;
@ -198,6 +198,7 @@ void create_file(const char* name, const char* fmt, ...)
error ("Can not create %s.", name);
vfprintf(file, fmt, ap);
va_end(ap);
fchmod(fileno(file), mode);
fclose(file);
}

View File

@ -59,7 +59,7 @@ typedef enum {
} file_type;
char* get_basename(const char* file);
void create_file(const char* name, const char* fmt, ...);
void create_file(const char* name, int mode, const char* fmt, ...);
file_type get_file_type(const char* filename);
file_type get_lib_type(strarray* path, const char* library, char** file);
void spawn(const strarray* arr);

View File

@ -133,11 +133,11 @@ static const char *app_loader_template =
"\n"
"# figure out the full app path\n"
"if [ -n \"$appdir\" ]; then\n"
" apppath=\"$appdir/$appname.exe.so\"\n"
" apppath=\"$appdir/$appname\"\n"
" WINEDLLPATH=\"$appdir:$WINEDLLPATH\"\n"
" export WINEDLLPATH\n"
"else\n"
" apppath=\"$appname.exe.so\"\n"
" apppath=\"$appname\"\n"
"fi\n"
"\n"
"# determine the WINELOADER\n"
@ -363,7 +363,10 @@ static void build(struct options* opts)
else base_name = base_file;
if (opts->files->size == 1 && strendswith(opts->files->base[0], ".exe.so"))
goto only_app_loader;
{
create_file(base_file, 0755, app_loader_template, opts->files->base[0]);
return;
}
/* prepare the linking path */
lib_dirs = strarray_dup(opts->lib_dirs);
@ -511,12 +514,8 @@ static void build(struct options* opts)
spawn(link_args);
/* create the loader script */
only_app_loader:
if (generate_app_loader)
{
create_file(base_file, app_loader_template, base_name);
chmod(base_file, 0755);
}
create_file(base_file, 0755, app_loader_template, strmake("%s.exe.so", base_name));
}