34 Commits (15877618196a827d59c6e014359e5b021b4baf0b)

Author SHA1 Message Date
Dr. Stephen Henson 8711efb498 Updates from 1.0.0-stable branch. 14 years ago
Andy Polyakov e4317d2031 OPENSSL_IMPLEMENT_GLOBAL caused more grief than it's worth (it's used twice
in legacy code). I'd rather just remove it along with legacy interface,
but it's probably not as appropriate as I'd like. Reimplement the macro.
16 years ago
Ulf Möller 4700aea951 Add BeOS support.
PR: 1312
Submitted by: Oliver Tappe <zooey@hirschkaefer.de>
Reviewed by: Ulf Moeller
17 years ago
Andy Polyakov c510eec090 Put back OPENSSL_SYS_MSDOS definition to revive DJGPP built.
PR: 1247
18 years ago
Andy Polyakov 6321c3a034 Keep disclaiming 16-bit support. 18 years ago
Andy Polyakov 4f1c33b430 Addenum to http://cvs.openssl.org/chngview?cn=13054. 18 years ago
Dr. Stephen Henson c05a7f5dfd Don't use multiple storage types. 19 years ago
Richard Levitte 4591850561 The compiler may complain about what looks like a double definition of a
static variable
19 years ago
Richard Levitte 28a8003467 Changes for VOS, submitted by Paul Green <Paul.Green@stratus.com>.
PR: 499
19 years ago
Richard Levitte 4d8743f490 Netware-specific changes,
PR: 780
Submitted by: Verdon Walker <VWalker@novell.com>
Reviewed by: Richard Levitte
20 years ago
Richard Levitte abfc6a3a9b To define OPENSSL_NO_FP_API for all MSDOS type targets was unfair
against DJGPP, and much more restricted than previous definitions.
20 years ago
Richard Levitte d4a47a5778 Because it may be needed in public header files, move the definition
of OPENSSL_NO_FP_API on existence of OPENSSL_SYS_MSDOS to e_os2.h.
21 years ago
Richard Levitte 0bf23d9b20 WinCE patches 21 years ago
Richard Levitte 0709385d3c Correct support for SunOS 4.1.3_U1.
PR: 227
21 years ago
Richard Levitte 832f9304fd Rhapsody had ftime, Darwin doesn't (any longer?) 21 years ago
Richard Levitte 6a89a25c27 Add a few more VxWorks targets.
Correct misspelled VXWORKS macros.
Add VXWORKS identifying macros to e_os2.h.
Add required inclusions and mappings for VxWorks in e_os.h.
A few small modifications to make OpenSSL build and work on VxWorks.
PR: 253, except for the  change that was handled in an earlier
         commit, and a request for easy build of just parts of OpenSSL.
21 years ago
Richard Levitte c69d103956 Tentatively add support for UWIN, a Unix-like environment on top of Windows.
PR: 62
21 years ago
Richard Levitte d8425465a3 Recognise DEC C++ as equivalent to DEC C for the definitions of OPENSSL_EXTERN and OPENSSL_GLOBAL.
Submitted by Compaq.
21 years ago
Richard Levitte 1a19f83d4c Apparently, Linux is identified with __linux__ as well. 22 years ago
Richard Levitte dc01b6b1f2 Changes to have OpenSSL compile on OS/2.
Contributed by "Brian Havard" <brianh@kheldar.apana.org.au>
22 years ago
Richard Levitte 99c65cef0f It seems like the removal of "extern" before "static" wasn't a
mistake.
22 years ago
Richard Levitte 96aaf806d8 Put back a removed "extern", or many compilers will complain about
redefined variables.
22 years ago
Dr. Stephen Henson 4831e626aa Change Win32 to use EXPORT_VAR_AS_FN.
Fix OPENSSL_IMPLEMENT_GLOBAL.

Allow Win32 to use EXPORT_VAR_AS_FN in mkdef.pl

make update.
22 years ago
Dr. Stephen Henson 595cc5b4b8 Under VC++ _DLL is set to indicate that the application

							
						
22 years ago
Richard Levitte 6bcac6e578 Correct a typo. linux != linus. 22 years ago
Richard Levitte 5cac59b6c1 Add the possibility for option macros and start using it to indicate
for Windows compilations if DLL linkage is required or not.
23 years ago
Richard Levitte 62dc5aad06 Introduce the possibility to access global variables through
functions on platform were that's the best way to handle exporting
global variables in shared libraries.  To enable this functionality,
one must configure with "EXPORT_VAR_AS_FN" or defined the C macro
"OPENSSL_EXPORT_VAR_AS_FUNCTION" in crypto/opensslconf.h (the latter
is normally done by Configure or something similar).

To implement a global variable, use the macro OPENSSL_IMPLEMENT_GLOBAL
in the source file (foo.c) like this:

	OPENSSL_IMPLEMENT_GLOBAL(int,foo)=1;
	OPENSSL_IMPLEMENT_GLOBAL(double,bar);

To declare a global variable, use the macros OPENSSL_DECLARE_GLOBAL
and OPENSSL_GLOBAL_REF in the header file (foo.h) like this:

	OPENSSL_DECLARE_GLOBAL(int,foo);
	#define foo OPENSSL_GLOBAL_REF(foo)
	OPENSSL_DECLARE_GLOBAL(double,bar);
	#define bar OPENSSL_GLOBAL_REF(bar)

The #defines are very important, and therefore so is including the
header file everywere where the defined globals are used.

The macro OPENSSL_EXPORT_VAR_AS_FUNCTION also affects the definition
of ASN.1 items, but that structure is a bt different.

The largest change is in util/mkdef.pl which has been enhanced with
better and easier to understand logic to choose which symbols should
go into the Windows .def files as well as a number of fixes and code
cleanup (among others, algorithm keywords are now sorted
lexicographically to avoid constant rewrites).
23 years ago
Richard Levitte 1961b327eb Always include opensslconf.h, even if it's already been done before.
The reason is that some parts are only included when certain other
include files have been included.

Also, it seems that the rest of the OpenSSL code assumes that all
kinds of M$ Windows are MSDOS as well...
23 years ago
Richard Levitte cf1b7d9664 Make all configuration macros available for application by making
sure they are available in opensslconf.h, by giving them names starting
with "OPENSSL_" to avoid conflicts with other packages and by making
sure e_os2.h will cover all platform-specific cases together with
opensslconf.h.

I've checked fairly well that nothing breaks with this (apart from
external software that will adapt if they have used something like
NO_KRB5), but I can't guarantee it completely, so a review of this
change would be a good thing.
23 years ago
Richard Levitte 21cd437886 Define OPENSSL_EXPORT and OPENSSL_IMPORT and give OPENSSL_EXTERN the
default value OPENSSL_IMPORT.  Explain the use of all those macros.
23 years ago
Richard Levitte 82271cee5b In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the
OpenSSL header files have #include's and extern "C"'s in an incorrect
order.  Thusly fixed.
23 years ago
Bodo Möller e766a681aa Some pre-POSIX systems don't have unistd.h (but e.g. lib.c).
Allow configuring the name of that header file.
24 years ago
Bodo Möller e1999b1dab Use OPENSSL_GLOBAL, OPENSSL_EXTERN instead of GLOBAL and EXTERN. 24 years ago
Bodo Möller 2a4a0a340d e_os* corrections. 24 years ago