summaryrefslogtreecommitdiff
path: root/hints/uwin.sh
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-06-02 16:08:22 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-06-02 16:08:22 +0000
commitcd19b65c5ecbc051ae6b3ed0644e976003b04fce (patch)
treea571f4e9cddac0ee396b2f73a528410819aa511b /hints/uwin.sh
parentdea4d7dfbb03f4a0014d53b245f3d8b5b801961c (diff)
downloadperl-cd19b65c5ecbc051ae6b3ed0644e976003b04fce.tar.gz
U/WIN: final (for now) touches from John P. Linderman;
now we get 97% success rate, the remaining failures are quite obscure. p4raw-id: //depot/perl@19662
Diffstat (limited to 'hints/uwin.sh')
-rw-r--r--hints/uwin.sh138
1 files changed, 118 insertions, 20 deletions
diff --git a/hints/uwin.sh b/hints/uwin.sh
index c05d9eb8dc..1c64a8f40f 100644
--- a/hints/uwin.sh
+++ b/hints/uwin.sh
@@ -1,36 +1,134 @@
#
-# hint file for U/WIN (UNIX for Windows 95/NT)
-#
-# created for U/WIN version 1.55
-# running under Windows NT 4.0 SP 3
-# using MSVC++ 5.0 for the compiler
-#
-# created by Joe Buehler (jbuehler@hekimian.com)
-#
-# for information about U/WIN see www.gtlinc.com
-#
+# The lines starting with #b that follow are the uwin.sh
+# file from Joe Buehler. Some lines are, themselves,
+# commented out. If an uncommented line disappears
+# altogether, it means it didn't seem to be needed any more,
+# to get a proper build on the following machine.
+# UWIN-NT korn-7200 3.19-5.0 2195 i686
+# But maybe they'll be useful to others on different machines.
+
+#b # hint file for U/WIN (UNIX for Windows 95/NT)
+#b #
+#b # created for U/WIN version 1.55
+#b # running under Windows NT 4.0 SP 3
+#b # using MSVC++ 5.0 for the compiler
+#b #
+#b # created by Joe Buehler (jbuehler@hekimian.com)
+#b #
+#b # for information about U/WIN see www.gtlinc.com
+#b #
+#b
+#b #ccflags=-D_BSDCOMPAT
+#b # confusion in Configure over preprocessor
+#b cppstdin=`pwd`/cppstdin
+#b cpprun=`pwd`/cppstdin
+#b # pwd.h confuses Configure
+#b d_pwcomment=undef
+#b d_pwgecos=define
+#b # work around case-insensitive file names
+#b firstmakefile=GNUmakefile
+#b # avoid compilation error
+#b i_utime=undef
+#b # compile/link flags
+#b ldflags=-g
+#b optimize=-g
+#b static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter::Util::Call IO IPC/SysV MIME::Base64 Opcode PerlIO::scalar POSIX SDBM_File Socket Storable Unicode::Normalize attrs re"
+#b #static_ext=none
+#b # dynamic loading needs work
+#b usedl=undef
+#b # perl malloc will not work
+#b usemymalloc=n
+#b # cannot use nm
+#b usenm=undef
+#b # vfork() is buggy (as of 1.55 anyway)
+#b usevfork=false
+
+# __UWIN__ added so it could be used in ext/POSIX/POSIX.xs
+# to protect against either tzname definition. According to Dave Korn
+
+#dgk gcc on uwin also predefined _UWIN as does the borland and digital
+#dgk mars compiler.
+#dgk
+#dgk Only ncc does not define _UWIN and this is intentional. ncc is used
+#dgk to build binaries that do not require the uwin runtime.
+#dgk This could be used for building a native win32 perl using unix
+#dgk makefiles. However, in this case you don't wan't _UWIN defined.
+#dgk
+#dgk I have used _UWIN everywhere else in any uwin specific changes.
+#dgk and _WIN32 on windows specific changes, and _MSVC on any compiler
+#dgk Visual C specific changes. We also define _WINIX for any unix
+#dgk on windows implementation so that _UWIN or __cygwin__ imply _WINIX.
+
+# I left __UWIN__ as is, since I had already filed a patch,
+# and it might be useful to distinguish perl-specific tweaks
+# from generic uwin ones.
+
+ccflags="$ccflags -D__UWIN__"
+
+# This from Dave Korn
+#dgk Windows splits shared libraries into two parts; the part used
+#dgk for linking and the part that is used for running.
+#dgk Given a library foo, then the part you link with is named
+#dgk foo.lib
+#dgk and is in the lib directory. The part that you run with
+#dgk is named
+#dgk foo.dll or foo#.dll
+#dgk and is in the bin directory. This way when you set you PATH
+#dgk variable, it automatically does the library search.
+#dgk
+#dgk Static libraries use libfoo.a.
+#dgk By the way if you specify -lfoo, then it will first look for foo.lib
+#dgk and then libfoo.a. If you specify +lfoo, it will only look for
+#dgk static versions of the library.
+
+# So we use .lib as the extension, and put -lm in, because it is a .a
+# This probably accounts for the comment about dynamic libraries
+# needing work, and indeed, the build failed if I didn't undef it.
+
+lib_ext=".lib"
+libs="-lm"
+so=dll
+# dynamic loading still needs work
+usedl=undef
-#ccflags=-D_BSDCOMPAT
# confusion in Configure over preprocessor
cppstdin=`pwd`/cppstdin
cpprun=`pwd`/cppstdin
-# pwd.h confuses Configure
-d_pwcomment=undef
-d_pwgecos=define
+
+# lest it default to .exe, and then there's no perl in the test directory,
+# t, just a perl.exe, and make test promptly dies. _exe gets set to .exe
+# by Configure (on 5/23/2003) if exe_ext is merely null, so clean it out, too.! exe_ext=''
+_exe=''
+
# work around case-insensitive file names
firstmakefile=GNUmakefile
-# avoid compilation error
-i_utime=undef
# compile/link flags
ldflags=-g
optimize=-g
-static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter::Util::Call IO IPC/SysV MIME::Base64 Opcode PerlIO::scalar POSIX SDBM_File Socket Storable Unicode::Normalize attrs re"
-#static_ext=none
-# dynamic loading needs work
-usedl=undef
+
+# Original, with :: separators, cause make to choke.
+# No longer seems to be necessary at all.
+# static_ext="B Data/Dumper Digest/MD5 Errno Fcntl Filter/Util/Call IO IPC/SysV MIME/Base64 Opcode PerlIO/scalar POSIX SDBM_File Socket Storable Unicode/Normalize attrs re"
+
# perl malloc will not work
usemymalloc=n
# cannot use nm
usenm=undef
# vfork() is buggy (as of 1.55 anyway)
usevfork=false
+
+# Some other comments:
+# If you see something like
+
+# got: '/E/users/jpl/src/cmd/perl/t'
+# expected: '/e/users/jpl/src/cmd/perl/t'
+# Failed test (../ext/Cwd/t/cwd.t at line 88)
+
+# when running tests under harness, try the simple expedient of
+# changing to directory
+# /E/users/jpl/src/cmd/perl/t # note the leading capital /E
+# before running the tests. UWIN is a bit schizophrenic about case.
+# It likes to return an uppercase "disk" letter for the leading directory,
+# but your home directory may well have that in lower case.
+# In most cases, they are entirely interchangeable, but the perl tests
+# don't ignore case. If they fail, change to the directory they expect.