summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure3
-rw-r--r--util.c2
-rw-r--r--utils/perlcc.PL2
3 files changed, 6 insertions, 1 deletions
diff --git a/Configure b/Configure
index 94fd519c31..475a8dfcc5 100755
--- a/Configure
+++ b/Configure
@@ -2358,6 +2358,9 @@ EOM
qnx) osname=qnx
osvers="$4"
;;
+ cygwin*) osname=cygwin
+ osvers="$3"
+ ;;
$2) case "$osname" in
*isc*) ;;
*freebsd*) ;;
diff --git a/util.c b/util.c
index 17d94db29a..2ecb73a5cc 100644
--- a/util.c
+++ b/util.c
@@ -1889,7 +1889,7 @@ Perl_my_setenv_init(char ***penviron)
}
void
-Perl_my_setenv(char *nam, char *val)
+Perl_my_setenv(pTHX_ char *nam, char *val)
{
/* You can not directly manipulate the environ[] array because
* the routines do some additional work that syncs the Cygwin
diff --git a/utils/perlcc.PL b/utils/perlcc.PL
index 734b20a667..24eb0b30c3 100644
--- a/utils/perlcc.PL
+++ b/utils/perlcc.PL
@@ -376,6 +376,8 @@ sub _ccharness
}
my $libs = _getSharedObjects($sourceprog);
+ @$libs = grep { !(/DynaLoader\.a$/ && ($dynaloader = $_)) } @$libs
+ if($^O =~ /cygwin/i);
my $ccflags = $Config{ccflags};
$ccflags .= ' -DUSEIMPORTLIB' if $Config{osname} =~ /cygwin/i;