From b764ab9537458b37d247a4f7b6d6a5b9657ff6d6 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 13 Jun 2005 03:23:50 +0000 Subject: Netware patch submitted by Verdon Walker" in PR 1107. He says: This is a followup to the NetWare patch that was applied to beta3. It does the following: - Fixes a problem in the CLib build with undefined symbols. - Adds the ability to use BSD sockets as the default for the OpenSSL socket BIO. NetWare supports 2 flavors of sockets and our Apache developers need BSD sockets as a configurable option when building OpenSSL. This adds that for them. - Updates to the INSTALL.NW file to explain new options. I have tried very hard to make sure all the changes are in NetWare specific files or guarded carefully to make sure they only impact NetWare builds. I have tested the Windows build to make sure it does not break that since we have made changes to mk1mf.pl. We are still working the gcc cross compile for NetWare issue and hope to have a patch for that before beta 6 is released. --- util/mk1mf.pl | 11 +++++++---- util/pl/netware.pl | 20 ++++++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) (limited to 'util') diff --git a/util/mk1mf.pl b/util/mk1mf.pl index 5d16b5839e..fa0fbe3673 100755 --- a/util/mk1mf.pl +++ b/util/mk1mf.pl @@ -33,8 +33,9 @@ $infile="MINFO"; "ultrix-mips","DEC mips ultrix", "FreeBSD","FreeBSD distribution", "OS2-EMX", "EMX GCC OS/2", - "netware-clib", "CodeWarrior for NetWare - CLib", - "netware-libc", "CodeWarrior for NetWare - LibC", + "netware-clib", "CodeWarrior for NetWare - CLib - with WinSock Sockets", + "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets", + "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets", "default","cc under unix", ); @@ -163,9 +164,11 @@ elsif ($platform eq "OS2-EMX") $wc=1; require 'OS2-EMX.pl'; } -elsif (($platform eq "netware-clib") || ($platform eq "netware-libc")) +elsif (($platform eq "netware-clib") || ($platform eq "netware-libc") || + ($platform eq "netware-libc-bsdsock")) { - $LIBC=1 if $platform eq "netware-libc"; + $LIBC=1 if $platform eq "netware-libc" || $platform eq "netware-libc-bsdsock"; + $BSDSOCK=1 if $platform eq "netware-libc-bsdsock"; require 'netware.pl'; } else diff --git a/util/pl/netware.pl b/util/pl/netware.pl index 2258a39920..c05789b22f 100644 --- a/util/pl/netware.pl +++ b/util/pl/netware.pl @@ -2,19 +2,25 @@ # # The import files and other misc imports needed to link +@misc_imports = ("GetProcessSwitchCount", "RunningProcess", + "GetSuperHighResolutionTimer"); if ($LIBC) { - @import_files = ("libc.imp", "ws2nlm.imp"); + @import_files = ("libc.imp"); @module_files = ("libc"); } else { # clib build - @import_files = ("clib.imp", "ws2nlm.imp"); + @import_files = ("clib.imp"); @module_files = ("clib"); + push(@misc_imports, "_rt_modu64%16", "_rt_divu64%16"); } -@misc_imports = ("GetProcessSwitchCount", "RunningProcess", - "GetSuperHighResolutionTimer" ); +if (!$BSDSOCK) +{ + push(@import_files, "ws2nlm.imp"); +} + # The "IMPORTS" environment variable must be set and point to the location # where import files (*.imp) can be found. @@ -122,6 +128,12 @@ else $lflags.=" -entry _Prelude -exit _Stop"; } +# If BSD Socket support is requested, set a define for the compiler +if ($BSDSOCK) +{ + $cflags.=" -DNETWARE_BSDSOCK"; +} + # linking stuff # for the output directories use the mk1mf.pl values with "_nw" appended -- cgit v1.2.3