summaryrefslogtreecommitdiffstats
path: root/Configurations
AgeCommit message (Collapse)Author
2016-07-18Don't make a difference between building test programs and other programsRichard Levitte
This adds a new target 'build_programs' and makes 'build_apps' and 'build_tests' aliases for it, for backward compatibility. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-18Adapt the build files to the new "install" hash tableRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-18Document the _NO_INST variantsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-15Windows: allow input and output flags to end with a space, or notRichard Levitte
With a number of tools, especially those coming with Visual Studio, some command options are separated from their argument with a space, others with a space. Since we parametrise them, we can't know beforehand which it will be, so we must allow the input and output options to have either. However, spaces at the end of nmake macro values are trimmed, so allow spaces to exist by adding a reference to an undefined macro at the end. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-07-14Small fixes in unix-Makefile.tmplRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-14Install applink.c with the public header files.Richard Levitte
This is only done for the platforms where 'OPENSSL_USE_APPLINK' is defined. Also, change the docs of OPENSSL_Applink to say where to find applink.c in the installation directory. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-14Windows: take care of manifest filesRichard Levitte
The easiest way to take care of manifest files is to integrate them into the associated binary (.exe or .dll). MT (the Manifest Tool) is the utility to use for this. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-10VMS: Adjust the engines directory by adding the pointer size to its nameRichard Levitte
With OpenSSL 1.1 and on, the engines are tightly tied to the shared library they're to be used with. That makes them depend on the pointer size as well as the shared library version, and this gets reflected in the name of the directory they're installed in. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-10VMS: Small cleanupsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-10VMS: Present OPENSSLDIR according to the VMS setup.Richard Levitte
This mostly affects 'openssl version -a', which might as well display what we're actually looking at. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-08Unix: Set the execute permission on installed shared librariesRichard Levitte
Some Unix variants require shared libraries to have the execute permissions set, or they won't be loadable or executable when loaded. Among others, cygwin has this requirement. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-07-07VMS: correct post-install instructionsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07Windows: make some vars in windows-makefile.tmpl reachable againRichard Levitte
$openssldir and $enginesdir were mistakenly made unavailable to other perl fragments. They are still needed in the definition of CFLAGS. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07Versioning engines default location: the VMS caseRichard Levitte
OpenSSL engines are tied to the OpenSSL shared library versions, starting with OpenSSL 1.1. We therefore need to install them in directories which have the shared library version in it's name, to easily allow multiple OpenSSL versions to be installed at the same time. For VMS, the change is a bit more involved, primarly because the top installation directory was already versioned, *as well as* some of the files inside. That's a bit too much. Version numbering in files is also a bit different on VMS. The engines for shared library version 1.1 will therefore end up in OSSL$INSTROOT:[ENGINES0101.'arch'] ('arch' is the architecture we build for) Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07Versioning engines default location: the Unix caseRichard Levitte
OpenSSL engines are tied to the OpenSSL shared library versions, starting with OpenSSL 1.1. We therefore need to install them in directories which have the shared library version in it's name, to easily allow multiple OpenSSL versions to be installed at the same time. For Unix, the default installation directory is changed from $PREFIX/lib/engines to $PREFIX/lib/engines-${major}_${minor} (mingw) or $PREFIX/lib/engines-${major}.${minor} (all but mingw) ($PREFIX is the directory given for the configuration option --prefix, and ${major} and ${minor} are the major and minor shared library version numbers) Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07Versioning engines default location: the Windows caseRichard Levitte
OpenSSL engines are tied to the OpenSSL shared library versions, starting with OpenSSL 1.1. We therefore need to install them in directories which have the shared library version in it's name, to easily allow multiple OpenSSL versions to be installed at the same time. For windows, the default installation directory is changed from $PREFIX/lib/engines to $PREFIX/lib/engines-${major}_${minor} ($PREFIX is the directory given for the configuration option --prefix, and ${major} and ${minor} are the major and minor shared library version numbers) Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-06Make 'build_libs' build shared libraries as wellRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-07-06VMS: make sure there's a file extension when creating filesRichard Levitte
When creating the library $lib.olb, make sure the extension is there. Otherwise, a logical name with the same name as the file in question will redirect the creation elsewhere. Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-07-02VMS: Add installation verification procedureRichard Levitte
On VMS, it's customary to have a procedure to check that the software was installed correctly and can run as advertised. The procedure added here is fairly simple, it checks that all libraries are in place, that the header crypto.h is in place, and that the command 'openssl version -a' runs without trouble. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Fix some VMS inconsistenciesRichard Levitte
- The install top is versioned by default. However, only the major version should be used. - the default areas for certs, private keys an config files have changed, now all prefixed with 'OSSL$'. This gets reflected in cryptlib.h. - [.VMS]openssl_startup.com.in had some faults regarding creating rooted concealed logical names. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Install the openssl app with version number on VMSRichard Levitte
This makes it possible for script writers to lock on to a specific version if they need to. Note that only the major version number is used. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Have the VMS shared library file names contain the shared versionRichard Levitte
Also, have the static library file names contain the pointer size when applicable. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Pass down correct information to the VMS startup script templatesRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Add the missing pointer_size information on VMS configsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Ensure that global dependencies are built first, even for parallell buildsBen Laurie
Also, make sure that per-file deps are included in the build, even if previous builds have failed. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-07-01Deal with pod2html issues, in this case the lack of .html suffix in linksRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-30Windows: Recreate the $prefix variableRichard Levitte
$prefix was removed as part of the DESTDIR work. However, it was still used to create the ENGINESDIR_dev and ENGINESDIR_dir variables, so a restoration is needed. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-28Windows: Make DESTDIR workRichard Levitte
DESTDIR can't be used on Windows the same way as on Unix, the device part of the installation paths get in the way. To remedy this, have INSTALLTOP, OPENSSLDIR and ENGINESDIR get different values depending on if $(DESTDIR) is empty or not, and use $(INSTALLTOP), $(OPENSSLDIR) and $(ENGINESDIR) alone. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-06-28Build files: don't generate empty action lines in generatedir()Richard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-06-27Use include paths to our source before any other cflagsRoumen Petrov
This is just in case someone passed an inclusion path with the configuration, and there are OpenSSL headers from another version in there. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-27unix-Makefile.tmpl: omit lib<rary>.a updates from directory targets.Andy Polyakov
Since corresponding rule was removed from windows-makefile.tmpl out of necessity, question popped if it's appropriate to harmonize even unix-Makefile.tmpl. Note that as long as you work on single directory 'make lib<rary>.a' is effectively equivalent to 'make <dir/ectory>' prior this modification. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-27windows-makefile.tmpl: don't use $? in library targets.Andy Polyakov
Problem with Microsoft lib.exe is that it doesn't *update* modules in .lib archive, but creates new one upon every invocation. As result if a source file was updated and nmake was executed, a useless archive with only one module was created. In other words one has to always pass all .obj modules on command line, not only recently recompiled. [This also creates dilemma for directory targets, e.g. crypto\aes, that were added to simplify every-day life for developer. Since whole idea behind those targets is to minimize the re-compile time upon single file modification, the only sensible thing to do is to omit intended library update.] Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-27Configurations/10-main.conf: fix PA-RISC commentary.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-17Harmonise the different build filesRichard Levitte
- User targets are now the same and generally do the same things - configdata.pm depends on exactly the same files on all platforms - VMS production of shared libraries is simplified - VMS automatic dependency files get the extension .D rather than .MMS Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-14VMS: use BLDDIR rather than BUILDDIR in descrip.mms.tmplRichard Levitte
Just like in the other build file templates Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-14Add a developer target 'build_generated' to rebuild mandatory headersRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-14Build file templates: make sure to depend on generated header filesRichard Levitte
As well as properly generating those that are made from .in files. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-14Configure: Make it possible to generate mandatory header filesRichard Levitte
'DEPEND[]=file.h' becomes a special way to say that 'file.h' must be generated before anything else is built. It's likely that a number of source files depend on these header files, this provides a simple way to make sure they are always generated even it the dependency data hasn't been added to the build file yet. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-10Omit corpora from tarball.Ben Laurie
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-06Fix the directory target generationRichard Levitte
The directories for the final products were never registered, it was plain luck that intermediary files were in the same place and registered the directory anyway. Also, scripts are generated directly from source (binaries go through intermadiary object files), so we need to explicitely make sure to avoid registering the source directory unless it's an in source build. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-04Add developer targets for each subdirectory we have something to build inRichard Levitte
Previous build scheme allowed building just the stuff in one subdirectory, like this: make -C crypto/aes Because the unified only has a top-level Makefile, this is not possible with it. This change adds a replacement where each directory we have something to build in becomes a target in its own right, allowing building something like this: make crypto/aes The exception is the directory test, because we already have such a target. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-06-04Windows build: Remove .manifest files in test/ as wellRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-01Remove/rename some old files.Rich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-27Windows makefile: handle the case with space in source directoryRichard Levitte
This applies when building out-of-source. RT#4486 NOTE: we can't do the same for Unix, as Unix make doesn't handle this type of issue. Also, directory specs are much less likely to have spaces on Unix... Reviewed-by: Matt Caswell <matt@openssl.org>
2016-05-27Allow space in PERL spec (unix only)Richard Levitte
Someone wants to configure like this: PERL="/usr/bin/env perl" ./config The end goal is to get that in the #! line of CA.pl and a few other scripts. That works well already, but in the Makefile, there were a few lines looking like this: PERL=$(PERL) $(PERL) whatever.pl ... Those need some quoting. RT#4311 Reviewed-by: Matt Caswell <matt@openssl.org>
2016-05-25Complete the list of files to clean up on WindowsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-25Communicate Configure generated header files to build filesRichard Levitte
Add Configure generated header files to $unified_info{generate}. This makes sure the build files will pick them up with the rest for the GENERATED macro, and thereby make sure they get cleaned away by 'make clean' Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-23VMS: show the ossl_dataroot logical as well when doing "mms debug_logicals"Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-23Install the scripts the same way on Windows and VMS as on UnixRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-23Make sure tsget.pl and c_rehash.pl get installed on VMS and Windows.Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>