aboutsummaryrefslogtreecommitdiffstats
path: root/Configurations
Commit message (Collapse)AuthorAgeFilesLines
* VMS: Rearrange installation targets for shared librariesRichard Levitte2016-07-221-18/+22
| | | | | | | | | The way it was implemented before this change, the shared libraries were installed twice. On a file system that supports file generations, that's a waste. Slightly rearranging the install targets solves the problem. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Install shared libraries in runtime installRichard Levitte2016-07-202-3/+19
| | | | | | | | On non-Windows platforms, shared libraries are both development and runtime files. We only installed them as development files, this makes sure they get installed as runtime files as well. Reviewed-by: Rich Salz <rsalz@openssl.org>
* VMS: fix typo, shared libraries have the extension .EXE, not .OLBRichard Levitte2016-07-201-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Don't make a difference between building test programs and other programsRichard Levitte2016-07-183-34/+28
| | | | | | | 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>
* Adapt the build files to the new "install" hash tableRichard Levitte2016-07-183-32/+44
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Document the _NO_INST variantsRichard Levitte2016-07-181-12/+48
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Windows: allow input and output flags to end with a space, or notRichard Levitte2016-07-151-10/+10
| | | | | | | | | | | | | 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>
* Small fixes in unix-Makefile.tmplRichard Levitte2016-07-141-4/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Install applink.c with the public header files.Richard Levitte2016-07-142-0/+13
| | | | | | | | | 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>
* Windows: take care of manifest filesRichard Levitte2016-07-142-0/+18
| | | | | | | | 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>
* VMS: Adjust the engines directory by adding the pointer size to its nameRichard Levitte2016-07-101-3/+3
| | | | | | | | | 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>
* VMS: Small cleanupsRichard Levitte2016-07-101-1/+0
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* VMS: Present OPENSSLDIR according to the VMS setup.Richard Levitte2016-07-101-3/+5
| | | | | | | This mostly affects 'openssl version -a', which might as well display what we're actually looking at. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Unix: Set the execute permission on installed shared librariesRichard Levitte2016-07-081-2/+2
| | | | | | | | 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>
* VMS: correct post-install instructionsRichard Levitte2016-07-071-2/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Windows: make some vars in windows-makefile.tmpl reachable againRichard Levitte2016-07-071-2/+2
| | | | | | | $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>
* Versioning engines default location: the VMS caseRichard Levitte2016-07-071-16/+22
| | | | | | | | | | | | | | | | | | 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>
* Versioning engines default location: the Unix caseRichard Levitte2016-07-071-10/+14
| | | | | | | | | | | | | | | | | | 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>
* Versioning engines default location: the Windows caseRichard Levitte2016-07-071-1/+3
| | | | | | | | | | | | | | | | | 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>
* Make 'build_libs' build shared libraries as wellRichard Levitte2016-07-063-3/+3
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* VMS: make sure there's a file extension when creating filesRichard Levitte2016-07-061-1/+1
| | | | | | | | 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>
* VMS: Add installation verification procedureRichard Levitte2016-07-021-2/+15
| | | | | | | | | | | 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>
* Fix some VMS inconsistenciesRichard Levitte2016-07-021-8/+4
| | | | | | | | | | | | - 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>
* Install the openssl app with version number on VMSRichard Levitte2016-07-021-5/+10
| | | | | | | | 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>
* Have the VMS shared library file names contain the shared versionRichard Levitte2016-07-021-1/+1
| | | | | | | Also, have the static library file names contain the pointer size when applicable. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Pass down correct information to the VMS startup script templatesRichard Levitte2016-07-021-9/+5
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add the missing pointer_size information on VMS configsRichard Levitte2016-07-021-0/+7
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Ensure that global dependencies are built first, even for parallell buildsBen Laurie2016-07-021-12/+15
| | | | | | | 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>
* Deal with pod2html issues, in this case the lack of .html suffix in linksRichard Levitte2016-07-011-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Windows: Recreate the $prefix variableRichard Levitte2016-06-301-2/+2
| | | | | | | | $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>
* Windows: Make DESTDIR workRichard Levitte2016-06-281-45/+64
| | | | | | | | | | | 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>
* Build files: don't generate empty action lines in generatedir()Richard Levitte2016-06-282-11/+10
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org>
* Use include paths to our source before any other cflagsRoumen Petrov2016-06-272-9/+9
| | | | | | | | | 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>
* unix-Makefile.tmpl: omit lib<rary>.a updates from directory targets.Andy Polyakov2016-06-271-4/+1
| | | | | | | | | | | 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>
* windows-makefile.tmpl: don't use $? in library targets.Andy Polyakov2016-06-271-6/+2
| | | | | | | | | | | | | | | | | 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>
* Configurations/10-main.conf: fix PA-RISC commentary.Andy Polyakov2016-06-271-3/+3
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Harmonise the different build filesRichard Levitte2016-06-173-112/+136
| | | | | | | | | - 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>
* VMS: use BLDDIR rather than BUILDDIR in descrip.mms.tmplRichard Levitte2016-06-141-3/+3
| | | | | | Just like in the other build file templates Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add a developer target 'build_generated' to rebuild mandatory headersRichard Levitte2016-06-143-18/+24
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Build file templates: make sure to depend on generated header filesRichard Levitte2016-06-143-21/+75
| | | | | | As well as properly generating those that are made from .in files. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: Make it possible to generate mandatory header filesRichard Levitte2016-06-141-0/+3
| | | | | | | | | | '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>
* Omit corpora from tarball.Ben Laurie2016-06-101-1/+2
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix the directory target generationRichard Levitte2016-06-061-2/+14
| | | | | | | | | | | | | | 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>
* Add developer targets for each subdirectory we have something to build inRichard Levitte2016-06-043-2/+115
| | | | | | | | | | | | | | | | | | | 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>
* Windows build: Remove .manifest files in test/ as wellRichard Levitte2016-06-041-0/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove/rename some old files.Rich Salz2016-06-011-3/+1
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Windows makefile: handle the case with space in source directoryRichard Levitte2016-05-271-50/+51
| | | | | | | | | | | | 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>
* Allow space in PERL spec (unix only)Richard Levitte2016-05-271-4/+5
| | | | | | | | | | | | | | | | | | 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>
* Complete the list of files to clean up on WindowsRichard Levitte2016-05-251-0/+5
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Communicate Configure generated header files to build filesRichard Levitte2016-05-253-2/+15
| | | | | | | | | 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>