summaryrefslogtreecommitdiffstats
path: root/Makefile.shared (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove Makefile.shared, as it's now entirely unusedRichard Levitte2017-12-121-521/+0
| | | | | | Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4840)
* Makefile.shared: Make link_shlib.linux-shared less verbose againRichard Levitte2017-07-241-1/+1
| | | | | | | A previous change inavertently removed a silencing '@' Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4003)
* Simplify Makefile.sharedRichard Levitte2017-07-241-180/+79
| | | | | | | | | | | | | | | | | | | | | | | Makefile.shared was designed to figure out static library names, shared library names, library version compatibility, import library names and the like on its own. This was a design for pre-1.1.0 OpenSSL because the main Makefile didn't have all that knowledge. With 1.1.0, the situation isn't the same, a lot more knowledge is included in the main Makefile, and while Makefile.shared did things right most of the time (there are some corner cases, such as the choice of .sl or .so as DSO extension on some HPUX versions), there's still an inherent fragility when one has to keep an eye on Makefile.shared to make sure it produces what the main Makefile produces. This change simplifies Makefile.shared by removing all its "intelligence" and have it depend entirely on the input from the main Makefile instead. That way, all the naming is driven from configuration data. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3983)
* Add ECHO to makefiles for real silenceRich Salz2017-06-301-6/+7
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3801)
* Code health: Remove base address setting for mingwRichard Levitte2017-02-281-2/+1
| | | | | | | Base address setting was done for the sake of FIPS. Since FIPS references have been removed, we clean away this one as well. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2791)
* HPUX: Add the forgotten $(DSTDIR) when linking DSOsRichard Levitte2016-11-011-4/+4
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1802)
* Remove automatic RPATHRichard Levitte2016-10-131-7/+7
| | | | | | | | | | | | | 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>
* Configurations/10-main.cf: AIX "facelift".Andy Polyakov2016-09-081-2/+4
| | | | | | | | Improve interchangeability of aix*-gcc targets by linking shared libraries with -static-libgcc, and address linking problems with vendor compiler. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Makefile.shared: revert Haiku support commit.Andy Polyakov2016-05-251-4/+4
| | | | | | | Configurations/50-haiku.conf reuses gnu-shared rules and doesn't require dedicated targets. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add support for RC / WINDRES env variablesRichard Levitte2016-05-161-4/+5
| | | | | | RT#2558 Reviewed-by: Tim Hudson <tjh@openssl.org>
* Add Haiku support.Jérôme Duval2016-04-141-4/+4
| | | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* FreeBSD, at least, can restrict symbols in a shared library - so use theBen Laurie2016-02-271-1/+2
| | | | | | | Linux target that does that. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Solaris DSOs were still named libFOO.so, fixedRichard Levitte2016-02-251-1/+1
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org>
* correct name of GNU shared librariesRoumen Petrov2016-02-231-1/+1
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix DSO name on HP/UXRichard Levitte2016-02-221-1/+1
| | | | | | | If dlfcn is used, the name was set to lib$(LIBNAME).so when it should have been just $(LIBNAME).so. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Don't include all symbols from static libraries when building a DSORichard Levitte2016-02-221-24/+28
| | | | | | | When building a DSO, there's no reason to include all symbols from static libraries it happens to link with, whichever they may be. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Fix incorrect SO name on GNU platformsRichard Levitte2016-02-221-3/+3
| | | | | | | | An error was introduced with the setting of SHLIB in DO_GNU_SO. A common DO_GNU_SO_COMMON that both DO_GNU_SO and DO_GNU_SO_NOCALC use makes things clearer. Reviewed-by: Matt Caswell <matt@openssl.org>
* Makefile.shared: limit .dll image base pinning to FIPS builds.Andy Polyakov2016-02-191-1/+1
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Big rename fest of MingW shared librariesRichard Levitte2016-02-191-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, MingW shared libraries were named like this libeay32.dll + libeay32.dll.a ssleay32.dll + ssleay32.dll.a That naming scheme is antiquated, a reminicense of SSLeay. We're therefore changing the scheme to something that's more like the rest of OpenSSL. There are two factors to remember: - Windows libraries have no recorded SOvers, which means that the shared library version must be encoded in the name. According to some, it's unwise to encode extra periods in a Windows file name, so we convert version number periods to underscores. - MingW has multilib ability. However, DLLs need to reside with the binaries that use them, so to allow both 32-bit and 64-bit DLLs to reside in the same place, we add '-x64' in the name of the 64-bit ones. The resulting name scheme (for SOver 1.1) is this: on x86: libcrypto-1_1.dll + libcrypto.dll.a libssl-1_1.dll + libssl.dll.a on x86_64: libcrypto-1_1-x64.dll + libcrypto.dll.a libssl-1_1-x64.dll + libssl.dll.a An observation is that the import lib is the same for both architectures. Not to worry, though, as they will be installed in PREFIX/lib/ for x86 and PREFIX/lib64/ for x86_64. As a side effect, MingW got its own targets in Makefile.shared. link_dso.mingw-shared and link_app.mingw-shared are aliases for the corresponding cygwin-shared targets. link_shlib.mingw-shared is, however, a target separated from the cygwin one. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Big rename fest of engine DSO names, from libFOO.so to FOO.soRichard Levitte2016-02-191-20/+12
| | | | | | | | | | | | | | | | | | | | | | The engine DSOs were named as if they were shared libraries, and could end up having all sorts of fancy names: Cygwin: cygFOO.dll Mingw: FOOeay32.dll Unix: libFOO.so / libFOO.sl / libFOO.dylib / ... This may be confusing, since they look like libraries one should link with at link time, when they're just DSOs. It's therefore time to rename them, and do it consistently on all platforms: Cygwin & Mingw: FOO.dll Unix: FOO.{so,sl,dylib,...} Interestingly enough, the MSVC and VMS builds always did it this way. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Simplify the generation of ld scripts for Linux and SolarisRichard Levitte2016-02-191-14/+5
| | | | | | | | | | | | Because we know for certain that the link_shlib targets are used exclusively for shared libraries (libcrypto and libssl) and that they must have an associated .num file, we don't need to check the library name to produce an ld script. Just do it unconditionally. link_shlib.linux-shared can be simplified further, as most of it is exactly the same as $(DO_GNU_SO) with just one variable modification. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Big rename fest in makefile.shared: link_a / link_o -> link_shlib / link_dsoRichard Levitte2016-02-191-121/+96
| | | | | | | | | | | | Originally, the Makefile.shared targets described what they used as input for a shared object, be it a shared library or a DSO. It turned out, however, that the link_o targets were used exclusively for engines and the link_a targets were for libcrypto and libssl. This rename fest turns and indication on the kind of input the targets get to the intention with using them. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Rethink the uplink / applink storyRichard Levitte2016-02-191-4/+0
| | | | | | | | | | | | | | | | Adding uplink and applink to some builds was done by "magic", the configuration for "mingw" only had a macro definition, the Configure would react to its presence by adding the uplink source files to cpuid_asm_src, and crypto/build.info inherited dance to get it compiled, and Makefile.shared made sure applink.o would be appropriately linked in. That was a lot under the hood. To replace this, we create a few template configurations in Configurations/00-base-templates.conf, inherit one of them in the "mingw" configuration, the rest is just about refering to the $target{apps_aux_src} / $target{apps_obj} in the right places. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Fix Solaris link_a and link_oRichard Levitte2016-02-161-9/+5
| | | | | | | | | | A long time ago, Solaris cc didn't seem to handle -Wl, linker options, while gcc on Solaris required it. Since then, Solaris cc has developed to understand -Wl, options, and our little dance to figure out how to pass linker options to the C compiler that's used isn't needed any more. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Display the windres commandRichard Levitte2016-02-131-0/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Make util/mkrc.pl location agnostic and adapt Makefile.sharedRichard Levitte2016-02-111-1/+1
| | | | | | | With this, Cygwin and Mingw builds stand a much better chance to be able to build outside of the source tree with the unified build. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add support for shared_rcflag, useful for windres (Cygwin and Mingw)Richard Levitte2016-02-111-1/+5
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* unified build scheme: add the tweaks to build on Cygwin & MingwRichard Levitte2016-02-101-5/+1
| | | | | | | | | | | | | | | | | | Cygwin and Mingw name their libraries a bit differently from the rest of the POSIXly universe, we need to adapt to that. In Makefile.tmpl, it means that some hunks will only be output conditionally. This also means that shared_extension for the Cygwin and Mingw configurations in Configurations/10-main.conf are changing from .dll.a to .dll. Makefile.shared does a fine job without having them specified, and it's much easier to work with tucking an extra .a at the end of files in the installation recipes than any amount of name rewrites, especially with the support of the SHARED_NAME in the top build.info. Reviewed-by: Rich Salz <rsalz@openssl.org>
* unified build scheme: adjust some scriptsRichard Levitte2016-02-091-16/+22
| | | | | | | | | | util/mkdef.pl and Makefile.shared needs to know about the source and the build directories. Additionally, Makefile.shared needs to know how to build shared libraries in a directory other than the current one. Reviewed-by: Ben Laurie <ben@openssl.org>
* Display the linking commands that are performedRichard Levitte2016-02-061-2/+8
| | | | Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* Enhance and clear the support of linker flagsRichard Levitte2016-02-061-10/+10
| | | | | | | | | | | | | | | | | | | | | | | Some time ago, we had a ex_libs configuration setting that could be divided into lflags and ex_libs. These got divided in two settings, lflags and ex_libs, and the former was interpreted to be general linking flags. Unfortunately, that conclusion wasn't entirely accurate. Most of those linking were meant to end up in a very precise position on the linking command line, just before the spec of libraries the linking depends on. Back to the drawing board, we're diving things further, now having lflags, which are linking flags that aren't depending on command line position, plib_lflags, which are linking flags that should show up just before the spec of libraries to depend on, and finally ex_libs, which is the spec of extra libraries to depend on. Also, documentation is changed in Configurations/README. This was previously forgotten. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* Don't export local symbols on SolarisMatt Caswell2016-02-051-2/+7
| | | | | | | | Following on from earlier commits to prevent local symbols from being exported in the shared libraries on Linux, this makes the equivalent changes for Solaris. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Don't strip object files on CygwinCorinna Vinschen2016-01-181-2/+2
| | | | | | | | | | | | Building for the Cygwin distro requires to be able to build debuginfo files. This in turn requires to build object files without stripping. The stripping is performed by the next step after building which creates the debuginfo files. Signed-off-by: Corinna Vinschen <vinschen@redhat.com> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Don't export internal symbolsMatt Caswell2015-12-151-1/+12
| | | | | | | | | | | On Linux when creating the .so file we were exporting all symbols. We should only be exporting public symbols. This commit fixes the issue. It is only applicable to linux currently although the same technique may work for other platforms (e.g. Solaris should work the same way). This also adds symbol version information to our exported symbols. Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: Remove some unsupported platforms.Rich Salz2015-01-121-12/+1
| | | | | | | | | This commit removes NCR, Tandem, Cray. Regenerates TABLE. Removes another missing BEOS fluff. The last platform remaining on this ticket is WIN16. Reviewed-by: Richard Levitte <levitte@openssl.org>
* RT3548: unsupported platformsRich Salz2014-12-251-27/+1
| | | | | | | This commit removes Sinix/ReliantUNIX RM400 (And a missed piece of BEOS fluff) Reviewed-by: Richard Levitte <levitte@openssl.org>
* Makefile.share: fix brown-bag typo in link_o.darwin.Andy Polyakov2010-08-211-1/+1
|
* Makefile.shared: link_o.darwin comment update.Andy Polyakov2010-07-161-0/+2
|
* Makefile.shared: debugging line slipped through in previous commit.Andy Polyakov2010-07-151-1/+1
|
* Makefile.shared: update link_o.dawrin rule.Andy Polyakov2010-07-151-8/+18
| | | | PR: 2306
* Fixes to CROSS_COMPILE, don't override command line option from environmentDr. Stephen Henson2009-10-161-1/+1
|
* PR: 2003Dr. Stephen Henson2009-08-101-1/+1
| | | | | Make it possible to install OpenSSL in directories with name other than "lib" for example "lib64". Based on patch from Jeremy Utley.
* Makefile.shared: improve portability of commit#17753.Andy Polyakov2009-01-021-2/+2
|
* Styling update to makefiles: eliminate redundant pipes.Andy Polyakov2008-12-301-2/+2
|
* Styling update to makefiles: $() to denote make substitutions and $${} -Andy Polyakov2008-12-291-24/+24
| | | | shell ones.
* AIX build updates.Andy Polyakov2008-09-121-4/+4
|
* Apply mingw patches as supplied by Roumen Petrov an Alon Bar-LevLutz Jänicke2008-04-171-4/+13
| | | | | PR: 1552 Submitted by: Roumen Petrov <openssl@roumenpetrov.info>, "Alon Bar-Lev" <alon.barlev@gmail.com>
* Minor fix in link_[oa].hpux.Andy Polyakov2007-09-161-2/+2
|
* IRIX and Tru64 platform updates.Andy Polyakov2007-08-261-4/+4
|
* Proper support for shared build under MacOS X.Andy Polyakov2007-07-311-3/+1
|