Follow-up Comment #1, bug #15937 (project make): > default_names attempts to avoid testing with only makefile > and Makefile present on case-insensitive file systems > (DOS/WIN32 platforms) by using the test: > if ($port_type eq 'UNIX') > > Unfortunately, Cygwin was set to 'UNIX' (the default > assignment) and failed the test.
Yeah! This is the only failing test on my Cygwin build of GNU make 3.81rc1. To be honest, I noticed this problem in features/default_names when I was porting GNU make 3.81beta4's test suit to my project a few weeks ago. > --- SOLUTION: > > Modify tests/run_make_tests.pl, as follows: > > # This is probably not specific enough. > # > if ($osname =~ /Windows/i || $osname =~ /MINGW32/i || $osname =~ /CYGWIN_NT/i) { > $port_type = 'W32'; > } I disagree. IMHO, your patch is not general enough. My personal fix is as following: > $me = $0; > $me =~ s/[a-z]+/uc($&)/ge or > $me =~ s/[A-Z]+/lc($&)/ge; > $CASE_SENSITIVE = not -f $me; > ... > if ($CASE_SENSITIVE) { > # blah blah blah... > } I'm not sure if very old perl interpreters support the special variable `$0'. In case that you know the path of your test script in advance, you can modify the code given above without using `$0': > $path = 'scripts/features'; > $me = "$path/default_names"; > ... The essence is: any platforms which are case-insensitive to file names should be taken into account. So there won't be any bug reports when other Cygwin-like monsters born out in the future. :=) Agent _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15937> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make