5e50179e9fdadc1bacf60d12d7272d355b631910
[perl.git] / hints / uwin.sh
1 #
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 #
20 #b 
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
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::Normalize attributes re"
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
49 #dgk gcc on uwin also predefined _UWIN as does the borland and digital
50 #dgk mars compiler.
51 #dgk 
52 #dgk Only ncc does not define _UWIN and this is intentional.  ncc is used
53 #dgk to build binaries that do not require the uwin runtime.
54 #dgk This could be used for building a native win32 perl using unix
55 #dgk makefiles.  However, in this case you don't wan't _UWIN defined.
56 #dgk 
57 #dgk I have used _UWIN everywhere else in any uwin specific changes.
58 #dgk and _WIN32 on windows specific changes, and _MSVC on any compiler
59 #dgk Visual C specific changes.  We also define _WINIX for any unix
60 #dgk on windows implementation so that _UWIN or __cygwin__ imply _WINIX.
61
62 # I left __UWIN__ as is, since I had already filed a patch,
63 # and it might be useful to distinguish perl-specific tweaks
64 # from generic uwin ones.
65
66 ccflags="$ccflags -D__UWIN__"
67
68 # This from Dave Korn
69 #dgk Windows splits shared libraries into two parts; the part used
70 #dgk for linking and the part that is used for running.
71 #dgk Given a library foo, then the part you link with is named
72 #dgk    foo.lib
73 #dgk and is in the lib directory.  The part that you run with
74 #dgk is named
75 #dgk    foo.dll or foo#.dll
76 #dgk and is in the bin directory.  This way when you set you PATH
77 #dgk variable, it automatically does the library search.
78 #dgk
79 #dgk Static libraries use libfoo.a.
80 #dgk By the way if you specify -lfoo, then it will first look for foo.lib
81 #dgk and then libfoo.a.  If you specify +lfoo, it will only look for
82 #dgk static versions of the library.
83
84 # So we use .lib as the extension, and put -lm in, because it is a .a
85 # This probably accounts for the comment about dynamic libraries
86 # needing work, and indeed, the build failed if I didn't undef it.
87
88 lib_ext=".lib"
89 libs="-lm"
90 so=dll
91 # dynamic loading still needs work
92 usedl=undef
93
94 # confusion in Configure over preprocessor
95 cppstdin=`pwd`/cppstdin
96 cpprun=`pwd`/cppstdin
97
98 # lest it default to .exe, and then there's no perl in the test directory,
99 # t, just a perl.exe, and make test promptly dies.  _exe gets set to .exe
100 # by Configure (on 5/23/2003) if exe_ext is merely null, so clean it out, too.
101 exe_ext=''
102 _exe=''
103
104 # work around case-insensitive file names
105 firstmakefile=GNUmakefile
106 # compile/link flags
107 ldflags=-g
108 optimize=-g
109
110 # Original, with :: separators, cause make to choke.
111 # No longer seems to be necessary at all.
112 # 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 attributes re"
113
114 # perl malloc will not work
115 usemymalloc=n
116 # cannot use nm
117 usenm=undef
118 # vfork() is buggy (as of 1.55 anyway)
119 usevfork=false
120
121 # Some other comments:
122 # If you see something like
123
124 #          got: '/E/users/jpl/src/cmd/perl/t'
125 #     expected: '/e/users/jpl/src/cmd/perl/t'
126 #     Failed test (../ext/Cwd/t/cwd.t at line 88)
127
128 # when running tests under harness, try the simple expedient of
129 # changing to directory
130 #     /E/users/jpl/src/cmd/perl/t   # note the leading capital /E
131 # before running the tests.  UWIN is a bit schizophrenic about case.
132 # It likes to return an uppercase "disk" letter for the leading directory,
133 # but your home directory may well have that in lower case.
134 # In most cases, they are entirely interchangeable, but the perl tests
135 # don't ignore case.  If they fail, change to the directory they expect.