Commit 2ab690bc authored by Dimitrie O. Paun's avatar Dimitrie O. Paun Committed by Alexandre Julliard

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

parent b2791bde
...@@ -187,7 +187,7 @@ char* get_basename(const char* file) ...@@ -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, ...) ...@@ -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 { ...@@ -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 = ...@@ -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) ...@@ -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) ...@@ -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);
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment