extensions from .so to .dll. Almost the same as for OS2.
* htdocs/manual/cywin.html: added related changes to the configure
and build process for shared module DLLs.
* src/Configure: cleaned up Cygwin case for OS specific variable
declaration. Removed no longer need $DLL_IMPORT_DEF and
$DLL_IMPORT_LIB variables.
* src/Makefile.tmpl: removed no longer needed $DLL_IMPORT_LIB
variable.
* src/main/http_main.c: added dllexport declaration for int REALMAIN
for SHARED_CORE support.
* src/modules/standard/Makefile.Cygwin: added this new file to
reflect the extra rules needed to link the shared module DLLs. Very
similar to src/modules/standard/Makefile.OS2.
* src/os/cygwin/os.h: added explicit dllimport and dllexport
declarations for API_VAR_EXPORT and API_EXPORT(type).
PR:
Obtained from:
Submitted by: Stipe Tolj <tolj@wapme-systems.de>
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@91166
13f79535-47bb-0310-9956-
ffa450edef68
echo $SEO "s%/mod_\\(.\\{1,8\\}\\).*\\.so%/\\1\\.dll%" >>$sedsubst
echo $SEO "s%/\\(lib.*\\)\\.so$%/\\1.dll%" >>$sedsubst
;;
+ *cygwin* )
+ echo $SEO "s%/\\(mod_.*\\)\\.so$%/\\1.dll%" >>$sedsubst
+ echo $SEO "s%/\\(lib.*\\)\\.so$%/\\1.dll%" >>$sedsubst
+ ;;
esac
# split sedsubst into chunks of 50 commands
Changes with Apache 1.3.21
+ *) PORT: Some Cygwin changes, esp. improvements for dynamic loading,
+ and cleanups. [Stipe Tolj <tolj@wapme-systems.de>]
+
*) Win32 SECURITY: The default installation could lead to mod_negotiation
and mod_dir/mod_autoindex displaying a directory listing instead of
the index.html.* files, if a very long path was created artificially
*) mod_proxy - close origin server connection when client aborts
[Alexey Panchenko <panchenko@liwest.ru>] PR#8067,7383,6585
- *) PORT: Some Cygwin changes. [Stipe Tolj <tolj@wapme-systems.de>]
-
*) ErrorDocument 404 pointing to a parsed html file with a
<!--#include virtual="file" --> with a request URI containing
%2f would result in a segfault (NULL pointer deref, not a
if [ "x$TCFLAGS_SHLIB" = "x" ]; then
echo "CFLAGS_SHLIB=$CFLAGS_SHLIB -DSHARED_MODULE" >> Makefile.config
fi
- if [ "x$TDLL_IMPORT_DEF" = "x" ]; then
- echo "DLL_IMPORT_DEF=$DLL_IMPORT_DEF" >> Makefile.config
- fi
- if [ "x$TDLL_IMPORT_LIB" = "x" ]; then
- echo "DLL_IMPORT_LIB=$DLL_IMPORT_LIB" >> Makefile.config
- fi
if [ "x$TLD_SHLIB" = "x" ]; then
echo "LD_SHLIB=$LD_SHLIB" >> Makefile.config
fi
target_shared: $(SHCORE_IMPLIB) $(SHARED_CORE_EP) lib$(TARGET).$(SHLIB_SUFFIX_NAME)
$(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
-o $(TARGET) -DSHARED_CORE_BOOTSTRAP main/http_main.c \
- ap/libap.a $(LIBS) $(SHCORE_IMPLIB) $(DLL_IMPORT_LIB)
+ ap/libap.a $(LIBS) $(SHCORE_IMPLIB)
lib$(TARGET).ep: lib$(TARGET).$(SHLIB_SUFFIX_NAME)
$(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
extern char *optarg;
extern int optind;
+/* Cygwin 1.x SHARED_CORE support needs REALMAIN to be declared as dllexport,
+ * so we can later while SHARED_CORE_BOOTSTRAP is compiled and linked see the
+ * dllimport for it. -- Stipe Tolj <tolj@wapme-systems.de>
+ */
+
+#if defined(CYGWIN)
+__declspec(dllexport)
+#endif
+
int REALMAIN(int argc, char *argv[])
{
int c;
__declspec(dllimport)
#endif
+
int ap_main(int argc, char *argv[]); /* Load time linked from libhttpd.dll */
int main(int argc, char *argv[])
#ifndef API_EXPORT
#ifdef SHARED_CORE
-# define API_EXPORT(type) __declspec(dllexport) type
+# ifdef SHARED_MODULE
+# define API_VAR_EXPORT __declspec(dllimport)
+# define API_EXPORT(type) __declspec(dllimport) type
+# define MODULE_VAR_EXPORT __declspec(dllexport)
+# else
+# define API_VAR_EXPORT __declspec(dllexport)
+# define API_EXPORT(type) __declspec(dllexport) type
+# endif /* def SHARED_MODULE */
#endif /* def SHARED_CORE */
#endif /* ndef API_EXPORT */