mirror of
https://github.com/reactos/wine.git
synced 2025-02-12 07:32:23 +00:00
Don't tie the script name to the .exe.so name.
This commit is contained in:
parent
b2791bde3f
commit
2ab690bcbb
@ -187,7 +187,7 @@ char* get_basename(const char* file)
|
|||||||
return base_name;
|
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;
|
va_list ap;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
@ -198,6 +198,7 @@ void create_file(const char* name, const char* fmt, ...)
|
|||||||
error ("Can not create %s.", name);
|
error ("Can not create %s.", name);
|
||||||
vfprintf(file, fmt, ap);
|
vfprintf(file, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
fchmod(fileno(file), mode);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ typedef enum {
|
|||||||
} file_type;
|
} file_type;
|
||||||
|
|
||||||
char* get_basename(const char* file);
|
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_file_type(const char* filename);
|
||||||
file_type get_lib_type(strarray* path, const char* library, char** file);
|
file_type get_lib_type(strarray* path, const char* library, char** file);
|
||||||
void spawn(const strarray* arr);
|
void spawn(const strarray* arr);
|
||||||
|
@ -133,11 +133,11 @@ static const char *app_loader_template =
|
|||||||
"\n"
|
"\n"
|
||||||
"# figure out the full app path\n"
|
"# figure out the full app path\n"
|
||||||
"if [ -n \"$appdir\" ]; then\n"
|
"if [ -n \"$appdir\" ]; then\n"
|
||||||
" apppath=\"$appdir/$appname.exe.so\"\n"
|
" apppath=\"$appdir/$appname\"\n"
|
||||||
" WINEDLLPATH=\"$appdir:$WINEDLLPATH\"\n"
|
" WINEDLLPATH=\"$appdir:$WINEDLLPATH\"\n"
|
||||||
" export WINEDLLPATH\n"
|
" export WINEDLLPATH\n"
|
||||||
"else\n"
|
"else\n"
|
||||||
" apppath=\"$appname.exe.so\"\n"
|
" apppath=\"$appname\"\n"
|
||||||
"fi\n"
|
"fi\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# determine the WINELOADER\n"
|
"# determine the WINELOADER\n"
|
||||||
@ -363,7 +363,10 @@ static void build(struct options* opts)
|
|||||||
else base_name = base_file;
|
else base_name = base_file;
|
||||||
|
|
||||||
if (opts->files->size == 1 && strendswith(opts->files->base[0], ".exe.so"))
|
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 */
|
/* prepare the linking path */
|
||||||
lib_dirs = strarray_dup(opts->lib_dirs);
|
lib_dirs = strarray_dup(opts->lib_dirs);
|
||||||
@ -511,12 +514,8 @@ static void build(struct options* opts)
|
|||||||
spawn(link_args);
|
spawn(link_args);
|
||||||
|
|
||||||
/* create the loader script */
|
/* create the loader script */
|
||||||
only_app_loader:
|
|
||||||
if (generate_app_loader)
|
if (generate_app_loader)
|
||||||
{
|
create_file(base_file, 0755, app_loader_template, strmake("%s.exe.so", base_name));
|
||||||
create_file(base_file, app_loader_template, base_name);
|
|
||||||
chmod(base_file, 0755);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user