| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This is primarily for pedantic builds; ptrdiff_t is now standard,
and had already been in use in the core without guards.
|
| |
|
|
|
|
|
|
|
|
| |
Useful for at least debugging.
Supported in Linux and OS X (possibly to some extent in *BSD).
See perlhacktips for details.
|
|
|
|
|
|
|
| |
This was modified to comply with the standard in DEC C 5.0. The
last 5.x release was 5.7 in 1998 and we've long since required
at least 6.0 to build Perl. So this change is a wee bit behind
schedule.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once upon a time, there was VAX C, and there was a port of GCC
2.something that used the same library. These both only ran on VAX
and both became obsolete years ago. When DEC/Compaq/HP C came
along, it had its own library (typically referred to simply as
"the CRTL") that shipped with the operating system. It was thus
natural to determine the presence or absence of a library function
based on the compiler choice, as that implied a library choice.
But there is now no choice of library nor has been for many years.
The CRTL is it, and even a new port of GCC (which apparently exists
in some form as part of Ada Core's toolchain) would almost
certainly use it. So stop using the selected compiler to decide
whether a library function is present or not.
|
|
|
|
|
|
|
|
|
| |
VMS has had wcscmp and wcsxfrm since version 6.2 was released in
1995. None of these functions depends on what compiler we're
running, only on what the C library has, and there is only one
viable CRTL in existence in modern times, so we probably need a
further refactor to eliminate the compiler check for this whole
section.
|
| |
|
| |
|
|
|
|
|
|
| |
In 9056626be4b0df I had set it to empty string, but thanks to a
heads up from Brian Fraser I've realized it should be the same
thing as sh as it is now used to set up SH_PATH.
|
|
|
|
|
|
|
|
|
|
| |
Specifically, there is no 'sh' variable, so if we try to reference
it we get:
%DCL-W-UNDSYM, undefined symbol - check validity and spelling
\SH\
So enter an empty string for targetsh.
|
| |
|
|
|
|
|
|
|
| |
It may not matter much as it's been broken since dab31494e8bab and
doesn't seem to have caused any trouble, but to be pedantically
correct the location of the source is not the same as the install
location.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The perl_setup.com command procedure initializes the root logical
name, the shareable image logical name pointing to the main Perl
dynamic library, and either command symbols or command table
entries that reference those logical names. It's always by
default hard-coded the prefix chosen at configuration time as the
basis for where Perl should be located.
The original rationale for that was that it gets run right before
installperl and sets things up correctly for installation. But
that optimizes for a single use case that is easily handled by
specifying the correct install location as a parameter and
pessimizes for every other use case, notably relocating an
installed Perl directory tree.
So make it infer the correct root from its own location and
specify the install location only at installation time. Among
other benefits, this allows the install location to be chosen
at installation time by overriding the default prefix like so:
MMK/MACRO=(PREFIX="DSA0:[homedir.MyPerl2.]") install
|
|
|
|
|
|
|
| |
Most of these are actually generated, so the maintenance complexity reduction
is not as impressive as the diffstat suggests.
(Incorporating a fix from Merijn)
|
|
|
|
|
| |
VMS does have arpa/inet.h and is supposed to be getting sys/un.h
in the near future.
|
|
|
|
|
|
| |
This is mostly a very belated follow-up to d7fba2bf7c68c, but in
the case of inet_aton, is a stupendously belated follow-up to
570bb66edbdc8.
|
|
|
|
| |
Follow-up to 890c2948b6847.
|
| |
|
|
|
|
|
| |
Specifically eliminated i_dld, a variable indicating that <dld.h> should be
included, and remove dld from the list of wanted libraries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some time now Perl has provided its own kill() function on VMS
due to various problems with the system-supplied one, notably that
when called from within a signal handler, the second signal never
got delivered. This has at long last been corrected in the OS
as of the VMS84I_SYS V3.0 ECO.
But this exposes another problem with the CRTL's kill(), which is
that when called with a signal value of 0 it actually kills the
running program instead of restricting itself to error checking
as the standard requires. This turns out to be documented behavior
and the documented workaround is to define the _POSIX_EXIT macro.
However, universally changing the behavior of the exit() function
in order to prevent
kill(getpid(),0);
from bringing down the program that calls it doesn't seem like the
right trade-off. So just add one more condition to the list of
conditions under which we'll use our own kill().
|
| |
|
| |
|
|
|
|
|
|
| |
There are still 200+ variables in Porting/Glossary that are not
written by configure.com, but these jumped out as the initial set
that might be of actual use.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
They became available in ACRTL ECO V0100 on VMS v8.4, but aren't
quite ready for prime time yet. Specifically, shmget fails
unless IPC_CREAT is set in the third argument, but Perl has tests
that explicitly check that this is not necessary.
So construct the probe such that we won't enable these routines
until the CRTL bug has been fixed.
|
|
|
|
| |
This should close [perl #119197].
|
|
|
|
| |
Follow-up to 5ff367e3adebb49.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to f7b3892b9e45c6994.
For now we're not re-sorting known_extensions after combining the
XS and non-XS extensions into one list. It would be pretty arduous
to do that in DCL and probably doesn't matter.
We special-case VMS::Filespec because (at least on VMS) it's an XS
extension so clearly doesn't belong in nonxs_ext. Technically it's
static because it's XS bits live in vms/vms.c, but it's not clear
that it belongs in static_ext as those would normally be things
that require an extra link step (if such static linking even
works, which we don't know as it hasn't been tested in a long
time.)
|
|
|
|
|
|
|
|
|
|
|
| |
We need to do whatever the configuration says we are doing via
$Config{dbgprefix} and/or $Config{usevmsdebug} for extension
building to work, so it makes sense for the top-level build to
also base what it is doing on the configuration choice rather
than on the special invocation of MMK with /MACRO=__DEBUG__=1.
So this patch makes the top-level build do what we've configured
to do and eliminates the instruction to use the macro.
|
| |
|
| |
|
| |
|
|
|
|
| |
They became available in VMS v8.4 in 2010.
|
|
|
|
|
|
|
|
| |
If this ever becomes the default, we should really remove the
versioned subdirectory from archlib that we've always had.
As of now, using this feature on VMS gives us redundancies such as:
archlib='perl_root:[lib.VMS_IA64-5_17_9.5_17_9]'
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once upon a time there was a "use64bit" option [1] that only later
became separated into use64bitint, uselongdouble, and use64bitall,
but we didn't properly separate out everything. So if you chose
64-bit integers but not long doubles, you would get the macro
USE_LONG_DOUBLE defined but without other supporting defines and
with incompatible branches followed in various parts of the #ifdef
jungle. So separate them out. Thanks to Thomas Pfau for trying
what's apparently a rare configuration.
[1] See fafa4fee6354847ae7fda.
|
|
|
|
|
|
|
| |
There was a typo in a5bd55ee8902ea3fcb that left a spurious double
quote in config.h and caused compile failures when compiling with
-Duse64bitint but not also selecting -Duselongdouble. Problem
reported by Thomas Pfau.
|
|
|
|
| |
Needed to upgrade Socket from CPAN
|
|
|
|
| |
Backport 2f1eb816b5cba6977b1a8159
|
|
|
|
|
|
| |
It's not the .c, it's the .xs from which we generate the .c.
Spotted by Nicholas.
|
|
|
|
|
|
|
|
|
|
| |
Building on Peter Prymmer's work from some years ago, this gets
the configuration process on VMS up to speed on the native C++
compiler. Quite a bit of it involves tweaking the configuration
probes to work under C++, plus a variety of other nits.
TODO: This should probably be made to work as -Dcc=cxx rather
than -Dusecxx as it does now, but it's still pretty experimental.
|
|
|
|
|
|
|
|
| |
Or at least has had for 10 years or more. If someone shows up
wanting to build on an older system, we can add real probes.
Plus we can't write to config.sh before it's been opened, as
18126d98dd7 had us doing.
|
| |
|
|
|
|
| |
This reverts commit 8852e312c3c616ab731ccbe7da54fb04eb8c3d30.
|
|
|
|
| |
This reverts commit 310f9c6e1d10c69ebae8d0356b22e58f451fdc76.
|
|
|
|
| |
And has had since version 6.2 in 1995.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenVMS v7.0 was released in 1995. There have been no reports of
recent releases of Perl building on versions that far back, yet we
still have quite a bit of code that explicitly supports versions
*prior* to v7.0.
There is a similar story for DEC C v6.0. It was released in 1998,
and has been superceded by numerous subsequent versions. Yet the
VMS-specific code in the core is littered with workarounds and
hacks that defend against deficiencies in very old compiler
versions.
This code is for all practical purposes no longer maintained or
maintainable, so the best path forward seems to be to remove it.
Anyone able and willing to commit to long-term support of it
could argue for its restoration, assuming Perl 5.14.x is not
adequate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.044 2 December 2011
* Moved FAQ.pod under the lib directory so it can get installed
* Added bin/zipdetails
* IO::Compress::Zip
- In one-shot mode enable Zip64 mode if the input file/buffer
>= 0xFFFFFFFF bytes.
* IO::Compress::FAQ
- Updates
|
|
|
|
|
|
|
|
|
| |
In Configure, check whether _NSGetExecutablePath() can be used to find the
absolute pathname of the executable. If so, set usensgetexecutablepath in
config.sh and USE_NSGETEXECUTABLEPATH in config.h. If this is set, then use
this approach in S_set_caret_X() to canonicalise $^X as an absolute
path. This approach works on OS X, and possible on other platforms that
use dyld.
|