summaryrefslogtreecommitdiffstats
path: root/Makefile.in
AgeCommit message (Collapse)Author
2016-03-21Remove the remainder of util/mk1mf.pl and companion scriptsRichard Levitte
This removes all scripts that deal with MINFO as well, since that's only used by mk1mf. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-11Add blake2 support.Bill Cox
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-07Makefile.in: populate [PLIB_]LDFLAG even with $target{} settings.Andy Polyakov
RT#4373 Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-07ALG: Add AFALG engineclucey
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-05Change names of ordinals and libs, libeay => libcrypto and ssleay => libsslRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-02Don't copy from %target to %config so much, see %config as a complementRichard Levitte
We copied $target{cflags}, $target{defines} and a few more to %config, just to add to the entries. Avoid doing so, and let the build templates deal with combining the two. There are a few cases where we still fiddle with %target, but that's acceptable. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-02Make uplink auxiliary source separate from cpuid sourceRichard Levitte
There are cases, for example when configuring no-asm, that the added uplink source files got in the way of the cpuid ones. The best way to solve this is to separate the two. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-27Remove some old files.Rich Salz
I read the PROBLEMS, and they're outdated; nothing I'd put in the online FAQ, for example. Test-builds work without using these files. Had to remove the rehash.time stuff from Makefile.in Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-26Public API for Certificate TransparencyRob Percival
Reviewed-by: Ben Laurie <ben@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-22Use $disabled{shared} in a safer mannerRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-22Clean away $config{no_shared} since we have $disabled{shared}Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-20Build dynamic engines even if configured "no-shared"Richard Levitte
Until now, the engines in engines/ were only built as dynamicaly loadable ones if shared libraries were built. We not dissociate the two and can build dynamicaly loadable engines even if we only build static libcrypto and libssl. This is controlled with the option (enable|disable|no)-static-engine, defaulting to no-static-engine. Note that the engines in crypto/engine/ (dynamic and cryptodev) will always be built into libcrypto. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-20Always build library object files with shared library cflagsRichard Levitte
This takes us away from the idea that we know exactly how our static libraries are going to get used. Instead, we make them available to build shareable things with, be it other shared libraries or DSOs. On the other hand, we also have greater control of when the shared library cflags. They will never be used with object files meant got binaries, such as apps/openssl or test/test*. With unified, we take this a bit further and prepare for having to deal with extra cflags specifically to be used with DSOs (dynamic engines), libraries and binaries (applications). Reviewed-by: Rich Salz <rsalz@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-19Misc small fixes.Richard Levitte
Better libclean that removes the exact files that have been built, nothing more and nothing less. Corrected typo A couple of editorial changes. 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-19Let Configure figure out the diverse shared library and DSO extensionsRichard Levitte
Then it can pass around the information where it belongs. The Makefile templates pick it up along with other target data, the DSO module gets to pick up the information through crypto/include/internal/dso_conf.h 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-18Fix uninstall_sw for the unixmake schemeRichard Levitte
The uninstall_sw target tried to 'make uninstall' in all subdirs. Change it to only go into $(INSTALL_SUBS), just like install_sw does. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-18Remove all special make depend flags, as well as OPENSSL_DOING_MAKEDEPENDRichard Levitte
All those flags existed because we had all the dependencies versioned in the repository, and wanted to have it be consistent, no matter what the local configuration was. Now that the dependencies are gone from the versioned Makefile.ins, it makes much more sense to use the exact same flags as when compiling the object files. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-13Don't build test programs by default, add convenience targets for unified buildRichard Levitte
Test programs are now only built when running "make test" or "make build_tests". Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-12Rename INSTALL_PREFIX to DESTDIR, remove option --install_prefixRichard Levitte
INSTALL_PREFIX is a confusing name, as there's also --prefix. Instead, tag along with the rest of the open source world and adopt the Makefile variable DESTDIR to designate the desired staging directory. The Configure option --install_prefix is removed, the only way to designate a staging directory is with the Makefile variable (this is also implemented for VMS' descrip.mms et al). Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-11Move to REF_DEBUG, for consistency.Rich Salz
Add utility macros REF_ASSERT_NOT and REF_PRINT_COUNT This is also RT 4181 Reviewed-by: Richard Levitte <levitte@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-10Quote the CFLAG in Unixly Makefiles, for buildinf.hRichard Levitte
Because the command line definitions of OPENSSLDIR and ENGINESDIR contain quotes, we need a variant of CFLAG where backslashes and quotes are escaped when we produce buildinf.h 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-10Configure et al: move the installation directory logic to MakefilesRichard Levitte
The logic to figure out the combinations of --prefix and --openssldir has stayed in Configure so far, with Unix paths as defaults. However, since we're making Configure increasingly platform agnostic, these defaults need to change and adapt to the platform, along with the logic to combine them. The easiest to provide for this is to move the logic and the defaults away from Configure and into the build files. This also means that the definition of the macros ENGINESDIR and OPENSSLDIR move away from include/openssl/opensslconf.h and into the build files. Makefile.in is adapted accordingly. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10Configure et al: treat C defines separatelyRichard Levitte
With some compilers, C macros are defined differently on the command line than on Unix. It could be that the flad to define them isn't -D, it could also be that they need to be grouped together and not be mixed in with the other compiler flags (that's how it's done on VMS, for example). On Unix family platform configurations, we can continue to have macro definitions mixed in with the rest of the flags, so the changes in Configurations/*.conf are kept to an absolute minimum. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10Remove store.Rich Salz
Rebased and merged by me, with Ben's approval. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Ben Laurie <ben@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-03[Configure] Make --with-zlib-* work with configdata.pmMichael Lee
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-29Templatize util/domdRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-29Configure et al: split up the lflags configuration item into twoRichard Levitte
The lflags configuration had a weird syntax with a % as separator. If it was present, whatever came before ended up as PEX_LIBS in Makefile (usually, this is LDFLAGS), while whatever came after ended up as EX_LIBS. This change splits that item into lflags and ex_libs, making their use more explicit. Also, PEX_LIBS in all the Makefiles are renamed to LDFLAGS. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-28Restore NUMPRIMES as a numeric literalViktor Dukhovni
This fixes clang compilation problem with size_t NUMPRIMES and int loop counters. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-26Remove unused, undocumented clean-shared targetBenjamin Kaduk
Also removes the make variable SHARED_LIBS_LINK_EXTS, only used by the clean-shared target. When shared library linking was moved to the separate Makefile.shared in commit 30afcc072acd4f70590fec68bf0590da4e4f1883, this target was skipped. Prior to that commit, clean-shared was invoked as a dependency of build-shared, but afterward it was no longer referenced anywhere in the tree. Instead of porting the functionality over to Makefile.shared, just remove it entirely, as it appears to be unused. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-26Base the tarfile list of files on git ls-files instead of findRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-25Small Makefile.in cleanupRichard Levitte
engines_obj changed name to padlock_obj in Configure. We need to do the corresponding ENGINES_ASM_OBJ -> PADLOCK_ASM_OBJ in appropriate Makefile.ins. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-25Generate warning textRichard Levitte
Now that we're using templates, we should warn people not to edit the resulting file. We do it through util/dofile.pl, which is enhanced with an option to tell what file it was called from. We also change the calls so the template files are on the command line instead of being redirected through standard input. That way, we can display something like this (example taken from include/openssl/opensslconf.h): /* WARNING: do not edit! */ /* Generated by Configure from include/openssl/opensslconf.h.in */ Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-25Refactor file writing - Remake Makefile.org into a templateRichard Levitte
It is time for Makefile.org to fold into the new regime and have a run through util/dofile.pl. This forces some information out of there and into Configure, which isn't a bad thing, it makes Configure increasingly the center of build information, which is as it should be. A few extra defaults were needed in the BASE template to get rid of warnings about missing values. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-01-24Move pqueue into sslRich Salz
This is an internal facility, never documented, not for public consumption. Move it into ssl (where it's only used for DTLS). I also made the typedef's for pqueue and pitem follow our style: they name structures, not pointers. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-24The rehash.time target should depend on build_tools as wellRichard Levitte
The explanation is that it falls back to using tools/c_rehash if 'apps/openssl rehash' isn't supported on the platform at hand. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-22Refresh the thinking of --prefix and --openssldirRichard Levitte
--prefix is now exclusively used for software and manual installation. --openssldir is not exclusively used as a default location for certs, keys and the default openssl.cnf. This change is made to bring clarity, to have the two less intertwined, and to be more compatible with the usual ways of software installation. Please change your habits and scripts to use --prefix rather than --openssldir for installation location now. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-01-20Consolidate "make update"Rich Salz
Rename 'update' to 'generate'. Rather than recurse, just explicitly call the three generate targets directly. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-19Remove the GOST engineMatt Caswell
The GOST engine is now out of date and is removed by this commit. An up to date GOST engine is now being maintained in an external repository. See: https://wiki.openssl.org/index.php/Binaries Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-19Add TLS PRF method.Dr. Stephen Henson
Add EVP_PKEY algorithm for TLS1 PRF. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-01-17Remove some old makefile targetsRich Salz
Remove lint, tags, dclean, tests. This is prep for a new makedepend scheme. This is temporary pending unified makefile, and might help it. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-14Fall back to c_rehash if 'openssl rehash' failsRichard Levitte
'openssl rehash' isn't implemented on all platforms, and since 'make test' depends on a rehash of certs/demo being performed, it becomes an effective block from running tests on any platform but Unix, for the moment. It's better to fall back to c_rehash and let the tests perform everywhere. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-01-12Move Makefiles to Makefile.inRich Salz
Create Makefile's from Makefile.in Rename Makefile.org to Makefile.in Rename Makefiles to Makefile.in Address review feedback from Viktor and Richard Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>