This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32: try to make the new stat pre-Vista compatible
[perl5.git] / hints / uwin.sh
CommitLineData
2ebcf328 1#
cd19b65c
JH
2# The lines starting with #b that follow are the uwin.sh
3# file from Joe Buehler. Some lines are, themselves,
4# commented out. If an uncommented line disappears
5# altogether, it means it didn't seem to be needed any more,
6# to get a proper build on the following machine.
7# UWIN-NT korn-7200 3.19-5.0 2195 i686
8# But maybe they'll be useful to others on different machines.
9
10#b # hint file for U/WIN (UNIX for Windows 95/NT)
11#b #
12#b # created for U/WIN version 1.55
13#b # running under Windows NT 4.0 SP 3
14#b # using MSVC++ 5.0 for the compiler
15#b #
16#b # created by Joe Buehler (jbuehler@hekimian.com)
17#b #
18#b # for information about U/WIN see www.gtlinc.com
19#b #
13e34565 20#b
cd19b65c
JH
21#b #ccflags=-D_BSDCOMPAT
22#b # confusion in Configure over preprocessor
23#b cppstdin=`pwd`/cppstdin
24#b cpprun=`pwd`/cppstdin
25#b # pwd.h confuses Configure
26#b d_pwcomment=undef
27#b d_pwgecos=define
28#b # work around case-insensitive file names
29#b firstmakefile=GNUmakefile
30#b # avoid compilation error
31#b i_utime=undef
32#b # compile/link flags
33#b ldflags=-g
34#b optimize=-g
0a2b78c5 35#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::Collate Unicode::Normalize attributes re"
cd19b65c
JH
36#b #static_ext=none
37#b # dynamic loading needs work
38#b usedl=undef
39#b # perl malloc will not work
40#b usemymalloc=n
41#b # cannot use nm
42#b usenm=undef
43#b # vfork() is buggy (as of 1.55 anyway)
44#b usevfork=false
45
46# __UWIN__ added so it could be used in ext/POSIX/POSIX.xs
47# to protect against either tzname definition. According to Dave Korn
48
378eeda7 49#dgk gcc on uwin also predefined _UWIN as does the digital mars compiler.
13e34565 50#dgk
cd19b65c
JH
51#dgk Only ncc does not define _UWIN and this is intentional. ncc is used
52#dgk to build binaries that do not require the uwin runtime.
53#dgk This could be used for building a native win32 perl using unix
54#dgk makefiles. However, in this case you don't wan't _UWIN defined.
13e34565 55#dgk
cd19b65c
JH
56#dgk I have used _UWIN everywhere else in any uwin specific changes.
57#dgk and _WIN32 on windows specific changes, and _MSVC on any compiler
58#dgk Visual C specific changes. We also define _WINIX for any unix
59#dgk on windows implementation so that _UWIN or __cygwin__ imply _WINIX.
60
61# I left __UWIN__ as is, since I had already filed a patch,
62# and it might be useful to distinguish perl-specific tweaks
63# from generic uwin ones.
64
65ccflags="$ccflags -D__UWIN__"
66
67# This from Dave Korn
68#dgk Windows splits shared libraries into two parts; the part used
69#dgk for linking and the part that is used for running.
70#dgk Given a library foo, then the part you link with is named
13e34565 71#dgk foo.lib
cd19b65c
JH
72#dgk and is in the lib directory. The part that you run with
73#dgk is named
13e34565 74#dgk foo.dll or foo#.dll
cd19b65c
JH
75#dgk and is in the bin directory. This way when you set you PATH
76#dgk variable, it automatically does the library search.
77#dgk
78#dgk Static libraries use libfoo.a.
79#dgk By the way if you specify -lfoo, then it will first look for foo.lib
80#dgk and then libfoo.a. If you specify +lfoo, it will only look for
81#dgk static versions of the library.
82
83# So we use .lib as the extension, and put -lm in, because it is a .a
84# This probably accounts for the comment about dynamic libraries
85# needing work, and indeed, the build failed if I didn't undef it.
86
87lib_ext=".lib"
88libs="-lm"
89so=dll
90# dynamic loading still needs work
91usedl=undef
2ebcf328 92
2ebcf328
JB
93# confusion in Configure over preprocessor
94cppstdin=`pwd`/cppstdin
95cpprun=`pwd`/cppstdin
cd19b65c
JH
96
97# lest it default to .exe, and then there's no perl in the test directory,
98# t, just a perl.exe, and make test promptly dies. _exe gets set to .exe
13e34565
JH
99# by Configure (on 5/23/2003) if exe_ext is merely null, so clean it out, too.
100exe_ext=''
cd19b65c
JH
101_exe=''
102
2ebcf328
JB
103# work around case-insensitive file names
104firstmakefile=GNUmakefile
2ebcf328
JB
105# compile/link flags
106ldflags=-g
107optimize=-g
cd19b65c
JH
108
109# Original, with :: separators, cause make to choke.
110# No longer seems to be necessary at all.
0a2b78c5 111# 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/Collate Unicode/Normalize attributes re"
cd19b65c 112
2ebcf328
JB
113# perl malloc will not work
114usemymalloc=n
115# cannot use nm
116usenm=undef
117# vfork() is buggy (as of 1.55 anyway)
118usevfork=false
cd19b65c
JH
119
120# Some other comments:
121# If you see something like
122
123# got: '/E/users/jpl/src/cmd/perl/t'
124# expected: '/e/users/jpl/src/cmd/perl/t'
2a6dc374 125# Failed test (../dist/Cwd/t/cwd.t at line 88)
cd19b65c
JH
126
127# when running tests under harness, try the simple expedient of
128# changing to directory
129# /E/users/jpl/src/cmd/perl/t # note the leading capital /E
130# before running the tests. UWIN is a bit schizophrenic about case.
131# It likes to return an uppercase "disk" letter for the leading directory,
132# but your home directory may well have that in lower case.
133# In most cases, they are entirely interchangeable, but the perl tests
134# don't ignore case. If they fail, change to the directory they expect.