summaryrefslogtreecommitdiff
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* handle existing mkstemp() in mingw-w64-v4KMX2015-05-213-1/+7
|
* perldelta is now the perl5220deltaRicardo Signes2015-05-083-8/+8
|
* bump version to v5.22.0 with Porting/bump-perl-versionRicardo Signes2015-05-083-15/+15
|
* Bump version for 5.21.12 (although it's unlikely to happen)Steve Hay2015-04-212-2/+2
|
* Create new perldelta for 5.21.12 (although it's unlikely to happen)Steve Hay2015-04-203-4/+8
|
* fix dmake test for gccTony Cook2015-04-071-3/+6
| | | | | | | | a752046a added TESTPREPGCC to allow VC++ builds to succeed, but unfortunately defined TESTPREPGCC after use, which meant the test-prep-gcc target wasn't being treated as a dependency. Define TESTPREPGCC earlier.
* fix #123976 Win32 GCC miniperl needs -fno-strict-aliasingDaniel Dragan2015-04-061-0/+1
| | | | just like full perl uses -fno-strict-aliasing
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-6/+1
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* Bump version for 5.21.11 (if that happens)Steve Hay2015-03-202-2/+2
|
* Create new perldelta for 5.21.11 (if that happens)Steve Hay2015-03-203-4/+8
|
* Change name of mro.cKarl Williamson2015-03-193-4/+4
| | | | | | | | | This is to prevent a conflict showing up on z/OS (os390) because this file's name is the same as one in /ext, and there are functions cross-referenced between them, and the loader on that platform can't deal with this. See http://nntp.perl.org/group/perl.perl5.porters/226612
* added link to announcementSawyer X2015-02-212-2/+2
|
* new delta for 5.21.10Sawyer X2015-02-213-4/+8
|
* restore VC with dmake after commit "Fix minitest (op/taint.t) for GCC 4.x"Daniel Dragan2015-02-161-3/+7
| | | | | | | | | | | | | | | | commit dbf36b7ad7 broke VC with dmake building by not defining the test-prep-gcc target for VC builds. Instead of using $(NOOP), which incurs the cost of dmake lauching another cmd.exe process to execute "rem", use make lang preprocessor directives. Example of error C:\perl521\src\win32>dmake test .......normal building here..... ........cut......... ..\miniperl.exe -I..\lib ..\pod\perlmodlib.PL -q .. ..\perl.exe -f ..\pod\buildtoc -q dmake: Error: -- `test-prep-gcc' not found, and can't be made C:\perl521\src\win32>
* (rmv dead -I paths for mktables + rmv copying non-existant path) on Win32Daniel Dragan2015-02-162-4/+2
| | | | | | | | | | | | | | | | | Introduced in commit f54fcafc49 in 5.11.2 , the -I paths are dead since commit cb8c84586a in 5.19.6 that renamed dist/Cwd to dist/PathTools . Since the paths have been invalid for so long with no complaints so remove them. That -I probably isn't needed anymore because Cwd AKA PathTools have been in write_buildcustomize.pl since day 1 of write_buildcustomize.pl in commit 5e4c4c91bd from 5.13.10 . The makefile line says to copy to /lib the directory win32/lib. win32/lib has never existed in Perl. There was a win32/ext from commit b4ad57f4f7 in 5.9.2 to commit 78ff2d7be7 in 5.9.5 but not win32/lib. The useless makefile rule is from day 1 of makefile.mk in commit 08aa1457cd in 5.004001 which was copied from the win32/Makefile, at the time of commit 08aa1457cd. win32/Makefile got the win32/lib copy line from day 1 of win32/Makefile in commit 0a753a7640 , and there was no /win32/lib when /win32 was commited.
* Turn on memory leak reporting for CFG = DebugFull builds on WindowsSteve Hay2015-02-151-0/+16
| | | | | | | | | | | | | | | | | | | | | | Setting _CRTDBG_LEAK_CHECK_DF arranges for _CrtDumpMemoryLeaks() to be called automatically at program termination, outputting a report of all allocations that have not been freed into the Output window in Developer Studio. If a leak is reported then note its allocation number, change the -1 in the _CrtSetBreakAlloc(-1L) call to the leaked allocation number and rebuild. A breakpoint will be set on the allocation call that leaked. (A slicker approach is to have the report include the file name and line number of the leaked allocation call by inserting #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> early in each compilation unit (e.g. by inserting it early in perl.h), but that works by re-#defining malloc/free etc, which unfortunately clashes with #defines in win32/win32iop.h and with the 'free' member of the regexp_engine struct in regexp.h.)
* Copy perl5202delta into bleadSteve Hay2015-02-141-0/+4
|
* Add new DebugSymbols and DebugFull CFG options to Windows makefilesSteve Hay2015-02-122-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the suggestion from perl #123439 of adding a CFG=DebugSymbols option for a debug mode build without enabling perl's -DDEBUGGING code, and also adds a CFG=DebugFull option for a debug mode build which uses the debug version of the CRT and enables -D_DEBUG code (in perl and in the CRT) such as extra assertions and invalid parameter warnings. (Note that failed invalid parameter checks are harmless thanks to perl's invalid parameter handler in win32/win32.c. However, blindly ignoring them is not a good thing. Compiling with _DEBUG causes the handler to print warnings on STDERR about checks that have failed. Ideally these should be fixed, or silenced by some other means if they really are harmless--as was done for some such warnings by commit d52ca5864f.) I attempted to do something like the DebugFull part once before, but was held back by miniperl not using PerlIO, which resulted in a huge number of invalid parameter warnings: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg191674.html However, that issue was recently removed by commit 8c847e6678, which removed Windows makefile support for building without PerlIO, including making miniperl now use PerlIO. As noted in the makefiles comments, however, there are still a few cases of invalid parameter warnings, which is partly why I've added the new DebugFull option, rather than altering the existing Debug option.
* Remove duplicate declaration of win32_stat from win32/win32iop.hSteve Hay2015-02-111-1/+0
| | | | The same declaration appears slightly higher up in the same file.
* Silence compiler warnings with gcc 4.7.2 and 4.8.1 from www.mingw.orgSteve Hay2015-02-111-2/+2
| | | | | | | | | | | These compilers (with other contemporaneous packages, I forget exactly which versions of everything I have installed) contain #define fstat _fstat in include/sys/stat.h, which clashes with win32/win32iop.h's #define and causes "warning: "fstat" redefined [enabled by default]" for just about every .c file compiled. Likewise for stat.
* remove the shell fallback from list pipe open on Win32Tony Cook2015-02-101-17/+27
| | | | | | | | | | This is a potential security issue, and while we'd need a deprecation cycle to remove it from system(), there hasn't been a production release of perl with list pipe open, so we can pretend it never was. Without the shell, CreateProcess() won't pick up .cmd or .bat files, which several perl utilities are packaged as on Win32, so use qualified_path() to produce a full executable name.
* Update Encode to CPAN version 2.70Chris 'BinGOs' Williams2015-02-062-2/+4
| | | | | | | | | | | | | | | | | | | | | | | [DELTA] $Revision: 2.70 $ $Date: 2015/02/05 10:53:00 $ ! Makefile.PL add bin/encguess to EXE_FILES 2.69 2015/02/05 10:35:11 ! bin/encguess Refactored so that * does not depend on non-core module (File::Slurp in particular) * PODified document * -s "encA encB" to -s encA,encB which is more shell-friendly * and more ! MANIFEST + bin/encguess Pulled: Added CLI wrapper for Encode::Guess https://github.com/dankogai/p5-encode/pull/32 ! Unicode/Unicode.pm Pulled: Bump $VERSION in module changed since Encode-2.60 https://github.com/dankogai/p5-encode/pull/31
* [PATCH] fix PL_nan_u from leaking in every translation object on Win32 VCDaniel Dragan2015-02-041-0/+25
|
* Configure: lrintl, lroundl, llrintl, llroundlJarkko Hietaniemi2015-02-023-0/+12
|
* Corrections to spelling and grammatical errors.Lajos Veres2015-01-285-9/+9
| | | | Extracted from patch submitted by Lajos Veres in RT #123693.
* Add USE_CPLUSPLUS build option to win32 makefilesSteve Hay2015-01-273-1/+39
| | | | | With thanks to Craig A. Berry and Daniel Dragan for finding the d_cplusplus and extern_C options, respectively.
* [perl #123659] [Win32] Add "-ld" to archname for dmake "long double" builds ↵Sisyphus2015-01-241-0/+4
| | | | of perl
* More bumpbing of version number to 5.21.9. Missed this yesterday.Matthew Horsfall2015-01-212-2/+2
|
* Version bump + new perldeltaMatthew Horsfall2015-01-203-4/+8
|
* Remove obscure "attrib -r ..\t\*.*" command from minitest recipeSteve Hay2015-01-072-2/+0
| | | | | | | | | | | | This command is not run for any other test targets, and there seems to be no point in it, at least not now, since files under t\ are not read-only anyway. (It dates from the creation of the minitest target in commit 137443ea0a. At that time, the same command was already used in the $(PERLEXE) target, having been added there in the initial creation of win32/Makefile in commit 0a753a7640. Needless to say, neither commit gives any details on why the command was deemed necessary.)
* Silence warning during VC++/nmake buildSteve Hay2015-01-071-0/+1
| | | | | | | "Use of uninitialized value $opt{"uselongdouble"} in string eq at config_sh.PL line 202." Only GCC supports USE_LONG_DOUBLE, so set the option to undef for VC++.
* Fix minitest (op/taint.t) for GCC 4.xSteve Hay2015-01-071-3/+5
|
* Remove Windows makefile support for building without PerlIOSteve Hay2015-01-079-79/+9
| | | | | | | | | | | As noted in #123394, building without PerlIO was all but deprecated in 5.18.0 and is no longer supported by Configure on POSIX systems, so there is no need for the Windows makefiles to provide support for it either. Therefore, we can simply enable PerlIO in the canned configuration files and remove any fiddling with that setting for the real configuration, which means that miniperl will also now have PerlIO enabled without needing the recently added change to win32.h.
* minitest needs config.h to build $(MINIPERL)Steve Hay2015-01-062-2/+2
| | | | | | | | | | | | | Since f7219c0a9696421192a4830631fa6e3fd28adf39 didn't work out, just add the config.h dependency directly to minitest instead (which was my main reason for doing this anyway). We can also drop the utils dependency from minitest since it doesn't seem to be required other than to get git_version.h/Config_git.pl made along the way, but we can add that dependency directly instead. In this way, minitest still works, but now without building the full perl.exe and perl5XX.dll as well (which was previously happening as a consequence of the utils dependency).
* Revert commit f7219c0a9696421192a4830631fa6e3fd28adf39Steve Hay2015-01-062-2/+2
| | | | That broke the (full) build. Sorry for only minitest-ing before pushing :-/
* miniperl needs config.h to buildSteve Hay2015-01-062-2/+2
|
* Can't put a comment in the middle of a command broken across linesSteve Hay2015-01-062-4/+2
| | | | | | Actually, you can in the nmake makefile (win32/Makefile), which is surely how it slipped through in commit 4ea01bd3b4, but you can't do it in the dmake makefile (win32/makefile.mk). Change it in both for consistency.
* minitest: run the sames tests on win32 as on POSIXish systemsTony Cook2015-01-062-2/+2
|
* use textmode when opening scripts in miniperl to match perlTony Cook2015-01-061-0/+1
| | | | | | | | fixes io/data.t This could be considered a bug in io/data.t, since it writes the scripts in text mode, but making miniperl behave closer to perl may fix other issues too.
* build miniperl with PerlIOTony Cook2015-01-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | Several tests use PerlIO layers (:utf8, :pop) without testing for it. non-PerlIO builds were vaguely deprecated in 5.18.0 and can no longer be enabled on POSIX systems through Configure, so making miniperl PerlIO on Win32 is no big stretch minitests failing now: io/data.t io/fs.t op/coreamp.t op/filetest.t op/fork.t op/glob.t op/heredoc.t op/magic.t op/sselect.t op/stat.t op/tie_fetch_count.t
* use TEST for minitest, same as POSIX systemsTony Cook2015-01-062-2/+2
| | | | | | | Test::Harness now requires IO at all times, which means it can't be used with miniperl many tests fail with minitest at this point
* Remove sources of "unreferenced label" warning on Win32Steve Hay2014-12-312-3/+0
| | | | and then remove the disabling of that warning.
* Remove redundant -I..\lib arguments from some Win32 makefile command-linesSteve Hay2014-12-312-27/+25
| | | | | | | | | | Invocations of $(PERLEXE) from win32\ do not need -I..\lib since $(PERLEXE) is ..\perl.exe, which will pick up the lib\ folder in ..\ anyway. Invocations of perl.exe from t\ (which may be a copy of either perl.exe or miniperl.exe from the top-level folder) also do not need -I..\lib since they all run the harness program, which fixes up @INC with exactly that ..\lib folder in a BEGIN block anyway.
* make win32 harness process use tested perl binaryDaniel Dragan2014-12-312-12/+14
| | | | | | | | | | | | | | | | | | | On Unix /t/perl is a symlink to /perl and the OS knows they are the same file. On Win32 perl.exe and perl5**.dll are copied from / to /t, and the OS thinks they are 2 separate files (and they are on disk). Both Win32 and Unix use MMIO and COW/inter-process sharing for their running binaries. On Unix the symlink means the 2 perl binaries will be memory mapped to the same physical memory when running. On Win32 they won't be since they are 2 separate files. It is a waste of CPU cache/physical memory for the Win32 harness process and the child .t processes to not share the same disk file/phy mem/same binary. Previously only the XS DLLs in /lib/auto were shared between harness process and child .t processes, now perl.exe and perl5**.dll will be shared between the 2 processes. Copying /perl.exe to /t/perl.exe is from 1st commit of current Makefile in commit 68dc074516 and predates Win32 perl running harness which is from commit 137443ea0a Also fix the broken "-I.\lib" in test-notty in makefile.mk . This problem was discovered with VMMap. This patch is slightly related to [perl #114704] .
* fix a broken optimization in win32/config_h.PL to stop excessive rebuildingDaniel Dragan2014-12-301-4/+5
| | | | | | | | | | | | | | | | In commit 137443ea0a config_h.PL was introduced. There is no ML archive from that time of the actual patches or their rational. From day 1 of config_h.PL for the root config.h, it didn't copy the new one config.h to the normal location of config.h if the files matched. This prevents redundant dirtying of all core moudules with the "Makefile out-of-date with respect to "/make clean/rerunning of makefile.pl /new make all cycle. But the optimization didn't work in practice since the modules declare a dependency on /lib/CORE/config.h not /config.h. Previously "touch"ing /win32/Makefile would trigger a mass rebuild, even if config.h's contents are the same. Now only if the new after "touch"ing /win32/makefile config.h is different from the old config.h , will a mass rebuild of module be triggered. This makes reduced the amount of time core devs have to spend to work on Win32 perl.
* win32/win32.c Perl_croak->croak_xs_usageDaniel Dragan2014-12-261-1/+1
| | | | | When this XSUB was written croak_xs_usage didn't exist. Now it does. Use it so the error string is shorter in the perl binary.
* Fix link error in perl521.dll with MinGW/gcc -xc++Steve Hay2014-12-241-2/+1
| | | | perl.exp:fake:(.edata+0x1214): undefined reference to `win32_async_check'
* Fix compilation errors in win32sck.c with MinGW/gcc -xc++Steve Hay2014-12-241-1/+1
| | | | error: invalid conversion from 'const timeval*' to 'PTIMEVAL'
* Fix compilation errors in win32.c with MinGW/gcc -xc++Steve Hay2014-12-241-4/+4
| | | | | | | | | | | | | | | | | | | | | In MinGW-w64 builds, there are warnings/errors like this (depending on the compiler version used): gcc-4.5.3: warning: passing argument 2 of 'execv' from incompatible pointer type gcc-4.8.0: error: invalid conversion from 'const char* const*' to 'char* const*' This happens because MinGW-w64's process.h declares execv/execvp's second argument as 'char * const*' instead of 'const char * const*'. The _execv/_execvp versions don't have this problem so use them instead. MSDN says execv/execvp are deprecated POSIX functions; use the ISO C++ conformant _execv/_execvp instead anyway so it is not even worth sticking with execv/execvp for those compilers (namely, MinGW and VC++) that have the correct declarations. Likewise with spawnv/spawnvp vs. _spawnv/_spawnvp.
* perlunicook: add it to build files and TOCRicardo Signes2014-12-211-0/+4
|