| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
If an executable marks symbols with __declspec(dllexport) then VS
creates an import library for it. However, it forgets to create the
directory that will contain the import library if it is different from
the location of the executable. We work around this VS bug by creating
a pre-build event on the executable target to make the directory.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This helps avoid fixing VMS-specific code for non-VMS compilers where it
isn't needed anyway.
|
|
|
|
|
|
|
| |
In cmLocalVisualStudio7Generator we generate pre-build, pre-link, and
post-build events into project files. This refactors the generation
code for the three event types into a private EventWriter class to avoid
duplicate code.
|
|
|
|
| |
kwsysProcessSetVMSFeature discards qualifiers from pointer target type.
|
| |
|
| |
|
|
|
|
|
|
| |
In Release builds the Borland compiler warns about code in its own
system headers. This blocks the warnings by disabling them where the
headers are included.
|
|
|
|
|
|
| |
This replaces the Fortran dependency parser source's custom strcasecmp
implementation with one from KWSys String. It removes duplicate code
and avoids a Borland warning about inlining functions with 'while'.
|
|
|
|
|
|
| |
The KWSys String implementation of strcasecmp initialized 'result'
immediately before assigning to it. Borland produces a warning in this
case, so this commit removes the extra initialization.
|
|
|
|
|
|
| |
The generated Fortran dependency scanning lexer includes an assignment
to a local variable that is unused. Borland warns, so we remove the
assignment.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We use the CMakeDependentOption module unconditionally, so we must
require a version of CMake new enough to provide it.
|
|
|
|
|
|
|
|
| |
The fix for issue #9130 appends ':' to the end of the build-tree RPATH
unconditionally. This changes the fix to add ':' only when the RPATH is
not empty so that we do not create a build-tree RPATH with just ':'. An
empty RPATH produces no string at all, so there is no chance of merging
with a symbol name anyway.
|
|
|
|
| |
We never build this source tree anymore, so remove it.
|
|
|
|
|
|
|
| |
We've chosen to drop our default dependence on xmlrpc. Thus we disable
the corresponding CTest submission method and remove the sources for
building xmlrpc locally. Users can re-enable the method by setting the
CTEST_USE_XMLRPC option to use a system-installed xmlrpc library.
|
|
|
|
| |
We never build this source tree anymore, so remove it.
|
|
|
|
|
|
| |
This version of curl was added experimentally but does not address the
problem we were hoping it fixed (an occasional upload hang). Importing
a new curl can wait until the problem is fully diagnosed and addressed.
|
|
|
|
|
|
| |
Previously we disallowed use of system libraries if FindXMLRPC.cmake was
not available. Now that CMake 2.4 is required to build, the module is
always available. This change simplifies the logic accordingly.
|
|
|
|
|
|
|
|
| |
In cmXMLParser::ReportXmlParseError we were accidentally passing a value
of type 'XML_Parser*' to expat methods instead of 'XML_Parser'. It was
not caught because XML_Parser was just 'void*' in the cmexpat version.
Newer system-installed expat versions catch the error because XML_Parser
is now a pointer to a real type. This correct the type.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ELF binaries the .dynstr string table is used both for the RPATH
string and for program symbols. If a symbol name happens to match the
end of the build-tree RPATH string the linker is allowed to merge the
symbols.
We must not allow this when the RPATH string will be replaced during
installation because it will mangle the symbol. Therefore we always pad
the end of the build-tree RPATH with ':' if it will be replaced. Tools
tend not to use ':' at the end of symbol names, so it is unlikely to
conflict. See issue #9130.
|
|
|
|
|
| |
This adds documentation for the variable which was previously missing.
See issue #9130.
|
|
|
|
|
|
|
| |
The Debian Almquist Shell (dash) provides minimal POSIX compliance
instead of the power of bash. It converts literal '\n' to a real
newline even in a single-quoted string. This works around the problem
by avoiding the literal. We can no longer use HEREDOC.
|
|
|
|
|
| |
This directory was a temporary solution for bootstrapping CMake on
OpenVMS. It is not necessary now that the bootstrap script works.
|
|
|
|
|
|
|
|
| |
A few sweeping changes were needed:
- Avoid use of HEREDOC, which does not seem to work.
- Avoid extra '.' in paths by using '_cmk' and '_tmp'
instead of '.cmk' and '.tmp'.
|
|
|
|
|
|
|
|
| |
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.
A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
|
|
|
|
| |
This shell does not exist on VMS, so we leave it out.
|
|
|
|
|
|
| |
The VMS posix path emulation does not handle multiple '.' characters in
file names in all cases. This avoids adding extra '.'s to file and
directory names for target directories and generated files.
|
|
|
|
|
|
| |
This teaches ConvertToUnixSlashes to convert VMS paths into posix-style
paths. We also set the DECC$FILENAME_UNIX_ONLY feature so the process
always sees posix-style paths on disk.
|
|
|
|
|
|
| |
The Compaq compiler's std::unique algorithm followed by deletion of the
extra elements seems to crash. For now we'll accept the duplicate
dependencies on this platform.
|
|
|
|
| |
The mknod and mkfifo functions are not available on VMS.
|
|
|
|
|
| |
This defines IOCTL_3_ARGS in 'cmcurl/setup.h' to teach curl sources
about the three-argument ioctl() on VMS.
|
|
|
|
|
| |
The value is computed by a try-compile for libtar. This teaches the
sources to actually use the result.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This achieves basic process execution on OpenVMS. We use work-arounds
for different fork()/exec() behavior and a lack of select().
VMS emulates fork/exec using setjmp/longjmp to evaluate the child and
parent return cases from fork. Therefore both must be invoked from the
same function.
Since select() works only for sockets we use the BeOS-style polling
implementation. However, non-blocking reads on empty pipes cannot be
distinguished easily from the last read on a closed pipe. Therefore we
identify end of data by an empty read after the child terminates.
|
|
|
|
|
| |
This avoids use of an uninitialized value in the KWSys ProcessUNIX
polling implementation when no timeout is given.
|
|
|
|
|
|
|
|
| |
The Compaq compiler (on VMS) includes 'String.c' in source files that
use the stl string while looking for template definitions. This was the
true cause of double-inclusion of the 'kwsysPrivate.h' header. We work
around the problem by conditionally compiling the entire source file on
a condition only true when really building the source.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|