summaryrefslogtreecommitdiffstats
path: root/Makefile.shared
AgeCommit message (Collapse)Author
2016-11-01HPUX: Add the forgotten $(DSTDIR) when linking DSOsRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1802) (cherry picked from commit f46661de7806b5bae507d17185bda2bafd6c20d8)
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-09-08Configurations/10-main.cf: AIX "facelift".Andy Polyakov
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> (cherry picked from commit f780eaad5be140cf192191b8d79dc3671443e0b2)
2016-05-25Makefile.shared: revert Haiku support commit.Andy Polyakov
Configurations/50-haiku.conf reuses gnu-shared rules and doesn't require dedicated targets. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-16Add support for RC / WINDRES env variablesRichard Levitte
RT#2558 Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-04-14Add Haiku support.Jérôme Duval
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-27FreeBSD, at least, can restrict symbols in a shared library - so use theBen Laurie
Linux target that does that. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-25Solaris DSOs were still named libFOO.so, fixedRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-23correct name of GNU shared librariesRoumen Petrov
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-22Fix DSO name on HP/UXRichard Levitte
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>
2016-02-22Don't include all symbols from static libraries when building a DSORichard Levitte
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>
2016-02-22Fix incorrect SO name on GNU platformsRichard Levitte
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>
2016-02-19Makefile.shared: limit .dll image base pinning to FIPS builds.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-02-19Big rename fest of MingW shared librariesRichard Levitte
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>
2016-02-19Big rename fest of engine DSO names, from libFOO.so to FOO.soRichard Levitte
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>
2016-02-19Simplify the generation of ld scripts for Linux and SolarisRichard Levitte
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>
2016-02-19Big rename fest in makefile.shared: link_a / link_o -> link_shlib / link_dsoRichard Levitte
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>
2016-02-19Rethink the uplink / applink storyRichard Levitte
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>
2016-02-16Fix Solaris link_a and link_oRichard Levitte
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>
2016-02-13Display the windres commandRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-11Make util/mkrc.pl location agnostic and adapt Makefile.sharedRichard Levitte
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>
2016-02-11Add support for shared_rcflag, useful for windres (Cygwin and Mingw)Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10unified build scheme: add the tweaks to build on Cygwin & MingwRichard Levitte
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>
2016-02-09unified build scheme: adjust some scriptsRichard Levitte
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>
2016-02-06Display the linking commands that are performedRichard Levitte
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2016-02-06Enhance and clear the support of linker flagsRichard Levitte
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>
2016-02-05Don't export local symbols on SolarisMatt Caswell
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>
2016-01-18Don't strip object files on CygwinCorinna Vinschen
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>
2015-12-15Don't export internal symbolsMatt Caswell
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>
2015-01-12RT3548: Remove some unsupported platforms.Rich Salz
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>
2014-12-25RT3548: unsupported platformsRich Salz
This commit removes Sinix/ReliantUNIX RM400 (And a missed piece of BEOS fluff) Reviewed-by: Richard Levitte <levitte@openssl.org>
2010-08-21Makefile.share: fix brown-bag typo in link_o.darwin.Andy Polyakov
2010-07-16Makefile.shared: link_o.darwin comment update.Andy Polyakov
2010-07-15Makefile.shared: debugging line slipped through in previous commit.Andy Polyakov
2010-07-15Makefile.shared: update link_o.dawrin rule.Andy Polyakov
PR: 2306
2009-10-15Fixes to CROSS_COMPILE, don't override command line option from environmentDr. Stephen Henson
2009-08-10PR: 2003Dr. Stephen Henson
Make it possible to install OpenSSL in directories with name other than "lib" for example "lib64". Based on patch from Jeremy Utley.
2009-01-02Makefile.shared: improve portability of commit#17753.Andy Polyakov
2008-12-30Styling update to makefiles: eliminate redundant pipes.Andy Polyakov
2008-12-29Styling update to makefiles: $() to denote make substitutions and $${} -Andy Polyakov
shell ones.
2008-09-12AIX build updates.Andy Polyakov
2008-04-17Apply mingw patches as supplied by Roumen Petrov an Alon Bar-LevLutz Jänicke
PR: 1552 Submitted by: Roumen Petrov <openssl@roumenpetrov.info>, "Alon Bar-Lev" <alon.barlev@gmail.com>
2007-09-16Minor fix in link_[oa].hpux.Andy Polyakov
2007-08-26IRIX and Tru64 platform updates.Andy Polyakov
2007-07-31Proper support for shared build under MacOS X.Andy Polyakov
2007-05-19--enable-auto-image-base in cygwin build.Andy Polyakov
PR: 1517 Submitted by: vinschen@redhat.com
2007-03-25Allow shared builds for aix[64]-gcc targets.Andy Polyakov
2007-03-22Fixes for aix-shared rules.Andy Polyakov
2006-10-24Further mingw build procedure updates.Andy Polyakov
2006-10-23Harmonize dll naming in mingw builds.Andy Polyakov