Winelib Getting Started 1.3.2. Test Drive

Eric Frias efrias at syncad.com
Tue Jun 20 09:30:16 CDT 2006


Alexandre Julliard wrote:

>Eric Frias <efrias at syncad.com> writes:
>
>>here is one other part that is out-of-date: the procedure described
>>won't create the 'notepad2' script.
>>
>winegcc should create the script. If it doesn't it's probably because
>winemaker is not invoking it correctly.
>
That was the problem.  Winemaker was invoking 'winegcc -o foo.exe.so', 
which suppresses the wrapper script.  If it's invoked as 'winegcc -o 
foo.exe' it generates the wrapper script as desired.  Something like the 
attached patch should fix the problem.

Eric
-------------- next part --------------
--- wine-0.9.15/tools/winemaker	2006-06-08 15:06:43.000000000 +0000
+++ ../wine-0.9.15/tools/winemaker	2006-06-20 14:17:36.000000000 +0000
@@ -1749,7 +1749,11 @@
       } else {
         print FILEO "\t\$(CC)";
       }
-      print FILEO " \$(${canon}_LDFLAGS) -o \$\@ \$(${canon}_OBJS) \$(${canon}_LIBRARY_PATH) \$(DEFLIB) \$(${canon}_DLLS:%=-l%) \$(${canon}_LIBRARIES:%=-l%)\n";
+
+      # for .EXEs, tell winegcc to generate 'foo.exe', which will cause it 
+      # to generate both 'foo.exe.so' and the 'foo' wrapper script.
+      my $output_file = @$target[$T_TYPE] == $TT_DLL ? "\$\@" : "\$(${canon}_MODULE)";
+      print FILEO " \$(${canon}_LDFLAGS) -o $output_file \$(${canon}_OBJS) \$(${canon}_LIBRARY_PATH) \$(DEFLIB) \$(${canon}_DLLS:%=-l%) \$(${canon}_LIBRARIES:%=-l%)\n";
       print FILEO "\n\n";
     }
   }


More information about the wine-devel mailing list