Bug #50258 dbug/Makefile.in is inconsistent with references to factorial utility
Submitted: 12 Jan 2010 0:06 Modified: 16 Jan 2014 12:55
Reporter: Eric Melski Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1.43, 5.5.0, 6.0.14 OS:Any
Assigned to: CPU Architecture:Any
Tags: Contribution

[12 Jan 2010 0:06] Eric Melski
Description:
In most places, dbug/Makefile.in refers to the "factorial" utility as "factorial$(EXEEXT)".  In a few places, it refers to it as simply "factorial".  This is inconsistent and technically incorrect on Windows, where the program is actually "factorial.exe", not "factorial".  It happens to work presently because Cygwin automatically looks for "foo.exe" when a program (gmake, in this case) tries to find simply "foo" when "foo" does not exist.

Other, non-Cygwin-based, make utilities on Windows may not have this behavior, and there's no way to know if Cygwin will always provide this feature.  It would be best to correct the makefile.

How to repeat:
Build from source on Windows, inspect dbug/Makefile after running ./configure.

Suggested fix:
This patch corrects the Makefile:

--- dbug/Makefile.in 2009-12-05 09:27:52.000000000 -0800
+++ dbug/Makefile.in     2010-01-11 15:31:30.000000000 -0800
@@ -745,20 +745,20 @@
 user.ps:       user.r $(NROFF_INC)
                -groff -mm user.r > $@
 
-output1.r:      factorial
-               ./factorial 1 2 3 4 5 | cat > $@
+output1.r:      factorial$(EXEEXT)
+               ./factorial$(EXEEXT) 1 2 3 4 5 | cat > $@
 
-output2.r:      factorial
-               ./factorial -\#t:o 2 3 | cat >$@
+output2.r:      factorial$(EXEEXT)
+               ./factorial$(EXEEXT) -\#t:o 2 3 | cat >$@
 
-output3.r:      factorial
-               ./factorial -\#d:t:o 3 | cat >$@
+output3.r:      factorial$(EXEEXT)
+               ./factorial$(EXEEXT) -\#d:t:o 3 | cat >$@
 
-output4.r:      factorial
-               ./factorial -\#d,result:o 4 | cat >$@
+output4.r:      factorial$(EXEEXT)
+               ./factorial$(EXEEXT) -\#d,result:o 4 | cat >$@
 
-output5.r:      factorial
-               ./factorial -\#d:f,factorial:F:L:o 3 | cat >$@
+output5.r:      factorial$(EXEEXT)
+               ./factorial$(EXEEXT) -\#d:f,factorial:F:L:o 3 | cat >$@
 .c.r:
                @RM@ -f $@
                @SED@ -e 's!\\!\\\\!g' $< > $@
[12 Jan 2010 4:24] Valeriy Kravchuk
Thank you for the problem report and patch contributed. Verified by code review.
[5 Feb 2010 15:42] Lenz Grimmer
Hi Eric! Thank you very much for your patch contribution.

In order for us to accept you patch, We have to ask you for one small favour -
could you please send us a signed and filled out copy of the Sun Contributor
Agreement (SCA) as outlined on this page?

  http://forge.mysql.com/wiki/Contributing_Code#Paperwork

You will only have to do this once and it's valid for all other Sun-governed
Open Source projects as well.

Please let me know, if you have any questions or concerns about this!
about this. Thanks!
[16 Jan 2014 12:54] Ståle Deraas
Posted by developer:
 
Autotools specific.