Mailing List Archive

cvs commit: apache-2.0/src/lib/apr/include apr.h.in apr.hw
wrowe 00/10/11 10:05:07

Modified: src/lib/apr/include apr.h.in apr.hw
Log:
Take Greg's criticism very literally. EXPORT (when it's really IMPORT)
is a true Lewis Carrollism. This patch replaces the following:

APR_EXPORT() -> APR_DECLARE() This is a public fn
APR_EXPORT_NONSTD() -> APR_DECLARE_NONSTD() This is a varargs fn
APR_VAR_EXPORT -> APR_DECLARE_DATA These are public vars
APR_VAR_IMPORT -> APR_DECLARE_DATA ditto

APR_EXPORT_SYMBOLS -> APR_DECLARE_EXPORT Compile the lib to export
APR_STATIC -> APR_DECLARE_STATIC Compile:linked to the .lib
no define Compile:linked to the .dll

The old symbols are retained in-place. I will wait for the firestorm
of controversy to die before we actually use these symbols in the APR,
or will back out the new names under CtR

Submitted by: Greg Stein
Reviewed by: William Rowe

Revision Changes Path
1.43 +15 -4 apache-2.0/src/lib/apr/include/apr.h.in

Index: apr.h.in
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr.h.in,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- apr.h.in 2000/09/22 11:37:06 1.42
+++ apr.h.in 2000/10/11 17:05:06 1.43
@@ -123,10 +123,21 @@
/* Definitions that APR programs need to work properly. */

#define APR_THREAD_FUNC
-#define APR_EXPORT(type) type
-#define APR_EXPORT_NONSTD(type) type
-#define APR_VAR_IMPORT extern
-#define APR_VAR_EXPORT
+
+/* Create a set of APR_DECLARE(type), APR_DECLARE_NONSTD(type) and
+ * APR_DECLARE_DATA with appropriate export and import tags for the platform.
+ * Simple case - see apr.hw for the complex example
+ */
+#define APR_DECLARE(type) type
+#define APR_DECLARE_NONSTD(type) type
+#define APR_DECLARE_DATA
+
+/* These need to move into apr_compat.h when the symbol rename is complete
+ */
+#define APR_EXPORT(t) APR_DECLARE(t)
+#define APR_EXPORT_NONSTD(t) APR_DECLARE_NONSTD(t)
+#define APR_VAR_EXPORT APR_DECLARE_DATA
+#define APR_VAR_IMPORT APR_DECLARE_DATA

/* Define APR_SSIZE_T_FMT.
* If ssize_t is an integer we define it to be "d",



1.27 +26 -16 apache-2.0/src/lib/apr/include/apr.hw

Index: apr.hw
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr.hw,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- apr.hw 2000/09/22 11:37:06 1.26
+++ apr.hw 2000/10/11 17:05:06 1.27
@@ -179,24 +179,34 @@
/* Local machine definition for console and log output. */
#define APR_EOL_STR "\r\n"

-#if !defined(WIN32) || defined(APR_STATIC)
-/* Default Non-WIN32 behavior removes all MSVCisms */
-#define APR_EXPORT(type) type
-#define APR_EXPORT_NONSTD(type) type
-#define APR_VAR_EXPORT
-#define APR_VAR_IMPORT extern
-#elif defined(APR_EXPORT_SYMBOLS)
-#define APR_EXPORT(type) __declspec(dllexport) type
-#define APR_EXPORT_NONSTD(type) __declspec(dllexport) type
-#define APR_VAR_EXPORT __declspec(dllexport)
-#define APR_VAR_IMPORT extern __declspec(dllexport)
+/* Create a set of APR_DECLARE(type), APR_DECLARE_NONSTD(type) and
+ * APR_DECLARE_DATA with appropriate export and import tags for the platform
+ */
+#if !defined(WIN32)
+#define APR_DECLARE(type) type
+#define APR_DECLARE_NONSTD(type) type
+#define APR_DECLARE_DATA
+#elif defined(APR_DECLARE_STATIC)
+#define APR_DECLARE(type) type __stdcall
+#define APR_DECLARE_NONSTD(type) type
+#define APR_DECLARE_DATA
+#elif defined(APR_DECLARE_EXPORT)
+#define APR_DECLARE(type) __declspec(dllexport) type __stdcall
+#define APR_DECLARE_NONSTD(type) __declspec(dllexport) type
+#define APR_DECLARE_DATA __declspec(dllexport)
#else
-/* Default WIN32 behavior is to import the shared .dll */
-#define APR_EXPORT(type) __declspec(dllimport) type
-#define APR_EXPORT_NONSTD(type) __declspec(dllimport) type
-#define APR_VAR_EXPORT __declspec(dllimport)
-#define APR_VAR_IMPORT extern __declspec(dllimport)
+#define APR_DECLARE(type) __declspec(dllimport) type __stdcall
+#define APR_DECLARE_NONSTD(type) __declspec(dllimport) type
+#define APR_DECLARE_DATA __declspec(dllimport)
#endif
+
+/* These need to move into apr_compat.h when the symbol rename is complete
+ */
+#define APR_EXPORT(t) APR_DECLARE(t)
+#define APR_EXPORT_NONSTD(t) APR_DECLARE_NONSTD(t)
+#define APR_VAR_EXPORT APR_DECLARE_DATA
+#define APR_VAR_IMPORT APR_DECLARE_DATA
+

#define apr_signal(a,b) signal(a,b)