Patch from Andreas.
[p5sagit/p5-mst-13.2.git] / hints / os2.sh
1 #! /bin/sh
2 # Problems:
3 # a) warning from fcntl: Third argument is int in emx - patched
4 # b) gr_password is not a structure in struct group - patched
5 # c) (gone)
6 # d) Makefile needs sh before ./makedir
7 # e) (gone)
8 # f) (gone)
9 # g) (gone)
10 # h) (gone)
11 # i) (gone)
12 # j) the rule true in Makefile should become sh -c true
13 # k) Cwd does not work. ===> the extensions cannot be compiled - patched
14 # l) TEST expects to get -e 'perl' - patched
15 # m) (gone)
16
17 # Tests failing with .o compile (this is probably obsolete, but now it is .obj):
18
19 # comp/cpp (because of sed above)
20 # io/fs.t : (patched) 2..5 7..11 18 (why 11?)
21 # io/inplace.t ???? (ak works)
22 # io/tell.t 10 ????
23 # op/exec.t 1 ???? 4 ????
24 # op/glob.t 1 (bug in sh)
25 # op/magic.t 4 1/2 (????) adding sleep 5 does not help
26 # op/readdir.t 3 (same bug in ksh)
27 # op/stat.t 3 4 9 10 20 >34
28
29 # Newer results with .obj without i/o optimization, fail:
30
31 # io/fs.t       : 2+
32 # io/pipe.t     : 1+
33 # io/tell.t     : 8, 10
34 # op/exec.t     : 4, 6 (ok 1 comes as "ok \1")
35 # op/fork.t     : 1+
36 # op/misc.t     : 9
37 # op/pack.t     : 8
38 # op/stat.t     : 3 4 9 10 20 >34
39 # lib/sdbm.t    : sdbm store returned -1, errno 0, key "21" at lib/sdbm.t line 112.
40 # lib/posix.t   : coredump on 3
41
42 # If compiled with i/o optimization, then 15% speedup on input, and
43 # io/tell.t     : 11 only
44 # no coredump in posix.t
45
46 # Note that symbol extraction code gives wrong answers (sometimes?) on
47 # gethostent and setsid.
48
49 # Note that during the .obj compile you need to move the perl.dll file
50 # to LIBPATH :-(
51
52 #osname="OS/2"
53 sysman=`../UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1`
54 cc='gcc'
55 usrinc='/emx/include'
56 libemx="`../UU/loc . X c:/emx/lib d:/emx/lib e:/emx/lib f:/emx/lib g:/emx/lib h:/emx/lib /emx/lib`"
57
58 if test "$libemx" = "X"; then echo "Cannot find C library!"; fi
59
60 libpth="$libemx/st $libemx"
61
62 so='dll'
63
64 # Additional definitions:
65
66 firstmakefile='GNUmakefile'
67 exe_ext='.exe'
68
69 if [ "$emxaout" != "" ]; then
70     d_shrplib='undef'
71     obj_ext='.o'
72     lib_ext='.a'
73     ar='ar'
74     plibext='.a'
75     d_fork='define'
76     lddlflags='-Zdll'
77     ldflags='-Zexe'
78     ccflags='-DDOSISH -DOS2=2 -DEMBED -I.'
79     use_clib='c'
80 else
81     d_shrplib='define'
82     obj_ext='.obj'
83     lib_ext='.lib'
84     ar='emxomfar'
85     plibext='.lib'
86     d_fork='undef'
87     lddlflags='-Zdll -Zomf -Zcrtdll'
88     ldflags='-Zexe -Zomf -Zcrtdll'
89     ccflags='-Zomf -DDOSISH -DOS2=2 -DEMBED -I.'
90     use_clib='c_import'
91 fi
92
93 # To get into config.sh (should start at the beginning of line)
94 plibext="$plibext"
95
96 #libc="/emx/lib/st/c_import$lib_ext"
97 libc="$libemx/st/$use_clib$lib_ext"
98
99 if test -r "$libemx/c_alias$lib_ext"; then 
100     libnames="$libemx/c_alias$lib_ext"
101 fi
102
103 # otherwise puts -lc ???
104
105 libs='-lsocket -lm'
106 archobjs="os2$obj_ext"
107
108 # Run files without extension with sh - feature of patched ksh
109 NOHASHBANG=sh
110 # Same with newer ksh
111 EXECSHELL=sh
112
113 cccdlflags='-Zdll'
114 dlsrc='dl_os2.xs'
115 ld='gcc'
116 usedl='define'
117
118 #cppflags='-DDOSISH -DOS2=2 -DEMBED -I.'
119
120 # This variables taken from recommended config.sh
121 alignbytes='8'
122
123 # for speedup: (some patches to ungetc are also needed):
124 # Note that without this guy tests 8 and 10 of io/tell.t fail, with it 11 fails
125
126 stdstdunder=`echo "#include <stdio.h>" | cpp | egrep -c "char +\* +_ptr"`
127 d_stdstdio='define'
128 d_stdiobase='define'
129 d_stdio_ptr_lval='define'
130 d_stdio_cnt_lval='define'
131
132 if test "$stdstdunder" = 0; then
133   stdio_ptr='((fp)->ptr)'
134   stdio_cnt='((fp)->rcount)'
135   stdio_base='((fp)->buffer)'
136   stdio_bufsiz='((fp)->rcount + (fp)->ptr - (fp)->buffer)'
137   ccflags="$ccflags -DMYTTYNAME"
138   myttyname='define'
139 else
140   stdio_ptr='((fp)->_ptr)'
141   stdio_cnt='((fp)->_rcount)'
142   stdio_base='((fp)->_buffer)'
143   stdio_bufsiz='((fp)->_rcount + (fp)->_ptr - (fp)->_buffer)'
144 fi
145
146 # to put into config.sh
147 myttyname="$myttyname"
148
149 # To have manpages installed
150 nroff='nroff.cmd'
151 # above will be overwritten otherwise, indented to avoid config.sh
152   _nroff='nroff.cmd'
153
154 ln='cp'
155 # Will be rewritten otherwise, indented to not put in config.sh
156   _ln='cp'
157 lns='cp'
158
159 nm_opt='-p'
160
161 ####### All the rest is commented
162
163 # I do not have these:
164 #dynamic_ext='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL'
165 #dynamic_ext='Fcntl POSIX Socket SDBM_File Devel/DProf'
166 #extensions='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL'
167 #extensions='Fcntl SDBM_File POSIX Socket Devel/DProf'
168
169 # Unknown reasons for:
170 #cpio='cpio'
171 #csh=''
172 #date=''
173 #byacc=''
174 #d_charsprf='undef'
175 #d_drem='undef'
176 #d_fmod='define'
177 #d_linuxstd='undef'
178 #d_socket='define'
179 #gcc='gcc'
180 #gidtype='gid_t'
181 #glibpth='c:/usr/lib/emx h:/emx/lib /emx/lib'
182 #groupstype='gid_t'
183 #h_fcntl='true'
184 #i_time='define'
185 #line=''
186 #lseektype='off_t'
187 #man1ext='1'
188 #man3ext='3'
189 #modetype='mode_t'
190 #more='more'
191 #mv='mv'
192 #sleep='sleep'
193 #socketlib='-lsocket'
194 #ssizetype='ssize_t'
195 #tar='tar'
196 #timetype='time_t'
197 #uidtype='uid_t'
198 #uname=''
199 #uniq=''
200 #xlibpth=''
201 #yacc='yacc'
202 #yaccflags=''
203 #zcat='zcat'
204 #orderlib='false'
205 #pg='pg'
206 #pr='pr'
207 #ranlib=':'
208
209 # Misfound by configure:
210
211 #gcc='gcc'
212 #more='more'
213 #mv='mv'
214 #pr='pr'
215 #sleep='sleep'
216 #tar='tar'
217
218 #xlibpth=''
219
220 # I cannot stand it, but did not test with:
221 # d_dirnamlen='undef'
222
223 # I try to do without these:
224
225 #d_pwage='undef'
226 #d_pwcomment='undef'
227
228 # ????
229 #mallocobj=''
230 #mallocsrc=''
231 #usemymalloc='false'
232
233 # The next two are commented. pdksh handles #!
234 # sharpbang='extproc '
235 # shsharp='false'
236
237 # Commented:
238 #startsh='extproc ksh\\n#! sh'