summaryrefslogtreecommitdiffstats
path: root/Configurations/unix-Makefile.tmpl
AgeCommit message (Collapse)Author
2017-03-06Unix Makefile: Have manual generation use the same perl script as Windows ↵Richard Levitte
and VMS Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2864)
2017-02-01remove test/.rnd on make cleanBernd Edlinger
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2344) (cherry picked from commit 122fa088524571a3b60ebf301873f69afdac8f7a)
2016-11-09Unix Makefile: Make sure to use $(PERL) when running ./ConfigureRichard Levitte
For consistency, it's better to use the perl that was specified to Configure last time it was called. Use case: perl v5.8.8 was first along $PATH, perl v5.22.2 was available and specified as: PERL=/opt/local/bin/perl ./config. When make wanted to reconfigure and called './Configure reconf', configuration broke down, complaining about a perl that's too old. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1884) (cherry picked from commit 12ccb021be9e1c4c947e020ea2079e985b329a8a)
2016-11-03Enable memory debugging while testingRichard Levitte
Pre 1.1.0, 'make test' would set the environment variable OPENSSL_DEBUG_MEMORY to "on". This got lost when translating the old build files to the new templates. This changes reintroduces that variable. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1840) (cherry picked from commit 6d4bc8a3d2c2f7701588bbfdea80a1f7a3973f26)
2016-10-31Unix Makefile: Some sed implementation truncate long lines. Use perl instead.Richard Levitte
Fixes #1781 Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1813) (cherry picked from commit ebca7961a6bc2652ecb3cf6dda3f43943e2965d3)
2016-10-13Remove automatic RPATH - add user rpath supportRichard Levitte
Make Configure recognise -rpath and -R to support user added rpaths for OSF1 and Solaris. For convenience, add a variable LIBRPATH in the Unix Makefile, which the users can use as follows: ./config [options] -Wl,-rpath,\$(LIBRPATH) Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit fad599f7f147ee71e5581211fb654c2c8c491cd8)
2016-10-13Remove automatic RPATHRichard Levitte
Before OpenSSL 1.1.0, binaries were installed in a non-standard location by default, and runpath directories were therefore added in those binaries, to make sure the executables would be able to find the shared libraries they were linked with. With OpenSSL 1.1.0 and on, binaries are installed in standard directories by default, and the addition of runpath directories is therefore not needed any more. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 075f7e2c6062a33352f570eeafe3c95e41419521)
2016-10-02Remove untrue comment.Ben Laurie
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-02Make dependencies if Makefile is new.Ben Laurie
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-09-17Simplify configudata.pm dependency generationRichard Levitte
While we're at it, correct the fault in windows-makefile.tmpl Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 41240e68d745972d56dd037caf439d9c5032813f)
2016-09-16Simplify the dependencies for remaking configdata.pmRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit c5ad3076a6c076ac9f8449c393dd14c16b737560)
2016-09-16Use the registered conf file names as dependencies to build configdata.pmRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit dc660c70b52c552aa4eb9659963bfbe6ab18bec0)
2016-09-12Add enginesdir to libcrypto.pc pkg-config fileDavid Woodhouse
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit cdbbf9900253e8006868eba948248b1092a057de)
2016-09-07Allow asan, msan and ubsan to be configured with shared librariesRichard Levitte
The background story is that util/shlib_wrap.sh was setting LD_PRELOAD or similar platform dependent variables, just in case the shared libraries were built with -rpath. Unfortunately, this doesn't work too well with asan, msan or ubsan. So, the solution is to forbid the combination of shared libraries, -rpath and any of the sanity analyzers we can configure. This changes util/shlib_wrap.sh so it only contains the code that sets LD_PRELOAD when -rpath has been used when configuring. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 342a1a23793cb99921abeabe882adf8652ba715d)
2016-09-05Unix build: have the makedepend and cc actions in one recipeRichard Levitte
In the case of using an independent makedepend, we had split that into two separate recipes, one depending on the other. However, there are cases where the makedepend recipe was always trying, but doesn't update the time stamp of the .d file because there are no actual changes, and thereby causing constant updates of the object files. This change makes one recipe that takes care of both makedepend och cc, thereby avoiding these extra updates. Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 7e5b8b93f2ffa8300b992d2e79c50f0e5266c61b)
2016-08-04When tr gets bracketed arguments, they need to be quotedRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-02Don't overwrite existing installed openssl.cnfRichard Levitte
Instead, install the new one as openssl.cnf.dist (openssl.cnf-dist on VMS), and only install it as openssl.cnf if that file doesn't already exist. Also, don't install with exec privileges on VMS. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-02All of ssldirs installation should be done by the install_ssldirs targetRichard Levitte
The Unix build file template didn't do that quite right. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-31Configurations/unix-Makefile.tmpl: add LC_ALL=C to unify messages.Andy Polyakov
RT#4138 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-20Install shared libraries in runtime installRichard Levitte
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>
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-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-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-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-06Make 'build_libs' build shared libraries as wellRichard Levitte
Reviewed-by: Matt Caswell <matt@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-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-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-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-10Omit corpora from tarball.Ben Laurie
Reviewed-by: Richard Levitte <levitte@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-01Remove/rename some old files.Rich Salz
Reviewed-by: Richard Levitte <levitte@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-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-23HTML docs on Unix: Add a HTML titleRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-16Add support for RC / WINDRES env variablesRichard Levitte
RT#2558 Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-05-16do not remove links found in .git directoryCristian Stoica
Some setups use links inside .git directory and make clean should not remove them to avoid breaking git meta-information. Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com> CLA: none; trivial Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1078)
2016-05-03Configurations/unix-Makefile.tmpl: don't count on -E -P.Andy Polyakov
Some non-Gnu compilers interpret -E -P combination differently. some prioritize -E over -P, others -P over -E (in which case .i file is generated and sometimes truncated because of redirection). Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-02Android build fixes.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-01Add the adjusted perl scripts to the set of "update" scriptsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-29Fixed scripts order for generate_crypto_objects targetKirill Marinushkin
Script obj_dat.pl depends on file obj_mac.h generated by script objects.pl Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-25Build system: add include directories and dependencies for generatorsRichard Levitte
In the case of generating a file like this: GENERATE[foo.S]=mkfoo.pl arg1 arg2 the 'mkfoo.pl' generator itself might need to include other files, such as perl modules within our source tree. We can reuse already existing syntax for it, like this: INCLUDE[mkfoo.pl]=module/path or: DEPEND[mkfoo.pl]=modules/mymodule.pm This change implements the support for such constructs, and for the DEPEND statement, for any value that indicates a perl module (.pm file), it will automatically infer an INCLUDE statement for its directory, just like it does for C header files, so you won't have do write this: DEPEND[mkfoo.pl]=modules/mymodule.pm INCLUDE[mkfoo.pl]=modules Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-04-19Build: Make 'test' depend on 'tests'Richard Levitte
Because we have a directory 'test', the target 'test' may be confusing to make. However, if we make it depend on 'tests', which doesn't exist, make should never fail to run the actions. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-04-14Fix installation for no-stdio and no-autoalginitRichard Levitte
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>